summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/source/latex/tracklang/tracklang.dtx
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/source/latex/tracklang/tracklang.dtx')
-rw-r--r--Master/texmf-dist/source/latex/tracklang/tracklang.dtx139
1 files changed, 97 insertions, 42 deletions
diff --git a/Master/texmf-dist/source/latex/tracklang/tracklang.dtx b/Master/texmf-dist/source/latex/tracklang/tracklang.dtx
index 98a2e09362a..d2c533d52e0 100644
--- a/Master/texmf-dist/source/latex/tracklang/tracklang.dtx
+++ b/Master/texmf-dist/source/latex/tracklang/tracklang.dtx
@@ -2,15 +2,15 @@
% tracklang.dtx generated using makedtx version 1.1 (c) Nicola Talbot
% Command line args:
% -author "Nicola Talbot"
-% -section "chapter"
-% -doc "tracklang-manual.tex"
% -src "tracklang.sty\Z=>tracklang.sty"
% -src "tracklang.tex\Z=>tracklang.tex"
% -src "tracklang-region-codes.tex\Z=>tracklang-region-codes.tex"
% -src "tracklang-scripts.sty\Z=>tracklang-scripts.sty"
% -src "tracklang-scripts.tex\Z=>tracklang-scripts.tex"
+% -section "chapter"
+% -doc "tracklang-manual.tex"
% tracklang
-% Created on 2016/10/11 9:50
+% Created on 2016/11/3 19:43
%\fi
%\iffalse
%<*package>
@@ -59,7 +59,7 @@
pdfauthor={Nicola L.C. Talbot},
pdftitle={tracklang: tracking language options}]{hyperref}
-\CheckSum{3870}
+\CheckSum{3892}
\appto\MacroFont{\scriptsize}
\renewcommand*{\usage}[1]{\textit{\hyperpage{#1}}}
@@ -278,11 +278,11 @@ and~\ref{tab:nonisoopts}}
%
%\MakeShortVerb{"}
%
-%\title{tracklang v1.3.2:
+%\title{tracklang v1.3.3:
%tracking language options}
%\author{Nicola L. C. Talbot\\\url{http://www.dickimaw-books.com/}}
%
-%\date{2016-10-11}
+%\date{2016-11-03}
%\maketitle
%
%\begin{abstract}
@@ -2859,9 +2859,7 @@ and~\ref{tab:nonisoopts}}
%by \styfmt{tracklang} (which may not be the same as \meta{dialect}).
%
%\item\ics{CurrentTrackedLanguage}
-%The root language label used
-%by \styfmt{tracklang}. (This should usually be the same as
-%\ics{languagename}.)
+%The root language label used by \styfmt{tracklang}.
%\item\ics{CurrentTrackedDialectModifier} The dialect modifier.
%\item\ics{CurrentTrackedDialectVariant} The dialect variant.
%\item\ics{CurrentTrackedDialectScript} The dialect script.
@@ -3191,7 +3189,7 @@ and~\ref{tab:nonisoopts}}
% packages such as \styfmt{etoolbox}.
% \begin{macrocode}
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{tracklang}[2016/10/11 v1.3.2 (NLCT) Track Languages]
+\ProvidesPackage{tracklang}[2016/11/03 v1.3.3 (NLCT) Track Languages]
% \end{macrocode}
%\begin{macro}{\@tracklang@declareoption}
% Set up package options.
@@ -3444,7 +3442,7 @@ and~\ref{tab:nonisoopts}}
% \end{macrocode}
% Version info.
% \begin{macrocode}
-\expandafter\def\csname ver@tracklang.tex\endcsname{2016/10/11 v1.3.2
+\expandafter\def\csname ver@tracklang.tex\endcsname{2016/11/03 v1.3.3
(NLCT) Track Languages Generic Code}
% \end{macrocode}
% Define a long command for determining the existence of a control
@@ -5037,27 +5035,59 @@ and~\ref{tab:nonisoopts}}
%Provided for use by language hooks to establish the current tracked
%dialect. This command doesn't change \cs{languagename} or
%hyphenation patterns etc. It just provides convenient commands that
-%can be accessed.
+%can be accessed. The argument may be a \styfmt{tracklang} dialect
+%label or the language hook label from which a \styfmt{tracklang}
+%dialect label can be obtained or the root language label.
+%\changes{1.3.3}{2016-11-03}{fixed mapping}
% \begin{macrocode}
\def\SetCurrentTrackedDialect#1{%
- \edef\CurrentTrackedDialect{\GetTrackedDialectFromMapping{#1}}%
+ \edef\CurrentTrackedDialect{#1}%
\IfTrackedDialect{\CurrentTrackedDialect}%
{}%
{%
% \end{macrocode}
-% Has the root language name been supplied?
+% Has a mapping from this dialect to a tracklang dialect been supplied?
% \begin{macrocode}
- \IfTrackedLanguage{#1}%
+ \IfHookHasMappingFromTrackedDialect{\CurrentTrackedDialect}%
{%
+ \IfTrackedDialect{\GetTrackedDialectFromMapping\CurrentTrackedDialect}%
+ {%
+ \edef\CurrentTrackedDialect{\GetTrackedDialectFromMapping
+ {\CurrentTrackedDialect}}%
+ }%
+ {%
+% \end{macrocode}
+% Has the root language name been supplied?
+% \begin{macrocode}
+ \IfTrackedLanguage{#1}%
+ {%
% \end{macrocode}
% Get the last dialect to be tracked with this language.
+% \begin{macrocode}
+ \edef\@tracklang@dialects{\TrackedDialectsFromLanguage{#1}}%
+ \@tracklang@for\@tracklang@dialect:=\@tracklang@dialects\do{%
+ \let\CurrentTrackedDialect\@tracklang@dialect
+ }%
+ }%
+ {}%
+ }%
+ }%
+ {%
+% \end{macrocode}
+% Has the root language name been supplied?
% \begin{macrocode}
- \edef\@tracklang@dialects{\TrackedDialectsFromLanguage{#1}}%
- \@tracklang@for\@tracklang@dialect:=\@tracklang@dialects\do{%
- \let\CurrentTrackedDialect\@tracklang@dialect
+ \IfTrackedLanguage{#1}%
+ {%
+% \end{macrocode}
+% Get the last dialect to be tracked with this language.
+% \begin{macrocode}
+ \edef\@tracklang@dialects{\TrackedDialectsFromLanguage{#1}}%
+ \@tracklang@for\@tracklang@dialect:=\@tracklang@dialects\do{%
+ \let\CurrentTrackedDialect\@tracklang@dialect
+ }%
}%
+ {}%
}%
- {}%
}%
\IfTrackedDialect{\CurrentTrackedDialect}%
{%
@@ -7776,6 +7806,9 @@ and~\ref{tab:nonisoopts}}
\expandafter
\let\expandafter\@tracklang@tmp\csname @tracklang@add@#1\endcsname
\expandafter\def\csname @tracklang@add@#1\expandafter\endcsname
+% \end{macrocode}
+%\changes{1.3.3}{2016-11-03}{fixed mapping order}
+% \begin{macrocode}
\expandafter{\@tracklang@tmp\SetTrackedDialectLabelMap{#1}{#6}}%
\fi
% \end{macrocode}
@@ -9420,7 +9453,7 @@ and~\ref{tab:nonisoopts}}
% Try the mapping label next.
% \begin{macrocode}
\edef\@tracklang@tmp{%
- \csname @tracklang@dialectmap@to@\CurrentTrackedDialect\endcsname}%
+ \csname @tracklang@dialectmap@tohook@\CurrentTrackedDialect\endcsname}%
\@tracklang@ifundef{#2\@tracklang@tmp}%
{%
% \end{macrocode}
@@ -9497,20 +9530,28 @@ and~\ref{tab:nonisoopts}}
%\begin{macro}{\SetTrackedDialectLabelMap}
%\changes{1.3}{2016-10-07}{new}
%\begin{definition}
-%\cs{SetTrackedDialectLabelMap}\marg{from}\marg{to}
+%\cs{SetTrackedDialectLabelMap}\marg{tracklang-label}\marg{hook-label}
%\end{definition}
%Define a mapping between a \styfmt{tracklang} dialect label and the
%corresponding label used by the language hook. For example,
%\texttt{ngermanDE} is a recognised \styfmt{tracklang} dialect
%label, but the closest \sty{babel} equivalent is \texttt{ngerman},
%so \texttt{ngermanDE} would need to be mapped to \texttt{ngerman}
-%for the language hooks. The arguments are \meta{from} (the
-%\styfmt{tracklang} dialect label) and \meta{to} (the \sty{babel},
+%for the language hooks. The arguments are \meta{tracklang-label} (the
+%\styfmt{tracklang} dialect label) and \meta{hook-label} (the \sty{babel},
%\sty{polyglossia} etc label).
% \begin{macrocode}
\def\SetTrackedDialectLabelMap#1#2{%
- \@tracklang@enamedef{@tracklang@dialectmap@to@#1}{#2}%
- \@tracklang@enamedef{@tracklang@dialectmap@from@#2}{#1}%
+% \end{macrocode}
+% Store the mapping that can obtain the hook label from the
+% tracklang label (tracklang to hook).
+% \begin{macrocode}
+ \@tracklang@enamedef{@tracklang@dialectmap@tohook@#1}{#2}%
+% \end{macrocode}
+% Store the mapping that can obtain the tracklang label from the
+% hook label.
+% \begin{macrocode}
+ \@tracklang@enamedef{@tracklang@dialectmap@fromhook@#2}{#1}%
}
% \end{macrocode}
%\end{macro}
@@ -9518,13 +9559,27 @@ and~\ref{tab:nonisoopts}}
%\begin{macro}{\IfTrackedDialectHasMapping}
%\changes{1.3}{2016-10-07}{new}
%\begin{definition}
-%\cs{IfTrackedDialectHasMapping}\marg{label}\marg{true}\marg{false}
+%\cs{IfTrackedDialectHasMapping}\marg{tracklang label}\marg{true}\marg{false}
%\end{definition}
-%Tests if the \sty{tracklang} dialect \meta{label} has been assigned
-%a mapping.
+%Test if the \styfmt{tracklang} dialect label has been assigned a
+%mapping to a language hook.
% \begin{macrocode}
\def\IfTrackedDialectHasMapping#1#2#3{%
- \@tracklang@ifundef{@tracklang@dialectmap@to@#1}{#3}{#2}%
+ \@tracklang@ifundef{@tracklang@dialectmap@tohook@#1}{#3}{#2}%
+}
+% \end{macrocode}
+%\end{macro}
+%
+%\begin{macro}{\IfHookHasMappingFromTrackedDialect}
+%\changes{1.3.3}{2016-11-03}{new}
+%\begin{definition}
+%\cs{IfHookHasMappingFromTrackedDialect}\marg{hook label}\marg{true}\marg{false}
+%\end{definition}
+%Tests if the language hook label has been assigned a mapping from a
+%\styfmt{tracklang} dialect label.
+% \begin{macrocode}
+\def\IfHookHasMappingFromTrackedDialect#1#2#3{%
+ \@tracklang@ifundef{@tracklang@dialectmap@fromhook@#1}{#3}{#2}%
}
% \end{macrocode}
%\end{macro}
@@ -9532,14 +9587,14 @@ and~\ref{tab:nonisoopts}}
%\begin{macro}{\GetTrackedDialectToMapping}
%\changes{1.3}{2016-10-07}{new}
%\begin{definition}
-%\cs{GetTrackedDialectToMapping}\marg{label}
+%\cs{GetTrackedDialectToMapping}\marg{tracklang label}
%\end{definition}
-%Gets the mapping for the given \sty{tracklang} dialect label or the
-%\meta{label} itself if no mapping has been defined.
+%Gets the mapping for the given \styfmt{tracklang} dialect label to a
+%language hook label or the \meta{label} itself if no mapping has been defined.
% \begin{macrocode}
\def\GetTrackedDialectToMapping#1{%
- \@tracklang@ifundef{@tracklang@dialectmap@to@#1}{#1}%
- {\csname @tracklang@dialectmap@to@#1\endcsname}%
+ \@tracklang@ifundef{@tracklang@dialectmap@tohook@#1}{#1}%
+ {\csname @tracklang@dialectmap@tohook@#1\endcsname}%
}
% \end{macrocode}
%\end{macro}
@@ -9547,14 +9602,14 @@ and~\ref{tab:nonisoopts}}
%\begin{macro}{\GetTrackedDialectFromMapping}
%\changes{1.3}{2016-10-07}{new}
%\begin{definition}
-%\cs{GetTrackedDialectFromMapping}\marg{map}
+%\cs{GetTrackedDialectFromMapping}\marg{language hook}
%\end{definition}
-%Gets the \sty{tracklang} dialect label from the \meta{map} or the
-%\meta{map} itself if no mapping has been defined.
+%Gets the reverse mapping from the given language hook to the
+%\styfmt{tracklang} label.
% \begin{macrocode}
\def\GetTrackedDialectFromMapping#1{%
- \@tracklang@ifundef{@tracklang@dialectmap@from@#1}{#1}%
- {\csname @tracklang@dialectmap@from@#1\endcsname}%
+ \@tracklang@ifundef{@tracklang@dialectmap@fromhook@#1}{#1}%
+ {\csname @tracklang@dialectmap@fromhook@#1\endcsname}%
}
% \end{macrocode}
%\end{macro}
@@ -9826,7 +9881,7 @@ and~\ref{tab:nonisoopts}}
% \end{macrocode}
% Version info.
% \begin{macrocode}
-\expandafter\def\csname ver@tracklang-region-codes.tex\endcsname{2016/10/11 v1.3.2
+\expandafter\def\csname ver@tracklang-region-codes.tex\endcsname{2016/11/03 v1.3.3
(NLCT) Track Languages Regions}%
% \end{macrocode}
%
@@ -10216,7 +10271,7 @@ and~\ref{tab:nonisoopts}}
%\changes{1.3}{2016-10-07}{added tracklang-scripts.sty}
% \begin{macrocode}
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{tracklang-scripts}[2016/10/11 v1.3.2 (NLCT) Track
+\ProvidesPackage{tracklang-scripts}[2016/11/03 v1.3.3 (NLCT) Track
Language Scripts (LaTeX)]
\RequirePackage{tracklang}
\input{tracklang-scripts}
@@ -10257,7 +10312,7 @@ Language Scripts (LaTeX)]
% \end{macrocode}
% Version info.
% \begin{macrocode}
-\expandafter\def\csname ver@tracklang-scripts.tex\endcsname{2016/10/11 v1.3.2
+\expandafter\def\csname ver@tracklang-scripts.tex\endcsname{2016/11/03 v1.3.3
(NLCT) Track Languages Scripts (Generic)}%
% \end{macrocode}
%