summaryrefslogtreecommitdiff
path: root/macros/latex/contrib
diff options
context:
space:
mode:
Diffstat (limited to 'macros/latex/contrib')
-rw-r--r--macros/latex/contrib/hyperref/ChangeLog.txt3
-rw-r--r--macros/latex/contrib/hyperref/backref.pdfbin127581 -> 127581 bytes
-rw-r--r--macros/latex/contrib/hyperref/doc/manual.pdfbin286698 -> 286698 bytes
-rw-r--r--macros/latex/contrib/hyperref/doc/options.pdfbin30252 -> 30252 bytes
-rw-r--r--macros/latex/contrib/hyperref/hyperref.dtx44
-rw-r--r--macros/latex/contrib/hyperref/hyperref.pdfbin2461806 -> 2463277 bytes
-rw-r--r--macros/latex/contrib/hyperref/nameref.pdfbin125513 -> 125513 bytes
-rw-r--r--macros/latex/contrib/tugboat/README4
-rw-r--r--macros/latex/contrib/tugboat/ltubguid.ltx109
-rw-r--r--macros/latex/contrib/tugboat/ltubguid.pdfbin324851 -> 325091 bytes
-rw-r--r--macros/latex/contrib/tugboat/tugboat.bst21
-rw-r--r--macros/latex/contrib/tugboat/tugboat.dtx61
-rw-r--r--macros/latex/contrib/tugboat/tugboat.ins7
-rw-r--r--macros/latex/contrib/tugboat/tugboat.pdfbin460956 -> 461276 bytes
-rw-r--r--macros/latex/contrib/xsim/README3
-rw-r--r--macros/latex/contrib/xsim/code/xsim.auxfile.code.tex8
-rw-r--r--macros/latex/contrib/xsim/code/xsim.base.code.tex14
-rw-r--r--macros/latex/contrib/xsim/code/xsim.collections.code.tex4
-rw-r--r--macros/latex/contrib/xsim/code/xsim.environments.code.tex2
-rw-r--r--macros/latex/contrib/xsim/code/xsim.exercises.code.tex4
-rw-r--r--macros/latex/contrib/xsim/code/xsim.goals.code.tex6
-rw-r--r--macros/latex/contrib/xsim/code/xsim.interface.code.tex24
-rw-r--r--macros/latex/contrib/xsim/code/xsim.properties.code.tex4
-rw-r--r--macros/latex/contrib/xsim/code/xsim.sty4
-rw-r--r--macros/latex/contrib/xsim/code/xsim.translations.code.tex25
-rw-r--r--macros/latex/contrib/xsim/doc/examples/xsim.texsx-498299.pdfbin0 -> 42513 bytes
-rw-r--r--macros/latex/contrib/xsim/doc/examples/xsim.texsx-498299.tex75
-rw-r--r--macros/latex/contrib/xsim/doc/xsim-manual.cls14
-rw-r--r--macros/latex/contrib/xsim/doc/xsim.history3
-rw-r--r--macros/latex/contrib/xsim/doc/xsim_manual.pdfbin1229505 -> 1232911 bytes
-rw-r--r--macros/latex/contrib/xsim/doc/xsim_manual.tex24
31 files changed, 325 insertions, 138 deletions
diff --git a/macros/latex/contrib/hyperref/ChangeLog.txt b/macros/latex/contrib/hyperref/ChangeLog.txt
index c93958e5eb..b0c661dd10 100644
--- a/macros/latex/contrib/hyperref/ChangeLog.txt
+++ b/macros/latex/contrib/hyperref/ChangeLog.txt
@@ -1,3 +1,6 @@
+2019-11-10 David Carlisle
+ * adjust vtex guards for issue #108
+
2019-11-06 David Carlisle
* don't load hobsub-hyperref,ifpdf,ifluatex,ifxetex,ifvtex
do load new iftex
diff --git a/macros/latex/contrib/hyperref/backref.pdf b/macros/latex/contrib/hyperref/backref.pdf
index 37bf795e69..2e4a60a3f5 100644
--- a/macros/latex/contrib/hyperref/backref.pdf
+++ b/macros/latex/contrib/hyperref/backref.pdf
Binary files differ
diff --git a/macros/latex/contrib/hyperref/doc/manual.pdf b/macros/latex/contrib/hyperref/doc/manual.pdf
index ceee2cc8d6..d5c51b278d 100644
--- a/macros/latex/contrib/hyperref/doc/manual.pdf
+++ b/macros/latex/contrib/hyperref/doc/manual.pdf
Binary files differ
diff --git a/macros/latex/contrib/hyperref/doc/options.pdf b/macros/latex/contrib/hyperref/doc/options.pdf
index d5d92d0e31..3fd0851757 100644
--- a/macros/latex/contrib/hyperref/doc/options.pdf
+++ b/macros/latex/contrib/hyperref/doc/options.pdf
Binary files differ
diff --git a/macros/latex/contrib/hyperref/hyperref.dtx b/macros/latex/contrib/hyperref/hyperref.dtx
index 5fa0f2e608..0a1965bfd7 100644
--- a/macros/latex/contrib/hyperref/hyperref.dtx
+++ b/macros/latex/contrib/hyperref/hyperref.dtx
@@ -49,7 +49,7 @@
%<puvnenc>\ProvidesFile{puvnenc.def}
%<puarenc>\ProvidesFile{puarenc.def}
%<psdextra>\ProvidesFile{psdextra.def}
-%<!none> [2019/11/06 v7.00b %
+%<!none> [2019/11/10 v7.00c %
%<package> Hypertext links for LaTeX]
%<nohyperref> Dummy hyperref (SR)]
%<driver> Hyperref documentation driver file]
@@ -7415,26 +7415,24 @@
\ifx\Hy@driver\@empty
\else
\def\Hy@temp{hvtexhtm}%
- \ifvtex
- \ifnum\OpMode=10 %
- \ifx\Hy@driver\Hy@temp
- \else
- \Hy@WarningNoLine{%
- Wrong driver `\Hy@driver.def';\MessageBreak
- VTeX is running in HTML mode.\MessageBreak
- Forcing driver `\Hy@temp.def'%
- }%
- \let\Hy@driver\Hy@temp
- \fi
+ \ifnum\ifvtex\OpMode\else\m@ne\fi=10 %
+ \ifx\Hy@driver\Hy@temp
\else
- \ifx\Hy@driver\Hy@temp
- \Hy@WarningNoLine{%
- Wrong driver `\Hy@driver.def';\MessageBreak
- VTeX is not running in HTML mode.\MessageBreak
- Using default driver%
- }%
- \let\Hy@driver\@empty
- \fi
+ \Hy@WarningNoLine{%
+ Wrong driver `\Hy@driver.def';\MessageBreak
+ VTeX is running in HTML mode.\MessageBreak
+ Forcing driver `\Hy@temp.def'%
+ }%
+ \let\Hy@driver\Hy@temp
+ \fi
+ \else
+ \ifx\Hy@driver\Hy@temp
+ \Hy@WarningNoLine{%
+ Wrong driver `\Hy@driver.def';\MessageBreak
+ VTeX is not running in HTML mode.\MessageBreak
+ Using default driver%
+ }%
+ \let\Hy@driver\@empty
\fi
\fi
\fi
@@ -7457,7 +7455,7 @@
\ifxetex
\def\Hy@driver{hxetex}%
\else
- \ifnum\OpMode=10 %
+ \ifnum\ifvtex\OpMode\else\m@ne\fi=10 %
\def\Hy@driver{hvtexhtm}%
\def\MaybeStopEarly{%
\Hy@Message{Stopped early}%
@@ -7468,10 +7466,10 @@
\endinput
}%
\else
- \ifnum\OpMode=\@ne
+ \ifnum\ifvtex\OpMode\else\m@ne\fi=\@ne
\def\Hy@driver{hvtex}%
\else
- \ifnum\OpMode=\tw@
+ \ifnum\ifvtex\OpMode\else\m@ne\fi=\tw@
\def\Hy@driver{hvtex}%
\else
\ifx\HyOpt@DriverFallback\ltx@empty
diff --git a/macros/latex/contrib/hyperref/hyperref.pdf b/macros/latex/contrib/hyperref/hyperref.pdf
index 5718fa167b..ad74de3f04 100644
--- a/macros/latex/contrib/hyperref/hyperref.pdf
+++ b/macros/latex/contrib/hyperref/hyperref.pdf
Binary files differ
diff --git a/macros/latex/contrib/hyperref/nameref.pdf b/macros/latex/contrib/hyperref/nameref.pdf
index e3ba587456..8a845a6801 100644
--- a/macros/latex/contrib/hyperref/nameref.pdf
+++ b/macros/latex/contrib/hyperref/nameref.pdf
Binary files differ
diff --git a/macros/latex/contrib/tugboat/README b/macros/latex/contrib/tugboat/README
index 11e6e50e24..bed52cdfdb 100644
--- a/macros/latex/contrib/tugboat/README
+++ b/macros/latex/contrib/tugboat/README
@@ -1,5 +1,5 @@
-$Id: README 205 2018-09-06 17:28:53Z karl $
-Copyright 2006, 2009-2018 TeX Users Group.
+$Id: README 261 2019-11-09 22:00:31Z karl $
+Copyright 2006, 2009-2019 TeX Users Group.
You may freely use, modify and/or distribute this file.
LaTeX macros for use in TUGboat
diff --git a/macros/latex/contrib/tugboat/ltubguid.ltx b/macros/latex/contrib/tugboat/ltubguid.ltx
index dcb817f014..906789bf28 100644
--- a/macros/latex/contrib/tugboat/ltubguid.ltx
+++ b/macros/latex/contrib/tugboat/ltubguid.ltx
@@ -1,8 +1,7 @@
-% $Id: ltubguid.ltx 216 2018-12-13 21:40:11Z karl $
+% $Id: ltubguid.ltx 261 2019-11-09 22:00:31Z karl $
% ltubguid.ltx - documentation for ltugboat classes.
%
-% Copyright 1994,1995,1996,2001,2005,2006,2010,2013,2014,2017,2018
-% TeX Users Group.
+% Copyright 1994-2019 TeX Users Group.
%
% This file is part of the tugboat package.
%
@@ -313,7 +312,8 @@ the same treatment).
Authors may note that the style of ordinary issues of \TUB{} makes
no distinction between the titles of the divisions; the visual style
relies on the section numbers to indicate where the divisions lie in
-the hierarchy.
+the hierarchy. If you use \cs{paragraph}, consider ending the paragraph
+label with a period; sometimes it is helpful, sometimes not.
Reference may, however, be made to the `title' of divisions of the
paper, whether they are numbered or not. The \cs{nameref} command
@@ -525,19 +525,35 @@ as \pkgname{verbatim}~\cite{Schoepf:verbatim:1996},
\TUB\ optional-argument feature is not available.
If you use the \pkgname{listings} package, please specify:
-\begin{verbatim}
-\lstset{columns=flexible}
-\end{verbatim}
-The other values for the \verb|columns| option don't work well in
-\TUB. Also, if you use \cs{small} for displayed verbatim, please reset
-inline verbatim to the normal text size:
\begin{verbatim}[\small]
-\lstset{columns=flexible,
+\lstset{columns=flexible, keepspaces=true,
+ commentstyle=\slshape,
basicstyle=\ttfamily\small}
\lstdefinestyle{inline}
- {basicstyle=\ttfamily\normalsize}
+ {basicstyle=\ttfamily\normalsize}
\end{verbatim}
+Explanations:
+\begin{itemize}
+\item \texttt{columns=flexible}:
+The other values for the \verb|columns| option don't work well in \TUB.
+
+\item \texttt{keepspaces=true}:
+However, having flexible columns makes spaces in the input not
+necessarily correspond to spaces in the output. That's usually desired,
+for alignment of the sources, hence \texttt{keepspaces}.
+
+\item \texttt{commentstyle=\cs{slshape}}:
+We prefer slanted to Computer Modern typewriter italic.
+Using regular upright typewriter for comments is fine too.
+
+\item \texttt{basicstyle=...}:
+We usually prefer \cs{small} for displayed verbatim; when using
+\texttt{listings}, it is necessary to reset inline verbatim to the
+normal text size.
+
+\end{itemize}
+
\section{Floating inserts}
The classes do not make any change to \LaTeX{}'s built-in provision
@@ -592,7 +608,6 @@ and of course the class sources are the ultimate reference.
\verb|\MacOSX| & \MacOSX \\
\verb|\MathML| & \MathML \\
\verb|\MF| & \MF \\
- \verb|\MP| & \MP \\
\verb|\OMEGA| & \OMEGA \\
\verb|\PDF| & \PDF \\
\verb|\SGML| & \SGML \\
@@ -641,14 +656,16 @@ the `everyday' ones.
\section{Use of packages}
-In general, authors can use non-standard packages in their papers.
-However, the paper does need to be processable on the \TUB{} production
-computers (running current \TeX\ Live). A sensible mechanism for
-submitting out-of-the-ordinary packages (as for paper-specific
-bibliographies) is by use of the \envname{filecontents} environment.
+Being a \TeX\ journal, authors may use both standard and non-standard
+external packages for their articles. The overriding criterion is that
+articles need to be processable on the \TUB{} production computers
+(running current \TeX\ Live). A sensible mechanism for submitting
+personal packages is by use of the \envname{filecontents} environment.
+It's also fine to submit manuscript source with additional packages in a
+zip or other archive.
In general, packages currently on \CTAN, and known to work with
-\emph{current} \LaTeX{} are unlikely to give problems. In particular,
+\emph{current} \LaTeX{} are likely to be fine. In particular,
the team is happy to accept papers using packages that are supported by
members of the \LaTeX3 team,\footnote{%
Those in the \LaTeX{} base distribution, or one of those in the
@@ -658,33 +675,29 @@ mentioned (section~\ref{sec:verbatim}): that use of the standard
facilities provided by the \TUB\ classes.
\tug{} has a policy that macro packages described in \TUB{} should be
-available for readers to use. Since typing macros from printed
-sources is such an error-prone undertaking, authors of publicly
-available packages are urged to submit their macros to the \CTAN{}
-archives. If a package is only available under restricted terms,
-authors are urged to make this fact clear when first submitting an
-article to the editor.
-
-At present, the list of canonically recommended packages consists of
-only two, \path|mflogo.sty| \cite{Vieth:mflogo:1995} and \path|url.sty|
-\cite{Arseneau:url:1996}.
-
-Both classes will load the \pkgname{mflogo} package if it is present on the
-author's system; if the package is not present, the classes will
-emulate its more important features; the package defines \MF{} and
-\MP{} logos using recent versions of Knuth's \verb|logo10| font family.
-
-The \pkgname{url} package is useful when one is typesetting significant
-numbers of file names, network addresses or \acro{URL}s; it is being
-used in the present paper (not least in the bibliography). Speaking of
-urls, nowadays we generally omit a leading \texttt{http://} or
-\texttt{https://}.
+available for readers to use. Since typing macros from printed sources
+is a tedious undertaking, authors of publicly available packages are
+urged to submit their macros to \CTAN{}. If a package is only available
+under restricted terms, authors are requested to make this fact clear
+when first submitting an article to the editor.
+
+The \texttt{ltugboat} class loads the package \path|mflogo.sty|
+\cite{Vieth:mflogo:1995} for typesetting the \MF\ logo. (If this package
+is not present by some mischance, \texttt{ltugboat} will emulate its
+important feature.)
+
+An additional canonically-recommended package is \path|url.sty|
+\cite{Arseneau:url:1996}, for typesetting filenames, email addresses,
+urls, etc.; it is being used throughout the present paper (not least in
+the bibliography). Speaking of urls, nowadays we generally omit a
+leading \texttt{http://} or \texttt{https://}.
Although not necessarily recommended in all cases, many additional
packages are commonly used. To mention a few: \texttt{microtype} can
help reduce overfull boxes; sometimes it may be preferable to use the
-Latin Modern fonts via \texttt{lmodern}; and \texttt{hyperref} allows
-for many internal links and other features.
+Latin Modern fonts via \texttt{lmodern}; \texttt{iftex} provides tests
+for the \TeX\ engine being run; and \texttt{hyperref} supports live and
+internal hyperlinks, outlines, and many other features.
\section{Bibliography}
\label{sec:biblio}
@@ -712,7 +725,7 @@ though, you may enjoy the following small but useful features:
\item The \textsf{url} field is ignored if either the \textsf{doi} or
\textsf{howpublished} field is present, since in practice we observe
that people put the same information in all those fields, and we don't
-want to use up space typesetting redundant information.
+typeset redundant information.
\item Has even more abbreviations than \textsf{abbrv}, including
printing only two author names (plus ``et~al\@.'') if there are more
@@ -723,8 +736,9 @@ than four authors (thanks to Mico Loretan).
\item For completeness only: \verb|tugboat.bst| provides ``secret''
fields \textsf{newpage} to force a page break after the current item,
and \textsf{urlnewline} to force a line break before the \textsf{url}
-value. We've found that these presentation tweaks are often necessary
-for the final typeset output. Authors need not worry about them.
+value. As editors, we've found that these presentation tweaks are often
+necessary for the final typeset output. Authors need not worry about
+them.
\end{itemize}
@@ -744,9 +758,8 @@ set \cs{sloppy}, by default (just like \LaTeX{}), but the author may
\end{verbatim}
as the present article does, to achieve somewhat better results.
-A last note for bibliographies: for references to other issues of \TUB,
-please use the format \textsl{volno:issno}, e.g., ``\TUB\ 32:1'' for
-volume~32, number~1.
+A last note for references: for \TUB\ issues, please use the format
+\textsl{volno\,:\,issno}, e.g., ``\TUB\ 32:1'' for volume~32, number~1.
\section{Non-recommended bibliography facilities}
diff --git a/macros/latex/contrib/tugboat/ltubguid.pdf b/macros/latex/contrib/tugboat/ltubguid.pdf
index 48f978eb90..96524d71f7 100644
--- a/macros/latex/contrib/tugboat/ltubguid.pdf
+++ b/macros/latex/contrib/tugboat/ltubguid.pdf
Binary files differ
diff --git a/macros/latex/contrib/tugboat/tugboat.bst b/macros/latex/contrib/tugboat/tugboat.bst
index ad73920cb9..3be31fa97e 100644
--- a/macros/latex/contrib/tugboat/tugboat.bst
+++ b/macros/latex/contrib/tugboat/tugboat.bst
@@ -1,14 +1,15 @@
-%%% $Id: tugboat.bst 210 2018-10-29 18:04:16Z karl $
+%%% $Id: tugboat.bst 261 2019-11-09 22:00:31Z karl $
%%% TUGboat changes are public domain.
%%%
%%% Modified for TUGboat from abbrvurl.bst:
-%%% abbreviate "page(s)" to "p(p).",
+%%% Abbreviate "page(s)" to "p(p).",
%%% "volume" to "vol.",
%%% "editor(s)" to "ed(s)".
-%%% urlintro=""
-%%% reduce long author lists in format.names per Mico.
-%%% new fields for editors:
-%%% "newpage" - force page break after entry
+%%% Set urlintro="".
+%%% Output "Ph.D." rather than "PhD".
+%%% Reduce long author lists in format.names per Mico Loretan.
+%%% New fields for editors:
+%%% "newpage" - force page break after entry;
%%% "urlnewline" - force line break before url value.
%%% --karl, originally created 24jul18.
%%%
@@ -22,7 +23,7 @@
%%% Added hyperref support.
%%% Original headers follow...
-% BibTeX standard bibliography style `abbrv'
+% [was] BibTeX standard bibliography style `abbrv'
% version 0.99a for BibTeX versions 0.99a or later, LaTeX version 2.09.
% Copyright (C) 1985, all rights reserved.
% Copying of this file is authorized only if either
@@ -580,8 +581,8 @@ FUNCTION {format.pages}
{ pages empty$
{ "" }
{ pages multi.page.check
- { "pp." pages n.dashify tie.or.space.connect }
- { "p." pages tie.or.space.connect }
+ { "pp.~" pages n.dashify * }
+ { "p.~" pages * }
if$
}
if$
@@ -1183,7 +1184,7 @@ FUNCTION {phdthesis}
title empty$ 'skip$ 'possibly.setup.inlinelink if$ % urlbst
format.btitle "title" output.check
new.block
- "PhD thesis" format.thesis.type output.nonnull
+ "Ph.D. thesis" format.thesis.type output.nonnull
school "school" output.check
address output
format.date "year" output.check
diff --git a/macros/latex/contrib/tugboat/tugboat.dtx b/macros/latex/contrib/tugboat/tugboat.dtx
index 176107a4d9..973d05a646 100644
--- a/macros/latex/contrib/tugboat/tugboat.dtx
+++ b/macros/latex/contrib/tugboat/tugboat.dtx
@@ -1,8 +1,8 @@
% \iffalse (this is a meta-comment (so they say))
-% $Id: tugboat.dtx 217 2018-12-14 18:48:06Z karl $
+% $Id: tugboat.dtx 261 2019-11-09 22:00:31Z karl $
% tugboat.dtx - main source for LaTeX TUGboat classes.
%
-% Copyright 1994-2018 TeX Users Group.
+% Copyright 1994-2019 TeX Users Group.
%
% This file is part of the tugboat package.
%
@@ -28,7 +28,7 @@
%<ltugboatsty>\ProvidesPackage{ltugboat}
%<ltugprocsty>\ProvidesPackage{ltugproc}
%<ltugcomn> \ProvidesPackage{ltugcomn}
- [2018-12-14 v2.21
+ [2019-11-09 v2.22
%<ltugboatcls> TUGboat journal class%
%<ltugproccls> TUG conference proceedings class%
%<ltugboatsty|ltugprocsty> TUG compatibility package%
@@ -65,8 +65,8 @@
%
\usepackage{array,longtable}
%
-% if longtable.sty is the most recent, then it doesn't need
-% \cs{setlongtables}, so we avoid the setlong.tab game
+% If longtable.sty is not ancient, then it doesn't need
+% \cs{setlongtables}, so we avoid the setlong.tab game.
\GetFileInfo{longtable.sty}
\def\extractdate#1/#2/#3\relax{\def\fileyear{#1}%
\def\filemonth{#2}%
@@ -671,6 +671,9 @@
}
\def\BibLaTeX{\Bib\kern.02em \LaTeX}
\def\BibTeX{\Bib\kern-.08em \TeX}
+% no good way to determine bold font, and we want to lose the kern, too:
+% (we \let BibTeX to this in maketitle)
+\def\bfBibTeX{B{\SMC\SMC IB}\TeX}
%
\def\BSD{\acro{BSD}}
\def\CandT{\textsl{Computers \& Typesetting}}
@@ -697,7 +700,8 @@
\def\DVItoVDU{DVIto\kern-.12em VDU}
\def\ECMA{\acro{ECMA}}
\def\EPS{\acro{EPS}}
-\DeclareRobustCommand{\eTeX}{\ensuremath{\varepsilon}-\kern-.125em\TeX}
+% no line break at this hyphen please
+\DeclareRobustCommand{\eTeX}{\ensuremath{\varepsilon}\mbox{-}\kern-.125em\TeX}
\DeclareRobustCommand{\ExTeX}{%
\ensuremath{\textstyle\varepsilon_{\kern-0.15em\cal{X}}}\kern-.2em\TeX}
\def\FAQ{\acro{FAQ}}
@@ -708,6 +712,7 @@
\def\Hawaii{Hawai`i}
\def\HTML{\acro{HTML}}
\def\HTTP{\acro{HTTP}}
+\def\iOS{i\acro{OS}}
\def\IDE{\acro{IDE}}
\def\IEEE{\acro{IEEE}}
\def\ISBN{\acro{ISBN}}
@@ -748,17 +753,22 @@
%
% \begin{macrocode}
%<!latex>\def\LaTeX{\La\kern-.15em\TeX}
+\def\LuaHBTeX{Lua\acro{HB}\-\TeX}%
+\def\LuaHBLaTeX{Lua\acro{HB}\-\LaTeX}%
+\def\LuaLaTeX{Lua\-\LaTeX}% dtk-logos defines it and people like to use it
+\def\LuaTeX{Lua\-\TeX}% ditto
\def\LyX{L\kern-.1667em\lower.25em\hbox{Y}\kern-.125emX}
+\def\macOS{mac\acro{OS}}
\def\MacOSX{Mac\,\acro{OS\,X}}
\def\MathML{Math\acro{ML}}
\def\Mc{\setbox\TestBox=\hbox{M}M\vbox
to\ht\TestBox{\hbox{c}\vfil}} % for Robert McGaffey
% \end{macrocode}
%
-% If we're running under \LaTeXe, we're using (at least pro tem) Ulrik
-% Vieth's |mflogo.sty| if it's present. Otherwise, we're using a
-% short extract of Vieth's stuff. Either way, we don't need to
-% specify \cs{MF} or \cs{MP}
+% If we're running under \LaTeXe, we use Ulrik Vieth's |mflogo.sty| if
+% it's present. Otherwise, we're using a short extract of Vieth's
+% stuff. Either way, we don't need to specify \cs{MF} or \cs{MP}.
+%
% \begin{macrocode}
\def\mf{\textsc{Metafont}}
\def\MFB{\textsl{The \MF\kern1pt book}}
@@ -791,6 +801,8 @@
\def\pcMF{\leavevmode\raise.5ex\hbox{p\kern-.3\p@ c}MF\@}
\def\PCTeX{PC\thinspace\TeX}
\def\pcTeX{\leavevmode\raise.5ex\hbox{p\kern-.3\p@ c}\TeX}
+\def\pdflatex{pdf\-\LaTeX}% dtk-logos
+\def\pdftex{pdf\-\TeX}% dtk-logos
\def\PDF{\acro{PDF}}
\def\PGF{\acro{PGF}}
\def\PHP{\acro{PHP}}
@@ -824,7 +836,7 @@
\def\TeXworks{\TeX\kern-.07em works}
\def\TeXXeT{\TeX-{}-\XeT}
\def\TFM{\acro{TFM}}
-\expandafter\ifx\csname XeTeXrevision\endcsname\relax
+\ifx\Umathchardef\@thisisundefined % xetex|luatex
\def\Thanh{H\`an~Th\^e\llap{\raise 0.5ex\hbox{\'{}}}~Th\`anh}% non-XeTeX
\else
\def\Thanh{H\`an~Th\textcircumacute{e}~Th\`anh}% else xunicode drops the acute
@@ -874,6 +886,12 @@
\DeclareRobustCommand{\Xe}{\leavevmode
\tubhideheight{\hbox{X%
\setbox0=\hbox{\TeX}\setbox1=\hbox{E}%
+ \ifdim \fontdimen1\font>0pt
+ % XeTeX logo needs tinkering when slanted/italic font.
+ \def\XekernbeforeE{-.11em}%
+ \def\XekernafterE{-.11em}%
+ \dp1=-.17ex
+ \fi
\lower\dp0\hbox{\raise\dp1\hbox{\kern\XekernbeforeE\tubreflect{E}}}%
\kern\XekernafterE}}}
\def\XeTeX{\Xe\TeX}
@@ -1154,6 +1172,15 @@
% but fine, just keeping it.
\DeclareRobustCommand{\thinskip}{\hskip 0.16667em\relax}
%
+% Make \! work in text mode.
+\DeclareRobustCommand{\!}{\ifmmode\mskip-\thinmuskip \else\kern-0.16667em \fi}
+%
+% Half a thinspace.
+\DeclareRobustCommand{\tubthinnerspace}
+ {\ifmmode\mskip.5\thinmuskip \else\kern0.08333em \fi}
+\DeclareRobustCommand{\tubthinnerspaceneg}
+ {\ifmmode\mskip-.5\thinmuskip \else\kern-0.08333em \fi}
+%
% \end{macrocode}
%
% We play a merry game with dashes, providing all conceivable options
@@ -2277,7 +2304,10 @@
\let\and=\quad
\ignorespaces\@author}%
{%
- \noindent\bf\raggedright\ignorespaces\frenchspacing\@title\endgraf
+ \noindent\bf\raggedright\ignorespaces\frenchspacing
+ \let\BibTeX=\bfBibTeX % else LaTeX Font Warning:
+ % Font shape `OT1/cmr/bx/sc' undefined
+ \@title\endgraf
}%
\ifdim \wd0 < 5\p@ % omit if author is null
\else
@@ -2484,7 +2514,7 @@
%
% \begin{macrocode}
\def\TBtocsectionfont{\normalfont}
-\newskip\TBtocsectionspace \TBtocsectionspace=1.0em\@plus\p@
+\newskip\TBtocsectionspace \TBtocsectionspace=1.0ex\@plus\p@
% \end{macrocode}
%
% \begin{macrocode}
@@ -3212,9 +3242,11 @@
}
% put issue identification and page number in header.
\def\@oddhead{\MakeRegistrationMarks
+ \frenchspacing
\normalsize\csname normalshape\endcsname\rm \tubheadhook
\rtitlex\qquad \midrtitle\hfil \rtitlenexttopage\quad \thepage}
\def\@evenhead{\MakeRegistrationMarks
+ \frenchspacing
\normalsize\csname normalshape\endcsname\rm \tubheadhook
\thepage \quad\rtitlenexttopage \hfil\midrtitle \qquad\rtitlex}
@@ -3222,6 +3254,7 @@
\def\tubheadhook{}
% in case the official \author is too verbose for the footline.
+% (the \shortauthor / \rhAuthor stuff is only enabled for proceedings, fix!)
\def\tubrunningauthor{\@author}
% put title and author in footer.
@@ -3231,7 +3264,7 @@
\let\newline=\\%
\frenchspacing
\hfil\rhTitle}
- \def\@evenfoot{\tubrunningauthor\hfil}
+ \def\@evenfoot{\frenchspacing \let\thanks\@gobble \tubrunningauthor\hfil}
}
% empty footer.
diff --git a/macros/latex/contrib/tugboat/tugboat.ins b/macros/latex/contrib/tugboat/tugboat.ins
index 72b4f4f184..4aabebdd9b 100644
--- a/macros/latex/contrib/tugboat/tugboat.ins
+++ b/macros/latex/contrib/tugboat/tugboat.ins
@@ -1,10 +1,10 @@
-% $Id: tugboat.ins 210 2018-10-29 18:04:16Z karl $
+% $Id: tugboat.ins 261 2019-11-09 22:00:31Z karl $
% tugboat.ins
%% This file will generate fast loadable files and documentation
%% driver files from the doc files in this package when run through
%% LaTeX or TeX.
%%
-%% Copyright 1994-2018 TeX Users Group.
+%% Copyright 1994-2019 TeX Users Group.
%%
%% This file is part of the tugboat package.
%%
@@ -38,7 +38,7 @@
This is a generated file.
-Copyright 1994-2018 TeX Users Group.
+Copyright 1994-2019 TeX Users Group.
It may be distributed and/or modified under the
conditions of the LaTeX Project Public License, either version 1.3
@@ -79,7 +79,6 @@ extension .ins) which are part of the distribution.
\Msg{* files into a directory searched by TeX:}
\Msg{* \space\space All *.sty and all *.cls}
\Msg{*}
-\Msg{* And move ltugbib.bst to a directory searched by BibTeX.}
\Msg{***********************************************************}
\endinput
diff --git a/macros/latex/contrib/tugboat/tugboat.pdf b/macros/latex/contrib/tugboat/tugboat.pdf
index f5e9d3068d..afdef4195d 100644
--- a/macros/latex/contrib/tugboat/tugboat.pdf
+++ b/macros/latex/contrib/tugboat/tugboat.pdf
Binary files differ
diff --git a/macros/latex/contrib/xsim/README b/macros/latex/contrib/xsim/README
index 68012b839a..0aa35c006f 100644
--- a/macros/latex/contrib/xsim/README
+++ b/macros/latex/contrib/xsim/README
@@ -1,5 +1,5 @@
--------------------------------------------------------------------------
-XSIM 2019/11/02 v0.15
+XSIM 2019/11/10 v0.16
eXercise Sheets IMproved
@@ -83,6 +83,7 @@ The xsim package consists of the example files:
xsim.texsx-370642.tex, xsim.texsx-370642.pdf
xsim.texsx-391530.tex, xsim.texsx-391530.pdf
xsim.texsx-395273.tex, xsim.texsx-395273.pdf
+ xsim.texsx-498299.tex, xsim.texsx-498299.pdf,
xsim.texwelt-6698.tex, xsim.texwelt-6698.pdf
xsim.texwelt-15093.tex, xsim.texwelt-15093.pdf
xsim.texwelt-23968.tex, xsim.texwelt-23968.pdf
diff --git a/macros/latex/contrib/xsim/code/xsim.auxfile.code.tex b/macros/latex/contrib/xsim/code/xsim.auxfile.code.tex
index 8018694616..d308a9ccc3 100644
--- a/macros/latex/contrib/xsim/code/xsim.auxfile.code.tex
+++ b/macros/latex/contrib/xsim/code/xsim.auxfile.code.tex
@@ -58,7 +58,7 @@
\xsim_write_to_aux:x { \token_to_str:N \XSIM {#1} #2 }
}
-\AtBeginDocument
+\xsim_at_begin_document:n
{
\iow_now:Nx \@auxout
{ \token_to_str:N \providecommand \token_to_str:N \XSIM [1] {} }
@@ -69,7 +69,7 @@
\xsim_if_use_aux:F
{
\iow_new:N \l__xsim_aux_file_iow
- \AtBeginDocument
+ \xsim_at_begin_document:n
{ \iow_open:Nn \l__xsim_aux_file_iow { \c_sys_jobname_str .xsim } }
}
@@ -117,7 +117,7 @@
{ \prop_gput:cnn {g__xsim_list_#1_prop} {####1} {} }
}
}
- \AtBeginDocument
+ \xsim_at_begin_document:n
{
\seq_gclear:c {g__xsim_list_recorded_#1_seq}
\seq_set_eq:Nc \l__xsim_tmpa_seq {g__xsim_list_#1_seq}
@@ -178,7 +178,7 @@
\cs_new_protected:Npn \xsim_empty_lists:
{ \bool_set_true:N \l__xsim_empty_lists_bool }
-% update list -- should be used inside \AtEndDocument:
+% update list (should be used inside \xsim_at_end_document:n):
% #1: name
\cs_new_protected:Npn \xsim_update_list:n #1
{
diff --git a/macros/latex/contrib/xsim/code/xsim.base.code.tex b/macros/latex/contrib/xsim/code/xsim.base.code.tex
index df767976b6..b1fa20bff7 100644
--- a/macros/latex/contrib/xsim/code/xsim.base.code.tex
+++ b/macros/latex/contrib/xsim/code/xsim.base.code.tex
@@ -27,6 +27,20 @@
% ----------------------------------------------------------------------------
\XSIMmodule{base}{basic functionality of the package}
+\tl_new:N \g_xsim_end_document_hook_tl
+\tl_new:N \g_xsim_begin_document_hook_tl
+
+\AtBeginDocument { \tl_use:N \g_xsim_begin_document_hook_tl }
+\AtEndDocument { \tl_use:N \g_xsim_end_document_hook_tl }
+
+\cs_new_protected:Npn \xsim_at_begin_document:n #1
+ { \tl_gput_right:Nn \g_xsim_begin_document_hook_tl {#1} }
+
+\cs_new_protected:Npn \xsim_at_end_document:n #1
+ { \tl_gput_right:Nn \g_xsim_end_document_hook_tl {#1} }
+
+% ----------------------------------------------------------------------------
+
\xsim_load_modules:n {auxfile}
% ----------------------------------------------------------------------------
diff --git a/macros/latex/contrib/xsim/code/xsim.collections.code.tex b/macros/latex/contrib/xsim/code/xsim.collections.code.tex
index 3f5d2a1b86..3097981b74 100644
--- a/macros/latex/contrib/xsim/code/xsim.collections.code.tex
+++ b/macros/latex/contrib/xsim/code/xsim.collections.code.tex
@@ -380,13 +380,13 @@
% ----------------------------------------------------------------------------
-\AtBeginDocument
+\xsim_at_begin_document:n
{
\xsim_get_collections:
\xsim_activate_collection:n {all~ exercises}
}
-\AtEndDocument
+\xsim_at_end_document:n
{
\xsim_deactivate_collection:n {all~ exercises}
\xsim_foreach_collection:n { \xsim_update_list:n {collection:#1} }
diff --git a/macros/latex/contrib/xsim/code/xsim.environments.code.tex b/macros/latex/contrib/xsim/code/xsim.environments.code.tex
index daaae03211..2f9c870b71 100644
--- a/macros/latex/contrib/xsim/code/xsim.environments.code.tex
+++ b/macros/latex/contrib/xsim/code/xsim.environments.code.tex
@@ -404,7 +404,7 @@
}
}
}
-\cs_generate_variant:Nn \xsim_insert:nnnn {nV,VV,nnnV}
+\cs_generate_variant:Nn \xsim_insert:nnnn {nV,VV,nnnV,xx}
% #1: type
% #2: id
diff --git a/macros/latex/contrib/xsim/code/xsim.exercises.code.tex b/macros/latex/contrib/xsim/code/xsim.exercises.code.tex
index 9eb469fee4..f9cb706410 100644
--- a/macros/latex/contrib/xsim/code/xsim.exercises.code.tex
+++ b/macros/latex/contrib/xsim/code/xsim.exercises.code.tex
@@ -540,7 +540,7 @@
}
}
-\AtBeginDocument
+\xsim_at_begin_document:n
{
\xsim_foreach_exercise_type:n
{
@@ -549,7 +549,7 @@
}
}
-\AtEndDocument
+\xsim_at_end_document:n
{
\xsim_if_clear_aux:T
{
diff --git a/macros/latex/contrib/xsim/code/xsim.goals.code.tex b/macros/latex/contrib/xsim/code/xsim.goals.code.tex
index c03fe14483..6e482737b5 100644
--- a/macros/latex/contrib/xsim/code/xsim.goals.code.tex
+++ b/macros/latex/contrib/xsim/code/xsim.goals.code.tex
@@ -54,7 +54,7 @@
{ \fp_new:c {g__xsim_total_goal_#1_fp} }
\fp_if_exist:cF {g__xsim_total_goal_recorded_#1_fp}
{ \fp_new:c {g__xsim_total_goal_recorded_#1_fp} }
- \AtBeginDocument
+ \xsim_at_begin_document:n
{
\xsim_foreach_exercise_type:n
{
@@ -262,7 +262,7 @@
\xsim_new_aux_cs:cpn {totalgoal} #1#2
{ \fp_gset:cn {g__xsim_total_goal_#1_fp} {#2} }
-\AtBeginDocument
+\xsim_at_begin_document:n
{
\seq_map_inline:Nn \l__xsim_goals_seq
{
@@ -272,7 +272,7 @@
}
}
-\AtEndDocument
+\xsim_at_end_document:n
{
\seq_map_inline:Nn \l__xsim_goals_seq
{
diff --git a/macros/latex/contrib/xsim/code/xsim.interface.code.tex b/macros/latex/contrib/xsim/code/xsim.interface.code.tex
index 0c1251d113..ba409d9758 100644
--- a/macros/latex/contrib/xsim/code/xsim.interface.code.tex
+++ b/macros/latex/contrib/xsim/code/xsim.interface.code.tex
@@ -498,6 +498,14 @@
% ----------------------------------------------------------------------------
+\NewDocumentCommand \XSIMatbegindocument {+m}
+ { \xsim_at_begin_document:n {#1} }
+
+\NewDocumentCommand \XSIMatenddocument {+m}
+ { \xsim_at_end_document:n {#1} }
+
+% ----------------------------------------------------------------------------
+
\NewDocumentCommand \ForEachPrintedExerciseByType {+m}
{ \xsim_foreach_exercise_type_id:nn {print} {#1} }
@@ -601,11 +609,23 @@
% ----------------------------------------------------------------------------
-\NewDocumentCommand \printsolution {O{}mm}
- { \xsim_insert:nnnn {#2} {#3} {#1} {solution} }
+\NewDocumentCommand \XSIMprint {mO{}mm}
+ { \xsim_insert:nnnn {#3} {#4} {#2} {#1} }
+
+\NewDocumentCommand \XSIMxprint {mO{}mm}
+ { \xsim_insert:xxnn {#3} {#4} {#2} {#1} }
\NewDocumentCommand \printexercise {O{}mm}
{ \xsim_insert:nnnn {#2} {#3} {#1} {exercise} }
+
+\NewDocumentCommand \xprintexercise {O{}mm}
+ { \xsim_insert:xxnn {#2} {#3} {#1} {exercise} }
+
+\NewDocumentCommand \printsolution {O{}mm}
+ { \xsim_insert:nnnn {#2} {#3} {#1} {solution} }
+
+\NewDocumentCommand \xprintsolution {O{}mm}
+ { \xsim_insert:xxnn {#2} {#3} {#1} {solution} }
% ----------------------------------------------------------------------------
diff --git a/macros/latex/contrib/xsim/code/xsim.properties.code.tex b/macros/latex/contrib/xsim/code/xsim.properties.code.tex
index 1222a61b2e..5dd0d1baee 100644
--- a/macros/latex/contrib/xsim/code/xsim.properties.code.tex
+++ b/macros/latex/contrib/xsim/code/xsim.properties.code.tex
@@ -94,8 +94,8 @@
}
\bool_if:nF {#3}
{
- \AtEndDocument { \xsim_update_list:n {#4} }
- \AtBeginDocument { \__xsim_set_property_from_list:n {#4} }
+ \xsim_at_end_document:n { \xsim_update_list:n {#4} }
+ \xsim_at_begin_document:n { \__xsim_set_property_from_list:n {#4} }
}
}
}
diff --git a/macros/latex/contrib/xsim/code/xsim.sty b/macros/latex/contrib/xsim/code/xsim.sty
index a56fa8ecf5..f5efe12408 100644
--- a/macros/latex/contrib/xsim/code/xsim.sty
+++ b/macros/latex/contrib/xsim/code/xsim.sty
@@ -29,9 +29,9 @@
\ExplSyntaxOn
-\tl_const:Nn \c_xsim_date_tl {2019/11/02}
+\tl_const:Nn \c_xsim_date_tl {2019/11/10}
\tl_const:Nn \c_xsim_version_major_number_tl {0}
-\tl_const:Nn \c_xsim_version_minor_number_tl {15}
+\tl_const:Nn \c_xsim_version_minor_number_tl {16}
\tl_const:Nn \c_xsim_version_subrelease_tl {}
\tl_const:Nx \c_xsim_version_number_tl
{
diff --git a/macros/latex/contrib/xsim/code/xsim.translations.code.tex b/macros/latex/contrib/xsim/code/xsim.translations.code.tex
index 978413f6e6..f818c8d5ff 100644
--- a/macros/latex/contrib/xsim/code/xsim.translations.code.tex
+++ b/macros/latex/contrib/xsim/code/xsim.translations.code.tex
@@ -65,18 +65,19 @@
}
}
-\AtBeginDocument{
- \bool_if:NTF \l__xsim_language_auto_bool
- {
- \tl_set:Nx \l_xsim_language_tl
- { \@trnslt@language{\@trnslt@current@language} }
- }
- {
- \tl_set_eq:NN
- \l_xsim_language_tl
- \l__xsim_current_language_tl
- }
-}
+\xsim_at_begin_document:n
+ {
+ \bool_if:NTF \l__xsim_language_auto_bool
+ {
+ \tl_set:Nx \l_xsim_language_tl
+ { \@trnslt@language{\@trnslt@current@language} }
+ }
+ {
+ \tl_set_eq:NN
+ \l_xsim_language_tl
+ \l__xsim_current_language_tl
+ }
+ }
% ----------------------------------------------------------------------------
% #1: keyword
diff --git a/macros/latex/contrib/xsim/doc/examples/xsim.texsx-498299.pdf b/macros/latex/contrib/xsim/doc/examples/xsim.texsx-498299.pdf
new file mode 100644
index 0000000000..99e8314406
--- /dev/null
+++ b/macros/latex/contrib/xsim/doc/examples/xsim.texsx-498299.pdf
Binary files differ
diff --git a/macros/latex/contrib/xsim/doc/examples/xsim.texsx-498299.tex b/macros/latex/contrib/xsim/doc/examples/xsim.texsx-498299.tex
new file mode 100644
index 0000000000..6716d52e7e
--- /dev/null
+++ b/macros/latex/contrib/xsim/doc/examples/xsim.texsx-498299.tex
@@ -0,0 +1,75 @@
+\documentclass{article}
+\usepackage[no-files]{xsim}
+\usepackage{tasks}
+
+\DeclareExerciseEnvironmentTemplate{item}
+ {\item[\GetExerciseProperty{counter}]}
+ {}
+
+\DeclareExerciseProperty{answer}
+
+\newcommand*\answer[1]{%
+ \XSIMexpandcode{%
+ \SetExerciseProperty{answer}
+ { (\noexpand\textit{\alph{task}}) \unexpanded{#1}}}%
+ #1%
+}
+
+\newcommand*\getanswers{%
+ \def\betweenanswers{\def\betweenanswers{\hspace{2em}}}%
+ \ForEachUsedExerciseByID{%
+ \betweenanswers##3\ExercisePropertyGet{##1}{##2}{answer}%
+ }%
+}
+
+\xsimsetup{
+ exercise/template = item,
+ exercise/the-counter = \arabic{exercise}.
+}
+
+\NewTasksEnvironment[
+ label = (\textit{\alph*}) ,
+ label-width = 14pt
+]{choice}[\choice]
+
+\newenvironment{questions}
+ {\itemize}
+ {\enditemize}
+
+\begin{document}
+
+\section{Problems}
+\begin{questions}
+ \begin{exercise}
+ What is the product of $-2$ and $3$?
+ \begin{choice}(4)
+ \choice \answer{$-6$}
+ \choice $6$
+ \choice $5$
+ \choice $-5$
+ \end{choice}
+ \end{exercise}
+ \begin{exercise}
+ What is the sum of the sides of a polygon called?
+ \begin{choice}(2)
+ \choice Leg
+ \choice \answer{Perimeter}
+ \choice Area
+ \choice Volume
+ \end{choice}
+ \end{exercise}
+ \begin{exercise}
+ What is the sum of $-2$ and $-3$?
+ \begin{choice}(4)
+ \choice $-6$
+ \choice $6$
+ \choice $5$
+ \choice \answer{$-5$}
+ \end{choice}
+ \end{exercise}
+\end{questions}
+
+\section{Answers}
+\getanswers
+
+\end{document}
diff --git a/macros/latex/contrib/xsim/doc/xsim-manual.cls b/macros/latex/contrib/xsim/doc/xsim-manual.cls
index 7e8fec1b67..3667dd11c6 100644
--- a/macros/latex/contrib/xsim/doc/xsim-manual.cls
+++ b/macros/latex/contrib/xsim/doc/xsim-manual.cls
@@ -29,7 +29,7 @@
% please ignore the contents of this file -- it is not a good example for
% coding...
%
-\ProvidesClass{xsim-manual}[2019/09/27]
+\ProvidesClass{xsim-manual}[2019/11/10]
\LoadClass[load-preamble,add-index]{cnltx-doc}
\RequirePackage{imakeidx}
@@ -169,6 +169,10 @@
UseExerciseTags ,
UseExerciseTagsX ,
UseExerciseTemplate ,
+ xprintexercise ,
+ xprintsolution ,
+ XSIMatbegindocument ,
+ XSIMatenddocument ,
XSIMexpandcode ,
XSIMsetfilebegin ,
XSIMfilewritestart ,
@@ -185,10 +189,12 @@
XSIMifeqT ,
XSIMifeqTF ,
XSIMmixedcase ,
+ xsimprint ,
XSIMputright ,
xsimsetup ,
xsimstyle ,
- XSIMtranslate
+ XSIMtranslate ,
+ xsimxprint
} ,
add-envs = { exercise , solution } ,
add-silent-cmds = {
@@ -829,7 +835,8 @@
\xsim@add@example{texsx-369803}{Layout adjustments}
\xsim@add@example{texsx-370642}{Minimalistic layout}
\xsim@add@example{texsx-391530}{Exercises and sub-exercises}
-\xsim@add@example{texsx-395273}{Different aspects of exercises. Highlighted solutions}
+\xsim@add@example{texsx-395273}{Different aspects of exercises, highlighted solutions}
+\xsim@add@example{texsx-498299}{Multiple choice questions with automated solutions}
\xsim@add@example{texwelt-6698}{Custom list of exercises}
\xsim@add@example{texwelt-15093}{Indicate difficulty level}
\xsim@add@example{texwelt-23968}{Long and short solutions}
@@ -858,6 +865,7 @@
\xsim@add@version{0.13} {2019-10-06}
\xsim@add@version{0.14} {2019-10-13}
\xsim@add@version{0.15} {2019-11-02}
+\xsim@add@version{0.16} {2019-11-10}
% ----------------------------------------------------------------------------
\newrobustcmd*\xsimauxfileinfo{%
diff --git a/macros/latex/contrib/xsim/doc/xsim.history b/macros/latex/contrib/xsim/doc/xsim.history
index c9e9623220..c3214cf573 100644
--- a/macros/latex/contrib/xsim/doc/xsim.history
+++ b/macros/latex/contrib/xsim/doc/xsim.history
@@ -131,3 +131,6 @@ HISTORY:
option
v0.15 2019/11/02 - use own auxiliary file per default and add option
`use-aux'
+ v0.16 2019/11/10 - fix issue due to usage of own auxiliary file
+ - \XSIMatbegindocument and \XSIMatenddocument
+ - \xprintexercise, \xprintsolution, \xsimprint, \xsimxprint
diff --git a/macros/latex/contrib/xsim/doc/xsim_manual.pdf b/macros/latex/contrib/xsim/doc/xsim_manual.pdf
index fc6659b04f..72711292c5 100644
--- a/macros/latex/contrib/xsim/doc/xsim_manual.pdf
+++ b/macros/latex/contrib/xsim/doc/xsim_manual.pdf
Binary files differ
diff --git a/macros/latex/contrib/xsim/doc/xsim_manual.tex b/macros/latex/contrib/xsim/doc/xsim_manual.tex
index 7296f6124d..5156221b0e 100644
--- a/macros/latex/contrib/xsim/doc/xsim_manual.tex
+++ b/macros/latex/contrib/xsim/doc/xsim_manual.tex
@@ -911,6 +911,9 @@ existing exercise, \ie, every exercise whose external file exists.
\command{printexercise}[\marg{type}\marg{id}]
Inserts the exercise of type \meta{type} with the \property{id}
\meta{id}.
+ \command{xprintexercise}[\marg{type}\marg{id}]
+ \sinceversion{0.16}The same as \cs{printexercise} but expands \meta{type}
+ and \meta{id} before it uses them.
\end{commands}
\begin{example}
\printexercise{exercise}{5}
@@ -1135,6 +1138,9 @@ There are different commands for printing the solutions to exercises:
\command{printsolution}[\oarg{options}\marg{type}\marg{id}]
Prints the solution of the exercise of type \meta{type} with the
\property{id} \meta{id}.
+ \command{xprintsolution}[\marg{type}\marg{id}]
+ \sinceversion{0.16}The same as \cs{printsolution} but expands \meta{type}
+ and \meta{id} before it uses them.
\end{commands}
\begin{example}
@@ -1509,7 +1515,7 @@ yourself in order to achieve certain layouts\footnote{I plan to incorporate
\item \code{\#5}: the \property{points} property of the exercise
\item \code{\#6}: the \property{bonus-points} property of the exercise
\end{itemize}
- \command{ForEachPrintedExerciseByID}
+ \command{ForEachPrintedExerciseByID}[\marg{code}]
Loops over each \emph{printed} exercise order by the exercise id. Inside
\meta{code} you can refer to several properties of the corresponding
exercise:
@@ -1521,7 +1527,7 @@ yourself in order to achieve certain layouts\footnote{I plan to incorporate
\item \code{\#5}: the \property{points} property of the exercise
\item \code{\#6}: the \property{bonus-points} property of the exercise
\end{itemize}
- \command{ForEachUsedExerciseByID}
+ \command{ForEachUsedExerciseByID}[\marg{code}]
Loops over each \emph{used} exercise order by the exercise id. Inside
\meta{code} you can refer to several properties of the corresponding
exercise:
@@ -1533,6 +1539,12 @@ yourself in order to achieve certain layouts\footnote{I plan to incorporate
\item \code{\#5}: the \property{points} property of the exercise
\item \code{\#6}: the \property{bonus-points} property of the exercise
\end{itemize}
+ \command{XSIMprint}[\Marg{exercise|solution}\marg{type}\marg{id}]
+ \sinceversion{0.16}Inserts the either the exercise or the solution of type
+ \meta{type} with the \property{id} \meta{id}.
+ \command{XSIMxprint}[\Marg{exercise|solution}\marg{type}\marg{id}]
+ \sinceversion{0.16}The same as \cs{XSIMprint} but expands \meta{type} and
+ \meta{id} before it uses them.
\expandable\command{XSIMtranslate}[\marg{keyword}]
Delivers the translation of \meta{keyword} according to the current
document language (in the meaning of a \pkg{babel}~\cite{pkg:babel} or
@@ -1562,7 +1574,13 @@ yourself in order to achieve certain layouts\footnote{I plan to incorporate
\meta{code 2} is the same tokenlist.
\expandable\command{XSIMifblank\TF}[\marg{code}\marg{true}\marg{false}]
Checks if the full expansion\footref{fn:romannumeral} of \meta{code} is
- blank (\ie, if it is empty or only consists of spaces).
+ blank (\ie, if it is empty or only consists of spaces).
+ \command{XSIMatbegindocument}[\marg{code}]
+ \sinceversion{0.15a}Adds \meta{code} to \xsim's begin document hook.
+ Should be used inside style files instead of \cs*{AtBeginDocument}.
+ \command{XSIMatenddocument}[\marg{code}]
+ \sinceversion{0.15a}Adds \meta{code} to \xsim's end document hook.
+ Should be used inside style files instead of \cs*{AtEndDocument}.
\end{commands}
\subsection{Declaring Templates}