diff options
author | Norbert Preining <norbert@preining.info> | 2020-06-07 03:03:23 +0000 |
---|---|---|
committer | Norbert Preining <norbert@preining.info> | 2020-06-07 03:03:23 +0000 |
commit | 666248863665f4318b13e1c1b7a2b94ef90a8b9a (patch) | |
tree | 9e682f3dd1e75d918244c2e0d615e58850a0e1e4 /macros | |
parent | 527cbc8280407d055d185ad11f79b81b032eec7e (diff) |
CTAN sync 202006070303
Diffstat (limited to 'macros')
59 files changed, 333 insertions, 106 deletions
diff --git a/macros/latex/contrib/beamer-contrib/beamerswitch/beamerswitch-example-article.pdf b/macros/latex/contrib/beamer-contrib/beamerswitch/beamerswitch-example-article.pdf Binary files differindex 462f7f4e94..a291488379 100644 --- a/macros/latex/contrib/beamer-contrib/beamerswitch/beamerswitch-example-article.pdf +++ b/macros/latex/contrib/beamer-contrib/beamerswitch/beamerswitch-example-article.pdf diff --git a/macros/latex/contrib/beamer-contrib/beamerswitch/beamerswitch-example-handout.pdf b/macros/latex/contrib/beamer-contrib/beamerswitch/beamerswitch-example-handout.pdf Binary files differindex 6b4de86e8a..e635ac4025 100644 --- a/macros/latex/contrib/beamer-contrib/beamerswitch/beamerswitch-example-handout.pdf +++ b/macros/latex/contrib/beamer-contrib/beamerswitch/beamerswitch-example-handout.pdf diff --git a/macros/latex/contrib/beamer-contrib/beamerswitch/beamerswitch-example-trans.pdf b/macros/latex/contrib/beamer-contrib/beamerswitch/beamerswitch-example-trans.pdf Binary files differindex 194dbf7fae..69b8a10f0c 100644 --- a/macros/latex/contrib/beamer-contrib/beamerswitch/beamerswitch-example-trans.pdf +++ b/macros/latex/contrib/beamer-contrib/beamerswitch/beamerswitch-example-trans.pdf diff --git a/macros/latex/contrib/beamer-contrib/beamerswitch/beamerswitch-example.pdf b/macros/latex/contrib/beamer-contrib/beamerswitch/beamerswitch-example.pdf Binary files differindex 9e92dcb904..de2af6109b 100644 --- a/macros/latex/contrib/beamer-contrib/beamerswitch/beamerswitch-example.pdf +++ b/macros/latex/contrib/beamer-contrib/beamerswitch/beamerswitch-example.pdf diff --git a/macros/latex/contrib/beamer-contrib/beamerswitch/beamerswitch.dtx b/macros/latex/contrib/beamer-contrib/beamerswitch/beamerswitch.dtx index e683b58287..e8a6919c14 100644 --- a/macros/latex/contrib/beamer-contrib/beamerswitch/beamerswitch.dtx +++ b/macros/latex/contrib/beamer-contrib/beamerswitch/beamerswitch.dtx @@ -228,7 +228,7 @@ Copyright (C) 2016-2020 by Alex Ball <ab318@bath.ac.uk> %<class>\NeedsTeXFormat{LaTeX2e}[1999/12/01] %<class>\ProvidesClass{beamerswitch} %<*class> - [2020/01/20 v1.6.1 Convenient mode selection in Beamer documents] + [2020/06/06 v1.7 Convenient mode selection in Beamer documents] %</class> %<*driver> \documentclass[12pt]{article} @@ -381,6 +381,7 @@ Copyright (C) 2016-2020 by Alex Ball <ab318@bath.ac.uk> \index{\MyName@\tcbIndexPrintValCA {\MyName}|)}% } \makeatletter +\def\MY@EQUALS{=}% \newcommand{\resetmintedformat}{% % Comments \expandafter\def\csname PYGdefault@tok@c\endcsname{\let\PYGdefault@it=\textit\def\PYGdefault@tc####1{\textcolor{gray}{####1}}} @@ -893,6 +894,7 @@ directives: load \pkg{hyperref} yourself at a different point, use this option. \end{docKey} +\pagebreak % TWEAK: may not be needed in future versions \begin{docKey}{textinst}{}{no value, initially unset} In all modes, patches the \cs{inst} command so that it prints its argument using \cs{textsuperscript} instead of a mathematical superscript. This helps @@ -917,13 +919,13 @@ using the following command in the preamble. \key{resize to} layout. \end{docKey} -\begin{docKey}{nup}{=\val{2}\textbar \val{3}\textbar \val{3plus}\textbar \val{4}\textbar \val{4plus}\textbar \val{6}\textbar \val{8}}{no default, initially \val{6}} +\begin{docKey}{nup}{=\val{1}\textbar \val{1plus}\textbar \val{2}\textbar \val{3}\textbar \val{3plus}\textbar \val{4}\textbar \val{4plus}\textbar \val{6}\textbar \val{8}}{no default, initially \val{6}} Selects how many slides are shown on a single page in \key{handout} mode. The `plus' layouts leave blank space for recipients to make handwritten notes - next to each slide. The effects of the various values are shown in Figure~\ref{fig:layouts} on page~\pageref{fig:layouts}. Note that the \docValue{2}, - \docValue{3plus}, \docValue{4} and \docValue{6} layouts are intended for - slides in the usual 4:3 aspect ratio, while the \docValue{3}, \docValue{4plus} - and \docValue{8} layouts are intended for widescreen slides. + next to each slide. The effects of the various values are shown in Figure~\ref{fig:layouts} on page~\pageref{fig:layouts}. Note that the \val{2}, \val{3plus}, \val{4} + and \val{6} layouts are intended for slides in the usual 4:3 aspect ratio, + while the \val{3}, \val{4plus} and \val{8} layouts are intended for widescreen + slides. \end{docKey} \newtcolorbox{pseudopage}[1][]% @@ -962,9 +964,32 @@ using the following command in the preamble. ,#1 } \begin{figure}[t!] + \newcounter{subfig}% + \def\sfno{\rule[-\bigskipamount]{0pt}{1em}\stepcounter{subfig}(\alph{subfig})\space}% \centering \begin{minipage}[b]{11em} \centering + \begin{pseudopage}[width=10em,height=7.1em] + \begin{pseudoslide}[width=8em,height=6em] + \texttt{1} + \end{pseudoslide} + \end{pseudopage} + \par + \sfno\key{nup}=\docValue{1} + \end{minipage} + \begin{minipage}[b]{11em} + \centering + \begin{pseudopage} + \begin{pseudoslide}[width=6em,height=4.5em] + \texttt{1} + \end{pseudoslide}\par\smallskip + \vbox to 4.5em{} + \end{pseudopage} + \par + \sfno\key{nup}=\docValue{1plus} + \end{minipage} + \begin{minipage}[b]{11em} + \centering \begin{pseudopage} \begin{pseudoslide}[width=6em,height=4.5em] \texttt{1} @@ -974,7 +999,7 @@ using the following command in the preamble. \end{pseudoslide} \end{pseudopage} \par - (a) \key{nup}=\val{2} + \sfno\key{nup}=\docValue{2} \end{minipage} \begin{minipage}[b]{11em} \centering @@ -992,7 +1017,7 @@ using the following command in the preamble. \end{pseudowideslide} \end{pseudopage} \par - (b) \key{nup}=\val{3} + \sfno\key{nup}=\docValue{3} \end{minipage} \begin{minipage}[b]{11em} \centering @@ -1004,9 +1029,8 @@ using the following command in the preamble. \begin{pseudoslide}\texttt{3}\end{pseudoslide} \end{pseudopage} \par - (c) \key{nup}=\val{3plus} + \sfno\key{nup}=\docValue{3plus} \end{minipage} - \par\bigskip \begin{minipage}[b]{11em} \centering \begin{pseudopage}[width=10em,height=7.1em] @@ -1024,7 +1048,7 @@ using the following command in the preamble. \end{pseudoslide} \end{pseudopage} \par - (d) \key{nup}=\val{4} + \sfno\key{nup}=\docValue{4} \end{minipage} \begin{minipage}[b]{11em} \centering @@ -1038,7 +1062,7 @@ using the following command in the preamble. \begin{pseudowideslide}\texttt{4}\end{pseudowideslide} \end{pseudopage} \par - (e) \key{nup}=\val{4plus} + \sfno\key{nup}=\docValue{4plus} \end{minipage} \begin{minipage}[b]{11em} \centering @@ -1053,9 +1077,8 @@ using the following command in the preamble. \begin{pseudoslide}\texttt{6}\end{pseudoslide} \end{pseudopage} \par - (f) \key{nup}=\val{6} + \sfno\key{nup}=\docValue{6} \end{minipage} - \par\bigskip \begin{minipage}[b]{11em} \centering \begin{pseudopage} @@ -1072,9 +1095,9 @@ using the following command in the preamble. \begin{pseudowideslide}\texttt{8}\end{pseudowideslide} \end{pseudopage} \par - (g) \key{nup}=\val{8} + \sfno\key{nup}=\docValue{8} \end{minipage} - \par + \\ \caption{Handout layouts provided by \pkg{beamerswitch}} \label{fig:layouts} \end{figure} @@ -1181,6 +1204,7 @@ suggestions for improvements or new features to the \href{https://github.com/alex-ball/beamerswitch/issues}{Issue Tracker} on GitHub. \StopEventually{^^A + \newpage \PrintChanges \printindex } @@ -1561,6 +1585,8 @@ suggestions for improvements or new features to the % \end{optionkey} % % \begin{optionkey}{nup} +% \begin{optionvalue}{1} +% \begin{optionvalue}{1plus} % \begin{optionvalue}{2} % \begin{optionvalue}{3} % \begin{optionvalue}{3plus} @@ -1568,17 +1594,19 @@ suggestions for improvements or new features to the % \begin{optionvalue}{4plus} % \begin{optionvalue}{6} % \begin{optionvalue}{8} +% \changes{v1.7}{2020/06/06}{Add \key{nup}\string\MY@EQUALS\val{1} option.} +% \changes{v1.7}{2020/06/06}{Add \key{nup}\string\MY@EQUALS\val{1plus} option.} % The \key{nup} option specifies how many slides to include per page. % The `plus' keyword indicates a layout with additional gaps for writing. % % \begin{macrocode} \newcounter{beamerswitch@nupcase} -\setcounter{beamerswitch@nupcase}{5} -\define@choicekey+[HL]{beamerswitch}{nup}[\val\nr]{2, 3, 3plus, 4, 4plus, 6, 8}{% +\setcounter{beamerswitch@nupcase}{7} +\define@choicekey+[HL]{beamerswitch}{nup}[\val\nr]{1, 1plus, 2, 3, 3plus, 4, 4plus, 6, 8}{% \setcounter{beamerswitch@nupcase}{\nr} }{% \ClassWarning{beamerswitch}{Value of `nup' not recognized. - Allowed values are 2, 3, 3plus, 4, 4plus, 6, and 8.}% + Allowed values are 1, 1plus, 2, 3, 3plus, 4, 4plus, 6, and 8.}% } % \end{macrocode} % \end{optionvalue} @@ -1588,6 +1616,8 @@ suggestions for improvements or new features to the % \end{optionvalue} % \end{optionvalue} % \end{optionvalue} +% \end{optionvalue} +% \end{optionvalue} % \end{optionkey} % % \begin{optionkey}{border} @@ -1720,6 +1750,10 @@ suggestions for improvements or new features to the }% \ifbool{HL@beamerswitch@align}{% \ifcase\value{beamerswitch@nupcase}\relax + \relax + \or + \addtolength{\beamerswitch@pnoadjust}{-0.333\beamerswitch@margin}% + \or \addtolength{\beamerswitch@pnoadjust}{-0.333\beamerswitch@margin}% \or \addtolength{\beamerswitch@pnoadjust}{-0.5\beamerswitch@margin}% @@ -1754,6 +1788,14 @@ suggestions for improvements or new features to the % % \begin{macrocode} \ifcase\value{beamerswitch@nupcase}\relax + \def\beamerswitch@nup{1}% + \pgfpagesuselayout{1 by 1}[\beamerswitch@handoutpaper,% + landscape,border shrink=\the\beamerswitch@margin]% + \or + \def\beamerswitch@nup{1}% + \pgfpagesuselayout{1 by 1 narrow}[\beamerswitch@handoutpaper,% + border shrink=\the\beamerswitch@margin]% + \or \def\beamerswitch@nup{2}% \pgfpagesuselayout{1 by 2}[\beamerswitch@handoutpaper,% border shrink=\the\beamerswitch@margin]% @@ -1801,10 +1843,92 @@ suggestions for improvements or new features to the % Though \pkg{pgfpages} defines some perfectly fine layouts, we need to add % configurability to the existing ones and provide some new ones. % -% The `1 by 2' layout is similar to the normal \key{2 on 1} layout. +% \changes{v1.7}{2020/06/06}{Add `1 by 1' layout.} +% The `1 by 1' layout has a single slide per page. % % \begin{macrocode} \mode<handout>{% + \pgfpagesdeclarelayout{1 by 1} + { + \edef\pgfpageoptionheight{\the\paperheight} + \edef\pgfpageoptionwidth{\the\paperwidth} + \edef\pgfpageoptionborder{0pt} + \def\pgfpageoptionfirstshipout{1} + } + { + \pgfpagesphysicalpageoptions + {% + logical pages=1,% + physical height=\pgfpageoptionheight,% + physical width=\pgfpageoptionwidth,% + current logical shipout=\pgfpageoptionfirstshipout% + } + \pgfpageslogicalpageoptions{1} + {% + border shrink=\pgfpageoptionborder,% + border code=\beamerswitch@Border,% + resized width=\pgfphysicalwidth,% + resized height=\pgfphysicalheight,% + center=\pgfpoint{.5\pgfphysicalwidth}{.5\pgfphysicalheight}% + }% + }% +% \end{macrocode} +% +% \changes{v1.7}{2020/06/06}{Add `1 by 1 narrow' layout.} +% The `1 by 1 narrow' layout is similar to the normal \key{2 on 1} layout, but +% there is a notes area instead of the second slide. +% +% \begin{macrocode} + \pgfpagesdeclarelayout{1 by 1 narrow} + { + \edef\pgfpageoptionheight{\the\paperwidth} % landscaped by default + \edef\pgfpageoptionwidth{\the\paperheight} + \def\pgfpageoptionborder{0pt} + \def\pgfpageoptionfirstshipout{1} + } + { + \pgfpagesphysicalpageoptions + {% + logical pages=1,% + physical height=\pgfpageoptionheight,% + physical width=\pgfpageoptionwidth,% + current logical shipout=\pgfpageoptionfirstshipout% + } + \ifdim\paperheight>\paperwidth\relax + % put side-by-side + \pgfpageslogicalpageoptions{1} + {% + border shrink=\pgfpageoptionborder,% + border code=\beamerswitch@Border,% + resized width=.5\pgfphysicalwidth,% + resized height=\pgfphysicalheight,% + center=\ifbool{HL@beamerswitch@align}{% + \pgfpoint{.25\pgfphysicalwidth + 0.333\beamerswitch@margin}{.5\pgfphysicalheight}% + }{% + \pgfpoint{.25\pgfphysicalwidth}{.5\pgfphysicalheight}% + }% + }% + \else + % stack on top of one another + \pgfpageslogicalpageoptions{1} + {% + border shrink=\pgfpageoptionborder,% + border code=\beamerswitch@Border,% + resized width=\pgfphysicalwidth,% + resized height=.5\pgfphysicalheight,% + center=\ifbool{HL@beamerswitch@align}{% + \pgfpoint{.5\pgfphysicalwidth}{.75\pgfphysicalheight - 0.333\beamerswitch@margin}% + }{% + \pgfpoint{.5\pgfphysicalwidth}{.75\pgfphysicalheight}% + }% + }% + \fi + } +% \end{macrocode} +% +% The `1 by 2' layout is similar to the normal \key{2 on 1} layout. +% +% \begin{macrocode} \pgfpagesdeclarelayout{1 by 2} { \edef\pgfpageoptionheight{\the\paperwidth} % landscaped by default diff --git a/macros/latex/contrib/beamer-contrib/beamerswitch/beamerswitch.pdf b/macros/latex/contrib/beamer-contrib/beamerswitch/beamerswitch.pdf Binary files differindex d5fe18fa20..4d36201a45 100644 --- a/macros/latex/contrib/beamer-contrib/beamerswitch/beamerswitch.pdf +++ b/macros/latex/contrib/beamer-contrib/beamerswitch/beamerswitch.pdf diff --git a/macros/latex/contrib/reledmac/README.md b/macros/latex/contrib/reledmac/README.md index 4abb2fcf12..0f7cc5c528 100644 --- a/macros/latex/contrib/reledmac/README.md +++ b/macros/latex/contrib/reledmac/README.md @@ -68,7 +68,7 @@ To generate a second copy of the manual (which is already supplied as a PDF file # Help - [Users list](http://geekographie.maieul.net/146) -- [StackExchange](https://tex.stackexchange.com/questions/tagged/reledmac), see also the older tags +- [StackExchange](https://tex.stackexchange.com/questions/tagged/reledmac), see also the older tags (https://tex.stackexchange.com/questions/tagged/eledmac) and (https://tex.stackexchange.com/questions/tagged/ledmac) # Debug and feature requests @@ -80,7 +80,7 @@ Maïeul Rouquette is the only one maintainer. To help him in his work, please fo - Go to the [issues page](https://github.com/maieul/ledmac/issues). - Open *one issue for each problem*, even if problems are similar. - You can write in English, or better in French if it is your native language. -- Add a [minimal working example](http://www.tex.ac.uk/cgi-bin/texfaq2html?label=minxampl). +- Add a [minimal working example](https://texfaq.org/FAQ-minxampl.html). - If your report is really a bug, Maïeul Rouquette will open a "branch" to solve your problem. This branch will be called "issueXXX", where "XXX" is the issue number. - Once the problem has a possible solution, Maïeul Rouquette will ask you to test the new branch: - Download the zip file of the branch (or, if you know Git, go to the branch there): diff --git a/macros/latex/contrib/reledmac/examples/1-criticalendnotes.pdf b/macros/latex/contrib/reledmac/examples/1-criticalendnotes.pdf Binary files differindex 5935bae5d8..e8df52f42a 100644 --- a/macros/latex/contrib/reledmac/examples/1-criticalendnotes.pdf +++ b/macros/latex/contrib/reledmac/examples/1-criticalendnotes.pdf diff --git a/macros/latex/contrib/reledmac/examples/1-criticalnotes.pdf b/macros/latex/contrib/reledmac/examples/1-criticalnotes.pdf Binary files differindex 31be861852..6622f3b071 100644 --- a/macros/latex/contrib/reledmac/examples/1-criticalnotes.pdf +++ b/macros/latex/contrib/reledmac/examples/1-criticalnotes.pdf diff --git a/macros/latex/contrib/reledmac/examples/1-sidenotes.pdf b/macros/latex/contrib/reledmac/examples/1-sidenotes.pdf Binary files differindex 9d54f38025..c94c752b38 100644 --- a/macros/latex/contrib/reledmac/examples/1-sidenotes.pdf +++ b/macros/latex/contrib/reledmac/examples/1-sidenotes.pdf diff --git a/macros/latex/contrib/reledmac/examples/1-tabular.pdf b/macros/latex/contrib/reledmac/examples/1-tabular.pdf Binary files differindex b195630dc0..9e51fa7d6f 100644 --- a/macros/latex/contrib/reledmac/examples/1-tabular.pdf +++ b/macros/latex/contrib/reledmac/examples/1-tabular.pdf diff --git a/macros/latex/contrib/reledmac/examples/1-verses-doublenumbering.pdf b/macros/latex/contrib/reledmac/examples/1-verses-doublenumbering.pdf Binary files differindex 159903a0d6..db9155dd01 100644 --- a/macros/latex/contrib/reledmac/examples/1-verses-doublenumbering.pdf +++ b/macros/latex/contrib/reledmac/examples/1-verses-doublenumbering.pdf diff --git a/macros/latex/contrib/reledmac/examples/1-verses.pdf b/macros/latex/contrib/reledmac/examples/1-verses.pdf Binary files differindex 6a0c99ad0e..eb1a288840 100644 --- a/macros/latex/contrib/reledmac/examples/1-verses.pdf +++ b/macros/latex/contrib/reledmac/examples/1-verses.pdf diff --git a/macros/latex/contrib/reledmac/examples/2-antilabe.pdf b/macros/latex/contrib/reledmac/examples/2-antilabe.pdf Binary files differindex 05b100fb1f..fd2696e900 100644 --- a/macros/latex/contrib/reledmac/examples/2-antilabe.pdf +++ b/macros/latex/contrib/reledmac/examples/2-antilabe.pdf diff --git a/macros/latex/contrib/reledmac/examples/2-cross_referencing.pdf b/macros/latex/contrib/reledmac/examples/2-cross_referencing.pdf Binary files differindex 2d3719d535..e37f9a0949 100644 --- a/macros/latex/contrib/reledmac/examples/2-cross_referencing.pdf +++ b/macros/latex/contrib/reledmac/examples/2-cross_referencing.pdf diff --git a/macros/latex/contrib/reledmac/examples/2-footnote_spacing.pdf b/macros/latex/contrib/reledmac/examples/2-footnote_spacing.pdf Binary files differindex e0dbfff0c4..b72a8a1c23 100644 --- a/macros/latex/contrib/reledmac/examples/2-footnote_spacing.pdf +++ b/macros/latex/contrib/reledmac/examples/2-footnote_spacing.pdf diff --git a/macros/latex/contrib/reledmac/examples/2-glossaries.pdf b/macros/latex/contrib/reledmac/examples/2-glossaries.pdf Binary files differindex a2b453c3e4..b04d7d1dfe 100644 --- a/macros/latex/contrib/reledmac/examples/2-glossaries.pdf +++ b/macros/latex/contrib/reledmac/examples/2-glossaries.pdf diff --git a/macros/latex/contrib/reledmac/examples/2-indexing.pdf b/macros/latex/contrib/reledmac/examples/2-indexing.pdf Binary files differindex 9a76298cb5..156ce6f418 100644 --- a/macros/latex/contrib/reledmac/examples/2-indexing.pdf +++ b/macros/latex/contrib/reledmac/examples/2-indexing.pdf diff --git a/macros/latex/contrib/reledmac/examples/2-lemma_disambigution.pdf b/macros/latex/contrib/reledmac/examples/2-lemma_disambigution.pdf Binary files differindex 22e0826cd1..74fadc626e 100644 --- a/macros/latex/contrib/reledmac/examples/2-lemma_disambigution.pdf +++ b/macros/latex/contrib/reledmac/examples/2-lemma_disambigution.pdf diff --git a/macros/latex/contrib/reledmac/examples/2-line_numbers_in_header.pdf b/macros/latex/contrib/reledmac/examples/2-line_numbers_in_header.pdf Binary files differindex e011eeb54c..948bf6e431 100644 --- a/macros/latex/contrib/reledmac/examples/2-line_numbers_in_header.pdf +++ b/macros/latex/contrib/reledmac/examples/2-line_numbers_in_header.pdf diff --git a/macros/latex/contrib/reledmac/examples/2-linespacing.pdf b/macros/latex/contrib/reledmac/examples/2-linespacing.pdf Binary files differindex cd381cf4e3..a0c3915c7c 100644 --- a/macros/latex/contrib/reledmac/examples/2-linespacing.pdf +++ b/macros/latex/contrib/reledmac/examples/2-linespacing.pdf diff --git a/macros/latex/contrib/reledmac/examples/2-manuscript-apparatus.pdf b/macros/latex/contrib/reledmac/examples/2-manuscript-apparatus.pdf Binary files differindex 45e7ae9403..2901c197c0 100644 --- a/macros/latex/contrib/reledmac/examples/2-manuscript-apparatus.pdf +++ b/macros/latex/contrib/reledmac/examples/2-manuscript-apparatus.pdf diff --git a/macros/latex/contrib/reledmac/examples/2-notes-width.pdf b/macros/latex/contrib/reledmac/examples/2-notes-width.pdf Binary files differindex 556119bbce..7a2c3e3878 100644 --- a/macros/latex/contrib/reledmac/examples/2-notes-width.pdf +++ b/macros/latex/contrib/reledmac/examples/2-notes-width.pdf diff --git a/macros/latex/contrib/reledmac/examples/2-one_series_per_pstart.pdf b/macros/latex/contrib/reledmac/examples/2-one_series_per_pstart.pdf Binary files differindex 0ca4789623..9a937132fe 100644 --- a/macros/latex/contrib/reledmac/examples/2-one_series_per_pstart.pdf +++ b/macros/latex/contrib/reledmac/examples/2-one_series_per_pstart.pdf diff --git a/macros/latex/contrib/reledmac/examples/2-performances.pdf b/macros/latex/contrib/reledmac/examples/2-performances.pdf Binary files differindex 4b7341a269..9dda3fbff9 100644 --- a/macros/latex/contrib/reledmac/examples/2-performances.pdf +++ b/macros/latex/contrib/reledmac/examples/2-performances.pdf diff --git a/macros/latex/contrib/reledmac/examples/2-reledmac-right-to-left.pdf b/macros/latex/contrib/reledmac/examples/2-reledmac-right-to-left.pdf Binary files differindex a478110c8d..b46c17606a 100644 --- a/macros/latex/contrib/reledmac/examples/2-reledmac-right-to-left.pdf +++ b/macros/latex/contrib/reledmac/examples/2-reledmac-right-to-left.pdf diff --git a/macros/latex/contrib/reledmac/examples/2-subdivision-number-in-header.pdf b/macros/latex/contrib/reledmac/examples/2-subdivision-number-in-header.pdf Binary files differindex 8e88dccfa5..c814b5094e 100644 --- a/macros/latex/contrib/reledmac/examples/2-subdivision-number-in-header.pdf +++ b/macros/latex/contrib/reledmac/examples/2-subdivision-number-in-header.pdf diff --git a/macros/latex/contrib/reledmac/examples/2-titles_in_line_numbering_with_notes.pdf b/macros/latex/contrib/reledmac/examples/2-titles_in_line_numbering_with_notes.pdf Binary files differindex 27843c5295..a4da8707b6 100644 --- a/macros/latex/contrib/reledmac/examples/2-titles_in_line_numbering_with_notes.pdf +++ b/macros/latex/contrib/reledmac/examples/2-titles_in_line_numbering_with_notes.pdf diff --git a/macros/latex/contrib/reledmac/examples/2-titles_not_in_line_numbering.pdf b/macros/latex/contrib/reledmac/examples/2-titles_not_in_line_numbering.pdf Binary files differindex f118674fa7..64497606d1 100644 --- a/macros/latex/contrib/reledmac/examples/2-titles_not_in_line_numbering.pdf +++ b/macros/latex/contrib/reledmac/examples/2-titles_not_in_line_numbering.pdf diff --git a/macros/latex/contrib/reledmac/examples/3-reledpar_columns_different_languages.pdf b/macros/latex/contrib/reledmac/examples/3-reledpar_columns_different_languages.pdf Binary files differindex 17fff4e145..58079bf055 100644 --- a/macros/latex/contrib/reledmac/examples/3-reledpar_columns_different_languages.pdf +++ b/macros/latex/contrib/reledmac/examples/3-reledpar_columns_different_languages.pdf diff --git a/macros/latex/contrib/reledmac/examples/3-reledpar_mwe.pdf b/macros/latex/contrib/reledmac/examples/3-reledpar_mwe.pdf Binary files differindex e7618cb75b..de0dace02c 100644 --- a/macros/latex/contrib/reledmac/examples/3-reledpar_mwe.pdf +++ b/macros/latex/contrib/reledmac/examples/3-reledpar_mwe.pdf diff --git a/macros/latex/contrib/reledmac/examples/3-reledpar_pages_different_languages_lualatex.pdf b/macros/latex/contrib/reledmac/examples/3-reledpar_pages_different_languages_lualatex.pdf Binary files differindex a60b5d0f93..bd88290c8e 100644 --- a/macros/latex/contrib/reledmac/examples/3-reledpar_pages_different_languages_lualatex.pdf +++ b/macros/latex/contrib/reledmac/examples/3-reledpar_pages_different_languages_lualatex.pdf diff --git a/macros/latex/contrib/reledmac/examples/3-reledpar_same_page_number_in_both_side.pdf b/macros/latex/contrib/reledmac/examples/3-reledpar_same_page_number_in_both_side.pdf Binary files differindex 131519a5fb..4eb6ff7bf2 100644 --- a/macros/latex/contrib/reledmac/examples/3-reledpar_same_page_number_in_both_side.pdf +++ b/macros/latex/contrib/reledmac/examples/3-reledpar_same_page_number_in_both_side.pdf diff --git a/macros/latex/contrib/reledmac/examples/3-reledpar_sync_setting_advancedshifted-nomax.pdf b/macros/latex/contrib/reledmac/examples/3-reledpar_sync_setting_advancedshifted-nomax.pdf Binary files differindex 0a8932520d..86c10d3ab9 100644 --- a/macros/latex/contrib/reledmac/examples/3-reledpar_sync_setting_advancedshifted-nomax.pdf +++ b/macros/latex/contrib/reledmac/examples/3-reledpar_sync_setting_advancedshifted-nomax.pdf diff --git a/macros/latex/contrib/reledmac/examples/3-reledpar_sync_setting_advancedshifted.pdf b/macros/latex/contrib/reledmac/examples/3-reledpar_sync_setting_advancedshifted.pdf Binary files differindex f47d3907d6..a3a80b84c0 100644 --- a/macros/latex/contrib/reledmac/examples/3-reledpar_sync_setting_advancedshifted.pdf +++ b/macros/latex/contrib/reledmac/examples/3-reledpar_sync_setting_advancedshifted.pdf diff --git a/macros/latex/contrib/reledmac/examples/3-reledpar_sync_setting_default.pdf b/macros/latex/contrib/reledmac/examples/3-reledpar_sync_setting_default.pdf Binary files differindex 6e81bf9214..c7d767e7a9 100644 --- a/macros/latex/contrib/reledmac/examples/3-reledpar_sync_setting_default.pdf +++ b/macros/latex/contrib/reledmac/examples/3-reledpar_sync_setting_default.pdf diff --git a/macros/latex/contrib/reledmac/examples/3-reledpar_sync_setting_nomax-shifted.pdf b/macros/latex/contrib/reledmac/examples/3-reledpar_sync_setting_nomax-shifted.pdf Binary files differindex 5170599e0c..1d7926bc1a 100644 --- a/macros/latex/contrib/reledmac/examples/3-reledpar_sync_setting_nomax-shifted.pdf +++ b/macros/latex/contrib/reledmac/examples/3-reledpar_sync_setting_nomax-shifted.pdf diff --git a/macros/latex/contrib/reledmac/examples/3-reledpar_sync_setting_nomax.pdf b/macros/latex/contrib/reledmac/examples/3-reledpar_sync_setting_nomax.pdf Binary files differindex 65637ef412..50bd4b1f86 100644 --- a/macros/latex/contrib/reledmac/examples/3-reledpar_sync_setting_nomax.pdf +++ b/macros/latex/contrib/reledmac/examples/3-reledpar_sync_setting_nomax.pdf diff --git a/macros/latex/contrib/reledmac/examples/3-reledpar_sync_setting_nosync.pdf b/macros/latex/contrib/reledmac/examples/3-reledpar_sync_setting_nosync.pdf Binary files differindex 4b835d164b..6a6edd1055 100644 --- a/macros/latex/contrib/reledmac/examples/3-reledpar_sync_setting_nosync.pdf +++ b/macros/latex/contrib/reledmac/examples/3-reledpar_sync_setting_nosync.pdf diff --git a/macros/latex/contrib/reledmac/examples/3-reledpar_sync_setting_shifted.pdf b/macros/latex/contrib/reledmac/examples/3-reledpar_sync_setting_shifted.pdf Binary files differindex 8eb806d1c4..33e41a3cc4 100644 --- a/macros/latex/contrib/reledmac/examples/3-reledpar_sync_setting_shifted.pdf +++ b/macros/latex/contrib/reledmac/examples/3-reledpar_sync_setting_shifted.pdf diff --git a/macros/latex/contrib/reledmac/examples/4-reledpar_column_mix_with_not_column-continuous-numbering.pdf b/macros/latex/contrib/reledmac/examples/4-reledpar_column_mix_with_not_column-continuous-numbering.pdf Binary files differindex 6495d6076b..11c9d25bdf 100644 --- a/macros/latex/contrib/reledmac/examples/4-reledpar_column_mix_with_not_column-continuous-numbering.pdf +++ b/macros/latex/contrib/reledmac/examples/4-reledpar_column_mix_with_not_column-continuous-numbering.pdf diff --git a/macros/latex/contrib/reledmac/examples/4-reledpar_column_mix_with_not_column.pdf b/macros/latex/contrib/reledmac/examples/4-reledpar_column_mix_with_not_column.pdf Binary files differindex 44e0594ecc..b1aa502a66 100644 --- a/macros/latex/contrib/reledmac/examples/4-reledpar_column_mix_with_not_column.pdf +++ b/macros/latex/contrib/reledmac/examples/4-reledpar_column_mix_with_not_column.pdf diff --git a/macros/latex/contrib/reledmac/examples/4-reledpar_columns_alignment.pdf b/macros/latex/contrib/reledmac/examples/4-reledpar_columns_alignment.pdf Binary files differindex dffe46f62f..ddcadd07e6 100644 --- a/macros/latex/contrib/reledmac/examples/4-reledpar_columns_alignment.pdf +++ b/macros/latex/contrib/reledmac/examples/4-reledpar_columns_alignment.pdf diff --git a/macros/latex/contrib/reledmac/examples/4-reledpar_columns_titles_in_line_numbering_with_notes.pdf b/macros/latex/contrib/reledmac/examples/4-reledpar_columns_titles_in_line_numbering_with_notes.pdf Binary files differindex 2c167f5616..7396d80f4e 100644 --- a/macros/latex/contrib/reledmac/examples/4-reledpar_columns_titles_in_line_numbering_with_notes.pdf +++ b/macros/latex/contrib/reledmac/examples/4-reledpar_columns_titles_in_line_numbering_with_notes.pdf diff --git a/macros/latex/contrib/reledmac/examples/4-reledpar_inside-outside-columns.pdf b/macros/latex/contrib/reledmac/examples/4-reledpar_inside-outside-columns.pdf Binary files differindex a9b5163e7f..79fd745086 100644 --- a/macros/latex/contrib/reledmac/examples/4-reledpar_inside-outside-columns.pdf +++ b/macros/latex/contrib/reledmac/examples/4-reledpar_inside-outside-columns.pdf diff --git a/macros/latex/contrib/reledmac/examples/4-reledpar_one_series_per_pstart.pdf b/macros/latex/contrib/reledmac/examples/4-reledpar_one_series_per_pstart.pdf Binary files differindex a79132eb6f..032fb8157b 100644 --- a/macros/latex/contrib/reledmac/examples/4-reledpar_one_series_per_pstart.pdf +++ b/macros/latex/contrib/reledmac/examples/4-reledpar_one_series_per_pstart.pdf diff --git a/macros/latex/contrib/reledmac/examples/4-reledpar_pages_long_notes.pdf b/macros/latex/contrib/reledmac/examples/4-reledpar_pages_long_notes.pdf Binary files differindex db24043bb5..28eb9e6993 100644 --- a/macros/latex/contrib/reledmac/examples/4-reledpar_pages_long_notes.pdf +++ b/macros/latex/contrib/reledmac/examples/4-reledpar_pages_long_notes.pdf diff --git a/macros/latex/contrib/reledmac/examples/4-reledpar_pages_notes_leftpage.pdf b/macros/latex/contrib/reledmac/examples/4-reledpar_pages_notes_leftpage.pdf Binary files differindex ad7aac9a44..634078e5da 100644 --- a/macros/latex/contrib/reledmac/examples/4-reledpar_pages_notes_leftpage.pdf +++ b/macros/latex/contrib/reledmac/examples/4-reledpar_pages_notes_leftpage.pdf diff --git a/macros/latex/contrib/reledmac/examples/4-reledpar_pages_paragraph_separator_between.pdf b/macros/latex/contrib/reledmac/examples/4-reledpar_pages_paragraph_separator_between.pdf Binary files differindex 20889990c7..70a0055bd8 100644 --- a/macros/latex/contrib/reledmac/examples/4-reledpar_pages_paragraph_separator_between.pdf +++ b/macros/latex/contrib/reledmac/examples/4-reledpar_pages_paragraph_separator_between.pdf diff --git a/macros/latex/contrib/reledmac/examples/4-reledpar_pages_titles_in_line_numbering_with_notes.pdf b/macros/latex/contrib/reledmac/examples/4-reledpar_pages_titles_in_line_numbering_with_notes.pdf Binary files differindex 132b040730..e256f4e26a 100644 --- a/macros/latex/contrib/reledmac/examples/4-reledpar_pages_titles_in_line_numbering_with_notes.pdf +++ b/macros/latex/contrib/reledmac/examples/4-reledpar_pages_titles_in_line_numbering_with_notes.pdf diff --git a/macros/latex/contrib/reledmac/examples/4-reledpar_titles_not_in_line_numbering.pdf b/macros/latex/contrib/reledmac/examples/4-reledpar_titles_not_in_line_numbering.pdf Binary files differindex 673b4a76ce..288d9b2570 100644 --- a/macros/latex/contrib/reledmac/examples/4-reledpar_titles_not_in_line_numbering.pdf +++ b/macros/latex/contrib/reledmac/examples/4-reledpar_titles_not_in_line_numbering.pdf diff --git a/macros/latex/contrib/reledmac/examples/4-reledpar_verse_text_between.pdf b/macros/latex/contrib/reledmac/examples/4-reledpar_verse_text_between.pdf Binary files differindex e6e977ba83..7f00d90088 100644 --- a/macros/latex/contrib/reledmac/examples/4-reledpar_verse_text_between.pdf +++ b/macros/latex/contrib/reledmac/examples/4-reledpar_verse_text_between.pdf diff --git a/macros/latex/contrib/reledmac/makefile b/macros/latex/contrib/reledmac/makefile index 50505a544d..5d220304f1 100644 --- a/macros/latex/contrib/reledmac/makefile +++ b/macros/latex/contrib/reledmac/makefile @@ -12,7 +12,7 @@ PACKAGE = *.dtx \ .PHONY: all dist clean doc test -all: reledmac.sty reledpar.sty reledmac.pdf reledpar.pdf migration.pdf dist +all: test reledmac.sty reledpar.sty reledmac.pdf reledpar.pdf migration.pdf dist doc: *.pdf diff --git a/macros/latex/contrib/reledmac/reledmac.dtx b/macros/latex/contrib/reledmac/reledmac.dtx index 447ba8a73f..dd3c42a428 100644 --- a/macros/latex/contrib/reledmac/reledmac.dtx +++ b/macros/latex/contrib/reledmac/reledmac.dtx @@ -555,6 +555,7 @@ % \changes{v2.33.0}{2020/05/31}{Add startstanzaindentsrepetition feature.} % \changes{v2.33.0}{2020/05/31}{Add antilabe feature.} % \changes{v2.33.0}{2020/05/31}{Add \protect\cs{Xinnotemark} and \protect\cs{innotemarkX} hooks.} +% \changes{v2.33.1}{2020/06/06}{Fix a spacing bug when the argument of \protect\cs{antilabe} contains more than one word.} % Typeset scholarly editions with \LaTeX\thanks{This file (\dtxfilename) % has version number \fileversion, last revised \filedate.}} % @@ -4391,7 +4392,7 @@ % \begin{macrocode} %<*code> \NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{reledmac}[2020/05/31 v2.33.0 typesetting critical editions]% +\ProvidesPackage{reledmac}[2020/06/06 v2.33.1 typesetting critical editions]% % \end{macrocode} % % \subsection{Package options} @@ -18957,7 +18958,7 @@ \def\beforeantilabe{}% \def\afterantilabe{}% \newcommand{\antilabe}[1]{% - \beforeantilabe\hbox to\firsthalf@antilabe@wd{#1}\afterantilabe% + \beforeantilabe\hbox to\firsthalf@antilabe@wd{#1\hfill}\afterantilabe% }% \else% \let\get@firsthalf@antilabe@wd\relax% diff --git a/macros/latex/contrib/reledmac/reledmac.pdf b/macros/latex/contrib/reledmac/reledmac.pdf Binary files differindex f3260c9268..b8980e47cc 100644 --- a/macros/latex/contrib/reledmac/reledmac.pdf +++ b/macros/latex/contrib/reledmac/reledmac.pdf diff --git a/macros/latex/contrib/reledmac/reledpar.pdf b/macros/latex/contrib/reledmac/reledpar.pdf Binary files differindex e6c384bd1b..c3494a4208 100644 --- a/macros/latex/contrib/reledmac/reledpar.pdf +++ b/macros/latex/contrib/reledmac/reledpar.pdf diff --git a/macros/xetex/latex/xecjk/xeCJK.dtx b/macros/xetex/latex/xecjk/xeCJK.dtx index 998b4d5ca1..c709d37e43 100644 --- a/macros/xetex/latex/xecjk/xeCJK.dtx +++ b/macros/xetex/latex/xecjk/xeCJK.dtx @@ -194,7 +194,7 @@ Copyright and Licence %<*package|config|fntef|listings|xunicode|xunextra> %<!(config|xunextra)>\NeedsTeXFormat{LaTeX2e} %<!(config|xunextra)>\RequirePackage{expl3} -%<+!driver>\GetIdInfo$Id: xeCJK.dtx b971c22 2020-05-01 21:10:43 +0800 Qing Lee <sobenlee@gmail.com> $ +%<+!driver>\GetIdInfo$Id: xeCJK.dtx 94baac7 2020-06-06 23:21:05 +0800 Qing Lee <sobenlee@gmail.com> $ %<package> {Typesetting CJK scripts with XeLaTeX} %<config> {Configuration file for xeCJK package} %<fntef> {xeCJK font effect} @@ -207,17 +207,18 @@ Copyright and Licence %<listings>\ProvidesExplPackage{xeCJK-listings} %<xunicode>\ProvidesExplPackage{xunicode-addon} %<xunextra>\ProvidesExplFile{xunicode-extra.def} -%<!driver> {\ExplFileDate}{3.8.3}{\ExplFileDescription} +%<!driver> {\ExplFileDate}{3.8.4}{\ExplFileDescription} %</package|config|fntef|listings|xunicode|xunextra> %<*driver> \documentclass{ctxdoc} +\usepackage{xeCJKfntef} \xeCJKDeclareSubCJKBlock{SP} { "2E3A , "301C , "30A0 , "FF65 } \xeCJKDeclareSubCJKBlock{Ext-B} { "20000 -> "2A6DF } \xeCJKDeclareSubCJKBlock{Hangul} { "1100 -> "11FF, "3130 -> "318F, "A960 -> "A97F, "AC00 -> "D7AF } -\setCJKmainfont[SP, Language=Chinese Simplified]{Source Han Serif} +\setCJKmainfont[SP, Language=Chinese Simplified]{Source Han Serif SC} \setCJKmainfont[Ext-B]{SimSun-ExtB} -\setCJKmainfont[Hangul, Script=Hangul, Language=Korean]{Source Han Serif} +\setCJKmainfont[Hangul, Script=Hangul, Language=Korean]{Source Han Serif K} \newlist{psopt}{description}{3} \setlist[psopt]{% font=\mdseries\ttfamily, align=right, @@ -233,7 +234,7 @@ Copyright and Licence { \par \begingroup - \CJKfontspec[Language=Chinese ~ Simplified]{Source ~ Han ~ Serif} + \CJKfontspec[Language=Chinese ~ Simplified]{Source ~ Han ~ Serif ~ SC} \tl_clear:N \l_tmpa_tl \int_zero:N \l_tmpa_int \tl_set:Nx \l_tmpb_tl { \tl_to_str:n { c__xeCJK_#2_chars_clist } } @@ -286,7 +287,7 @@ Copyright and Licence % \changes{v3.8.0}{2020/02/09}{清理过时的兼容性补丁代码。} % \changes{v3.8.3}{2020/04/07}{删除 \texttt{\_nopar}。} % -% \CheckSum{10799} +% \CheckSum{10884} % \GetFileId{xeCJK.sty} % % \title{\bfseries\pkg{xeCJK} 宏包} @@ -1822,11 +1823,13 @@ Copyright and Licence % \end{macro} % % \begin{macro}[int]{\xeCJK_font_gset_to_current:N} +% \changes{v3.8.4}{2020/06/04}{不缓存 \tn{nullfont}。} % |#1| 是控制序列的名字,令它等于当前字体命令。 % \begin{macrocode} -\cs_new_protected:Npn \xeCJK_font_gset_to_current:N #1 - { \exp_after:wN \cs_gset_eq:NN \exp_after:wN #1 \tex_the:D \tex_font:D } -\cs_generate_variant:Nn \xeCJK_font_gset_to_current:N { c } +\cs_new_protected:Npn \xeCJK_font_gset_to_current:N + { \exp_after:wN \@@_font_gset_to_current_aux:NN \tex_the:D \tex_font:D } +\cs_new_protected:Npn \@@_font_gset_to_current_aux:NN #1#2 + { \cs_if_eq:NNF #1 \tex_nullfont:D { \cs_gset_eq:NN #2#1 } } % \end{macrocode} % \end{macro} % @@ -3184,6 +3187,7 @@ Copyright and Licence \xeCJK_select_font: \xeCJK_clear_inter_class_toks:nn {#1} { CJK } \xeCJK_clear_Boundary_and_CJK_toks: + \xeCJK_fallback_symbol:NN \CJKsymbol } \xeCJK_inter_class_toks:nnn { CJK } {#1} { \xeCJK_class_group_end: } @@ -3331,6 +3335,7 @@ Copyright and Licence \xeCJK_class_group_begin: \xeCJK_clear_Boundary_and_CJK_toks: \xeCJK_select_font: + \xeCJK_fallback_symbol:NN \CJKsymbol } % \end{macrocode} @@ -3654,16 +3659,28 @@ Copyright and Licence % \begin{macro}[int]{\xeCJK_CJK_and_CJK:N} % \begin{macrocode} \cs_new_protected:Npn \xeCJK_CJK_and_CJK:N - { \CJKglue \CJKsymbol } + { + \CJKglue + \xeCJK_fallback_symbol:NN + \CJKsymbol + } % \end{macrocode} % \end{macro} % % \hypertarget{fl-fr-others}{} % \begin{macrocode} \xeCJK_inter_class_toks:nnn { FullLeft } { CJK } - { \xeCJK_FullLeft_and_CJK: \CJKsymbol } + { + \xeCJK_FullLeft_and_CJK: + \xeCJK_fallback_symbol:NN + \CJKsymbol + } \xeCJK_inter_class_toks:nnn { FullRight } { CJK } - { \xeCJK_FullRight_and_CJK: \CJKsymbol } + { + \xeCJK_FullRight_and_CJK: + \xeCJK_fallback_symbol:NN + \CJKsymbol + } \seq_map_inline:Nn \g_@@_non_CJK_class_seq { \clist_map_inline:nn { FullLeft , FullRight } @@ -4046,6 +4063,7 @@ Copyright and Licence \xeCJK_clear_Boundary_and_CJK_toks: \tl_gset:Nn \g_@@_last_punct_tl {#2} \@@_punct_rule:NN \c_@@_left_tl #2 + \xeCJK_fallback_punct_symbol:NN \CJKpunctsymbol #2 } \cs_new_protected:Npn \@@_Default_and_FullLeft_glue:N #1 @@ -4062,6 +4080,7 @@ Copyright and Licence \tl_gset:Nn \g_@@_last_punct_tl {#1} \@@_punct_rule:NN \c_@@_left_tl #1 \@@_select_punct_font: + \xeCJK_fallback_punct_symbol:NN \CJKpunctsymbol #1 } \cs_new_protected:Npn \@@_CJK_and_FullLeft_glue:N #1 @@ -4083,6 +4102,7 @@ Copyright and Licence \xeCJK_clear_Boundary_and_CJK_toks: \tl_gset:Nn \g_@@_last_punct_tl {#1} \@@_punct_rule:NN \c_@@_left_tl #1 + \xeCJK_fallback_punct_symbol:NN \CJKpunctsymbol #1 } % \end{macrocode} @@ -4452,6 +4472,7 @@ Copyright and Licence \xeCJK_get_punct_kerning:oN \g_@@_last_punct_tl #1 \@@_punct_kern:NN \g_@@_last_punct_tl #1 \tl_gset:Nn \g_@@_last_punct_tl {#1} + \xeCJK_fallback_punct_symbol:NN \CJKpunctsymbol #1 } % \end{macrocode} @@ -4478,6 +4499,7 @@ Copyright and Licence \xeCJK_get_punct_kerning:oN \g_@@_last_punct_tl #1 \xeCJK_punct_kern:NN \g_@@_last_punct_tl #1 \tl_gset:Nn \g_@@_last_punct_tl {#1} + \xeCJK_fallback_punct_symbol:NN \CJKpunctsymbol #1 } % \end{macrocode} @@ -4536,7 +4558,11 @@ Copyright and Licence % % \begin{macro}[int]{\xeCJK_FullRight_symbol:N} % \begin{macrocode} -\cs_new:Npn \xeCJK_FullRight_symbol:N { \CJKpunctsymbol } +\cs_new_protected:Npn \xeCJK_FullRight_symbol:N + { + \xeCJK_fallback_punct_symbol:NN + \CJKpunctsymbol + } % \end{macrocode} % \end{macro} % @@ -5064,8 +5090,11 @@ Copyright and Licence } { \xeCJK_replace_inter_class_toks:nnnn {##1} { #1/#2 } - { \CJKsymbol } - { \@@_switch_font:nn {#1} {#2} \CJKsymbol } + { \xeCJK_fallback_symbol:NN } + { + \@@_switch_font:nn {#1} {#2} + \xeCJK_fallback_symbol:NN + } } } \xeCJK_copy_inter_class_toks:nnnn { #1/#2 } { #1/#2 } {#1} {#1} @@ -5271,7 +5300,7 @@ Copyright and Licence % 一些用于记录的辅助函数。 % \begin{macrocode} \cs_new:Npn \@@_punct_csname:n #1 - { c_@@_\l_xeCJK_current_font_tl/\l_xeCJK_punct_style_tl/#1/tl } + { c_@@_\l_xeCJK_current_punct_font_tl/\l_xeCJK_punct_style_tl/#1/tl } \cs_new:Npn \@@_use_punct_dim:nN #1#2 { \use:c { \@@_punct_csname:n { dim/#1/#2 } } } \cs_new:Npn \@@_use_punct_dim:nNN #1#2#3 @@ -5446,6 +5475,7 @@ Copyright and Licence { \group_begin: \xeCJK_select_punct_font: + \xeCJK_fallback_punct_symbol:NN \xeCJK_calc_punct_dimen:N #2 \group_end: \dim_set:Nn \l_@@_bound_dim @@ -6093,6 +6123,8 @@ Copyright and Licence % % \subsection{后备字体} % +% \changes{v3.8.4}{2020/05/31}{重构后备字体的实现,修正标点符号无后备字体的问题。} +% % \begin{macro}{AutoFallBack} % 后备字体的宏包选项声明。 % \begin{macrocode} @@ -6101,16 +6133,18 @@ Copyright and Licence AutoFallBack .choice: , AutoFallBack / true .code:n = { - \cs_if_eq:NNF \CJKsymbol \xeCJK_fallback_test_glyph:N - { - \cs_set_eq:NN \@@_fallback_save_CJKsymbol:N \CJKsymbol - \cs_set_eq:NN \CJKsymbol \xeCJK_fallback_test_glyph:N - } + \cs_set_eq:NN \xeCJK_fallback_symbol:NN + \@@_fallback_symbol:NN + \cs_set_eq:NN \xeCJK_fallback_punct_symbol:NN + \@@_fallback_punct_symbol:NN + \cs_set_eq:NN \xeCJK_clear_fallback_font: + \@@_clear_fallback_font: } , AutoFallBack / false .code:n = { - \cs_if_eq:NNT \CJKsymbol \xeCJK_fallback_test_glyph:N - { \cs_set_eq:NN \CJKsymbol \@@_fallback_save_CJKsymbol:N } + \xeCJK_cs_clear:N \xeCJK_fallback_symbol:NN + \xeCJK_cs_clear:N \xeCJK_fallback_punct_symbol:NN + \xeCJK_cs_clear:N \xeCJK_clear_fallback_font: } , AutoFallBack .default:n = { true } , fallback .meta:n = { AutoFallBack = true } @@ -6118,82 +6152,143 @@ Copyright and Licence % \end{macrocode} % \end{macro} % -% \begin{macro}[int]{\xeCJK_fallback_test_glyph:N} +% \begin{macro}[int]{\xeCJK_fallback_symbol:NN,\xeCJK_fallback_punct_symbol:NN} % 测试当前字体中是否存在当前字符,如存在则直接输出,否则启用后备字体。 % \begin{macrocode} -\cs_new_protected:Npn \xeCJK_fallback_test_glyph:N #1 +\cs_new_protected:Npn \@@_fallback_symbol:NN #1#2 { - \xeCJK_glyph_if_exist:NTF #1 - { \@@_fallback_save_CJKsymbol:N #1 } + \xeCJK_reset_fallback_font: + \xeCJK_glyph_if_exist:NF #2 + { \@@_fallback_symbol_aux:NN } + #1#2 + } +\cs_new_protected:Npn \@@_fallback_punct_symbol:NN #1#2 + { + \xeCJK_reset_fallback_font: + \xeCJK_glyph_if_exist:NF #2 + { \@@_fallback_punct_symbol_aux:NN } + #1#2 + } +\cs_new_eq:NN \xeCJK_fallback_symbol:NN \prg_do_nothing: +\cs_new_eq:NN \xeCJK_fallback_punct_symbol:NN \prg_do_nothing: +\cs_new_protected:Npn \@@_fallback_symbol_aux:NN + { + \@@_fallback_symbol_aux:nnNN + { \CJK@family } + { \l_xeCJK_family_tl } + } +\cs_new_protected:Npn \@@_fallback_punct_symbol_aux:NN + { + \@@_fallback_symbol_aux:nnNN + { \CJK@punctfamily } + { \l_xeCJK_punct_family_tl } + } +\cs_new_protected:Npn \@@_fallback_symbol_aux:nnNN + { + \cs_set_protected:Npx \xeCJK_reset_fallback_font: { - \group_begin: - \xeCJK_aftergroup_reset_Boundary:N #1 - \tl_set_eq:NN \l_@@_fallback_family_tl \l_xeCJK_family_tl - \xeCJK_fallback_loop:No #1 { \l_xeCJK_family_tl/FallBack } - \group_end: + \tex_the:D \tex_font:D + \xeCJK_clear_fallback_font: } + \exp_args:Nxx \@@_fallback_loop:nnNN } +\cs_new_protected:Npn \@@_clear_fallback_font: + { \cs_set_eq:NN \xeCJK_reset_fallback_font: \prg_do_nothing: } +\cs_new_eq:NN \xeCJK_reset_fallback_font: \prg_do_nothing: +\cs_new_eq:NN \xeCJK_clear_fallback_font: \prg_do_nothing: % \end{macrocode} % \end{macro} % % \changes{v3.5.1}{2017/11/16}{修正 fallback 字体后无法忽略空格的错误。} -% -% \begin{macro}[int]{\xeCJK_aftergroup_reset_Boundary:N} -% 在分组中暂时清空 |#1| 与边界的 toks,分组后恢复。 -% \begin{macrocode} -\cs_new_protected:Npn \xeCJK_aftergroup_reset_Boundary:N #1 - { - \tl_set:Nx \l_@@_tmp_tl - { \tex_the:D \tex_XeTeXcharclass:D `#1 ~ \xeCJK_class_num:n { Boundary } } - \tl_gset:Nx \g_@@_aftergroup_Boundary_tl - { \tex_the:D \tex_XeTeXinterchartoks:D \l_@@_tmp_tl } - \tex_XeTeXinterchartoks:D \l_@@_tmp_tl = { \prg_do_nothing: } - \group_insert_after:N \g_@@_aftergroup_Boundary_tl - } -\tl_new:N \g_@@_aftergroup_Boundary_tl -% \end{macrocode} -% \end{macro} -% % \changes{v3.2.12}{2014/05/12}{更新 \cs{int_to_Hex:n}。} % -% \begin{macro}[int]{\xeCJK_fallback_loop:Nn} +% \begin{macro}[int]{\@@_fallback_loop:nnNN} % \changes{v3.1.0}{2012/11/19}{调整备用字体的循环方式。} % \changes{v3.2.4}{2013/06/30} % {使 \tn{CJKfamilydefault} 的 \texttt{FallBack} 设置全局可用。} % 循环测试后备字体是否包含字符 |#1|。若后备字体中存在该字符或者再没有后备字体,则 % 结束循环。当前字体族没有备用字体时,使用 \tn{CJKfamilydefault} 的设置。 % \begin{macrocode} -\cs_new_protected:Npn \xeCJK_fallback_loop:Nn #1#2 +\cs_new_protected:Npn \@@_fallback_loop:nnNN { - \xeCJK_family_if_exist:nTF {#2} - { - \tl_set:Nn \l_xeCJK_family_tl {#2} - \tl_set_eq:NN \CJK@family \l_@@_fontspec_family_tl - \xeCJK_select_font: - \xeCJK_glyph_if_exist:NTF #1 - { \@@_fallback_save_CJKsymbol:N #1 } - { \xeCJK_fallback_loop:No #1 { \l_xeCJK_family_tl/FallBack } } - } - { - \str_if_eq:eeTF { \CJKfamilydefault } { \l_@@_fallback_family_tl } - { - \@@_warning:nxxx { missing-glyph } - { \l_xeCJK_family_tl } {#1} - { \int_to_Hex:n { `#1 } } - \@@_fallback_save_CJKsymbol:N #1 - } - { - \tl_set:Nx \l_@@_fallback_family_tl { \CJKfamilydefault } - \xeCJK_fallback_loop:Nn #1 { \l_@@_fallback_family_tl } - } - } + \cs_set_eq:NN \@@_fallback_loop:TF \use_i:nn + \@@_fallback_loop:nnnNN { FallBack } + } +\cs_generate_variant:Nn \@@_fallback_loop:Nn { Nx } +\cs_new_protected:Npn \@@_fallback_loop:nnnNN #1#2#3 + { + \xeCJK_select_fallback_font:nnn {#1} {#2} {#3} + \@@_fallback_loop:TF + { \@@_fallback_loop_aux:nnnNN } + { \@@_fallback_missing_glyph:nnnNN } + {#1} {#2} {#3} + } +\cs_new_protected:Npn \@@_fallback_loop_aux:nnnNN #1#2#3#4#5 + { + \xeCJK_glyph_if_exist:NF #5 + { \@@_fallback_loop:nnnNN { #1/FallBack } {#2} {#3} } + #4#5 + } +\cs_new_protected:Npn \@@_fallback_missing_glyph:nnnNN #1#2#3#4#5 + { + \@@_warning:nxxx { missing-glyph } {#1} {#2} {#5} + #4#5 + } +\cs_new_protected:Npn \xeCJK_select_fallback_font:nnn #1#2 + { + \@@_select_fallback_font:cnnn + { \@@_font_csname:n { #2/#1 } } {#1} {#2} } -\cs_generate_variant:Nn \xeCJK_fallback_loop:Nn { No } +\cs_new_protected:Npn \@@_select_fallback_font:Nnnn #1 + { + \cs_if_exist:NF #1 + { \@@_fallback_font_initial:NNnnn } + #1 \use_none:nnn + } +\cs_generate_variant:Nn \@@_select_fallback_font:Nnnn { c } +\cs_new_protected:Npn \@@_fallback_font_initial:NNnnn #1#2#3#4#5 + { + \xeCJK_family_if_exist:nTF { #5/#3 } + { \@@_font_initial:Nn #1 { #5/#3 } } + { \@@_fallback_font_initial_auxi:Nnnn #1 {#5} {#3} {#4} } + #1 + } +\cs_new_protected:Npn \@@_fallback_font_initial_auxi:Nnnn #1 + { + \exp_args:NNx \@@_fallback_font_initial_auxii:Nnnnn + #1 { \CJKfamilydefault } + } +\cs_new_protected:Npn \@@_fallback_font_initial_auxii:Nnnnn #1#2#3 + { + \str_if_eq:nnTF {#2} {#3} + { \@@_fallback_loop_end:Nnnn } + { \@@_fallback_font_initial_auxiii:Nnnn } + #1 {#2} + } +\cs_new_protected:Npn \@@_fallback_font_initial_auxiii:Nnnn #1#2 + { + \xeCJK_family_if_exist:nTF {#2} + { \@@_fallback_font_initial_auxiv:Nnnn } + { \@@_fallback_loop_end:Nnnn } + #1 {#2} + } +\cs_new_protected:Npn \@@_fallback_font_initial_auxiv:Nnnn #1#2#3#4 + { + \@@_font_initial:Nn #1 {#2} + \exp_args:Nc \@@_fallback_font_initial_auxiii:Nnnn + { \@@_font_csname:n { #4/#3/FallBack } } + { #2/FallBack } { #3/FallBack } {#4} + } +\cs_new_eq:NN \@@_fallback_loop:TF \use_i:nn +\cs_new_protected:Npn \@@_fallback_loop_end:Nnnn #1#2#3#4 + { \cs_gset_eq:NN #1 \@@_fallback_loop_end: } +\cs_new_protected:Npn \@@_fallback_loop_end: + { \cs_set_eq:NN \@@_fallback_loop:TF \use_ii:nn } \@@_msg_new:nn { missing-glyph } { - CJKfamily~`\@@_msg_family_map:n {#1}'~ - ( \prop_item:Nn \g_@@_family_font_name_prop {#1} )~ - does~not~contain~glyph~`#2'~(U+#3).\\ + CJKfamily~`\@@_msg_family_map:n {#2}'~(#1)~ + does~not~contain~glyph~`#3'~ + ( U + \int_to_Hex:n { `#3 } )~\msg_line_context:. } % \end{macrocode} % \end{macro} @@ -6657,6 +6752,7 @@ Copyright and Licence } \cs_new_protected:Npn \@@_select_font:Nn #1#2 { + \xeCJK_clear_fallback_font: \cs_if_exist:NF #1 { \@@_font_initial:Nn #1 {#2} } #1 } @@ -6697,6 +6793,8 @@ Copyright and Licence \tl_new:N \CJK@punctfamily \tl_new:N \l_xeCJK_punct_family_tl \tl_new:N \l_xeCJK_current_punct_font_tl +\tl_set:Nn \CJK@punctfamily { \CJK@family } +\tl_set:Nn \l_xeCJK_punct_family_tl { \l_xeCJK_family_tl } \tl_set:No \l_xeCJK_current_punct_font_tl { \@@_font_csname:n { \CJK@punctfamily } } \cs_new_eq:NN \@@_select_font: \prg_do_nothing: @@ -6739,6 +6837,7 @@ Copyright and Licence } \cs_new_protected:Npn \@@_select_font:Nnn #1#2#3 { + \xeCJK_clear_fallback_font: \cs_if_exist:NF #1 { \@@_block_font_initial:Nnn #1 {#2} {#3} } #1 @@ -6893,8 +6992,8 @@ Copyright and Licence PunctFamily .value_required:n = { true } , PunctFamily / false .code:n = { - \tl_clear:N \l_xeCJK_punct_family_tl - \tl_clear:N \CJK@punctfamily + \tl_set:Nn \CJK@punctfamily { \CJK@family } + \tl_set:Nn \l_xeCJK_punct_family_tl { \l_xeCJK_family_tl } \xeCJK_cs_clear:N \@@_select_font: \xeCJK_cs_clear:N \@@_select_punct_font: \cs_set_eq:NN \xeCJK_select_punct_font: \xeCJK_select_font: @@ -8030,8 +8129,8 @@ Copyright and Licence % % \begin{macro}[int]{\CJKsymbol, \CJKpunctsymbol} % \begin{macrocode} -\cs_new:Npn \CJKsymbol #1 {#1} -\cs_new:Npn \CJKpunctsymbol #1 {#1} +\cs_new_eq:NN \CJKsymbol \use:n +\cs_new_eq:NN \CJKpunctsymbol \use:n % \end{macrocode} % \end{macro} % @@ -9397,6 +9496,7 @@ Copyright and Licence \UL@stop \@@_ulem_ccglue: \UL@start \@@_ulem_class_group_begin: \xeCJK_select_font: + \xeCJK_fallback_symbol:NN \CJKsymbol } { \@@_ulem_CJK_and_CJK:N } @@ -9425,11 +9525,13 @@ Copyright and Licence \xeCJK_class_group_begin: \xeCJK_clear_Boundary_and_CJK_toks: \@@_switch_font:nn {#1} {#2} + \xeCJK_fallback_symbol:NN \CJKsymbol } { \skip_horizontal:N \l_@@_ccglue_skip \@@_switch_font:nn {#1} {#2} + \xeCJK_fallback_symbol:NN \CJKsymbol } } diff --git a/macros/xetex/latex/xecjk/xeCJK.pdf b/macros/xetex/latex/xecjk/xeCJK.pdf Binary files differindex 1726fe6fc8..e834c66b1a 100644 --- a/macros/xetex/latex/xecjk/xeCJK.pdf +++ b/macros/xetex/latex/xecjk/xeCJK.pdf diff --git a/macros/xetex/latex/xecjk/xunicode-symbols.pdf b/macros/xetex/latex/xecjk/xunicode-symbols.pdf Binary files differindex 5392212ff8..168357464c 100644 --- a/macros/xetex/latex/xecjk/xunicode-symbols.pdf +++ b/macros/xetex/latex/xecjk/xunicode-symbols.pdf |