texlive[53098] Master/texmf-dist: selinput (11dec19)
commits+karl at tug.org
commits+karl at tug.org
Wed Dec 11 22:54:32 CET 2019
Revision: 53098
http://tug.org/svn/texlive?view=revision&revision=53098
Author: karl
Date: 2019-12-11 22:54:32 +0100 (Wed, 11 Dec 2019)
Log Message:
-----------
selinput (11dec19)
Modified Paths:
--------------
trunk/Master/texmf-dist/doc/latex/selinput/selinput.pdf
trunk/Master/texmf-dist/tex/latex/selinput/selinput.sty
Added Paths:
-----------
trunk/Master/texmf-dist/source/latex/selinput/
trunk/Master/texmf-dist/source/latex/selinput/selinput.dtx
Removed Paths:
-------------
trunk/Master/texmf-dist/tex/latex/selinput/selinput.dtx
Modified: trunk/Master/texmf-dist/doc/latex/selinput/selinput.pdf
===================================================================
(Binary files differ)
Added: trunk/Master/texmf-dist/source/latex/selinput/selinput.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/selinput/selinput.dtx (rev 0)
+++ trunk/Master/texmf-dist/source/latex/selinput/selinput.dtx 2019-12-11 21:54:32 UTC (rev 53098)
@@ -0,0 +1,854 @@
+% \iffalse meta-comment
+%
+% File: selinput.dtx
+% Version: 2019-12-10 v1.6
+% Info: Semi-automatic input encoding detection
+%
+% Copyright (C)
+% 2007 Heiko Oberdiek
+% 2016-2019 Oberdiek Package Support Group
+% https://github.com/ho-tex/selinput/issues
+%
+% This work may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either
+% version 1.3c of this license or (at your option) any later
+% version. This version of this license is in
+% https://www.latex-project.org/lppl/lppl-1-3c.txt
+% and the latest version of this license is in
+% https://www.latex-project.org/lppl.txt
+% and version 1.3 or later is part of all distributions of
+% LaTeX version 2005/12/01 or later.
+%
+% This work has the LPPL maintenance status "maintained".
+%
+% The Current Maintainers of this work are
+% Heiko Oberdiek and the Oberdiek Package Support Group
+% https://github.com/ho-tex/selinput/issues
+%
+% This work consists of the main source file selinput.dtx
+% and the derived files
+% selinput.sty, selinput.pdf, selinput.ins, selinput.drv,
+% selinput-test1.tex, selinput-test2.tex, selinput-test3.tex,
+% selinput-test4.tex, selinput-test5.tex.
+%
+% Distribution:
+% CTAN:macros/latex/contrib/selinput/selinput.dtx
+% CTAN:macros/latex/contrib/selinput/selinput.pdf
+%
+% Unpacking:
+% (a) If selinput.ins is present:
+% tex selinput.ins
+% (b) Without selinput.ins:
+% tex selinput.dtx
+% (c) If you insist on using LaTeX
+% latex \let\install=y\input{selinput.dtx}
+% (quote the arguments according to the demands of your shell)
+%
+% Documentation:
+% (a) If selinput.drv is present:
+% latex selinput.drv
+% (b) Without selinput.drv:
+% latex selinput.dtx; ...
+% The class ltxdoc loads the configuration file ltxdoc.cfg
+% if available. Here you can specify further options, e.g.
+% use A4 as paper format:
+% \PassOptionsToClass{a4paper}{article}
+%
+% Programm calls to get the documentation (example):
+% pdflatex selinput.dtx
+% makeindex -s gind.ist selinput.idx
+% pdflatex selinput.dtx
+% makeindex -s gind.ist selinput.idx
+% pdflatex selinput.dtx
+%
+% Installation:
+% TDS:tex/latex/selinput/selinput.sty
+% TDS:doc/latex/selinput/selinput.pdf
+% TDS:source/latex/selinput/selinput.dtx
+%
+%<*ignore>
+\begingroup
+ \catcode123=1 %
+ \catcode125=2 %
+ \def\x{LaTeX2e}%
+\expandafter\endgroup
+\ifcase 0\ifx\install y1\fi\expandafter
+ \ifx\csname processbatchFile\endcsname\relax\else1\fi
+ \ifx\fmtname\x\else 1\fi\relax
+\else\csname fi\endcsname
+%</ignore>
+%<*install>
+\input docstrip.tex
+\Msg{************************************************************************}
+\Msg{* Installation}
+\Msg{* Package: selinput 2019-12-10 v1.6 Semi-automatic input encoding detection (HO)}
+\Msg{************************************************************************}
+
+\keepsilent
+\askforoverwritefalse
+
+\let\MetaPrefix\relax
+\preamble
+
+This is a generated file.
+
+Project: selinput
+Version: 2019-12-10 v1.6
+
+Copyright (C)
+ 2007 Heiko Oberdiek
+ 2016-2019 Oberdiek Package Support Group
+
+This work may be distributed and/or modified under the
+conditions of the LaTeX Project Public License, either
+version 1.3c of this license or (at your option) any later
+version. This version of this license is in
+ https://www.latex-project.org/lppl/lppl-1-3c.txt
+and the latest version of this license is in
+ https://www.latex-project.org/lppl.txt
+and version 1.3 or later is part of all distributions of
+LaTeX version 2005/12/01 or later.
+
+This work has the LPPL maintenance status "maintained".
+
+The Current Maintainers of this work are
+Heiko Oberdiek and the Oberdiek Package Support Group
+https://github.com/ho-tex/selinput/issues
+
+
+This work consists of the main source file selinput.dtx
+and the derived files
+ selinput.sty, selinput.pdf, selinput.ins, selinput.drv,
+ selinput-test1.tex, selinput-test2.tex, selinput-test3.tex,
+ selinput-test4.tex, selinput-test5.tex.
+
+\endpreamble
+\let\MetaPrefix\DoubleperCent
+
+\generate{%
+ \file{selinput.ins}{\from{selinput.dtx}{install}}%
+ \file{selinput.drv}{\from{selinput.dtx}{driver}}%
+ \usedir{tex/latex/selinput}%
+ \file{selinput.sty}{\from{selinput.dtx}{package}}%
+}
+
+\catcode32=13\relax% active space
+\let =\space%
+\Msg{************************************************************************}
+\Msg{*}
+\Msg{* To finish the installation you have to move the following}
+\Msg{* file into a directory searched by TeX:}
+\Msg{*}
+\Msg{* selinput.sty}
+\Msg{*}
+\Msg{* To produce the documentation run the file `selinput.drv'}
+\Msg{* through LaTeX.}
+\Msg{*}
+\Msg{* Happy TeXing!}
+\Msg{*}
+\Msg{************************************************************************}
+
+\endbatchfile
+%</install>
+%<*ignore>
+\fi
+%</ignore>
+%<*driver>
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesFile{selinput.drv}%
+ [2019-12-10 v1.6 Semi-automatic input encoding detection (HO)]%
+\documentclass{ltxdoc}
+\ifx\Umathcode\undefined
+\usepackage[T1]{fontenc}
+\fi
+\usepackage{textcomp}
+\usepackage{lmodern}
+\usepackage{holtxdoc}[2011/11/22]
+\usepackage{color}
+\begin{document}
+ \DocInput{selinput.dtx}%
+\end{document}
+%</driver>
+% \fi
+%
+%
+%
+% \GetFileInfo{selinput.drv}
+%
+% \title{The \xpackage{selinput} package}
+% \date{2019-12-10 v1.6}
+% \author{Heiko Oberdiek\thanks
+% {Please report any issues at \url{https://github.com/ho-tex/selinput/issues}}}
+%
+% \maketitle
+%
+% \begin{abstract}
+% This package selects the input encoding by specifying between
+% input characters and their glyph names.
+% \end{abstract}
+%
+% \tableofcontents
+%
+% \newcommand*{\EM}{\textcolor{blue}}
+% \newcommand*{\ExampleText}{^^A
+% Umlauts:\ \EM{\"A\"O\"U\"a\"o\"u\ss}^^A
+% }
+%
+% \section{Documentation}
+%
+% \subsection{Introduction}
+%
+% \LaTeX\ supports the direct use of 8-bit characters by means
+% of package \xpackage{inputenc}. However you must know
+% and specify the encoding, e.g.:
+% \begin{quote}
+% \ttfamily
+% |\documentclass{article}|\\
+% |\usepackage[|\EM{latin1}|]{inputenc}|\\
+% |% or \usepackage[|\EM{utf8}|]{inputenc}|\\
+% |% or \usepackage[|\EM{??}|]{inputenc}|\\
+% |\begin{document}|\\
+% | |\ExampleText\\
+% |\end{document}|
+% \end{quote}
+%
+% If the document is transferred in an environment that
+% uses a different encoding, then there are programs that
+% convert the input characters. Examples for conversion
+% of file \xfile{test.tex}
+% from encoding latin1 (ISO-8859-1) to UTF-8:
+% \begin{quote}
+% \ttfamily
+% |recode ISO-8859-1..UTF-8 test.tex|\\
+% |recode latin1..utf8 test.tex|\\
+% |iconv --from-code ISO-8859-1|\\
+% \hphantom{iconv}| --to-code UTF-8|\\
+% \hphantom{iconv}| --output testnew.tex|\\
+% \hphantom{iconv}| test.tex|\\
+% |iconv -f latin1 -t utf8 -o testnew.tex test.tex|
+% \end{quote}
+% However, the encoding name for package \xpackage{inputenc}
+% must be changed:
+% \begin{quote}
+% |\usepackage[latin1]{inputenc}| $\rightarrow$
+% |\usepackage[utf8]{inputenc}|\kern-4pt\relax
+% \end{quote}
+% Of course, unless you are using some clever editor
+% that knows package \xpackage{inputenc}, recodes
+% the file and adjusts the option at the same time.
+% But most editors can perhaps recode the file, but
+% they let the option untouched.
+%
+% Therefore package \xpackage{selinput} chooses another way for
+% specifying the input encoding. The encoding name is not needed
+% at all. Some 8-bit characters are identified by their glyph
+% name and the package chooses an appropriate encoding, example:
+% \begin{quote}
+% \ttfamily
+% |\documentclass{article}|\\
+% |\usepackage{selinput}|\\
+% |\SelectInputMappings{|\\
+% | adieresis={|\EM{\"a}|}|,\\
+% | germandbls={|\EM{\ss}|}|,\\
+% | Euro={|\EM{\texteuro}|}|,\\
+% |}|\\
+% |\begin{document}|\\
+% | |\ExampleText\\
+% |\end{document}|
+% \end{quote}
+%
+% \subsection{User interface}
+%
+% \begin{declcs}{SelectInputEncodingList} \M{encoding list}
+% \end{declcs}
+% \cs{SelectInputEncodingList} expects a comma separated list of
+% encoding names. Example:
+% \begin{quote}
+% |\SelectInputEncodingList{utf8,ansinew,mac-roman}|
+% \end{quote}
+% The encodings of package \xpackage{inputenx} are used as default.
+%
+% \begin{declcs}{SelectInputMappings} \M{mapping pairs}
+% \end{declcs}
+% A mapping pair consists of a glyph name and its input
+% character:
+% \begin{quote}
+% |\SelectInputMappings{|\\
+% | adieresis={|\EM{\"a}|}|,\\
+% | germandbls={|\EM{\ss}|}|,\\
+% | Euro={|\EM{\texteuro}|}|,\\
+% |}|
+% \end{quote}
+% The supported glyph names can be found in file \xfile{ix-name.def}
+% of project \xpackage{inputenx} \cite{inputenx}. The names are
+% basically taken from Adobe's glyphlists \cite{adobe:glyphlist,adobe:aglfn}.
+% As many pairs are needed as necessary to identify the encoding.
+% Example with insufficient pairs:
+% \begin{quote}
+% \ttfamily
+% |\SelectInputEncodingSet{latin1,latin9}|\\
+% |\SelectInputMappings{|\\
+% | adieresis={|\EM{\"a}|}|,\\
+% | germandbls={|\EM{\ss}|}|,\\
+% |}|\\
+% \ExampleText| and Euro: |\EM{\textcurrency} (wrong)
+% \end{quote}
+% The first encoding \xoption{latin1} passes the constraints given
+% by the mapping pairs. However the Euro symbol is not part of
+% the encoding. Thus a mapping pair with the Euro symbol
+% solves the problem. In fact the symbol alone already succeeds in selecting
+% between \xoption{latin1} and \xoption{latin9}:
+% \begin{quote}
+% \ttfamily
+% |\SelectInputEncodingSet{latin1,latin9}|\\
+% |\SelectInputMappings{|\\
+% | Euro={|\EM{\texteuro}|},|\\
+% |}|\\
+% \ExampleText| and Euro: |\EM{\texteuro}
+% \end{quote}
+%
+% \subsection{Options}
+%
+% \begin{description}
+% \item[\xoption{warning}:]
+% The selected encoding is written
+% by \cs{PackageInfo} into the \xfile{.log} file only.
+% Option \xoption{warning} changes it to \cs{PackageWarning}.
+% Then the selected encoding is shown on the terminal as well.
+% \item[\xoption{ucs}:]
+% The encoding file \xfile{utf8x} of package \cs{ucs} requires
+% that the package itself is loaded before.
+% If the package is not loaded, then the option \xoption{ucs}
+% will load package \xpackage{ucs} if the detected encoding is
+% UTF-8 (limited to the preamble, packages cannot be loaded later).
+% \item[\xoption{utf8=\dots}:]
+% The option allows to specify other encoding files
+% for UTF-8 than \LaTeX's \xfile{utf8.def}. For example,
+% |utf8=utf-8| will load \xfile{utf-8.def} instead.
+% \end{description}
+%
+% \subsection{Encodings}
+%
+% Package \xpackage{stringenc} \cite{stringenc}
+% is used for testing the encoding. Thus the encoding
+% name must be known by this package. Then the found
+% encoding is loaded by \cs{inputencoding} by package
+% \xpackage{inputenc} or \cs{InputEncoding} if package
+% \xpackage{inputenx} is loaded.
+%
+% The supported encodings are present in the encoding list,
+% thus usually the encoding names do not matter.
+% If the list is set by \cs{SelectInputEncodingList},
+% then you can use the names that work for package
+% \xpackage{inputenc} and are known by package \xpackage{stringenc},
+% for example: \xoption{latin1}, \xoption{x-iso-8859-1}. Encoding
+% file names of package \xpackage{inputenx} are prefixed with \xfile{x-}.
+% The prefix can be dropped, if package \xpackage{inputenx} is loaded.
+%
+% \StopEventually{
+% }
+%
+% \section{Implementation}
+%
+% \begin{macrocode}
+%<*package>
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesPackage{selinput}
+ [2019-12-10 v1.6 Semi-automatic input encoding detection (HO)]%
+% \end{macrocode}
+%
+% \begin{macrocode}
+\RequirePackage{inputenc}
+\RequirePackage{kvsetkeys}[2006/10/19]
+\RequirePackage{stringenc}[2007/06/16]
+\RequirePackage{kvoptions}
+% \end{macrocode}
+% \begin{macro}{\SelectInputEncodingList}
+% \begin{macrocode}
+\newcommand*{\SelectInputEncodingList}{%
+ \let\SIE at EncodingList\@empty
+ \kvsetkeys{SelInputEnc}%
+}
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\SelectInputMappings}
+% \begin{macrocode}
+\newcommand*{\SelectInputMappings}[1]{%
+ \SIE at LoadNameDefs
+ \let\SIE at StringUnicode\@empty
+ \let\SIE at StringDest\@empty
+ \kvsetkeys{SelInputMap}{#1}%
+ \ifx\\SIE at StringUnicode\SIE at StringDest\\%
+ \PackageError{selinput}{%
+ No mappings specified%
+ }\@ehc
+ \else
+ \EdefUnescapeHex\SIE at StringUnicode\SIE at StringUnicode
+ \let\SIE at Encoding\@empty
+ \@for\SIE at EncodingTest:=\SIE at EncodingList\do{%
+ \ifx\SIE at Encoding\@empty
+ \StringEncodingConvertTest\SIE at temp\SIE at StringUnicode
+ {utf16be}\SIE at EncodingTest{%
+ \ifx\SIE at temp\SIE at StringDest
+ \let\SIE at Encoding\SIE at EncodingTest
+ \fi
+ }{}%
+ \fi
+ }%
+ \ifx\SIE at Encoding\@empty
+ \StringEncodingConvertTest\SIE at temp\SIE at StringDest
+ {ascii}{utf16be}{%
+ \def\SIE at Encoding{ascii}%
+ \SIE at Info{selinput}{%
+ Matching encoding not found, but input characters%
+ \MessageBreak
+ are 7-bit (possibly editor replacements).%
+ \MessageBreak
+ Hence using ascii encoding%
+ }%
+ }{}%
+ \fi
+ \ifx\SIE at Encoding\@empty
+ \PackageError{selinput}{%
+ Cannot find a matching encoding%
+ }\@ehd
+ \else
+ \ifx\SIE at Encoding\SIE at EncodingUTFviii
+ \SIE at LoadUnicodePackage
+ \ifx\SIE at UseUTFviii\@empty
+ \else
+ \let\SIE at Encoding\SIE at UseUTFviii
+ \fi
+ \fi
+ \begingroup\expandafter\expandafter\expandafter\endgroup
+ \expandafter\ifx\csname InputEncoding\endcsname\relax
+ \inputencoding\SIE at Encoding
+ \else
+ \InputEncoding\SIE at Encoding
+ \fi
+ \SIE at Info{selinput}{Encoding `\SIE at Encoding' selected}%
+ \fi
+ \fi
+}
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\SIE at LoadNameDefs}
+% \begin{macrocode}
+\def\SIE at LoadNameDefs{%
+ \begingroup
+ \endlinechar=\m at ne
+ \catcode92=0 % backslash
+ \catcode123=1 % left curly brace/beginning of group
+ \catcode125=2 % right curly brace/end of group
+ \catcode37=14 % percent/comment character
+ \@makeother\[%
+ \@makeother\]%
+ \@makeother\.%
+ \@makeother\(%
+ \@makeother\)%
+ \@makeother\/%
+ \@makeother\-%
+ \let\InputenxName\SelectInputDefineMapping
+ \InputIfFileExists{ix-name.def}{}{%
+ \PackageError{selinput}{%
+ Missing `ix-name.def' (part of package `inputenx')%
+ }\@ehd
+ }%
+ \global\let\SIE at LoadNameDefs\relax
+ \endgroup
+}
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\SelectInputDefineMapping}
+% \begin{macrocode}
+\newcommand*{\SelectInputDefineMapping}[1]{%
+ \expandafter\gdef\csname SIE@@#1\endcsname
+}
+% \end{macrocode}
+% \end{macro}
+% \begin{macrocode}
+\kv at set@family at handler{SelInputMap}{%
+ \@onelevel at sanitize\kv at key
+ \ifx\kv at value\relax
+ \PackageError{selinput}{%
+ Missing input character for `\kv at key'%
+ }\@ehc
+ \else
+ \@onelevel at sanitize\kv at value
+ \ifx\kv at value\@empty
+ \PackageError{selinput}{%
+ Input character got lost?\MessageBreak
+ Missing input character for `\kv at key'%
+ }\@ehc
+ \else
+ \@ifundefined{SIE@@\kv at key}{%
+ \PackageWarning{selinput}{%
+ Missing definition for `\kv at key'%
+ }%
+ }{%
+ \edef\SIE at StringDest{%
+ \SIE at StringDest
+ \kv at value
+ }%
+ \edef\SIE at StringUnicode{%
+ \SIE at StringUnicode
+ \csname SIE@@\kv at key\endcsname
+ }%
+ }%
+ \fi
+ \fi
+}
+% \end{macrocode}
+% \begin{macrocode}
+\kv at set@family at handler{SelInputEnc}{%
+ \@onelevel at sanitize\kv at key
+ \ifx\kv at value\relax
+ \ifx\SIE at EncodingList\@empty
+ \let\SIE at EncodingList\kv at key
+ \else
+ \edef\SIE at EncodingList{\SIE at EncodingList,\kv at key}%
+ \fi
+ \else
+ \@onelevel at sanitize\kv at value
+ \PackageError{selinput}{%
+ Illegal key value pair (\kv at key=\kv at value)\MessagBreak
+ in encoding list%
+ }\@ehc
+ \fi
+}
+% \end{macrocode}
+%
+% \begin{macro}{\SIE at LoadUnicodePackage}
+% \begin{macrocode}
+\def\SIE at LoadUnicodePackage{%
+ \@ifpackageloaded\SIE at UnicodePackage{}{%
+ \RequirePackage\SIE at UnicodePackage\relax
+ }%
+ \SIE at PatchUCS
+ \global\let\SIE at LoadUnicodePackage\relax
+}
+\let\SIE at show\show
+\def\SIE at PatchUCS{%
+ \AtBeginDocument{%
+ \expandafter\ifx\csname ver at ucsencs.def\endcsname\relax
+ \else
+ \let\show\SIE at show
+ \fi
+ }%
+}
+\SIE at PatchUCS
+% \end{macrocode}
+% \end{macro}
+% \begin{macrocode}
+\AtBeginDocument{%
+ \let\SIE at LoadUnicodePackage\relax
+}
+% \end{macrocode}
+% \begin{macro}{\SIE at EncodingUTFviii}
+% \begin{macrocode}
+\def\SIE at EncodingUTFviii{utf8}
+\@onelevel at sanitize\SIE at EncodingUTFviii
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\SIE at EncodingUTFviiix}
+% \begin{macrocode}
+\def\SIE at EncodingUTFviiix{utf8x}
+\@onelevel at sanitize\SIE at EncodingUTFviiix
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macrocode}
+\let\SIE at UnicodePackage\@empty
+\let\SIE at UseUTFviii\@empty
+\let\SIE at Info\PackageInfo
+% \end{macrocode}
+% \begin{macrocode}
+\SetupKeyvalOptions{%
+ family=SelInput,%
+ prefix=SelInput@%
+}
+\define at key{SelInput}{utf8}{%
+ \def\SIE at UseUTFviii{#1}%
+ \@onelevel at sanitize\SIE at UseUTFviii
+}
+\DeclareBoolOption{ucs}
+\DeclareVoidOption{warning}{%
+ \let\SIE at Info\PackageWarning
+}
+\ProcessKeyvalOptions{SelInput}
+\ifSelInput at ucs
+ \def\SIE at UnicodePackage{ucs}%
+ \ifx\SIE at UseUTFviii\@empty
+ \let\SIE at UseUTFviii\SIE at EncodingUTFviiix
+ \fi
+\else
+ \ifx\SIE at UseUTFviii\@empty
+ \@ifpackageloaded{ucs}{%
+ \let\SIE at UseUTFviii\SIE at EncodingUTFviiix
+ }{%
+ \let\SIE at UseUTFviii\SIE at EncodingUTFviii
+ }%
+ \fi
+\fi
+% \end{macrocode}
+%
+% \begin{macro}{\SIE at EncodingList}
+% \begin{macrocode}
+\edef\SIE at EncodingList{%
+ utf8,%
+ x-iso-8859-1,%
+ x-iso-8859-15,%
+ x-cp1252,% ansinew
+ x-mac-roman,%
+ x-iso-8859-2,%
+ x-iso-8859-3,%
+ x-iso-8859-4,%
+ x-iso-8859-5,%
+ x-iso-8859-6,%
+ x-iso-8859-7,%
+ x-iso-8859-8,%
+ x-iso-8859-9,%
+ x-iso-8859-10,%
+ x-iso-8859-11,%
+ x-iso-8859-13,%
+ x-iso-8859-14,%
+ x-iso-8859-15,%
+ x-mac-centeuro,%
+ x-mac-cyrillic,%
+ x-koi8-r,%
+ x-cp1250,%
+ x-cp1251,%
+ x-cp1257,%
+ x-cp437,%
+ x-cp850,%
+ x-cp852,%
+ x-cp855,%
+ x-cp858,%
+ x-cp865,%
+ x-cp866,%
+ x-nextstep,%
+ x-dec-mcs%
+}%
+\@onelevel at sanitize\SIE at EncodingList
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macrocode}
+%</package>
+% \end{macrocode}
+%% \section{Installation}
+%
+% \subsection{Download}
+%
+% \paragraph{Package.} This package is available on
+% CTAN\footnote{\CTANpkg{selinput}}:
+% \begin{description}
+% \item[\CTAN{macros/latex/contrib/selinput/selinput.dtx}] The source file.
+% \item[\CTAN{macros/latex/contrib/selinput/selinput.pdf}] Documentation.
+% \end{description}
+%
+%
+% \paragraph{Bundle.} All the packages of the bundle `selinput'
+% are also available in a TDS compliant ZIP archive. There
+% the packages are already unpacked and the documentation files
+% are generated. The files and directories obey the TDS standard.
+% \begin{description}
+% \item[\CTANinstall{install/macros/latex/contrib/selinput.tds.zip}]
+% \end{description}
+% \emph{TDS} refers to the standard ``A Directory Structure
+% for \TeX\ Files'' (\CTANpkg{tds}). Directories
+% with \xfile{texmf} in their name are usually organized this way.
+%
+% \subsection{Bundle installation}
+%
+% \paragraph{Unpacking.} Unpack the \xfile{selinput.tds.zip} in the
+% TDS tree (also known as \xfile{texmf} tree) of your choice.
+% Example (linux):
+% \begin{quote}
+% |unzip selinput.tds.zip -d ~/texmf|
+% \end{quote}
+%
+% \subsection{Package installation}
+%
+% \paragraph{Unpacking.} The \xfile{.dtx} file is a self-extracting
+% \docstrip\ archive. The files are extracted by running the
+% \xfile{.dtx} through \plainTeX:
+% \begin{quote}
+% \verb|tex selinput.dtx|
+% \end{quote}
+%
+% \paragraph{TDS.} Now the different files must be moved into
+% the different directories in your installation TDS tree
+% (also known as \xfile{texmf} tree):
+% \begin{quote}
+% \def\t{^^A
+% \begin{tabular}{@{}>{\ttfamily}l@{ $\rightarrow$ }>{\ttfamily}l@{}}
+% selinput.sty & tex/latex/selinput/selinput.sty\\
+% selinput.pdf & doc/latex/selinput/selinput.pdf\\
+% selinput.dtx & source/latex/selinput/selinput.dtx\\
+% \end{tabular}^^A
+% }^^A
+% \sbox0{\t}^^A
+% \ifdim\wd0>\linewidth
+% \begingroup
+% \advance\linewidth by\leftmargin
+% \advance\linewidth by\rightmargin
+% \edef\x{\endgroup
+% \def\noexpand\lw{\the\linewidth}^^A
+% }\x
+% \def\lwbox{^^A
+% \leavevmode
+% \hbox to \linewidth{^^A
+% \kern-\leftmargin\relax
+% \hss
+% \usebox0
+% \hss
+% \kern-\rightmargin\relax
+% }^^A
+% }^^A
+% \ifdim\wd0>\lw
+% \sbox0{\small\t}^^A
+% \ifdim\wd0>\linewidth
+% \ifdim\wd0>\lw
+% \sbox0{\footnotesize\t}^^A
+% \ifdim\wd0>\linewidth
+% \ifdim\wd0>\lw
+% \sbox0{\scriptsize\t}^^A
+% \ifdim\wd0>\linewidth
+% \ifdim\wd0>\lw
+% \sbox0{\tiny\t}^^A
+% \ifdim\wd0>\linewidth
+% \lwbox
+% \else
+% \usebox0
+% \fi
+% \else
+% \lwbox
+% \fi
+% \else
+% \usebox0
+% \fi
+% \else
+% \lwbox
+% \fi
+% \else
+% \usebox0
+% \fi
+% \else
+% \lwbox
+% \fi
+% \else
+% \usebox0
+% \fi
+% \else
+% \lwbox
+% \fi
+% \else
+% \usebox0
+% \fi
+% \end{quote}
+% If you have a \xfile{docstrip.cfg} that configures and enables \docstrip's
+% TDS installing feature, then some files can already be in the right
+% place, see the documentation of \docstrip.
+%
+% \subsection{Refresh file name databases}
+%
+% If your \TeX~distribution
+% (\TeX\,Live, \mikTeX, \dots) relies on file name databases, you must refresh
+% these. For example, \TeX\,Live\ users run \verb|texhash| or
+% \verb|mktexlsr|.
+%
+% \subsection{Some details for the interested}
+%
+% \paragraph{Unpacking with \LaTeX.}
+% The \xfile{.dtx} chooses its action depending on the format:
+% \begin{description}
+% \item[\plainTeX:] Run \docstrip\ and extract the files.
+% \item[\LaTeX:] Generate the documentation.
+% \end{description}
+% If you insist on using \LaTeX\ for \docstrip\ (really,
+% \docstrip\ does not need \LaTeX), then inform the autodetect routine
+% about your intention:
+% \begin{quote}
+% \verb|latex \let\install=y\input{selinput.dtx}|
+% \end{quote}
+% Do not forget to quote the argument according to the demands
+% of your shell.
+%
+% \paragraph{Generating the documentation.}
+% You can use both the \xfile{.dtx} or the \xfile{.drv} to generate
+% the documentation. The process can be configured by the
+% configuration file \xfile{ltxdoc.cfg}. For instance, put this
+% line into this file, if you want to have A4 as paper format:
+% \begin{quote}
+% \verb|\PassOptionsToClass{a4paper}{article}|
+% \end{quote}
+% An example follows how to generate the
+% documentation with pdf\LaTeX:
+% \begin{quote}
+%\begin{verbatim}
+%pdflatex selinput.dtx
+%makeindex -s gind.ist selinput.idx
+%pdflatex selinput.dtx
+%makeindex -s gind.ist selinput.idx
+%pdflatex selinput.dtx
+%\end{verbatim}
+% \end{quote}
+%
+% \begin{thebibliography}{9}
+% \bibitem{inputenx}
+% Heiko Oberdiek: \textit{The \xpackage{inputenx} package};
+% 2007-04-11 v1.1;
+% \CTANpkg{inputenx}.
+%
+% \bibitem{adobe:glyphlist}
+% Adobe: \textit{Adobe Glyph List};
+% 2002-09-20 v2.0;
+% \url{https://github.com/adobe-type-tools/agl-aglfn/blob/master/glyphlist.txt}.
+%
+% \bibitem{adobe:aglfn}
+% Adobe: \textit{Adobe Glyph List For New Fonts};
+% 2005-11-18 v1.5;
+% \url{https://github.com/adobe-type-tools/agl-aglfn/blob/master/aglfn.txt}.
+%
+% \bibitem{stringenc}
+% Heiko Oberdiek: \textit{The \xpackage{stringenc} package};
+% 2007-06-16 v1.1;
+% \CTANpkg{stringenc}.
+%
+% \end{thebibliography}
+%
+% \begin{History}
+% \begin{Version}{2007/06/16 v1.0}
+% \item
+% First version.
+% \end{Version}
+% \begin{Version}{2007/06/20 v1.1}
+% \item
+% Requested date for package \xpackage{stringenc} fixed.
+% \end{Version}
+% \begin{Version}{2007/09/09 v1.2}
+% \item
+% Line end fixed.
+% \end{Version}
+% \begin{Version}{2016/05/16 v1.3}
+% \item
+% Documentation updates.
+% \end{Version}
+% \begin{Version}{2016/05/17 v1.4}
+% \item
+% Documentation updates: Avoid T1 encoding with Unicode \TeX.
+% \end{Version}
+% \begin{Version}{2019/12/09 v1.5}
+% \item
+% Documentation updates.
+% \end{Version}
+% \begin{Version}{2019-12-10 v1.6}
+% \item Updated
+% \end{Version}
+% \end{History}
+%
+% \PrintIndex
+%
+% \Finale
+\endinput
Property changes on: trunk/Master/texmf-dist/source/latex/selinput/selinput.dtx
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Deleted: trunk/Master/texmf-dist/tex/latex/selinput/selinput.dtx
===================================================================
--- trunk/Master/texmf-dist/tex/latex/selinput/selinput.dtx 2019-12-11 21:54:16 UTC (rev 53097)
+++ trunk/Master/texmf-dist/tex/latex/selinput/selinput.dtx 2019-12-11 21:54:32 UTC (rev 53098)
@@ -1,851 +0,0 @@
-% \iffalse meta-comment
-%
-% File: selinput.dtx
-% Version: 2019/12/09 v1.5
-% Info: Semi-automatic input encoding detection
-%
-% Copyright (C)
-% 2007 Heiko Oberdiek
-% 2016-2019 Oberdiek Package Support Group
-% https://github.com/ho-tex/selinput/issues
-%
-% This work may be distributed and/or modified under the
-% conditions of the LaTeX Project Public License, either
-% version 1.3c of this license or (at your option) any later
-% version. This version of this license is in
-% https://www.latex-project.org/lppl/lppl-1-3c.txt
-% and the latest version of this license is in
-% https://www.latex-project.org/lppl.txt
-% and version 1.3 or later is part of all distributions of
-% LaTeX version 2005/12/01 or later.
-%
-% This work has the LPPL maintenance status "maintained".
-%
-% The Current Maintainers of this work are
-% Heiko Oberdiek and the Oberdiek Package Support Group
-% https://github.com/ho-tex/selinput/issues
-%
-% This work consists of the main source file selinput.dtx
-% and the derived files
-% selinput.sty, selinput.pdf, selinput.ins, selinput.drv,
-% selinput-test1.tex, selinput-test2.tex, selinput-test3.tex,
-% selinput-test4.tex, selinput-test5.tex.
-%
-% Distribution:
-% CTAN:macros/latex/contrib/selinput/selinput.dtx
-% CTAN:macros/latex/contrib/selinput/selinput.pdf
-%
-% Unpacking:
-% (a) If selinput.ins is present:
-% tex selinput.ins
-% (b) Without selinput.ins:
-% tex selinput.dtx
-% (c) If you insist on using LaTeX
-% latex \let\install=y\input{selinput.dtx}
-% (quote the arguments according to the demands of your shell)
-%
-% Documentation:
-% (a) If selinput.drv is present:
-% latex selinput.drv
-% (b) Without selinput.drv:
-% latex selinput.dtx; ...
-% The class ltxdoc loads the configuration file ltxdoc.cfg
-% if available. Here you can specify further options, e.g.
-% use A4 as paper format:
-% \PassOptionsToClass{a4paper}{article}
-%
-% Programm calls to get the documentation (example):
-% pdflatex selinput.dtx
-% makeindex -s gind.ist selinput.idx
-% pdflatex selinput.dtx
-% makeindex -s gind.ist selinput.idx
-% pdflatex selinput.dtx
-%
-% Installation:
-% TDS:tex/latex/selinput/selinput.sty
-% TDS:doc/latex/selinput/selinput.pdf
-% TDS:source/latex/selinput/selinput.dtx
-%
-%<*ignore>
-\begingroup
- \catcode123=1 %
- \catcode125=2 %
- \def\x{LaTeX2e}%
-\expandafter\endgroup
-\ifcase 0\ifx\install y1\fi\expandafter
- \ifx\csname processbatchFile\endcsname\relax\else1\fi
- \ifx\fmtname\x\else 1\fi\relax
-\else\csname fi\endcsname
-%</ignore>
-%<*install>
-\input docstrip.tex
-\Msg{************************************************************************}
-\Msg{* Installation}
-\Msg{* Package: selinput 2019/12/09 v1.5 Semi-automatic input encoding detection (HO)}
-\Msg{************************************************************************}
-
-\keepsilent
-\askforoverwritefalse
-
-\let\MetaPrefix\relax
-\preamble
-
-This is a generated file.
-
-Project: selinput
-Version: 2019/12/09 v1.5
-
-Copyright (C)
- 2007 Heiko Oberdiek
- 2016-2019 Oberdiek Package Support Group
-
-This work may be distributed and/or modified under the
-conditions of the LaTeX Project Public License, either
-version 1.3c of this license or (at your option) any later
-version. This version of this license is in
- https://www.latex-project.org/lppl/lppl-1-3c.txt
-and the latest version of this license is in
- https://www.latex-project.org/lppl.txt
-and version 1.3 or later is part of all distributions of
-LaTeX version 2005/12/01 or later.
-
-This work has the LPPL maintenance status "maintained".
-
-The Current Maintainers of this work are
-Heiko Oberdiek and the Oberdiek Package Support Group
-https://github.com/ho-tex/selinput/issues
-
-
-This work consists of the main source file selinput.dtx
-and the derived files
- selinput.sty, selinput.pdf, selinput.ins, selinput.drv,
- selinput-test1.tex, selinput-test2.tex, selinput-test3.tex,
- selinput-test4.tex, selinput-test5.tex.
-
-\endpreamble
-\let\MetaPrefix\DoubleperCent
-
-\generate{%
- \file{selinput.ins}{\from{selinput.dtx}{install}}%
- \file{selinput.drv}{\from{selinput.dtx}{driver}}%
- \usedir{tex/latex/selinput}%
- \file{selinput.sty}{\from{selinput.dtx}{package}}%
-}
-
-\catcode32=13\relax% active space
-\let =\space%
-\Msg{************************************************************************}
-\Msg{*}
-\Msg{* To finish the installation you have to move the following}
-\Msg{* file into a directory searched by TeX:}
-\Msg{*}
-\Msg{* selinput.sty}
-\Msg{*}
-\Msg{* To produce the documentation run the file `selinput.drv'}
-\Msg{* through LaTeX.}
-\Msg{*}
-\Msg{* Happy TeXing!}
-\Msg{*}
-\Msg{************************************************************************}
-
-\endbatchfile
-%</install>
-%<*ignore>
-\fi
-%</ignore>
-%<*driver>
-\NeedsTeXFormat{LaTeX2e}
-\ProvidesFile{selinput.drv}%
- [2019/12/09 v1.5 Semi-automatic input encoding detection (HO)]%
-\documentclass{ltxdoc}
-\ifx\Umathcode\undefined
-\usepackage[T1]{fontenc}
-\fi
-\usepackage{textcomp}
-\usepackage{lmodern}
-\usepackage{holtxdoc}[2011/11/22]
-\usepackage{color}
-\begin{document}
- \DocInput{selinput.dtx}%
-\end{document}
-%</driver>
-% \fi
-%
-%
-%
-% \GetFileInfo{selinput.drv}
-%
-% \title{The \xpackage{selinput} package}
-% \date{2019/12/09 v1.5}
-% \author{Heiko Oberdiek\thanks
-% {Please report any issues at \url{https://github.com/ho-tex/selinput/issues}}}
-%
-% \maketitle
-%
-% \begin{abstract}
-% This package selects the input encoding by specifying between
-% input characters and their glyph names.
-% \end{abstract}
-%
-% \tableofcontents
-%
-% \newcommand*{\EM}{\textcolor{blue}}
-% \newcommand*{\ExampleText}{^^A
-% Umlauts:\ \EM{\"A\"O\"U\"a\"o\"u\ss}^^A
-% }
-%
-% \section{Documentation}
-%
-% \subsection{Introduction}
-%
-% \LaTeX\ supports the direct use of 8-bit characters by means
-% of package \xpackage{inputenc}. However you must know
-% and specify the encoding, e.g.:
-% \begin{quote}
-% \ttfamily
-% |\documentclass{article}|\\
-% |\usepackage[|\EM{latin1}|]{inputenc}|\\
-% |% or \usepackage[|\EM{utf8}|]{inputenc}|\\
-% |% or \usepackage[|\EM{??}|]{inputenc}|\\
-% |\begin{document}|\\
-% | |\ExampleText\\
-% |\end{document}|
-% \end{quote}
-%
-% If the document is transferred in an environment that
-% uses a different encoding, then there are programs that
-% convert the input characters. Examples for conversion
-% of file \xfile{test.tex}
-% from encoding latin1 (ISO-8859-1) to UTF-8:
-% \begin{quote}
-% \ttfamily
-% |recode ISO-8859-1..UTF-8 test.tex|\\
-% |recode latin1..utf8 test.tex|\\
-% |iconv --from-code ISO-8859-1|\\
-% \hphantom{iconv}| --to-code UTF-8|\\
-% \hphantom{iconv}| --output testnew.tex|\\
-% \hphantom{iconv}| test.tex|\\
-% |iconv -f latin1 -t utf8 -o testnew.tex test.tex|
-% \end{quote}
-% However, the encoding name for package \xpackage{inputenc}
-% must be changed:
-% \begin{quote}
-% |\usepackage[latin1]{inputenc}| $\rightarrow$
-% |\usepackage[utf8]{inputenc}|\kern-4pt\relax
-% \end{quote}
-% Of course, unless you are using some clever editor
-% that knows package \xpackage{inputenc}, recodes
-% the file and adjusts the option at the same time.
-% But most editors can perhaps recode the file, but
-% they let the option untouched.
-%
-% Therefore package \xpackage{selinput} chooses another way for
-% specifying the input encoding. The encoding name is not needed
-% at all. Some 8-bit characters are identified by their glyph
-% name and the package chooses an appropriate encoding, example:
-% \begin{quote}
-% \ttfamily
-% |\documentclass{article}|\\
-% |\usepackage{selinput}|\\
-% |\SelectInputMappings{|\\
-% | adieresis={|\EM{\"a}|}|,\\
-% | germandbls={|\EM{\ss}|}|,\\
-% | Euro={|\EM{\texteuro}|}|,\\
-% |}|\\
-% |\begin{document}|\\
-% | |\ExampleText\\
-% |\end{document}|
-% \end{quote}
-%
-% \subsection{User interface}
-%
-% \begin{declcs}{SelectInputEncodingList} \M{encoding list}
-% \end{declcs}
-% \cs{SelectInputEncodingList} expects a comma separated list of
-% encoding names. Example:
-% \begin{quote}
-% |\SelectInputEncodingList{utf8,ansinew,mac-roman}|
-% \end{quote}
-% The encodings of package \xpackage{inputenx} are used as default.
-%
-% \begin{declcs}{SelectInputMappings} \M{mapping pairs}
-% \end{declcs}
-% A mapping pair consists of a glyph name and its input
-% character:
-% \begin{quote}
-% |\SelectInputMappings{|\\
-% | adieresis={|\EM{\"a}|}|,\\
-% | germandbls={|\EM{\ss}|}|,\\
-% | Euro={|\EM{\texteuro}|}|,\\
-% |}|
-% \end{quote}
-% The supported glyph names can be found in file \xfile{ix-name.def}
-% of project \xpackage{inputenx} \cite{inputenx}. The names are
-% basically taken from Adobe's glyphlists \cite{adobe:glyphlist,adobe:aglfn}.
-% As many pairs are needed as necessary to identify the encoding.
-% Example with insufficient pairs:
-% \begin{quote}
-% \ttfamily
-% |\SelectInputEncodingSet{latin1,latin9}|\\
-% |\SelectInputMappings{|\\
-% | adieresis={|\EM{\"a}|}|,\\
-% | germandbls={|\EM{\ss}|}|,\\
-% |}|\\
-% \ExampleText| and Euro: |\EM{\textcurrency} (wrong)
-% \end{quote}
-% The first encoding \xoption{latin1} passes the constraints given
-% by the mapping pairs. However the Euro symbol is not part of
-% the encoding. Thus a mapping pair with the Euro symbol
-% solves the problem. In fact the symbol alone already succeeds in selecting
-% between \xoption{latin1} and \xoption{latin9}:
-% \begin{quote}
-% \ttfamily
-% |\SelectInputEncodingSet{latin1,latin9}|\\
-% |\SelectInputMappings{|\\
-% | Euro={|\EM{\texteuro}|},|\\
-% |}|\\
-% \ExampleText| and Euro: |\EM{\texteuro}
-% \end{quote}
-%
-% \subsection{Options}
-%
-% \begin{description}
-% \item[\xoption{warning}:]
-% The selected encoding is written
-% by \cs{PackageInfo} into the \xfile{.log} file only.
-% Option \xoption{warning} changes it to \cs{PackageWarning}.
-% Then the selected encoding is shown on the terminal as well.
-% \item[\xoption{ucs}:]
-% The encoding file \xfile{utf8x} of package \cs{ucs} requires
-% that the package itself is loaded before.
-% If the package is not loaded, then the option \xoption{ucs}
-% will load package \xpackage{ucs} if the detected encoding is
-% UTF-8 (limited to the preamble, packages cannot be loaded later).
-% \item[\xoption{utf8=\dots}:]
-% The option allows to specify other encoding files
-% for UTF-8 than \LaTeX's \xfile{utf8.def}. For example,
-% |utf8=utf-8| will load \xfile{utf-8.def} instead.
-% \end{description}
-%
-% \subsection{Encodings}
-%
-% Package \xpackage{stringenc} \cite{stringenc}
-% is used for testing the encoding. Thus the encoding
-% name must be known by this package. Then the found
-% encoding is loaded by \cs{inputencoding} by package
-% \xpackage{inputenc} or \cs{InputEncoding} if package
-% \xpackage{inputenx} is loaded.
-%
-% The supported encodings are present in the encoding list,
-% thus usually the encoding names do not matter.
-% If the list is set by \cs{SelectInputEncodingList},
-% then you can use the names that work for package
-% \xpackage{inputenc} and are known by package \xpackage{stringenc},
-% for example: \xoption{latin1}, \xoption{x-iso-8859-1}. Encoding
-% file names of package \xpackage{inputenx} are prefixed with \xfile{x-}.
-% The prefix can be dropped, if package \xpackage{inputenx} is loaded.
-%
-% \StopEventually{
-% }
-%
-% \section{Implementation}
-%
-% \begin{macrocode}
-%<*package>
-\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{selinput}
- [2019/12/09 v1.5 Semi-automatic input encoding detection (HO)]%
-% \end{macrocode}
-%
-% \begin{macrocode}
-\RequirePackage{inputenc}
-\RequirePackage{kvsetkeys}[2006/10/19]
-\RequirePackage{stringenc}[2007/06/16]
-\RequirePackage{kvoptions}
-% \end{macrocode}
-% \begin{macro}{\SelectInputEncodingList}
-% \begin{macrocode}
-\newcommand*{\SelectInputEncodingList}{%
- \let\SIE at EncodingList\@empty
- \kvsetkeys{SelInputEnc}%
-}
-% \end{macrocode}
-% \end{macro}
-% \begin{macro}{\SelectInputMappings}
-% \begin{macrocode}
-\newcommand*{\SelectInputMappings}[1]{%
- \SIE at LoadNameDefs
- \let\SIE at StringUnicode\@empty
- \let\SIE at StringDest\@empty
- \kvsetkeys{SelInputMap}{#1}%
- \ifx\\SIE at StringUnicode\SIE at StringDest\\%
- \PackageError{selinput}{%
- No mappings specified%
- }\@ehc
- \else
- \EdefUnescapeHex\SIE at StringUnicode\SIE at StringUnicode
- \let\SIE at Encoding\@empty
- \@for\SIE at EncodingTest:=\SIE at EncodingList\do{%
- \ifx\SIE at Encoding\@empty
- \StringEncodingConvertTest\SIE at temp\SIE at StringUnicode
- {utf16be}\SIE at EncodingTest{%
- \ifx\SIE at temp\SIE at StringDest
- \let\SIE at Encoding\SIE at EncodingTest
- \fi
- }{}%
- \fi
- }%
- \ifx\SIE at Encoding\@empty
- \StringEncodingConvertTest\SIE at temp\SIE at StringDest
- {ascii}{utf16be}{%
- \def\SIE at Encoding{ascii}%
- \SIE at Info{selinput}{%
- Matching encoding not found, but input characters%
- \MessageBreak
- are 7-bit (possibly editor replacements).%
- \MessageBreak
- Hence using ascii encoding%
- }%
- }{}%
- \fi
- \ifx\SIE at Encoding\@empty
- \PackageError{selinput}{%
- Cannot find a matching encoding%
- }\@ehd
- \else
- \ifx\SIE at Encoding\SIE at EncodingUTFviii
- \SIE at LoadUnicodePackage
- \ifx\SIE at UseUTFviii\@empty
- \else
- \let\SIE at Encoding\SIE at UseUTFviii
- \fi
- \fi
- \begingroup\expandafter\expandafter\expandafter\endgroup
- \expandafter\ifx\csname InputEncoding\endcsname\relax
- \inputencoding\SIE at Encoding
- \else
- \InputEncoding\SIE at Encoding
- \fi
- \SIE at Info{selinput}{Encoding `\SIE at Encoding' selected}%
- \fi
- \fi
-}
-% \end{macrocode}
-% \end{macro}
-% \begin{macro}{\SIE at LoadNameDefs}
-% \begin{macrocode}
-\def\SIE at LoadNameDefs{%
- \begingroup
- \endlinechar=\m at ne
- \catcode92=0 % backslash
- \catcode123=1 % left curly brace/beginning of group
- \catcode125=2 % right curly brace/end of group
- \catcode37=14 % percent/comment character
- \@makeother\[%
- \@makeother\]%
- \@makeother\.%
- \@makeother\(%
- \@makeother\)%
- \@makeother\/%
- \@makeother\-%
- \let\InputenxName\SelectInputDefineMapping
- \InputIfFileExists{ix-name.def}{}{%
- \PackageError{selinput}{%
- Missing `ix-name.def' (part of package `inputenx')%
- }\@ehd
- }%
- \global\let\SIE at LoadNameDefs\relax
- \endgroup
-}
-% \end{macrocode}
-% \end{macro}
-% \begin{macro}{\SelectInputDefineMapping}
-% \begin{macrocode}
-\newcommand*{\SelectInputDefineMapping}[1]{%
- \expandafter\gdef\csname SIE@@#1\endcsname
-}
-% \end{macrocode}
-% \end{macro}
-% \begin{macrocode}
-\kv at set@family at handler{SelInputMap}{%
- \@onelevel at sanitize\kv at key
- \ifx\kv at value\relax
- \PackageError{selinput}{%
- Missing input character for `\kv at key'%
- }\@ehc
- \else
- \@onelevel at sanitize\kv at value
- \ifx\kv at value\@empty
- \PackageError{selinput}{%
- Input character got lost?\MessageBreak
- Missing input character for `\kv at key'%
- }\@ehc
- \else
- \@ifundefined{SIE@@\kv at key}{%
- \PackageWarning{selinput}{%
- Missing definition for `\kv at key'%
- }%
- }{%
- \edef\SIE at StringDest{%
- \SIE at StringDest
- \kv at value
- }%
- \edef\SIE at StringUnicode{%
- \SIE at StringUnicode
- \csname SIE@@\kv at key\endcsname
- }%
- }%
- \fi
- \fi
-}
-% \end{macrocode}
-% \begin{macrocode}
-\kv at set@family at handler{SelInputEnc}{%
- \@onelevel at sanitize\kv at key
- \ifx\kv at value\relax
- \ifx\SIE at EncodingList\@empty
- \let\SIE at EncodingList\kv at key
- \else
- \edef\SIE at EncodingList{\SIE at EncodingList,\kv at key}%
- \fi
- \else
- \@onelevel at sanitize\kv at value
- \PackageError{selinput}{%
- Illegal key value pair (\kv at key=\kv at value)\MessagBreak
- in encoding list%
- }\@ehc
- \fi
-}
-% \end{macrocode}
-%
-% \begin{macro}{\SIE at LoadUnicodePackage}
-% \begin{macrocode}
-\def\SIE at LoadUnicodePackage{%
- \@ifpackageloaded\SIE at UnicodePackage{}{%
- \RequirePackage\SIE at UnicodePackage\relax
- }%
- \SIE at PatchUCS
- \global\let\SIE at LoadUnicodePackage\relax
-}
-\let\SIE at show\show
-\def\SIE at PatchUCS{%
- \AtBeginDocument{%
- \expandafter\ifx\csname ver at ucsencs.def\endcsname\relax
- \else
- \let\show\SIE at show
- \fi
- }%
-}
-\SIE at PatchUCS
-% \end{macrocode}
-% \end{macro}
-% \begin{macrocode}
-\AtBeginDocument{%
- \let\SIE at LoadUnicodePackage\relax
-}
-% \end{macrocode}
-% \begin{macro}{\SIE at EncodingUTFviii}
-% \begin{macrocode}
-\def\SIE at EncodingUTFviii{utf8}
-\@onelevel at sanitize\SIE at EncodingUTFviii
-% \end{macrocode}
-% \end{macro}
-% \begin{macro}{\SIE at EncodingUTFviiix}
-% \begin{macrocode}
-\def\SIE at EncodingUTFviiix{utf8x}
-\@onelevel at sanitize\SIE at EncodingUTFviiix
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macrocode}
-\let\SIE at UnicodePackage\@empty
-\let\SIE at UseUTFviii\@empty
-\let\SIE at Info\PackageInfo
-% \end{macrocode}
-% \begin{macrocode}
-\SetupKeyvalOptions{%
- family=SelInput,%
- prefix=SelInput@%
-}
-\define at key{SelInput}{utf8}{%
- \def\SIE at UseUTFviii{#1}%
- \@onelevel at sanitize\SIE at UseUTFviii
-}
-\DeclareBoolOption{ucs}
-\DeclareVoidOption{warning}{%
- \let\SIE at Info\PackageWarning
-}
-\ProcessKeyvalOptions{SelInput}
-\ifSelInput at ucs
- \def\SIE at UnicodePackage{ucs}%
- \ifx\SIE at UseUTFviii\@empty
- \let\SIE at UseUTFviii\SIE at EncodingUTFviiix
- \fi
-\else
- \ifx\SIE at UseUTFviii\@empty
- \@ifpackageloaded{ucs}{%
- \let\SIE at UseUTFviii\SIE at EncodingUTFviiix
- }{%
- \let\SIE at UseUTFviii\SIE at EncodingUTFviii
- }%
- \fi
-\fi
-% \end{macrocode}
-%
-% \begin{macro}{\SIE at EncodingList}
-% \begin{macrocode}
-\edef\SIE at EncodingList{%
- utf8,%
- x-iso-8859-1,%
- x-iso-8859-15,%
- x-cp1252,% ansinew
- x-mac-roman,%
- x-iso-8859-2,%
- x-iso-8859-3,%
- x-iso-8859-4,%
- x-iso-8859-5,%
- x-iso-8859-6,%
- x-iso-8859-7,%
- x-iso-8859-8,%
- x-iso-8859-9,%
- x-iso-8859-10,%
- x-iso-8859-11,%
- x-iso-8859-13,%
- x-iso-8859-14,%
- x-iso-8859-15,%
- x-mac-centeuro,%
- x-mac-cyrillic,%
- x-koi8-r,%
- x-cp1250,%
- x-cp1251,%
- x-cp1257,%
- x-cp437,%
- x-cp850,%
- x-cp852,%
- x-cp855,%
- x-cp858,%
- x-cp865,%
- x-cp866,%
- x-nextstep,%
- x-dec-mcs%
-}%
-\@onelevel at sanitize\SIE at EncodingList
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macrocode}
-%</package>
-% \end{macrocode}
-%% \section{Installation}
-%
-% \subsection{Download}
-%
-% \paragraph{Package.} This package is available on
-% CTAN\footnote{\CTANpkg{selinput}}:
-% \begin{description}
-% \item[\CTAN{macros/latex/contrib/selinput/selinput.dtx}] The source file.
-% \item[\CTAN{macros/latex/contrib/selinput/selinput.pdf}] Documentation.
-% \end{description}
-%
-%
-% \paragraph{Bundle.} All the packages of the bundle `selinput'
-% are also available in a TDS compliant ZIP archive. There
-% the packages are already unpacked and the documentation files
-% are generated. The files and directories obey the TDS standard.
-% \begin{description}
-% \item[\CTANinstall{install/macros/latex/contrib/selinput.tds.zip}]
-% \end{description}
-% \emph{TDS} refers to the standard ``A Directory Structure
-% for \TeX\ Files'' (\CTANpkg{tds}). Directories
-% with \xfile{texmf} in their name are usually organized this way.
-%
-% \subsection{Bundle installation}
-%
-% \paragraph{Unpacking.} Unpack the \xfile{selinput.tds.zip} in the
-% TDS tree (also known as \xfile{texmf} tree) of your choice.
-% Example (linux):
-% \begin{quote}
-% |unzip selinput.tds.zip -d ~/texmf|
-% \end{quote}
-%
-% \subsection{Package installation}
-%
-% \paragraph{Unpacking.} The \xfile{.dtx} file is a self-extracting
-% \docstrip\ archive. The files are extracted by running the
-% \xfile{.dtx} through \plainTeX:
-% \begin{quote}
-% \verb|tex selinput.dtx|
-% \end{quote}
-%
-% \paragraph{TDS.} Now the different files must be moved into
-% the different directories in your installation TDS tree
-% (also known as \xfile{texmf} tree):
-% \begin{quote}
-% \def\t{^^A
-% \begin{tabular}{@{}>{\ttfamily}l@{ $\rightarrow$ }>{\ttfamily}l@{}}
-% selinput.sty & tex/latex/selinput/selinput.sty\\
-% selinput.pdf & doc/latex/selinput/selinput.pdf\\
-% selinput.dtx & source/latex/selinput/selinput.dtx\\
-% \end{tabular}^^A
-% }^^A
-% \sbox0{\t}^^A
-% \ifdim\wd0>\linewidth
-% \begingroup
-% \advance\linewidth by\leftmargin
-% \advance\linewidth by\rightmargin
-% \edef\x{\endgroup
-% \def\noexpand\lw{\the\linewidth}^^A
-% }\x
-% \def\lwbox{^^A
-% \leavevmode
-% \hbox to \linewidth{^^A
-% \kern-\leftmargin\relax
-% \hss
-% \usebox0
-% \hss
-% \kern-\rightmargin\relax
-% }^^A
-% }^^A
-% \ifdim\wd0>\lw
-% \sbox0{\small\t}^^A
-% \ifdim\wd0>\linewidth
-% \ifdim\wd0>\lw
-% \sbox0{\footnotesize\t}^^A
-% \ifdim\wd0>\linewidth
-% \ifdim\wd0>\lw
-% \sbox0{\scriptsize\t}^^A
-% \ifdim\wd0>\linewidth
-% \ifdim\wd0>\lw
-% \sbox0{\tiny\t}^^A
-% \ifdim\wd0>\linewidth
-% \lwbox
-% \else
-% \usebox0
-% \fi
-% \else
-% \lwbox
-% \fi
-% \else
-% \usebox0
-% \fi
-% \else
-% \lwbox
-% \fi
-% \else
-% \usebox0
-% \fi
-% \else
-% \lwbox
-% \fi
-% \else
-% \usebox0
-% \fi
-% \else
-% \lwbox
-% \fi
-% \else
-% \usebox0
-% \fi
-% \end{quote}
-% If you have a \xfile{docstrip.cfg} that configures and enables \docstrip's
-% TDS installing feature, then some files can already be in the right
-% place, see the documentation of \docstrip.
-%
-% \subsection{Refresh file name databases}
-%
-% If your \TeX~distribution
-% (\TeX\,Live, \mikTeX, \dots) relies on file name databases, you must refresh
-% these. For example, \TeX\,Live\ users run \verb|texhash| or
-% \verb|mktexlsr|.
-%
-% \subsection{Some details for the interested}
-%
-% \paragraph{Unpacking with \LaTeX.}
-% The \xfile{.dtx} chooses its action depending on the format:
-% \begin{description}
-% \item[\plainTeX:] Run \docstrip\ and extract the files.
-% \item[\LaTeX:] Generate the documentation.
-% \end{description}
-% If you insist on using \LaTeX\ for \docstrip\ (really,
-% \docstrip\ does not need \LaTeX), then inform the autodetect routine
-% about your intention:
-% \begin{quote}
-% \verb|latex \let\install=y\input{selinput.dtx}|
-% \end{quote}
-% Do not forget to quote the argument according to the demands
-% of your shell.
-%
-% \paragraph{Generating the documentation.}
-% You can use both the \xfile{.dtx} or the \xfile{.drv} to generate
-% the documentation. The process can be configured by the
-% configuration file \xfile{ltxdoc.cfg}. For instance, put this
-% line into this file, if you want to have A4 as paper format:
-% \begin{quote}
-% \verb|\PassOptionsToClass{a4paper}{article}|
-% \end{quote}
-% An example follows how to generate the
-% documentation with pdf\LaTeX:
-% \begin{quote}
-%\begin{verbatim}
-%pdflatex selinput.dtx
-%makeindex -s gind.ist selinput.idx
-%pdflatex selinput.dtx
-%makeindex -s gind.ist selinput.idx
-%pdflatex selinput.dtx
-%\end{verbatim}
-% \end{quote}
-%
-% \begin{thebibliography}{9}
-% \bibitem{inputenx}
-% Heiko Oberdiek: \textit{The \xpackage{inputenx} package};
-% 2007-04-11 v1.1;
-% \CTANpkg{inputenx}.
-%
-% \bibitem{adobe:glyphlist}
-% Adobe: \textit{Adobe Glyph List};
-% 2002-09-20 v2.0;
-% \url{https://github.com/adobe-type-tools/agl-aglfn/blob/master/glyphlist.txt}.
-%
-% \bibitem{adobe:aglfn}
-% Adobe: \textit{Adobe Glyph List For New Fonts};
-% 2005-11-18 v1.5;
-% \url{https://github.com/adobe-type-tools/agl-aglfn/blob/master/aglfn.txt}.
-%
-% \bibitem{stringenc}
-% Heiko Oberdiek: \textit{The \xpackage{stringenc} package};
-% 2007-06-16 v1.1;
-% \CTANpkg{stringenc}.
-%
-% \end{thebibliography}
-%
-% \begin{History}
-% \begin{Version}{2007/06/16 v1.0}
-% \item
-% First version.
-% \end{Version}
-% \begin{Version}{2007/06/20 v1.1}
-% \item
-% Requested date for package \xpackage{stringenc} fixed.
-% \end{Version}
-% \begin{Version}{2007/09/09 v1.2}
-% \item
-% Line end fixed.
-% \end{Version}
-% \begin{Version}{2016/05/16 v1.3}
-% \item
-% Documentation updates.
-% \end{Version}
-% \begin{Version}{2016/05/17 v1.4}
-% \item
-% Documentation updates: Avoid T1 encoding with Unicode \TeX.
-% \end{Version}
-% \begin{Version}{2019/12/09 v1.5}
-% \item
-% Documentation updates.
-% \end{Version}
-% \end{History}
-%
-% \PrintIndex
-%
-% \Finale
-\endinput
Modified: trunk/Master/texmf-dist/tex/latex/selinput/selinput.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/selinput/selinput.sty 2019-12-11 21:54:16 UTC (rev 53097)
+++ trunk/Master/texmf-dist/tex/latex/selinput/selinput.sty 2019-12-11 21:54:32 UTC (rev 53098)
@@ -9,7 +9,7 @@
%% This is a generated file.
%%
%% Project: selinput
-%% Version: 2019/12/09 v1.5
+%% Version: 2019-12-10 v1.6
%%
%% Copyright (C)
%% 2007 Heiko Oberdiek
@@ -40,7 +40,7 @@
%%
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{selinput}
- [2019/12/09 v1.5 Semi-automatic input encoding detection (HO)]%
+ [2019-12-10 v1.6 Semi-automatic input encoding detection (HO)]%
\RequirePackage{inputenc}
\RequirePackage{kvsetkeys}[2006/10/19]
\RequirePackage{stringenc}[2007/06/16]
More information about the tex-live-commits
mailing list