texlive[60083] trunk: tex4ebook (26jul21)

commits+karl at tug.org commits+karl at tug.org
Mon Jul 26 22:31:34 CEST 2021


Revision: 60083
          http://tug.org/svn/texlive?view=revision&revision=60083
Author:   karl
Date:     2021-07-26 22:31:33 +0200 (Mon, 26 Jul 2021)
Log Message:
-----------
tex4ebook (26jul21)

Modified Paths:
--------------
    trunk/Build/source/texk/texlive/linked_scripts/tex4ebook/tex4ebook
    trunk/Master/texmf-dist/doc/support/tex4ebook/README
    trunk/Master/texmf-dist/doc/support/tex4ebook/changelog.tex
    trunk/Master/texmf-dist/doc/support/tex4ebook/readme.tex
    trunk/Master/texmf-dist/doc/support/tex4ebook/tex4ebook-doc.pdf
    trunk/Master/texmf-dist/scripts/tex4ebook/tex4ebook
    trunk/Master/texmf-dist/scripts/tex4ebook/tex4ebook-exec_epub.lua
    trunk/Master/texmf-dist/tex/latex/tex4ebook/tex4ebook.4ht
    trunk/Master/texmf-dist/tex/latex/tex4ebook/tex4ebook.sty

Modified: trunk/Build/source/texk/texlive/linked_scripts/tex4ebook/tex4ebook
===================================================================
--- trunk/Build/source/texk/texlive/linked_scripts/tex4ebook/tex4ebook	2021-07-26 20:31:12 UTC (rev 60082)
+++ trunk/Build/source/texk/texlive/linked_scripts/tex4ebook/tex4ebook	2021-07-26 20:31:33 UTC (rev 60083)
@@ -67,7 +67,7 @@
 end
 
 if args.version then
-  print "tex4ebook v0.3c"
+  print "tex4ebook v0.3d"
   return 
 end
 
@@ -201,4 +201,5 @@
 executor.writeContainer()
 executor.clean()
 log:status("Conversion finished")
+logging.exit_status()
 --print(args[1])

Modified: trunk/Master/texmf-dist/doc/support/tex4ebook/README
===================================================================
--- trunk/Master/texmf-dist/doc/support/tex4ebook/README	2021-07-26 20:31:12 UTC (rev 60082)
+++ trunk/Master/texmf-dist/doc/support/tex4ebook/README	2021-07-26 20:31:33 UTC (rev 60083)
@@ -46,8 +46,18 @@
 
 ## Available commands
 
-- `\coverimage{coverimage.name}` - include cover image to the document. 
+- `\coverimage[<graphicx options>]{coverimage.name}` - include cover image to
+  the document. You can pass the same options as to `\includegraphics` command
+  in the optional argument.
 
+For example:
+
+    \thispagestyle{empty}
+    \begin{document}
+    \coverimage[scale=0.8]{coverimage.name} % include scaled cover image
+    ...
+    \pagestyle{headings}
+
 # Command line options
 
 `-a,--loglevel` 
@@ -212,7 +222,43 @@
 Add `XML` name space to the generated `XHTML` files. Useful in `EPUB 3`.
 
 
+### Example config file
 
+    \Preamble{xhtml}
+    \begin{document}
+    \Configure{DocumentLanguage}{de}
+    % Use following lines if your document has ISBN:
+    % \Configure{OpfScheme}{ISBN}
+    % \Configure{UniqueIdentifier}{3-0000-1111-X}
+    % Another possibility is URI that points for example to the ebook homepage:
+    \Configure{OpfScheme}{URI}
+    \Configure{UniqueIdentifier}
+    {https://de.wikipedia.org/wiki/Der_achte_Schöpfungstag}
+    \Configure{CoverMimeType}{image/jpeg}
+    % If you don't use \coverimage in the document text, 
+    % add cover image using this command:
+    \CoverMetadata{coverimage.jpg}
+    % You can also add more authors to your ebook metadata:
+    \Configure{OpfMetadata}
+    {\HCode{<dc:publisher>Deutscher Bücherbund</dc:publisher>}}
+    \Configure{OpfMetadata}
+    {\HCode{<dc:contributor>Image Artist</dc:contributor>}}
+    \Configure{OpfMetadata}
+    {\HCode{<dc:contributor>Trans Lator</dc:contributor>}}
+    \Configure{OpfMetadata}
+    {\HCode{<dc:date opf:event='original-publication'>1888</dc:date>}}
+    \EndPreamble
+
+Remarks:
+
+- Leading percent signs in the `.cfg` file introduce comments
+- If the unique identifier is a URI which contains diacritical characters, the        
+   equivalent HTML code needs to be inserted. `UTF8` is not recognized at that place.
+- `UTF8` characters may be used in the `OpfMetadata` sections.
+
+
+
+
 ## Commands available in the config file
 
 `\OpfRegisterFile[filename]`
@@ -229,6 +275,7 @@
      *Where do you start an ePUB and what is the `<guide>` section of the `.OPF` file?*^[http://epubsecrets.com/where-do-you-start-an-epub-and-what-is-the-guide-section-of-the-opf-file.php]
      for some details. Note that `<guide>` is deprecated in `EPUB 3`.
 
+
 ## Build files
 
 `tex4ebook` uses `make4ht`^[https://github.com/michal-h21/make4ht] as a build
@@ -254,10 +301,14 @@
 
 The basic support for the Fixed layout EPUB 3 can be enabled using the following configurations:
 
-    \Configure{OpfMetadata}{\HCode{<meta property="rendition:layout">pre-paginated</meta>}}
-    \Configure{OpfMetadata}{\HCode{<meta property="rendition:orientation">landscape</meta>}}
-    \Configure{OpfMetadata}{\HCode{<meta property="rendition:spread">none</meta>}}
-    \Configure{@HEAD}{\HCode{<meta name="viewport" content="width=1920, height=1080"/>\Hnewline}}
+    \Configure{OpfMetadata}
+    {\HCode{<meta property="rendition:layout">pre-paginated</meta>}}
+    \Configure{OpfMetadata}
+    {\HCode{<meta property="rendition:orientation">landscape</meta>}}
+    \Configure{OpfMetadata}
+    {\HCode{<meta property="rendition:spread">none</meta>}}
+    \Configure{@HEAD}
+    {\HCode{<meta name="viewport" content="width=1920, height=1080"/>\Hnewline}}
 
 Modify the dimensions in the `<meta name="viewport>` element according to your needs. 
 

Modified: trunk/Master/texmf-dist/doc/support/tex4ebook/changelog.tex
===================================================================
--- trunk/Master/texmf-dist/doc/support/tex4ebook/changelog.tex	2021-07-26 20:31:12 UTC (rev 60082)
+++ trunk/Master/texmf-dist/doc/support/tex4ebook/changelog.tex	2021-07-26 20:31:33 UTC (rev 60083)
@@ -3,6 +3,61 @@
 
 \begin{itemize}
 \item
+  2021/07/26
+
+  \begin{itemize}
+  \tightlist
+  \item
+    released version \texttt{0.3d}
+  \end{itemize}
+\item
+  2021/05/29
+
+  \begin{itemize}
+  \tightlist
+  \item
+    renamed \texttt{DeclareLanguage} to
+    \texttt{\textbackslash{}DeclareLanguageEbook}. Fixes
+    \href{https://github.com/michal-h21/tex4ebook/issues/78}{issue 78}.
+  \end{itemize}
+\item
+  2021/05/15
+
+  \begin{itemize}
+  \tightlist
+  \item
+    use \texttt{assert} in checking of existence of the \texttt{zip}
+    command.
+  \item
+    replace colons in \texttt{OPF} \texttt{id} attributes and add
+    trailing \texttt{x} if the \texttt{id} starts with number. It should
+    fix some validation issues.
+  \end{itemize}
+\item
+  2021/05/02
+
+  \begin{itemize}
+  \tightlist
+  \item
+    added more examples of configuration to the documentation.
+  \end{itemize}
+\item
+  2020/11/09
+
+  \begin{itemize}
+  \tightlist
+  \item
+    set exit status
+  \end{itemize}
+\item
+  2020/11/09
+
+  \begin{itemize}
+  \tightlist
+  \item
+    don't redefine \texttt{PicDisplay} configuration.
+  \end{itemize}
+\item
   2020/11/06
 
   \begin{itemize}

Modified: trunk/Master/texmf-dist/doc/support/tex4ebook/readme.tex
===================================================================
--- trunk/Master/texmf-dist/doc/support/tex4ebook/readme.tex	2021-07-26 20:31:12 UTC (rev 60082)
+++ trunk/Master/texmf-dist/doc/support/tex4ebook/readme.tex	2021-07-26 20:31:33 UTC (rev 60083)
@@ -53,10 +53,22 @@
 \begin{itemize}
 \tightlist
 \item
-  \texttt{\textbackslash{}coverimage\{coverimage.name\}} - include cover
-  image to the document.
+  \texttt{\textbackslash{}coverimage{[}\textless{}graphicx\ options\textgreater{}{]}\{coverimage.name\}}
+  - include cover image to the document. You can pass the same options
+  as to \texttt{\textbackslash{}includegraphics} command in the optional
+  argument.
 \end{itemize}
 
+For example:
+
+\begin{verbatim}
+\thispagestyle{empty}
+\begin{document}
+\coverimage[scale=0.8]{coverimage.name} % include scaled cover image
+...
+\pagestyle{headings}
+\end{verbatim}
+
 \hypertarget{command-line-options}{%
 \section{Command line options}\label{command-line-options}}
 
@@ -246,6 +258,52 @@
 Add \texttt{XML} name space to the generated \texttt{XHTML} files.
 Useful in \texttt{EPUB\ 3}.
 
+\hypertarget{example-config-file}{%
+\subsubsection{Example config file}\label{example-config-file}}
+
+\begin{verbatim}
+\Preamble{xhtml}
+\begin{document}
+\Configure{DocumentLanguage}{de}
+% Use following lines if your document has ISBN:
+% \Configure{OpfScheme}{ISBN}
+% \Configure{UniqueIdentifier}{3-0000-1111-X}
+% Another possibility is URI that points for example to the ebook homepage:
+\Configure{OpfScheme}{URI}
+\Configure{UniqueIdentifier}
+{https://de.wikipedia.org/wiki/Der_achte_Schöpfungstag}
+\Configure{CoverMimeType}{image/jpeg}
+% If you don't use \coverimage in the document text, 
+% add cover image using this command:
+\CoverMetadata{coverimage.jpg}
+% You can also add more authors to your ebook metadata:
+\Configure{OpfMetadata}
+{\HCode{<dc:publisher>Deutscher Bücherbund</dc:publisher>}}
+\Configure{OpfMetadata}
+{\HCode{<dc:contributor>Image Artist</dc:contributor>}}
+\Configure{OpfMetadata}
+{\HCode{<dc:contributor>Trans Lator</dc:contributor>}}
+\Configure{OpfMetadata}
+{\HCode{<dc:date opf:event='original-publication'>1888</dc:date>}}
+\EndPreamble
+\end{verbatim}
+
+Remarks:
+
+\begin{itemize}
+\tightlist
+\item
+  Leading percent signs in the \texttt{.cfg} file introduce comments
+\item
+  If the unique identifier is a URI which contains diacritical
+  characters, the\\
+  equivalent HTML code needs to be inserted. \texttt{UTF8} is not
+  recognized at that place.
+\item
+  \texttt{UTF8} characters may be used in the \texttt{OpfMetadata}
+  sections.
+\end{itemize}
+
 \hypertarget{commands-available-in-the-config-file}{%
 \subsection{Commands available in the config
 file}\label{commands-available-in-the-config-file}}
@@ -301,10 +359,14 @@
 following configurations:
 
 \begin{verbatim}
-\Configure{OpfMetadata}{\HCode{<meta property="rendition:layout">pre-paginated</meta>}}
-\Configure{OpfMetadata}{\HCode{<meta property="rendition:orientation">landscape</meta>}}
-\Configure{OpfMetadata}{\HCode{<meta property="rendition:spread">none</meta>}}
-\Configure{@HEAD}{\HCode{<meta name="viewport" content="width=1920, height=1080"/>\Hnewline}}
+\Configure{OpfMetadata}
+{\HCode{<meta property="rendition:layout">pre-paginated</meta>}}
+\Configure{OpfMetadata}
+{\HCode{<meta property="rendition:orientation">landscape</meta>}}
+\Configure{OpfMetadata}
+{\HCode{<meta property="rendition:spread">none</meta>}}
+\Configure{@HEAD}
+{\HCode{<meta name="viewport" content="width=1920, height=1080"/>\Hnewline}}
 \end{verbatim}
 
 Modify the dimensions in the

Modified: trunk/Master/texmf-dist/doc/support/tex4ebook/tex4ebook-doc.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/scripts/tex4ebook/tex4ebook
===================================================================
--- trunk/Master/texmf-dist/scripts/tex4ebook/tex4ebook	2021-07-26 20:31:12 UTC (rev 60082)
+++ trunk/Master/texmf-dist/scripts/tex4ebook/tex4ebook	2021-07-26 20:31:33 UTC (rev 60083)
@@ -67,7 +67,7 @@
 end
 
 if args.version then
-  print "tex4ebook v0.3c"
+  print "tex4ebook v0.3d"
   return 
 end
 
@@ -201,4 +201,5 @@
 executor.writeContainer()
 executor.clean()
 log:status("Conversion finished")
+logging.exit_status()
 --print(args[1])

Modified: trunk/Master/texmf-dist/scripts/tex4ebook/tex4ebook-exec_epub.lua
===================================================================
--- trunk/Master/texmf-dist/scripts/tex4ebook/tex4ebook-exec_epub.lua	2021-07-26 20:31:12 UTC (rev 60082)
+++ trunk/Master/texmf-dist/scripts/tex4ebook/tex4ebook-exec_epub.lua	2021-07-26 20:31:33 UTC (rev 60083)
@@ -157,6 +157,10 @@
 		local id=table.concat(dir_part,"-")..fname.."_"..ext
     -- remove invalid characters from id start
     id = id:gsub("^[%.%-]*","")
+    -- remove colons
+    id = id:gsub(":", "_")
+    -- id cannot start by number, add trailing "x" character
+    id = id:gsub("^([%d])", "x%1")
 		return "<item id='"..id .. "' href='"..item.."' media-type='"..mimetype.."' />",id
 	end
 	local find_all_files= function(s,r)
@@ -277,9 +281,9 @@
   end
 end
 local function find_zip()
-  if io.popen("zip -v","r"):close() then
+  if assert(io.popen("zip -v","r"):close()) then
     return "zip"
-  elseif io.popen("miktex-zip -v","r"):close() then
+  elseif assert(io.popen("miktex-zip -v","r"):close()) then
     return "miktex-zip"
   end
   log:warning "It appears you don't have zip command installed. I can't pack the ebook"

Modified: trunk/Master/texmf-dist/tex/latex/tex4ebook/tex4ebook.4ht
===================================================================
--- trunk/Master/texmf-dist/tex/latex/tex4ebook/tex4ebook.4ht	2021-07-26 20:31:12 UTC (rev 60082)
+++ trunk/Master/texmf-dist/tex/latex/tex4ebook/tex4ebook.4ht	2021-07-26 20:31:33 UTC (rev 60083)
@@ -193,10 +193,6 @@
 % Support for SVG isn't ready
 %\Configure{Picture}{.svg}
 \Configure{Picture}{.png}
-\Configure{PicDisplay}
-  {\edef\MathPar{\ifvmode par-\fi}\IgnorePar\endgraf\EndP
-   \HCode{<div class="\MathPar math-display">}}
-  {\HCode{</div>}}  {}  {class="\MathPar math-display" }
 \Configure{()}{$}{$}
 \fi
 \:CheckOption{kindle} \if:Option

Modified: trunk/Master/texmf-dist/tex/latex/tex4ebook/tex4ebook.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/tex4ebook/tex4ebook.sty	2021-07-26 20:31:12 UTC (rev 60082)
+++ trunk/Master/texmf-dist/tex/latex/tex4ebook/tex4ebook.sty	2021-07-26 20:31:33 UTC (rev 60083)
@@ -11,7 +11,7 @@
 \def\opftable{}
 
 %Declare RFC3066 language code for babel language name
-\def\DeclareLanguage#1#2{%
+\def\DeclareLanguageEbook#1#2{%
 \csgdef{rfclang#1}{#2}%
 }
 \def\GetLanguage{%
@@ -21,96 +21,96 @@
 \fi%
 }
 
-\DeclareLanguage{UKenglish}{en-GB}
-\DeclareLanguage{USenglish}{en-US}
-\DeclareLanguage{acadian}{fr}
-\DeclareLanguage{albanian}{sq}
-\DeclareLanguage{american}{en-US}
-\DeclareLanguage{amharic}{am}
-\DeclareLanguage{arabic}{ar}
-\DeclareLanguage{armenian}{hy}
-\DeclareLanguage{australian}{en-US}
-\DeclareLanguage{austrian}{de}
-\DeclareLanguage{basque}{eu}
-\DeclareLanguage{bengali}{bn}
-\DeclareLanguage{brazilian}{pt}
-\DeclareLanguage{brazil}{pt}
-\DeclareLanguage{breton}{br}
-\DeclareLanguage{british}{en-GB}
-\DeclareLanguage{bulgarian}{bg}
-\DeclareLanguage{canadian}{en-US}
-\DeclareLanguage{canadien}{fr}
-\DeclareLanguage{catalan}{ca}
-\DeclareLanguage{croatian}{hr}
-\DeclareLanguage{czech}{cs-CZ}
-\DeclareLanguage{danish}{da}
-\DeclareLanguage{divehi}{dv}
-\DeclareLanguage{dutch}{nl}
-\DeclareLanguage{english}{en}
-\DeclareLanguage{esperanto}{eo}
-\DeclareLanguage{estonian}{et}
-\DeclareLanguage{finnish}{f\/i}
-\DeclareLanguage{francais}{fr}
-\DeclareLanguage{french}{fr}
-\DeclareLanguage{galician}{gl}
-\DeclareLanguage{germanb}{de}
-\DeclareLanguage{german}{de}
-\DeclareLanguage{greek}{el}
-\DeclareLanguage{hebrew}{he}
-\DeclareLanguage{hindi}{hi}
-\DeclareLanguage{hungarian}{hu}
-\DeclareLanguage{icelandic}{is}
-\DeclareLanguage{interlingua}{ia}
-\DeclareLanguage{irish}{ga}
-\DeclareLanguage{italian}{it}
-\DeclareLanguage{kannada}{kn}
-\DeclareLanguage{khmer}{km}
-\DeclareLanguage{korean}{ko}
-\DeclareLanguage{lao}{lo}
-\DeclareLanguage{latin}{la}
-\DeclareLanguage{latvian}{lv}
-\DeclareLanguage{lithuanian}{lt}
-\DeclareLanguage{lowersorbian}{dsb}
-\DeclareLanguage{magyar}{hu}
-\DeclareLanguage{malayalam}{ml}
-\DeclareLanguage{marathi}{mr}
-\DeclareLanguage{naustrian}{de}
-\DeclareLanguage{newzealand}{en}
-\DeclareLanguage{ngerman}{de}
-\DeclareLanguage{norsk}{no}
-\DeclareLanguage{norwegiannynorsk}{nn}
-\DeclareLanguage{nynorsk}{no}
-\DeclareLanguage{occitan}{oc}
-\DeclareLanguage{oldchurchslavonic}{cu}
-\DeclareLanguage{persian}{fa}
-\DeclareLanguage{polish}{pl-PL}
-\DeclareLanguage{polutonikogreek}{el}
-\DeclareLanguage{portuges}{pt}
-\DeclareLanguage{portuguese}{pt}
-\DeclareLanguage{romanian}{ro}
-\DeclareLanguage{romansh}{rm}
-\DeclareLanguage{russian}{ru}
-\DeclareLanguage{samin}{se}
-\DeclareLanguage{sanskrit}{sa}
-\DeclareLanguage{scottish}{gd}
-\DeclareLanguage{serbian}{sr}
-\DeclareLanguage{serbo-croatian}{sh}
-\DeclareLanguage{slovak}{sk}
-\DeclareLanguage{slovene}{sl}
-\DeclareLanguage{slovenian}{sl}
-\DeclareLanguage{spanish}{es}
-\DeclareLanguage{swedish}{sv}
-\DeclareLanguage{tamil}{ta}
-\DeclareLanguage{telugu}{te}
-\DeclareLanguage{thai}{th}
-\DeclareLanguage{tibetan}{bo}
-\DeclareLanguage{turkish}{tr}
-\DeclareLanguage{turkmen}{tk}
-\DeclareLanguage{ukrainian}{uk}
-\DeclareLanguage{uppersorbian}{hsb}
-\DeclareLanguage{urdu}{ur}
-\DeclareLanguage{vietnamese}{vi}
-\DeclareLanguage{welsh}{cy}
+\DeclareLanguageEbook{UKenglish}{en-GB}
+\DeclareLanguageEbook{USenglish}{en-US}
+\DeclareLanguageEbook{acadian}{fr}
+\DeclareLanguageEbook{albanian}{sq}
+\DeclareLanguageEbook{american}{en-US}
+\DeclareLanguageEbook{amharic}{am}
+\DeclareLanguageEbook{arabic}{ar}
+\DeclareLanguageEbook{armenian}{hy}
+\DeclareLanguageEbook{australian}{en-US}
+\DeclareLanguageEbook{austrian}{de}
+\DeclareLanguageEbook{basque}{eu}
+\DeclareLanguageEbook{bengali}{bn}
+\DeclareLanguageEbook{brazilian}{pt}
+\DeclareLanguageEbook{brazil}{pt}
+\DeclareLanguageEbook{breton}{br}
+\DeclareLanguageEbook{british}{en-GB}
+\DeclareLanguageEbook{bulgarian}{bg}
+\DeclareLanguageEbook{canadian}{en-US}
+\DeclareLanguageEbook{canadien}{fr}
+\DeclareLanguageEbook{catalan}{ca}
+\DeclareLanguageEbook{croatian}{hr}
+\DeclareLanguageEbook{czech}{cs-CZ}
+\DeclareLanguageEbook{danish}{da}
+\DeclareLanguageEbook{divehi}{dv}
+\DeclareLanguageEbook{dutch}{nl}
+\DeclareLanguageEbook{english}{en}
+\DeclareLanguageEbook{esperanto}{eo}
+\DeclareLanguageEbook{estonian}{et}
+\DeclareLanguageEbook{finnish}{f\/i}
+\DeclareLanguageEbook{francais}{fr}
+\DeclareLanguageEbook{french}{fr}
+\DeclareLanguageEbook{galician}{gl}
+\DeclareLanguageEbook{germanb}{de}
+\DeclareLanguageEbook{german}{de}
+\DeclareLanguageEbook{greek}{el}
+\DeclareLanguageEbook{hebrew}{he}
+\DeclareLanguageEbook{hindi}{hi}
+\DeclareLanguageEbook{hungarian}{hu}
+\DeclareLanguageEbook{icelandic}{is}
+\DeclareLanguageEbook{interlingua}{ia}
+\DeclareLanguageEbook{irish}{ga}
+\DeclareLanguageEbook{italian}{it}
+\DeclareLanguageEbook{kannada}{kn}
+\DeclareLanguageEbook{khmer}{km}
+\DeclareLanguageEbook{korean}{ko}
+\DeclareLanguageEbook{lao}{lo}
+\DeclareLanguageEbook{latin}{la}
+\DeclareLanguageEbook{latvian}{lv}
+\DeclareLanguageEbook{lithuanian}{lt}
+\DeclareLanguageEbook{lowersorbian}{dsb}
+\DeclareLanguageEbook{magyar}{hu}
+\DeclareLanguageEbook{malayalam}{ml}
+\DeclareLanguageEbook{marathi}{mr}
+\DeclareLanguageEbook{naustrian}{de}
+\DeclareLanguageEbook{newzealand}{en}
+\DeclareLanguageEbook{ngerman}{de}
+\DeclareLanguageEbook{norsk}{no}
+\DeclareLanguageEbook{norwegiannynorsk}{nn}
+\DeclareLanguageEbook{nynorsk}{no}
+\DeclareLanguageEbook{occitan}{oc}
+\DeclareLanguageEbook{oldchurchslavonic}{cu}
+\DeclareLanguageEbook{persian}{fa}
+\DeclareLanguageEbook{polish}{pl-PL}
+\DeclareLanguageEbook{polutonikogreek}{el}
+\DeclareLanguageEbook{portuges}{pt}
+\DeclareLanguageEbook{portuguese}{pt}
+\DeclareLanguageEbook{romanian}{ro}
+\DeclareLanguageEbook{romansh}{rm}
+\DeclareLanguageEbook{russian}{ru}
+\DeclareLanguageEbook{samin}{se}
+\DeclareLanguageEbook{sanskrit}{sa}
+\DeclareLanguageEbook{scottish}{gd}
+\DeclareLanguageEbook{serbian}{sr}
+\DeclareLanguageEbook{serbo-croatian}{sh}
+\DeclareLanguageEbook{slovak}{sk}
+\DeclareLanguageEbook{slovene}{sl}
+\DeclareLanguageEbook{slovenian}{sl}
+\DeclareLanguageEbook{spanish}{es}
+\DeclareLanguageEbook{swedish}{sv}
+\DeclareLanguageEbook{tamil}{ta}
+\DeclareLanguageEbook{telugu}{te}
+\DeclareLanguageEbook{thai}{th}
+\DeclareLanguageEbook{tibetan}{bo}
+\DeclareLanguageEbook{turkish}{tr}
+\DeclareLanguageEbook{turkmen}{tk}
+\DeclareLanguageEbook{ukrainian}{uk}
+\DeclareLanguageEbook{uppersorbian}{hsb}
+\DeclareLanguageEbook{urdu}{ur}
+\DeclareLanguageEbook{vietnamese}{vi}
+\DeclareLanguageEbook{welsh}{cy}
 
 \AtEndDocument{%
 \ncxtable



More information about the tex-live-commits mailing list.