texlive[72556] Master/texmf-dist: chess-problem-diagrams (15oct24)

commits+karl at tug.org commits+karl at tug.org
Tue Oct 15 22:09:02 CEST 2024


Revision: 72556
          https://tug.org/svn/texlive?view=revision&revision=72556
Author:   karl
Date:     2024-10-15 22:09:02 +0200 (Tue, 15 Oct 2024)
Log Message:
-----------
chess-problem-diagrams (15oct24)

Modified Paths:
--------------
    trunk/Master/texmf-dist/doc/latex/chess-problem-diagrams/README
    trunk/Master/texmf-dist/doc/latex/chess-problem-diagrams/diagram.pdf
    trunk/Master/texmf-dist/source/latex/chess-problem-diagrams/diagram.dtx
    trunk/Master/texmf-dist/tex/latex/chess-problem-diagrams/diagram.sty

Modified: trunk/Master/texmf-dist/doc/latex/chess-problem-diagrams/README
===================================================================
--- trunk/Master/texmf-dist/doc/latex/chess-problem-diagrams/README	2024-10-15 20:08:49 UTC (rev 72555)
+++ trunk/Master/texmf-dist/doc/latex/chess-problem-diagrams/README	2024-10-15 20:09:02 UTC (rev 72556)
@@ -1,5 +1,5 @@
 diagram --- A package for typesetting chessproblems
-Version v1.21 / Stefan Hoening 1994-2022
+Version v1.22 / Stefan Hoening 1994-2024
 
 CONTENTS
 

Modified: trunk/Master/texmf-dist/doc/latex/chess-problem-diagrams/diagram.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/source/latex/chess-problem-diagrams/diagram.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/chess-problem-diagrams/diagram.dtx	2024-10-15 20:08:49 UTC (rev 72555)
+++ trunk/Master/texmf-dist/source/latex/chess-problem-diagrams/diagram.dtx	2024-10-15 20:09:02 UTC (rev 72556)
@@ -13,9 +13,9 @@
 %%
 %%
 % \fi
-% \def\fileversion{v1.21}
-% \def\docdate{2022/06/14}
-% \CheckSum{4577}
+% \def\fileversion{v1.22}
+% \def\docdate{2024/06/13}
+% \CheckSum{4611}
 % \changes{v0.1}{15 Februar 2004}{First Version}
 % \changes{v0.2}{23 Februar 2004}{Added the documentation for the
 % {\itshape information collecting} macros which may be used
@@ -91,9 +91,15 @@
 % \changes{v1.20}{13 June 2022}{Introduced two booleans to better
 % control displaying diagram number globally and locally.\\
 % Removed the old boolean 'di at no'.}
-% \changes{v1.21}{14 June 2022}{Impletemted issue: 03f/309:\\
+% \changes{v1.21}{14 June 2022}{Impletented issue: 03f/309:\\
 % handle empty arguments in information collecting commands\\
 % Fixed typo in @dia at fidealbum command.}
+% \changes{v1.22}{13 June 2024}{Fix empty argument detection.\\
+% Change ra and lra commands to allow for common prefix and suffix.\\
+% Added generic command insidediagram to allow e.g. footnotes inside
+% diagrams.\\
+% Fixed numbering when creating empty diagram numbering via
+% speciadiagram.}
 %
 % \DoNotIndex{\@arabic,\def,\@idxitem,\@ifnextchar,\@ifstar,
 % \@ne,\@ptsize,\ ,\advance,\AtEndOfPackage,\begin,\begingroup,
@@ -237,8 +243,8 @@
 % \item \DescribeMacro{\author}
 % With the |\author| tag you specify one author or a list of authors.
 % If you specify more than one author, you must separate them
-% with ";~". Normally an author is given as \explained{"sirname,
-% givenname"}. You may change the way, how the name is
+% with ``;~''. Normally an author is given as \explained{``sirname,
+% givenname''}. You may change the way, how the name is
 % interpreted by \LaTeX\ using |\normalnames| and
 % |\reversednames|. This \verb+\author+ command does only
 % overwrite the default behaviour when used inside a diagram
@@ -252,7 +258,7 @@
 % \item \DescribeMacro{\pieces}
 % With |\pieces| you specify the position to be displayed on the
 % board. For each kind of piece you may specify a list of fields.
-% Different lists of fields are separated by ",~". So the general
+% Different lists of fields are separated by ``,~''. So the general
 % syntax for specifying the position of a specific piece
 % is:\newline
 % [color][piece]\{rotation of piece\}[list of squares];\newline
@@ -297,12 +303,12 @@
 % may be used to specify the city and country, where the author
 % or the authors live. I use this inside the original section of 
 % \Schwalbe. You should separate multiple cities (for multiple
-% authors) with ";~". There is also a boolean switch |showcity|,
+% authors) with ``;~''. There is also a boolean switch |showcity|,
 % which contols, whether this information is displayed.
 % \item \DescribeMacro{\specialdiagnum}
 % May be used to suppress the default diagram numbering (which
 % uses a counter) and instead directly providing a diagram
-% "number" which may be an arbritary text. This may also be used to
+% ``number'' which may be an arbritary text. This may also be used to
 % suppress displaying a diagram number by providing an empty argument
 % \verb+{}+.
 % \item \DescribeMacro{\sourcenr}
@@ -334,10 +340,10 @@
 % author of the problem.
 % \item \DescribeMacro{\condition}\DescribeMacro{\cond}
 % May be used to specify the fairy conditions of a problem.
-% Different conditions should be separated with ";~".
+% Different conditions should be separated with ``;~''.
 % \item \DescribeMacro{\twins}
 % May be used to specify the different twins of a problem.
-% Different twins should be separated with ";~".
+% Different twins should be separated with ``;~''.
 % \item \DescribeMacro{\remark}\DescribeMacro{\rem}
 % May be used to specify remarks to the problem. I typically use
 % this to explain fairy pieces on the board. You may also use the 
@@ -357,18 +363,18 @@
 % \item \DescribeMacro{\judgement}
 % May be used to describe the judgement given for a problem,
 % e.\,g. when you are working on an award or when you are
-% selecting problems for a "best of \dots{}" book.
+% selecting problems for a ``best of \dots{}'' book.
 % \item \DescribeMacro{\comment}
 % May be used to specify some comment on the problem (e.\,g. the
 % authors original comment.)
 % \item \DescribeMacro{\themes}
 % May be used to specify themes displayed in the problem.
-% Different themes should be separated with ",~". When creating a 
+% Different themes should be separated with ``,~''. When creating a 
 % theme index, the themes will automatically be used to create
 % the register.
 % \item \DescribeMacro{\genre}
 % May be used to specify genre of the problem.
-% Different genres should be separated with ",~".
+% Different genres should be separated with ``,~''.
 % The values are intended to using \LaTeX\-import within the PDB.
 % \end{itemize}
 %
@@ -734,7 +740,7 @@
 % You may remove single fields by using the |\nofields| or
 % |\nosquares| command. Using this command does make sense for 
 % empty black fields only. This command expects a list of squares
-% separated by "',~"'. You may also use this command within a
+% separated by ``,~''. You may also use this command within a
 % stereo- or space-diagram. In this case you must specify the
 % fields the same way you do it inside the |\pieces| command.
 %
@@ -748,7 +754,7 @@
 % A more general form of lines within diagrams is possible by
 % using the |\gridlines| command. You may specify a list of
 % horizontal or vertical lines within the diagram. Different
-% lines should be separated by "',~"'. A single line must be
+% lines should be separated by ``,~''. A single line must be
 % specified as:
 %
 % [plane](v or h)(x-coordinate)(y-coordinate)(length in squares)
@@ -755,7 +761,7 @@
 %
 % You must specify a plane in case of stereo- or space-chess
 % only. For a vertical line starting at the lower left corner of
-% "'c2"' ending at the upper left corner of "'c8"' the command to
+% ``c2'' ending at the upper left corner of ``c8'' the command to
 % use is: |\gridlines{v217}|\@. Concerning the coordinates and
 % length specifications you should pay attention to put values
 % greater 9 in curly braces \{ \}.
@@ -766,7 +772,7 @@
 % is: \{Text\}(x-coordinate)(y-coordinate)
 %
 % Now an example how to use |\gridlines|, |\nofields| and
-% |\fieldtext| to create some "'{\itshape Letter-Board}"' with text
+% |\fieldtext| to create some ``{\itshape Letter-Board}'' with text
 % inside.
 %
 % \bigskip
@@ -865,6 +871,7 @@
 % \DescribeMacro{\nX}
 % a neutral rotated equihopper
 % \end{description}
+%
 % \subsubsection{Other often used symbols}
 % The style also defines commands for other symbols, which are
 % often used within the declaration of twins or when writing a
@@ -887,12 +894,28 @@
 % queen side castling
 % \item[\x]
 % \DescribeMacro{\x}
-% for "'takes"'
+% for ``takes''
 % \item[\any]
 % \DescribeMacro{\any}
-% for any move (you may not simply use a \any\ within your
+% for an arbitrary move (you must not simply use a \verb+~+ within your
 % text because \TeX\ handles this as a protected space)
 % \end{description}
+%
+% \DescribeEnv{arrowskip}
+% It is possible, to define a prefix and/or a suffix to use before and
+% after arrows - typically a common separating space. Per default
+% there is no such space. You may use the \verb+arrowskip+ environment
+% have a common prefix and suffix before and after arrows:
+%
+% \begin{verbatim}
+% \begin{arrowskip}{a\,}{\,b}
+% ...
+% \end{arrowskip}
+% \end{verbatim}
+%
+% ... will prefix arrows produced with |\ra| or |\lra| with \verb+a\,+
+% and suffix with \verb+\,b+.
+%
 % \subsubsection{Internationalization}
 % \DescribeMacro{\DefinePieces}
 % This part is relevant for people who do not like the german
@@ -992,6 +1015,20 @@
 % \verb+\renewcommand{\solpar}+ to provide another definition of
 % \verb+\solpar+ in such situations.
 %
+% \DescribeMacro{\insidediagram}
+% The problem information collected by some commands may be used in
+% different places (author names will be shown above the diagram and
+% at the beginning of solutions when output using \verb+\putsol+).
+% Therefore we need some special handling of e.g. footnotes, to avoid
+% creating the footnotemarks multiple times. Such commands should be
+% used within \verb+\insidediagram+ as shown by the following example:
+%
+% \begin{verbatim}
+% \begin{diagram}
+% \author{Else\insidediagram{\footnotemark}, Someone}
+% \end{diagram}
+% \end{verbatim}
+%
 % \StopEventually{\PrintIndex\PrintChanges}
 %
 % \section{The documentation driver}
@@ -1016,7 +1053,7 @@
 % Specifies the preamble of our style file.
 %    \begin{macrocode}
 %<*style>
-\ProvidesPackage{diagram}[2022/06/19]
+\ProvidesPackage{diagram}[2024/10/14]
 %    \end{macrocode}
 %
 % \begin{macro}{\DefaultDiagramSize}
@@ -1206,6 +1243,7 @@
 \newtoks\condition at tk\condition at tk={\relax}
 \newtoks\remark at tk\remark at tk={\relax}
 \newtoks\piecedefs at tk\piecedefs at tk={\relax}
+\newtoks\@cpd at emptytest
 %    \end{macrocode}
 %
 % To remember, which information has been specified, we define
@@ -1264,7 +1302,7 @@
 %    \begin{macrocode}
 \newwrite\s at lfd
 \let\below at newline=\relax
-% These are used by the "old" board creating mechanism
+% These are used by the ``old'' board creating mechanism
 \newcount\@lines
 \newcount\@rows
 \newcount\lines at max
@@ -1386,6 +1424,12 @@
    \ignorespaces%
 }
 
+
+\newboolean{@cpd at inside@diagram}
+\setboolean{@cpd at inside@diagram}{false}
+\newcommand{\insidediagram}[1]{%
+    \ifthenelse{\boolean{@cpd at inside@diagram}}{#1}{}%
+}
 \def\enddiagram{%
    \let\author=\orig at author%
    \let\day=\orig at day%
@@ -1506,6 +1550,7 @@
    }%
    %
    \global\setbox\dia at box=\hbox{\vbox{%
+      \setboolean{@cpd at inside@diagram}{true}%
       \parindent\z@%
       \parskip\z@%
       \baselineskip11\p@\advance\baselineskip\dia at lineskip%
@@ -1541,6 +1586,7 @@
             \dia at below%
          }\hss}%
       }%
+      \setboolean{@cpd at inside@diagram}{false}%
    }}% End of \dia at box
    \do at dia@job%
    \cpd at enddiagram@hook%
@@ -1728,9 +1774,35 @@
    \addtocounter{board at nr}{\m at ne}}
 %    \end{macrocode}
 %
+% Now we define a couple of abbreviations and special symbols
+% often used when setting problem chess documents.
+%
 % \begin{macro}{\ra}
 % \begin{macro}{\lra}
 % \begin{macro}{\rla}
+% \begin{macro}{arrowskip}
+% Arrows and specification of space (or something different)
+% before and after arrows.
+%    \begin{macrocode}
+\newcommand{\@cpd at pre@arrow}{}
+\newcommand{\@cpd at post@arrow}{}
+\newcommand{\ra}{\@cpd at pre@arrow\mbox{$\rightarrow$}\@cpd at post@arrow}
+\newcommand{\lra}{\@cpd at pre@arrow\mbox{$\leftrightarrow$}\@cpd at post@arrow}
+\let\rla=\lra
+\newcommand*{\@cpd at prepost@arrow}[2]{%
+   \renewcommand*{\@cpd at pre@arrow}{#1}
+   \renewcommand*{\@cpd at post@arrow}{#2}
+}
+\newenvironment{arrowskip}{%
+   \@cpd at prepost@arrow%
+}{%
+}
+%    \end{macrocode}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+%
 % \begin{macro}{\x}
 % \begin{macro}{\set}
 % \begin{macro}{\OO}
@@ -1737,12 +1809,7 @@
 % \begin{macro}{\OOO}
 % \begin{macro}{\any}
 % \begin{macro}{\further}
-% Now we define a couple of abbreviations and special symbols
-% often used when setting problem chess documents.
 %    \begin{macrocode}
-\def\ra{\mbox{$\rightarrow$}}
-\def\lra{\mbox{$\leftrightarrow$}}
-\let\rla=\lra
 \newcommand{\x}{\mbox{\ifmmode\times\else$\times$\fi}}
 \def\set{\kern -.05em\raise .1ex\hbox{*}}
 \def\@O{0\raise.25ex\hbox{-}\kern -.1em\relax}
@@ -1757,9 +1824,6 @@
 % \end{macro}
 % \end{macro}
 % \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
 %
 %    \begin{macrocode}
 \def\spacelayout#1{\csname space@#1\endcsname}
@@ -1808,10 +1872,10 @@
    }{%
        \setboolean{@cpd at numbering@local}{true}%
        \@specialtrue%
-       \number at tk={#1}\@numbertrue%
-       \def\thediag{#1}\def\@currentlabel{#1}%
-       \ignorespaces%
    }
+   \number at tk={#1}\@numbertrue%
+   \def\thediag{#1}\def\@currentlabel{#1}%
+   \ignorespaces%
 }
 %    \end{macrocode}
 %
@@ -1848,6 +1912,15 @@
 % \end{macro}
 %
 %    \begin{macrocode}
+\def\@cpd at warnIfEmpty#1#2{%
+   \begingroup%
+       \@cpd at emptytest={#1}%
+       \edef\@cpd at param{\the\@cpd at emptytest}%
+   \expandafter\endgroup%
+   \ifx\@cpd at param\@empty\relax%
+       \message{^^JWARNING: empty '#2' argument.^^J}%
+   \fi
+}
 \def\city#1{%
    \city at tk={#1}\@citytrue%
    \ignorespaces%
@@ -1889,44 +1962,29 @@
    \ignorespaces%
 }
 \def\award#1{%
-   \ifthenelse{\equal{}{#1}}{%
-       \message{^^JWARNING: ignoring empty 'award' argument.^^J}%
-   }{%
-       \award at tk={#1}\@awardtrue%
-       \ignorespaces%
-   }%
+    \@cpd at warnIfEmpty{#1}{award}%
+    \award at tk={#1}\@awardtrue%
+    \ignorespaces%
 }
 \def\version#1{%
-    \ifthenelse{\equal{}{#1}}{%
-        \message{^^JWARNING: ignoring empty 'version' argument.^^J}%
-    }{%
-        \version at tk={#1}\@versiontrue%
-        \ignorespaces%
-    }%
+    \@cpd at warnIfEmpty{#1}{version}%
+    \version at tk={#1}\@versiontrue%
+    \ignorespaces%
 }
 \def\after#1{%
-    \ifthenelse{\equal{}{#1}}{%
-        \message{^^JWARNING: ignoring empty 'after' argument.^^J}%
-    }{%
-        \after at tk={#1}\@aftertrue%
-        \ignorespaces%
-    }%
+    \@cpd at warnIfEmpty{#1}{after}%
+    \after at tk={#1}\@aftertrue%
+    \ignorespaces%
 }
 \def\correction#1{%
-    \ifthenelse{\equal{}{#1}}{%
-        \message{^^JWARNING: ignoring empty 'correction' argument.^^J}%
-    }{%
-        \correction at tk={#1}\@correctiontrue%
-        \ignorespaces%
-    }%
+    \@cpd at warnIfEmpty{#1}{correction}%
+    \correction at tk={#1}\@correctiontrue%
+    \ignorespaces%
 }
 \def\dedication#1{%
-    \ifthenelse{\equal{}{#1}}{%
-        \message{^^JWARNING: ignoring empty 'correction' argument.^^J}%
-    }{%
-        \dedic at tk={#1}\@dedicationtrue%
-        \ignorespaces%
-    }%
+    \@cpd at warnIfEmpty{#1}{dedication}%
+    \dedic at tk={#1}\@dedicationtrue%
+    \ignorespaces%
 }
 \def\fidealbum#1{%
    \fidealbum at tk={#1}\@fidealbumtrue%
@@ -2569,7 +2627,7 @@
    \parskip\tw@\p@%
    {\bfseries%
       \noindent\if at label\showlabel{\the\label at tk}\fi%
-      \the\number at tk) %
+      \if at number\the\number at tk) \fi%
       \ifauth at r%
          \ifnormal at names%
             \the\aut at tk%

Modified: trunk/Master/texmf-dist/tex/latex/chess-problem-diagrams/diagram.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/chess-problem-diagrams/diagram.sty	2024-10-15 20:08:49 UTC (rev 72555)
+++ trunk/Master/texmf-dist/tex/latex/chess-problem-diagrams/diagram.sty	2024-10-15 20:09:02 UTC (rev 72556)
@@ -36,7 +36,7 @@
 %%
 %%
 
-\ProvidesPackage{diagram}[2022/06/19]
+\ProvidesPackage{diagram}[2024/10/14]
 \newcommand*{\DefaultDiagramSize}{}
 \DeclareOption{10pt}{\renewcommand*{\DefaultDiagramSize}{\diagramx}}
 \DeclareOption{11pt}{\renewcommand*{\DefaultDiagramSize}{\diagramxi}}
@@ -194,6 +194,7 @@
 \newtoks\condition at tk\condition at tk={\relax}
 \newtoks\remark at tk\remark at tk={\relax}
 \newtoks\piecedefs at tk\piecedefs at tk={\relax}
+\newtoks\@cpd at emptytest
 \newif\if at label\@labelfalse
 \newif\if at number\@numberfalse
 \newif\if at special\@specialfalse
@@ -328,6 +329,11 @@
    \ignorespaces%
 }
 
+\newboolean{@cpd at inside@diagram}
+\setboolean{@cpd at inside@diagram}{false}
+\newcommand{\insidediagram}[1]{%
+    \ifthenelse{\boolean{@cpd at inside@diagram}}{#1}{}%
+}
 \def\enddiagram{%
    \let\author=\orig at author%
    \let\day=\orig at day%
@@ -448,6 +454,7 @@
    }%
    %
    \global\setbox\dia at box=\hbox{\vbox{%
+      \setboolean{@cpd at inside@diagram}{true}%
       \parindent\z@%
       \parskip\z@%
       \baselineskip11\p@\advance\baselineskip\dia at lineskip%
@@ -483,6 +490,7 @@
             \dia at below%
          }\hss}%
       }%
+      \setboolean{@cpd at inside@diagram}{false}%
    }}% End of \dia at box
    \do at dia@job%
    \cpd at enddiagram@hook%
@@ -619,9 +627,19 @@
    \renewcommand*{\@dianumber at prefix}{#1}%
    \setcounter{board at nr}{#2}%
    \addtocounter{board at nr}{\m at ne}}
-\def\ra{\mbox{$\rightarrow$}}
-\def\lra{\mbox{$\leftrightarrow$}}
+\newcommand{\@cpd at pre@arrow}{}
+\newcommand{\@cpd at post@arrow}{}
+\newcommand{\ra}{\@cpd at pre@arrow\mbox{$\rightarrow$}\@cpd at post@arrow}
+\newcommand{\lra}{\@cpd at pre@arrow\mbox{$\leftrightarrow$}\@cpd at post@arrow}
 \let\rla=\lra
+\newcommand*{\@cpd at prepost@arrow}[2]{%
+   \renewcommand*{\@cpd at pre@arrow}{#1}
+   \renewcommand*{\@cpd at post@arrow}{#2}
+}
+\newenvironment{arrowskip}{%
+   \@cpd at prepost@arrow%
+}{%
+}
 \newcommand{\x}{\mbox{\ifmmode\times\else$\times$\fi}}
 \def\set{\kern -.05em\raise .1ex\hbox{*}}
 \def\@O{0\raise.25ex\hbox{-}\kern -.1em\relax}
@@ -652,10 +670,10 @@
    }{%
        \setboolean{@cpd at numbering@local}{true}%
        \@specialtrue%
-       \number at tk={#1}\@numbertrue%
-       \def\thediag{#1}\def\@currentlabel{#1}%
-       \ignorespaces%
    }
+   \number at tk={#1}\@numbertrue%
+   \def\thediag{#1}\def\@currentlabel{#1}%
+   \ignorespaces%
 }
 \def\ds at label{%
    \@ifstar{\ds at labelfalse\ds at xlabel}{\ds at labeltrue\ds at xlabel}%
@@ -668,6 +686,15 @@
 \newcommand{\Dr}{\ds at academictitle{Dr.}}
 \newcommand{\Prof}{\ds at academictitle{Prof.}}
 \newcommand{\ProfDr}{\ds at academictitle{Prof.\,Dr.}}
+\def\@cpd at warnIfEmpty#1#2{%
+   \begingroup%
+       \@cpd at emptytest={#1}%
+       \edef\@cpd at param{\the\@cpd at emptytest}%
+   \expandafter\endgroup%
+   \ifx\@cpd at param\@empty\relax%
+       \message{^^JWARNING: empty '#2' argument.^^J}%
+   \fi
+}
 \def\city#1{%
    \city at tk={#1}\@citytrue%
    \ignorespaces%
@@ -709,44 +736,29 @@
    \ignorespaces%
 }
 \def\award#1{%
-   \ifthenelse{\equal{}{#1}}{%
-       \message{^^JWARNING: ignoring empty 'award' argument.^^J}%
-   }{%
-       \award at tk={#1}\@awardtrue%
-       \ignorespaces%
-   }%
+    \@cpd at warnIfEmpty{#1}{award}%
+    \award at tk={#1}\@awardtrue%
+    \ignorespaces%
 }
 \def\version#1{%
-    \ifthenelse{\equal{}{#1}}{%
-        \message{^^JWARNING: ignoring empty 'version' argument.^^J}%
-    }{%
-        \version at tk={#1}\@versiontrue%
-        \ignorespaces%
-    }%
+    \@cpd at warnIfEmpty{#1}{version}%
+    \version at tk={#1}\@versiontrue%
+    \ignorespaces%
 }
 \def\after#1{%
-    \ifthenelse{\equal{}{#1}}{%
-        \message{^^JWARNING: ignoring empty 'after' argument.^^J}%
-    }{%
-        \after at tk={#1}\@aftertrue%
-        \ignorespaces%
-    }%
+    \@cpd at warnIfEmpty{#1}{after}%
+    \after at tk={#1}\@aftertrue%
+    \ignorespaces%
 }
 \def\correction#1{%
-    \ifthenelse{\equal{}{#1}}{%
-        \message{^^JWARNING: ignoring empty 'correction' argument.^^J}%
-    }{%
-        \correction at tk={#1}\@correctiontrue%
-        \ignorespaces%
-    }%
+    \@cpd at warnIfEmpty{#1}{correction}%
+    \correction at tk={#1}\@correctiontrue%
+    \ignorespaces%
 }
 \def\dedication#1{%
-    \ifthenelse{\equal{}{#1}}{%
-        \message{^^JWARNING: ignoring empty 'correction' argument.^^J}%
-    }{%
-        \dedic at tk={#1}\@dedicationtrue%
-        \ignorespaces%
-    }%
+    \@cpd at warnIfEmpty{#1}{dedication}%
+    \dedic at tk={#1}\@dedicationtrue%
+    \ignorespaces%
 }
 \def\fidealbum#1{%
    \fidealbum at tk={#1}\@fidealbumtrue%
@@ -1321,7 +1333,7 @@
    \parskip\tw@\p@%
    {\bfseries%
       \noindent\if at label\showlabel{\the\label at tk}\fi%
-      \the\number at tk) %
+      \if at number\the\number at tk) \fi%
       \ifauth at r%
          \ifnormal at names%
             \the\aut at tk%



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