diff options
author | Norbert Preining <norbert@preining.info> | 2021-02-05 03:01:00 +0000 |
---|---|---|
committer | Norbert Preining <norbert@preining.info> | 2021-02-05 03:01:00 +0000 |
commit | 6dd01829674e94f8b6b4829e703e6e0686f07a25 (patch) | |
tree | 2d7666cb4df65d2e581d1c20dc5df6b826a2ac63 /macros/latex | |
parent | c18f29fc8bbdc114e808b53b99e9244054483190 (diff) |
CTAN sync 202102050301
Diffstat (limited to 'macros/latex')
17 files changed, 824 insertions, 217 deletions
diff --git a/macros/latex/contrib/footnotehyper/README.md b/macros/latex/contrib/footnotehyper/README.md index 2faee6c8be..c35571dce2 100644 --- a/macros/latex/contrib/footnotehyper/README.md +++ b/macros/latex/contrib/footnotehyper/README.md @@ -1,6 +1,6 @@ <!-- --> - Source: footnotehyper.dtx (v1.1c 2021/01/29) + Source: footnotehyper.dtx (v1.1d 2021/02/04) Author: Jean-Francois Burnol Info: hyperref aware footnote.sty License: LPPL 1.3c diff --git a/macros/latex/contrib/footnotehyper/footnotehyper.dtx b/macros/latex/contrib/footnotehyper/footnotehyper.dtx index 83e6d30bbe..b42e003c2b 100644 --- a/macros/latex/contrib/footnotehyper/footnotehyper.dtx +++ b/macros/latex/contrib/footnotehyper/footnotehyper.dtx @@ -1,20 +1,20 @@ % -*- coding: utf-8; time-stamp-format: "%02d-%02m-%:y at %02H:%02M:%02S %Z" -*- %<*none> -\def\dtxtimestamp {Time-stamp: <29-01-2021 at 19:18:01 CET>} +\def\dtxtimestamp {Time-stamp: <04-02-2021 at 12:57:09 CET>} %</none> %<*!readme> %% %% Package: footnotehyper -%% Version: 1.1c (2021/01/29) +%% Version: 1.1d (2021/02/04) %% License: LPPL 1.3c %% Copyright (C) 2016-2021 Jean-Francois Burnol <jfbu at free dot fr>. %% %</!readme> %<*tex> \def\pkgname {footnotehyper} -\def\pkgdate {2021/01/29} -\def\docdate {2021/01/29} -\def\pkgversion {v1.1c} +\def\pkgdate {2021/02/04} +\def\docdate {2021/02/04} +\def\pkgversion {v1.1d} \def\pkgdescription {hyperref aware footnote.sty (JFB)} %</tex> %<*none> @@ -25,7 +25,7 @@ \catcode32=13\catcode`\\=12^^Brelax^^A ^^Bfirstofone{^^Bendgroup^^Bdef^^BpkgLicense^^A {% Package: footnotehyper -% Version: 1.1c (2021/01/29) +% Version: 1.1d (2021/02/04) % License: LPPL 1.3c % Copyright (C) 2016-2021 Jean-Francois Burnol <jfbu at free dot fr>. % @@ -54,7 +54,7 @@ %<*readme> <!-- --> - Source: footnotehyper.dtx (v1.1c 2021/01/29) + Source: footnotehyper.dtx (v1.1d 2021/02/04) Author: Jean-Francois Burnol Info: hyperref aware footnote.sty License: LPPL 1.3c @@ -392,6 +392,22 @@ See related remarks at end of \autoref{sec:notes}. |savenotes| environment directly wraps the enclosed list environment, mid-paragraph). +\item[v1.1d (2021/02/04)] Fix regression at |v1.1b| which caused a build crash + whenever \fnh decided to raise a warning relative to |\@makefntext|.% +% +\footnote{Thanks to Leon K. for reporting the bug.} + + Refactor analysis of \cs{@makefntext} for simpler and better support of + |babel-french|.% +\footnote{Only basic + context has been tested with |babel-french|: standard classes, |KOMA|-script, + |memoir|. Extra packages may make the \fnh environments cause breakage.} +% + Better support + contexts such as presence of package |cleveref|.% + + Add \verb=\iffootnotehyperparse= and \verb=\iffootnotehyperwarn= booleans. + \end{description} \section{Usage} @@ -405,42 +421,94 @@ As summarized in the abstract, the package provides: verbatim material. \end{itemize} \end{savenotes} -But the constructability of the |footnote/footnotetext| environments depends -on how |\@makefntext| has been customized by the class or other packages; a -warning is issued if the situation appears to be desperate.\footnote{original - |footnote.sty| could end up in a low level \TeX\ error.} - - Some details: \fnh inherits from |footnote| original package the aim to - convert the macro |\@makefntext| into two parts, the first one to be inserted - at the start of a footnote in environment form, the second one at its end. - It thus hopes that the replacement text of |\@makefntext| contains only once - its parameter token |#1|, and that it is used unbraced. +Setting-up the environments proceeds from an analysis of the pre-existing +internal \LaTeX\ macro |\@makefntext|. The next section discusses problems +which may arise. -\begin{savenotes} -\begin{framed} - \fnh has a more robust, but still naive, way of analysing this than the - original package. But even seemingly innocent redefinitions such as the one +\subsection{Potential difficulties with the footnote and footnotetext + environments} + + What is discussed here only affects the \emph{environments} |footnote| and + |footnotetext| not the macros \cs{footnote} and \cs{footnotetext}. + + \fnh inherits from |footnote| original package the aim to + convert |\@makefntext| into two parts, the first one to be inserted + at the start of a footnote in environment form, the second one (usually + empty) at its end.% +% +\begin{footnote} + \LaTeX\ inserts some stuff before and after the footnote text, even before + handing it over as argument to \cs{@makefntext}. These tokens are currently + hardcoded into the \fnh environments for footnotes. +\end{footnote} +% + It thus hopes that the replacement text of |\@makefntext| contains only once + its parameter token |#1|, and that it is used there unbraced. This is the case + with the |article| class. + + Known bug (may be promoted to feature at some point): the analysis is done + only once at begin document, whereas the |article.cls|'s redefines + |\@makefntext| during execution of |\maketitle|. However, it does not look + really urgent to support at all costs usage of the environment |footnote| in + the |\author| etc... data which contributes to the |\maketitle| expansion.% +% + \begin{footnote} +\phantomsection\label{fn:texperts}% + \TeX perts note: |\def\FNH@prefntext{\@makefntext{}}| would make the + footnote environment dynamically adjust to circumstances, when + |\@makefntext| only adds some prefix and no postfix. In fact, this is + (in a more complicated form for compatibility with |KOMA|-script and to + obey the |FBFrenchFootnotes| setting and the additional extra stuff + inserted by |babel-french| before and after) basically what is done by + \fnh to handle + |babel-french|. + + As it may cause instability if extra packages fiddle + with |\@makefntext|, or |\@makefntext| is radically re-defined in some + environments provided by the class, \fnh does not use this when its + begin document analysis concluded the argument was used unbraced and at + last position in replacement text of |\@makefntext|, but it freezes the + found prefix. However, when it is concluded that probably |\@makefntext| + has been redefined in an |<extra tokens>\old@makefntext| way (for + example, this is the case with |cleveref| package), then the + |\def\FNH@prefntext{\@makefntext{}}| approach is taken, despite the + risks inherent to it. + + You can provide your own definitions of + \cs{FNH@prefntext} and \cs{FNH@postfntext}. Then add + \cs{footnotehyperparsefalse} to the preamble. + \end{footnote} + + Some seemingly innocent redefinitions such as the one of |beamer| which was last time I checked (that was in 2019): \begin{verbatim} macro:#1->\def \insertfootnotetext {#1}\def \insertfootnotemark {\@makefnmark } \usebeamertemplate ***{footnote} \end{verbatim} - is not compatible. Since |v1.1a|, \fnh simply aborts under |beamer| class. - - The package could possibly be much improved here, but at update |v1.1b| it - simply adds a specific fix to handle a problem of another type arising with - |memoir| together with |babel-french|% - \begin{footnote} - In the |babel-french| context, \fnh attempts to analyse |\@makefntextFB| - rather than |\@makefntext| itself. The problem arose in that (automated) - analysis. - \end{footnote} - This fix uses a bit daring |\scantokens| which could be useful to solve - other incompatibilities of the similar nature, but we have limited the fix - to those exact circumstances, until we get alerted by some bug report. -\end{framed} -\end{savenotes} + are not (easily) compatible with environment forms for footnotes + allowing verbatim material, as they require fetching the footnote + contents.% + \footnote{%\phantomsection\label{fn:beamer}% test, ça marche! + Since |v1.1a|, \fnh simply aborts under |beamer| class.} + + In case of such a problematic |\@makefntext| \fnh raises a warning, to + explain that footnotes typeset using the environment forms will be + dysfunctional (the footnote marker at bottom of page will be missing, + probably). Footnotes using |\footnote| are not impacted by this. + + % See \ref{fn:beamer} % test, ça marche, aussi avec environnement + + Also \fnh emits some info message if |\@makefntext| was not as simple as + expected but nevertheless there is some hope that the |footnote| and + |footnotetext| environments will be fully functional. This is currently the + case in presence of package |cleveref| (see the \TeX perts + footnote \ref{fn:texperts}). + + You can turn off these messages by adding \cs{footnotehyperwarnfalse} + to the document preamble. + +\subsection{Other potential or actual limitations} It should be recalled that in case of |\footnotemark[N]| and |\footnotetext[N]{...}| mark-up |hyperref| creates no hyperlink. This is not @@ -458,6 +526,8 @@ Environments typesetting multiple times their contents are the most hostile to footnotes. Currently, \fnh only handles especially the |amsmath| environments (as in |footnote.sty|.) +\subsection{A legacy macro from the original package, usage not recommended} + Finally there is a |\makesavenoteenv| command which takes as argument an environment name and patches it to do the |\savenotes/\spewnotes| automatically.% @@ -472,6 +542,7 @@ one never knows what happens with such patches: for example the |[H]| specifier provided by the |float| package overwrites the |\end{table}| definition during the execution of |\begin{table}|\dots ! +\subsection{Example of use} \begin{savenotes} \begin{framed} \DeleteShortVerb{\|}\MakeShortVerb{\*}% @@ -486,7 +557,7 @@ definition during the execution of |\begin{table}|\dots ! could have been used.\end{footnote}\\\hline \end{tabular}\par} \DeleteShortVerb{\*}\MakeShortVerb{\|}% -An example: +Here is an illustrative example of usage of the |savenotes| environment: \begin{verbatim} \begin{savenotes} \begin{framed} @@ -494,15 +565,16 @@ An example: \footnote{\url{http://ctan.org/pkg/footnote}} Particularly you may check its |savenotes| environment.% - \footnote{It doesn't bring any + \footnote{\phantomsection\label{fn:floats}It doesn't bring any feature to especially handle the issues related to footnotes in floating environments, though.} \end{framed} \end{savenotes} +Here is a link to an interesting footnote: \ref{fn:floats}. \end{verbatim} and the present frame has \cs{footnote}'s from inside a |tabular| and is inside a |savenotes| environment.% -\begin{footnote} +\begin{footnote}\phantomsection\label{fn:minipage} Here is an issue which has nothing (as I finally figured out) to do with |footnote|, and only indirectly with \LaTeX: if you embed a \emph{full-width} minipage (with initial \cs{noindent}) in any @@ -575,20 +647,19 @@ No hyperfootnote link was inserted.% |\footnotemark[N]/\footnotetext[N]{<foo>}| case. It does when the |[N]| is absent or when it is used with a |\footnote| command (or a |footnote| environment.) - - By the way, \fnh |v0.9f|'s |\footnotetext[N]| and |\begin{footnotetext}[N]| - each had a bug and they were unusable \emph{inside} the |savenotes| - environment. There was no issue \emph{outside}. \end{footnotetext} And a final footnote, done with |\begin{footnote}[57]|% -\begin{footnote}[57]\csname @minipagetrue\endcsname % to reduce - % framed inserted vertical spacing - \begin{framed} - \noindent\fnh works since |v1.0| also in absence of |hyperref| or when the +\begin{footnote}[57]%\csname @minipagetrue\endcsname % to reduce +% % framed inserted vertical spacing +% \begin{framed} +% \noindent + \fnh works since |v1.0| also in absence of |hyperref| or when the latter was passed |hyperfootnotes=false| option. - \end{framed} +% \end{framed} \end{footnote}. -There is no problem with the hyperlink, then. +There is no problem with the hyperlink, then. Oh, and don't forget to read +this interesting footnote: \ref{fn:minipage} (just in case you skipped on +first reading). \section{Notes}\label{sec:notes} @@ -690,8 +761,10 @@ is still there, as I checked now. This has nothing to do with \fnh. %</none> %<*package> % \begin{macro}{no options} -% The package has no options. +% The package has no options. I am too lazy. % \begin{macrocode} +\newif\iffootnotehyperparse\footnotehyperparsetrue +\newif\iffootnotehyperwarn \footnotehyperwarntrue \DeclareOption*% {\PackageWarning{footnotehyper}{Option `\CurrentOption' is unknown}}% \ProcessOptions\relax @@ -1031,6 +1104,7 @@ is still there, as I checked now. This has nothing to do with \fnh. % \begin{macro}{\@makefntext} % \begin{macro}{\FNH@prefntext} % \begin{macro}{\FNH@postfntext} +% \begin{macro}{\FNH@check} % The definitions of |\FNH@prefntext| and |\FNH@postfntext| (which are needed % for the |footnote| environment, |\FNH@startfntext| and |\FNH@endfntext|) % are extracted from a somewhat daring analysis of |\@makefntext|. @@ -1041,68 +1115,171 @@ is still there, as I checked now. This has nothing to do with \fnh. % there multiple times. We also insert here some code to handle especially % the case of |babel-frenchb|. % +% Refactoring at |v1.1d|. This will make \fnh compatible with |cleveref| for +% example, if nothing else interferes. Not all combinations of classes and +% packages can be handled and we can not hardcode a pre-analysis for all +% possible cases. Of course, one can not expect \fnh to be compatible with +% other footnote dedicated packages, but at best only with slight +% modifications of \LaTeX's defaults. At |v1.1d| the |babel-french| context +% is handled especially (to support it better with KOMAscript classes and +% simplify handling the |memoir| situation); there was no real other way +% than hardcode it more or less, but it can possibly break in presence of +% additional footnote packages. +% +% Also the \cs{iffootnotehyperparse} and \cs{iffootnotehyperwarn} booleans +% were added. +% +% Provide at least some definitions for \cs{FNH@prefntext} and +% \cs{FNH@postfntext} in case of \cs{footnotehyperparsefalse} in preamble. +% \begin{macrocode} +\let\FNH@prefntext\@empty +\let\FNH@postfntext\@empty +\AtBeginDocument{\iffootnotehyperparse\expandafter\FNH@check\fi}% +% \end{macrocode} +% % As |\ifFBFrenchFootnotes| is not a \TeX\ boolean if |babel-frenchb| isn't % loaded, we have to work around this for |\if..\fi| pairs. % +% |v1.1d| fixes a |v1.1b| bug: any situation in |\FNH@check@a| causing the +% |\FNH@bad@makefntext@alert| branch to be chosen crashed the build due +% precisely to this problem with |\ifFBFrenchFootnotes| status. I had taken +% precautions for the |\else| branch but not for the ``warning'' branch. +% +% So let's fix this, and do it in such a way (with \cs{FNH@safeif}) that the +% \TeX\ |\if..\fi| balancing count does not perturbate enclosing the package +% loading in a \TeX\ conditional. Why I am bothering, I don't know. +% +% Finally, I refactored entirely the way |frenchb| context is handled, +% (using multiple times \cs{FNH@safeif} although now only for the artistic +% aim of balanced conditionals, as all |frenchb|-related stuff being in +% their dedicated macro, direct usage of |\ifFB...| is possible). +% +% As long as nothing else interferes |babel-french| should be ok with +% standard classes, KOMA and memoir. +% % \begin{macrocode} -\AtBeginDocument{\let\FNH@@makefntext\@makefntext - \ifx\@makefntextFB\undefined - \expandafter\@gobble\else\expandafter\@firstofone\fi - {\ifFBFrenchFootnotes \let\FNH@@makefntext\@makefntextFB \else - \let\FNH@@makefntext\@makefntextORI\fi}% - \expandafter\FNH@check@a\FNH@@makefntext{1.2!3?4,}% - \FNH@@@1.2!3?4,\FNH@@@\relax +\def\FNH@safeif#1{% + \iftrue\csname if#1\endcsname\csname fi\endcsname\expandafter\@firstoftwo + \else\csname fi\endcsname\expandafter\@secondoftwo + \fi +}% +\def\FNH@check{% + \ifx\@makefntextFB\@undefined\expandafter\FNH@check@ + \else\expandafter\FNH@frenchb@ + \fi +}% +\def\FNH@frenchb@{% + \def\FNH@prefntext{% + \localleftbox{}% + \let\FBeverypar@save\FBeverypar@quote + \let\FBeverypar@quote\relax + \FNH@safeif{FB@koma}% + {\FNH@safeif{FBFrenchFootnotes}% + {\ifx\footnote\thanks + \let\@@makefnmark\@@makefnmarkTH + \@makefntextTH{} % space as in french.ldf + \else + \let\@@makefnmark\@@makefnmarkFB + \@makefntextFB{} % space as in french.ldf + \fi + }{\let\@@makefnmark\@@makefnmarkORI + \@makefntextORI{}% no space as in french.ldf + }% + }% + {\FNH@safeif{FBFrenchFootnotes}% + {\@makefntextFB{}}% + {\@makefntextORI{}}% + }% + }% + \def\FNH@postfntext{% + \let\FBeverypar@quote\FBeverypar@save + \localleftbox{\FBeveryline@quote}% + }% + \iffootnotehyperwarn + \PackageInfo{footnotehyper}% + {frenchb compatibility patch activated.^^J It will not work in + all circumstances.^^J In case of problems with the `footnote' or + `footnotetext' environments,^^J please send to the author a small + file demonstrating the problem.^^J To turn off this message, add + \string\footnotehyperwarnfalse\space to the preamble.^^J}% + \fi }% % \end{macrocode} -% ``Daring analysis'' is un understatement. At |v1.1b| we add a dangerous +% \end{macro} +% ``Daring analysis'' is un understatement. At |v1.1b| we added a dangerous % twist to fix a memoir + frenchb triggered issue: if the % |\@makefntext|, as in memoir + frenchb situation, uses |\def| syntax to % define a macro with parameter we had a problem with the |#| token not % being doubled in the replacement fetched by -% |\FNH@check@a|. As expedient work-around we fix this by adding a -% |\scantokens| wrapper. The induced end of line space will only be from -% loading of \fnh itself, so we can ignore. Problem is we -% assume here |\@makefntext| does not rely on weird catcodes. Very -% problematic if LaTeX3 syntax is used. So I add a layer a security to do -% this \emph{only} under memoir + frenchb situation. Which is a pity -% as it could be more generally useful. But let's wait for bug reports if -% really needed. +% |\FNH@check@a|. As expedient work-around we fixed this by adding a +% |\scantokens| wrapper. % -% Maybe I should add some user interface to customize directly what -% |\FNH@prefntext| and |\FNH@postfntext| do, but I am aiming today for a -% quick bug fix, as we are |2021/01/26| and first heard of the bug on -% |2020/06/15|. +% At |v1.1d| I refactored the |babel-french| situation, moving it to an +% entirely dedicated \cs{FNH@frenchb@}, and dropped the |v1.1b| usage of +% |\scantokens|. +% +% |v1.1d| adds \cs{FNH@checkagain@} which will identify circumstances likely +% to be safe for the approach via |\def\FNH@prefntext{\@makefntext{}}|. For +% example this is what will happen with |cleveref| (if not modified by other +% packages). % \begin{macrocode} +\def\FNH@check@{% + \expandafter\FNH@check@a\@makefntext{1.2!3?4,}% + \FNH@@@1.2!3?4,\FNH@@@\relax +}% \long\def\FNH@check@a #11.2!3?4,#2\FNH@@@#3{% - \ifx\relax#3\FNH@bad@makefntext@alert + \ifx\relax#3\expandafter\FNH@checkagain@ \else - \edef\FNH@restore@{\catcode`\noexpand\@\the\catcode`\@\relax}% - \makeatletter - \ifx\@makefntextFB\undefined - \expandafter\@gobble\else\expandafter\@firstofone\fi - {\@ifclassloaded{memoir}% - {\ifFBFrenchFootnotes\expandafter\@gobble\fi}% - {}}% - \@secondoftwo - \scantokens{\def\FNH@prefntext{#1}\def\FNH@postfntext{#2}}% - \FNH@restore@ + \def\FNH@prefntext{#1}\def\FNH@postfntext{#2}% \expandafter\FNH@check@b \fi }% +% \end{macrocode} +% The argument was not seen unbraced at top. Maybe it is not fetched, or it was +% but was left at the end, braced. If this is the case we use the fallback +% |\def\FNH@prefntext{\@makefntext{}}|, which may work. +% \begin{macrocode} +\def\FNH@checkagain@{% + \expandafter\FNH@checkagain@a + \detokenize\expandafter{\@makefntext{1.2!3?4,}}\relax\FNH@@@ +}% +\edef\FNH@temp{\noexpand\FNH@checkagain@a ##1\string{1.2!3?4,\string}}% +\expandafter\def\FNH@temp#2#3\FNH@@@{% + \ifx\relax#2% + \def\FNH@prefntext{\@makefntext{}}% + \iffootnotehyperwarn + \PackageInfo{footnotehyper}% + {using \string\@makefntext{} approach.^^J + In case of problems with the footnote environments, please send^^J + to the author a small document source illustrating them. To turn^^J + off this message, add + \string\footnotehyperwarnfalse\space to preamble.^^J}% + \fi + \else\FNH@bad@makefntext@alert + \fi +}% +% \end{macrocode} +% Back to non |babel-french| context. Let's check that |pre| and |post| do not +% contain some weird stuff from original |\@makefntext{#1}| containing +% multiple times |#1|. +% \begin{macrocode} \def\FNH@check@b #1\relax{% \expandafter\expandafter\expandafter\FNH@check@c \expandafter\meaning\expandafter\FNH@prefntext \meaning\FNH@postfntext1.2!3?4,\FNH@check@c\relax }% \def\FNH@check@c #11.2!3?4,#2#3\relax{% - \ifx\FNH@check@c#2\expandafter\@gobble\fi\FNH@bad@makefntext@alert + \ifx\FNH@check@c#2\else\FNH@bad@makefntext@alert\fi }% \def\FNH@bad@makefntext@alert{% + \iffootnotehyperwarn \PackageWarningNoLine{footnotehyper}% - {^^J The footnote environment will not be fully functional, sorry.^^J + {^^J The footnote environments will probably lack footnote numbers at^^J + bottom of pages, sorry.^^J You may try to email the author this meaning of \string\@makefntext:^^J \meaning\@makefntext^^J - together with the used preamble}% + together with the document preamble}% + \fi \let\FNH@prefntext\@empty\let\FNH@postfntext\@empty }% % \end{macrocode} diff --git a/macros/latex/contrib/footnotehyper/footnotehyper.pdf b/macros/latex/contrib/footnotehyper/footnotehyper.pdf Binary files differindex eb6aa8a3e7..3ebd203632 100644 --- a/macros/latex/contrib/footnotehyper/footnotehyper.pdf +++ b/macros/latex/contrib/footnotehyper/footnotehyper.pdf diff --git a/macros/latex/contrib/psnfssx/lucidabr/README b/macros/latex/contrib/psnfssx/lucidabr/README index 9968b4038c..79a862b957 100644 --- a/macros/latex/contrib/psnfssx/lucidabr/README +++ b/macros/latex/contrib/psnfssx/lucidabr/README @@ -1,4 +1,5 @@ -Copyright 2007, 2010 TeX Users Group. +$Id: README 350 2021-02-03 23:28:03Z karl $ +Copyright 2007-2021 TeX Users Group. You may freely use, modify and/or distribute this file (README). This lucidabr package provides LaTeX support for the Lucida fonts. @@ -10,17 +11,17 @@ support files, such as tfm and map files. The lucidabr and lucida packages on CTAN are free, but the Lucida fonts are not: you must order them from TUG or another source to actually typeset anything in Lucida. The TUG Lucida web pages explain the -details -- see http://tug.org/lucida. +details -- see https://tug.org/lucida. For installation instructions, after ordering the fonts from TUG, see the README.TUG file. (You'll get the same info in email after ordering.) The "zip file" referred to in README.TUG is the combination of -http://mirror.ctan.org/install/macros/latex/contrib/psnfssx/lucidabr.zip +http://mirror.ctan.org/install/macros/latex/contrib/psnfssx/lucidabr.tds.zip and http://mirror.ctan.org/install/fonts/psfonts/bh/lucida.zip. If you have questions or problems regarding installation or use, please email lucida@tug.org; this is an open list for Lucida discussion, and -you can subscribe via http://lists.tug.org/lucida. Questions or +you can subscribe via https://lists.tug.org/lucida. Questions or problems related to ordering or licensing should go to lucida-admin@tug.org. diff --git a/macros/latex/contrib/psnfssx/lucidabr/README.TUG b/macros/latex/contrib/psnfssx/lucidabr/README.TUG index 9bfecad1b4..8ee29077d8 100644 --- a/macros/latex/contrib/psnfssx/lucidabr/README.TUG +++ b/macros/latex/contrib/psnfssx/lucidabr/README.TUG @@ -1,9 +1,10 @@ +$Id: README.TUG 350 2021-02-03 23:28:03Z karl $ To install the Lucida Type 1 font distribution from TUG: 1) download the zip file from TUG via the url given to you after ordering. 2) change directories to a suitable texmf hierarchy; your "local texmf" - tree is the best choice. More info below(*). + (texmf-local) tree is typically the best choice. More info below(*). 3) unzip the archive as retrieved. It unpacks into subdirectories fonts/, tex/, and so on. These directories will probably already @@ -44,25 +45,22 @@ updmap-sys --force --enable Map lucida.map usage of the fonts in LaTeX, and is itself typeset using Lucida. The LaTeX source is also included (lucida-type1.tex) so that you can see how it was produced. Running this file through LaTeX yourself is a - good test of the installation.(***) - - The short text file doc/fonts/lucidabr/lucidabr.txt lists the options - to the package. Additional documentation and samples are in - doc/fonts/lucidabr and doc/fonts/lucida. + good test of the installation.(***) Some additional documentation and + samples are included in doc/fonts/lucidabr and doc/fonts/lucida. If you have questions or problems regarding installation or use, please email lucida@tug.org; this is an open and publicly archived list for Lucida discussion, and you can subscribe via -http://lists.tug.org/lucida. Questions or problems related to ordering +https://lists.tug.org/lucida. Questions or problems related to ordering or licensing should go to lucida-admin@tug.org. -The TUG Lucida home page is http://tug.org/lucida. +The TUG Lucida home page is https://tug.org/lucida. Happy typesetting! -- (*) Finding and/or creating your texmf-local tree: -TeX systems have thousands of files, arranged in one or more +TeX systems have thousands of files, arranged in several "trees" of directories. Your system can quickly look through the trees that it knows about. @@ -72,9 +70,9 @@ is that if you install an new version of your TeX system then these local materials will not be overwritten. A local tree is the best place to install the Lucida fonts. -Typical names for local trees are "C:\Local TeX Files" on Windows or -"/usr/local/texlive/texmf-local" on Unix. They might be entirely empty. -How to find or define a local tree depends on your system: +The default place for the local tree is /usr/local/texlive/texmf-local +on Unix or C:\texlive\texmf-local on Windows. They might be entirely +empty. How to find or define a local tree depends on your system: MiKTeX Navigate through the MiKTeX program: @@ -98,7 +96,6 @@ How to find or define a local tree depends on your system: kpsewhich --var-value TEXMFLOCAL to see the directory name. - (**) Enabling the Lucida map file under MiKTeX: 1. Edit the map configuration file updmap.cfg. In a DOS Window/Command @@ -123,19 +120,17 @@ Hopefully that is it. Resume above at step 5. fonts, mktexpk could not make bitmaps, etc., most likely you need to enable the Lucida map file. See step 4 above. -2. If you do try latex-ing lucida-type1.tex and get an error at the line: - \DeclareEncodingSubset{TS1}{hlh}{1} % including \oldstylenums -Please check your version of the textcomp.sty style file against -the current release, available at: - http://www.ctan.org/tex-archive/macros/latex/unpacked/textcomp.sty - +2. If you try to do everything, and the Lucida fonts are still not being + recognized (e.g.,, TeX tries to find the nonexistent bitmaps for + them), try running: + updmap-sys --syncwithtrees -- Legal: the Lucida fonts are made available only under an end-user or site license, which you must have agreed to when you ordered the fonts. The license text is available in the distribution files doc/fonts/lucidabr/lucida-license-*.txt, or online at -http://tug.org/store/lucida. (This documentation itself may be freely +https://tug.org/store/lucida. (This documentation itself may be freely used, modified and/or distributed.) The Lucida typeface family was designed by Charles Bigelow and Kris Holmes. @@ -143,6 +138,10 @@ The Lucida typeface family was designed by Charles Bigelow and Kris Holmes. registered in the U.S. Patent & Trademark Office and other jurisdictions. -TUG gratefully acknowledges Y&Y for the original Lucida TeX distribution, -Walter Schmidt for creating and updating the TeX font support files, and +TUG gratefully acknowledges: +B&H for making this distribution by TUG possible, +Y&Y for the original Lucida TeX distribution, +Walter Schmidt for creating and updating the TeX font support files, PCTeX for sponsoring him and allowing his work to be redistributed. +and many other volunteer contributors to all aspects of the Lucida +support in the TeX world. diff --git a/macros/latex/contrib/psnfssx/lucidabr/lucida-license-individual.txt b/macros/latex/contrib/psnfssx/lucidabr/lucida-license-individual.txt new file mode 100644 index 0000000000..7eeecaee70 --- /dev/null +++ b/macros/latex/contrib/psnfssx/lucidabr/lucida-license-individual.txt @@ -0,0 +1,106 @@ +TeX Users Group (TUG) - Lucida Fonts End User License Agreement (2006-04-06) + +This End User license allows use of the Lucida Fonts, as described +below, by a single named individual. If use throughout an organization +by many individuals is desired, a Site License should be acquired +instead. + +0) Definitions: +0a) "End User" means an individual customer of TUG for the Lucida Fonts, + with the rights and obligations detailed herein. +0b) "Font" means the digital software programs and data representing a + typeface. +0c) "Lucida Fonts" means those Fonts which End User has ordered from TUG + and TUG has licensed from Bigelow & Holmes Inc. + +1) Scope of Use: +1a) TUG grants End User a nonexclusive sublicense to use the Lucida + Fonts for display and printout of text and other information and to + embed the Lucida Fonts in documents for transfer, display and + printout but not for transfer or sublicense of the Lucida Fonts to + others. +1b) End User may use the Lucida Fonts on at most five (5) workstations + and two (2) printers, for his or her personal use only. Additional + usage requires additional licenses. + +2) No Assignment: End User may not sublicense, assign, or transfer the +license of the Lucida Fonts. + +3) Copying Restrictions: End User may not make, or have made, or permit +to be made, any copies of the Lucida Fonts or portions thereof except as +necessary for its use hereunder, as for example, a back-up copy. End +User agrees that any such copies of a Lucida Font shall contain the same +proprietary notices that appear on or in the Lucida Font. + +4) No Modification: End User may not adapt, translate or modify the +Lucida Fonts. + +5) No Other Rights: Except as stated above, this Agreement does not +grant End User any rights to patents, copyrights, trademarks (whether +registered or unregistered), tradenames, trade secrets or any other +rights, franchises, or licenses in respect to the Lucida Fonts or the +Lucida trademark(s). End User acknowledges that all proprietary rights +in the Lucida Fonts remain at all times with Bigelow & Holmes Inc. Any +use of the trademark Lucida in marketing, advertising, trade, or +commerce, except for editorial reference to Fonts, must identify the +mark with the symbol R in a circle, and the phrase "Lucida is a +trademark of Bigelow & Holmes Inc. registered in the U.S. Patent & +Trademark Office and other jurisdictions". + +6) Export: End User acknowledges that the laws and regulations of +the United States restrict the export and re-export of commodities and +technical data of United States origin, including the Lucida Fonts, in +any form without the appropriate United States and foreign government +licenses. End User agrees that its obligations pursuant to this section +shall survive and continue after any termination or expiration of rights +under this Agreement. + +7) Term: The License is effective until terminated. TUG has the right to +terminate your license immediately if you fail to comply with any term +of this Agreement. Upon any such termination you will destroy the +original and any copies of the Software, and related documentation, and +cease all use of the trademarks. + +8) Beneficiary: Bigelow & Holmes Inc. is a third-party beneficiary of +this license agreement, and has the right to enforce any and all +obligations of the license. + +9) No Warranty: END USER ACKNOWLEDGES THAT NO EXPRESS OR IMPLIED +WARRANTIES, INCLUDING NO IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR USE, ARE PROVIDED WITH RESPECT TO THE TRADEMARKS OR LUCIDA +FONTS, AND IN NO EVENT SHALL TUG OR BIGELOW & HOLMES INC. BE LIABLE FOR +ANY SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OCCURRING +FROM THE LICENSE OR SUBLICENSE OF RIGHTS GRANTED HEREUNDER OR ARISING +FROM THE USE OR INABILITY TO USE THE LUCIDA FONTS. + +10) Governing Law: This Agreement will be governed by the laws in force +in the State of Oregon, without giving effect to any choice of law rule +that would cause the application of the laws of any jurisdiction other +than the internal laws of the State of Oregon to the rights and duties +of the parties. The provisions of the United Nations Convention on the +International Sales of Goods are hereby disclaimed and excluded. + +11) Entire Agreement: YOU ACKNOWLEDGE THAT YOU HAVE READ THIS AGREEMENT, +UNDERSTAND IT AND THAT IT IS THE COMPLETE AND EXCLUSIVE STATEMENT OF +YOUR AGREEMENT WITH TUG WHICH SUPERSEDES ANY PRIOR AGREEMENT, ORAL OR +WRITTEN, AND ANY OTHER COMMUNICATIONS BETWEEN TUG AND YOU RELATING TO +THE SUBJECT MATTER OF THIS AGREEMENT, AND THAT YOUR OBLIGATIONS UNDER +THIS AGREEMENT SHALL INURE TO THE BENEFIT OF TUG'S LICENSORS WHOSE +RIGHTS ARE LICENSED UNDER THIS AGREEMENT. NO VARIATION OF THE TERMS OF +THIS AGREEMENT WILL BE ENFORCEABLE AGAINST TUG UNLESS TUG GIVES ITS +EXPRESS CONSENT IN WRITING SIGNED BY AN OFFICER OF TUG. + + +TUG contact information for any and all notifications, correspondence, +and questions related to this license: + TeX Users Group, attn: Lucida + PO Box 2311 + Portland, OR 97208-2311 + USA + fax number: +1 815-301-3568 + electronic mail address: lucida-admin@tug.org + web address: http://tug.org/store/lucida + +-- +(R) Lucida is a trademark of Bigelow & Holmes Inc. registered in the +U.S. Patent & Trademark Office and other jurisdictions. diff --git a/macros/latex/contrib/psnfssx/lucidabr/lucida-license-site.txt b/macros/latex/contrib/psnfssx/lucidabr/lucida-license-site.txt new file mode 100644 index 0000000000..1e7737f1dd --- /dev/null +++ b/macros/latex/contrib/psnfssx/lucidabr/lucida-license-site.txt @@ -0,0 +1,114 @@ +TeX Users Group (TUG) - Lucida Fonts Site License Agreement (2006-04-06) + +This Site License allows use of the Lucida Fonts, as described below, +within an organization, by up to a certain number of the organization's +members. If use by a single named individual is desired, an End User +License should be acquired instead. + +0) Definitions: +0a) "Site Licensee" means a firm, corporation, organization, or agency, + which is authorized by TUG to use, reproduce and distribute one or more + licensed Lucida Fonts to Site Licensee's members, employees or individual + contractors (the "Site Licensee Users") within the organization. +0b) "Font" means the digital software programs and data representing a + typeface. +0c) "Lucida Fonts" means those Fonts which Site Licensee has ordered + from TUG and TUG has licensed from Bigelow & Holmes Inc. + +1) Scope of Use: TUG grants Site Licensee a nonexclusive sublicense to: +1a) use the Lucida Fonts for display and printout of text and other + information; +1b) embed the Lucida Fonts in documents for transfer, display and + printout, but not for transfer or sublicense of the Lucida Fonts to + others; +1c) allow up to a specified number of Site Licensee Users to use the Lucida + Fonts as in 1a and 1b; +1d) reproduce and distribute copies of the Lucida Fonts for use only + by Site Licensee Users within the Site Licensee's organization. + +2) No Assignment: Site Licensee may not sublicense, assign, or transfer +the license of the Lucida Fonts outside of Site Licensee's organization. + +3) Copying and Use Restrictions: Site Licensee may not make, or have +made, or permit to be made, any copies of the Lucida Fonts or portions +thereof except as necessary for its use hereunder, as for example, for +the licensed use by the Site Licensee Users, and routine back-up copies. +Site Licensee agrees to notify TUG of any reproduction, distribution, or +use of Lucida Fonts in excess of the number permitted by the sublicense. +Site Licensee agrees that any copies made of a Lucida Font shall contain +the same proprietary notices that appear on or in the Lucida Font. + +4) No Modification: Site Licensee may not adapt, translate or modify the +Lucida Fonts. + +5) No Other Rights: Except as stated above, this Agreement does not +grant Site Licensee any rights to patents, copyrights, trademarks +(whether registered or unregistered), tradenames, trade secrets or any +other rights, franchises, or licenses in respect to the Lucida Fonts or +the Lucida trademark(s). Site Licensee acknowledges that all proprietary +rights in the Lucida Fonts remain at all times with Bigelow & Holmes +Inc. Any use of the trademark Lucida in marketing, advertising, trade, +or commerce, except for editorial reference to Fonts, must identify the +mark with the symbol R in a circle, and the phrase "Lucida is a +trademark of Bigelow & Holmes Inc. registered in the U.S. Patent & +Trademark Office and other jurisdictions". + +6) Export: Site Licensee acknowledges that the laws and regulations of +the United States restrict the export and re-export of commodities and +technical data of United States origin, including the Lucida Fonts, in +any form without the appropriate United States and foreign government +licenses. Site Licensee agrees that its obligations pursuant to this +section shall survive and continue after any termination or expiration +of rights under this Agreement. + +7) Term: The License is effective until terminated. TUG has the right to +terminate this license immediately if Site Licensee fails to comply with +any term of this Agreement. Upon any such termination Site Licensee +shall destroy the original and any copies of the Software, and related +documentation, and cease all use of the trademarks. + +8) Beneficiary: Bigelow & Holmes Inc. is a third-party beneficiary of +this license agreement, and has the right to enforce any and all +obligations of the license. + +9) No Warranty: SITE LICENSEE ACKNOWLEDGES THAT NO EXPRESS OR IMPLIED +WARRANTIES, INCLUDING NO IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR USE, ARE PROVIDED WITH RESPECT TO THE LUCIDA TRADEMARK OR +LUCIDA FONTS, AND IN NO EVENT SHALL TUG OR BIGELOW & HOLMES INC. BE +LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +OCCURRING FROM THE LICENSE OR SUBLICENSE OF RIGHTS GRANTED HEREUNDER OR +ARISING FROM THE USE OR INABILITY TO USE THE LUCIDA FONTS. + +10) Governing Law: This Agreement will be governed by the laws in force +in the State of Oregon, without giving effect to any choice of law +rule that would cause the application of the laws of any jurisdiction +other than the internal laws of the State of Oregon to the rights +and duties of the parties. The provisions of the United Nations +Convention on the International Sales of Goods are hereby disclaimed and +excluded. + +11) Entire Agreement: SITE LICENSEE ACKNOWLEDGES THAT SITE LICENSEE HAS +READ THIS AGREEMENT, UNDERSTANDS IT AND THAT IT IS THE COMPLETE AND +EXCLUSIVE STATEMENT OF ITS AGREEMENT WITH TUG WHICH SUPERSEDES ANY PRIOR +AGREEMENT, ORAL OR WRITTEN, AND ANY OTHER COMMUNICATIONS BETWEEN TUG AND +SITE LICENSEE RELATING TO THE SUBJECT MATTER OF THIS AGREEMENT, AND THAT +SITE LICENSEE'S OBLIGATIONS UNDER THIS AGREEMENT SHALL INURE TO THE +BENEFIT OF TUG'S LICENSORS WHOSE RIGHTS ARE LICENSED UNDER THIS +AGREEMENT. NO VARIATION OF THE TERMS OF THIS AGREEMENT WILL BE +ENFORCEABLE AGAINST TUG UNLESS TUG GIVES ITS EXPRESS CONSENT IN WRITING +SIGNED BY AN OFFICER OF TUG. + + +TUG contact information for any and all notifications, correspondence, +and questions related to this license: + TeX Users Group, attn: Lucida + PO Box 2311 + Portland, OR 97208-2311 + USA + fax number: +1 815-301-3568 + electronic mail address: lucida-admin@tug.org + web address: http://tug.org/store/lucida + +-- +(R) Lucida is a trademark of Bigelow & Holmes Inc. registered in the +U.S. Patent & Trademark Office and other jurisdictions. diff --git a/macros/latex/contrib/psnfssx/lucidabr/lucida-sample.pdf b/macros/latex/contrib/psnfssx/lucidabr/lucida-sample.pdf Binary files differindex afed7e1c5b..82c0313771 100644 --- a/macros/latex/contrib/psnfssx/lucidabr/lucida-sample.pdf +++ b/macros/latex/contrib/psnfssx/lucidabr/lucida-sample.pdf diff --git a/macros/latex/contrib/psnfssx/lucidabr/lucida-sample.tex b/macros/latex/contrib/psnfssx/lucidabr/lucida-sample.tex index ec6911ade0..6a76b8bc06 100644 --- a/macros/latex/contrib/psnfssx/lucidabr/lucida-sample.tex +++ b/macros/latex/contrib/psnfssx/lucidabr/lucida-sample.tex @@ -1,4 +1,4 @@ -% Copyright 2005, 2006 TeX Users Group. +% Copyright 2005-2012 TeX Users Group. % % Copying and distribution of this file, with or without modification, % are permitted in any medium, without royalty. @@ -18,19 +18,21 @@ \reversemarginpar \addtolength\marginparwidth{20pt} -% live url's if pdf. -\usepackage{ifpdf} +\usepackage{ifpdf} % live url's if pdf. \ifpdf \usepackage[breaklinks,colorlinks,linkcolor=black,citecolor=black, - pagecolor=black,urlcolor=black]{hyperref} + urlcolor=black]{hyperref} \else \usepackage{url} \fi \newcommand*\pkg[1]{\textsf{#1}} -\newcommand*\opt[1]{\texttt{#1}} -\newcommand*\cs[1]{\texttt{\char`\\#1}} +% define \code for url-like breaking of typewriter fragments. +\ifx\nolinkurl\undefined \def\code{\url}\else \def\code{\nolinkurl}\fi +\DeclareRobustCommand\cs[1]{\mbox{\texttt{\char`\\#1}}} +% avoid a lot of whitespace above the title, and put something in the header. +\usepackage{titling} \setlength{\droptitle}{-110pt} \pagestyle{headings} \newcommand\demotext{% @@ -39,18 +41,19 @@ % !`THE DAZED BROWN FOX QUICKLY GAVE 12345--67890 JUMPS! --- ?`But aren't Kafka's Schlo\ss{} and \AE sop's \OE uvres often na\"\i ve vis-\`a-vis the d\ae monic - ph\oe nix's official r\^ole in fluffy souffl\'es?} + ph\oe nix's official r\^ole in fluffy \rlap{souffl\'es?}} \newcommand*\demotextsc{\textsc{Sphinx of black quartz, judge my vow}.} \newcommand*\demotextosf{\oldstylenums{0123456789}.} -\newcommand*\raggedmarginpar[1]{\marginpar{\raggedright\hspace{0pt}#1}} +\newcommand*\raggedmarginpar[1]{% + \marginpar{\small \raggedright\hspace{0pt}#1}} \newcommand*\demo[2]{% \par\leavevmode\raggedmarginpar{#1}% \begin{minipage}[t]{\linewidth}% - \normalfont#2\demotext + \raggedright\normalfont#2\demotext \end{minipage}% } @@ -68,7 +71,7 @@ } -\title{Using the Lucida fonts with \LaTeX} +\title{Using the Lucida Type 1 fonts with \LaTeX} \author{\TeX\ Users Group\\[2pt]\url{http://tug.org/lucida}} \begin{document} \maketitle @@ -83,50 +86,45 @@ Bigelow \& Holmes Inc.\ registered in the U.S. Patent \& Trademark Office and other jurisdictions.} } -This document contains examples of the Lucida fonts available through -TUG. They are divided into two sets, \textit{basic} and -\textit{complete}, as displayed in the following sections. +This document contains examples of the Lucida fonts in Type~1 format +available from TUG. TUG also offers a (slightly different) set of +Lucida fonts in OpenType format. For more information and an order form +for any of the fonts, please see \url{http://tug.org/lucida}. -For more information about Lucida and \TeX, and an order form for the -fonts, please see \url{http://tug.org/lucida}. - -\section{\LaTeX\ macro support for Lucida} +\section{\LaTeX\ macro support for Lucida Type 1} The Lucida support primarily consists of two packages: \pkg{lucidabr} -and \pkg{lucbmath}. The former changes both running text and math to use -Lucida, whereas the latter only changes the math font setup in case you +and \pkg{lucbmath}. The former changes both running text and math to use +Lucida, whereas the latter only changes the math font setup, in case you want to use a different text font with the Lucida math fonts. -You may already have the macro packages installed as they are part of -most \TeX{} distributions---try running the example below. - -If it complains that \texttt{lucidabr.sty} is not found, you must -install the package; it's available on CTAN in -\url{http://www.ctan.org/tex-archive/macros/latex/contrib/psnfssx/lucidabr}, -and (of course) also included in the TUG distribution when you order the -fonts. +Naturally, the packages are included in the TUG distribution you receive +when you order the fonts. They are also available from CTAN, in the +directory +\url{http://mirror.ctan.org/macros/latex/contrib/psnfssx/lucidabr}. If +you run the example below and it complains that \code{lucidabr.sty} is +not found, you must install the packages. \subsection{Basic example} The packages do \emph{not} support \LaTeX's (and \TeX's) default -encoding (OT1). Supported encodings are T1, LY1, and TS1 (partial). -What this means is that you have to use the \pkg{fontenc} package to -switch the default. - -Here's a small example: +encoding (OT1). Supported text encodings are T1 and LY1, and the text +companion encoding TS1 is partially supported. Thus, you must use the +\pkg{fontenc} package (part of standard \LaTeX) to switch from the +default encoding. Here's a small example: \begin{verbatim} \documentclass{article} -\usepackage[T1]{fontenc} -\usepackage{textcomp} -\usepackage{lucidabr} +\usepackage[T1]{fontenc} % or LY1 +\usepackage{textcomp} % unnecessary with LY1 +\usepackage[altbullet]{lucidabr} \begin{document} Here's some text. And here's some math: \[ \phi(x)=\int_{-\infty}^{x} e^{-x^{2}/2} \] -Euro and copyright symbols are available: +Euro, copyright, and bullet symbols are available: \texteuro \textcopyright \textbullet. \end{document} \end{verbatim} @@ -144,45 +142,79 @@ Euro, copyright, and bullet symbols are available: If the example runs ok, but produces no output, try refreshing the ``filename database'' (e.g., run \texttt{mktexlsr}). Also, of course, -you must actually purchase the fonts! (All the metrics and support -files are on CTAN, but not the \texttt{.pfb} files containing the actual +you must actually purchase the fonts! (The metrics and support files +are on CTAN, but not the \texttt{.pfb} files containing the actual outlines.) -It's best to load the \pkg{textcomp} package with \pkg{lucidabr}, or -some symbols, notably \cs{textcopyright}, will be synthesized instead of -coming from the fonts. We don't load \pkg{textcomp} automatically, -since loading such fundamental packages behind the scenes can cause -hard-to-debug trouble. +When the T1 encoding is used, it's best to load the \pkg{textcomp} +package along with \pkg{lucidabr}, or some symbols, notably +\cs{textcopyright}, will be synthesized instead of coming from the +fonts. We don't load \pkg{textcomp} automatically since loading such +fundamental packages behind the scenes can cause hard-to-debug trouble. Furthermore, the default \cs{textbullet} is quite small; the more normal -one above is generated by specifying the \opt{altbullet} option when -loading \pkg{lucidabr}. - -By default, oldstyle figures from the \pkg{textcomp} package, accessed -with the \verb|\oldstylenums| command, are disabled for the Lucida fonts -since they do not exist in all shapes. In order for \verb|\oldstylenums| -to work, you must add the line +one above is used when the \code{altbullet} option to the \pkg{lucidabr} +package is given. + +\subsection{Old style figures} + +Old style figures ($\oldstylenums{0123456789}$) are produced with the +\LaTeX\ command \verb|\oldstylenums{...}|. They are provided in the +Lucida Bright fonts (not sans or typewriter), but unfortunately their +treatment is slightly complicated and depends on the encoding you use. + +\def\descitem#1{\hbox to 21pt{\hfil#1}} +\begin{description} +\item[\descitem{T1}] +When using T1 + \pkg{textcomp}, you can get old style figures +automatically in math mode via the usual command \verb|\oldstylenums|, +e.g., \verb|$\oldstylenums{0123456789}$|. To be able to also get them +in text, you must add this line:\\[2pt] +\verb| \DeclareEncodingSubset{TS1}{hlh}{1}|\\[2pt] +to your preamble \emph{after} loading the \pkg{textcomp} package. + +\item[\descitem{LY1}] +For LY1, old style figures are the ordinary numbers of the small caps +font; so, using \verb|\textsc| or \verb|\scshape| automatically yields +the old style figures. This is in accordance with the long-established +typographical tradition. + +While the command \verb|\oldstylenums| works automatically in math mode +as in the previous case, for it to work with ordinary text, and to get +the bold old style figures in bold text, its \LaTeX\ definition has to +be changed, by specifying the font the figures will come from. So you +must include this code in your preamble: \begin{verbatim} -\DeclareEncodingSubset{TS1}{hlh}{1} +\makeatletter +\def\oldstylenums#1{\begingroup + \spaceskip\fontdimen\tw@\font + \usefont{OML}{hlcm}{\f@series}{it}% + \mathgroup\symletters #1% + \endgroup} +\makeatother \end{verbatim} -to your preamble \emph{after} loading the \pkg{textcomp} package. The -font family \texttt{hlhj} provides the oldstyle figures by default but -there exists no bold italic version of these figures and the italic -versions are only available if you buy the complete font set. +\end{description} + +After making the appropriate changes, you can get old style figures as +desired: -Now, let's take a more systematic look at the fonts. +\medskip +\begin{tabular}{ll} +\verb|\oldstylenums{0123456789}| & \oldstylenums{0123456789} \cr +\verb|\textit{\oldstylenums{0123456789}}|&\textit{\oldstylenums{0123456789}}\cr +\verb|\textbf{\oldstylenums{0123456789}}|&\textbf{\oldstylenums{0123456789}}\cr +\end{tabular} -\section{The \textsf{basic} font set} +\section{Font samples} -The basic set of fonts contains all the math fonts (shown in the -accompanying \texttt{lucida-amsmath} document), a set of text fonts with -accompanying small caps, and a monospaced font for code examples. The -idea is that this is sufficient for mathematical papers and typical text -usage. +The Lucida Type~1 font set contains math fonts (shown in the +accompanying \texttt{lucida-amsmath} document), and the following text +fonts: -The roman text font is Lucida Bright. It comes with small caps and -oldstyle figures only in the upright shapes: +The basic text family is Lucida Bright, with the usual four +variants---regular, italic, bold, and bold italic; small caps and +oldstyle figures are available in the upright shapes: \begin{quote} \demoscosf{LucidaBright}{} @@ -196,8 +228,8 @@ oldstyle figures only in the upright shapes: \demo{LucidaBright-DemiItalic}{\bfseries\itshape} \end{quote} -\noindent The basic set also contains Lucida Sans Typewriter in various -shapes and series: +\bigskip\noindent The monospaced \code{LucidaSans-Typewriter} family is +available in the same four variants (no small caps or oldstyle figures): \begin{quote} \demo{LucidaSans-Typewriter}{\ttfamily\raggedright} @@ -209,11 +241,9 @@ shapes and series: {\ttfamily\bfseries\slshape\raggedright} \end{quote} -\section{The \textsf{complete} font set} - -The complete font set includes (naturally) all the basic fonts, and -assorted other text font variations, starting with the full sans serif -variant, Lucida Sans: +\bigskip\noindent The sans serif, \code{LucidaSans}, is again +available in the same four variants (also with no small caps or +oldstyle): \begin{quote} \demo{LucidaSans}{\sffamily} @@ -225,8 +255,8 @@ variant, Lucida Sans: {\sffamily\bfseries\itshape} \end{quote} -LucidaSans also exists in an ultra bold version, which you have to select -manually with \verb|\fontseries{ub}\selectfont|. +\bigskip\noindent LucidaSans also exists in an ultra bold version, which +you have to select manually with \verb|\fontseries{ub}\selectfont|. \begin{quote} \demo{LucidaSans-Bold}{\sffamily\fontseries{ub}\selectfont} @@ -235,11 +265,10 @@ manually with \verb|\fontseries{ub}\selectfont|. \end{quote} -A second, seriffed, typewriter font is included as well. By default the -\pkg{lucidabr} package chooses Lucida Sans Typewriter for typewriter but -you can change that by giving the option \opt{seriftt}, as in:\\ -\verb|\usepackage[seriftt]{lucidabr}| - +\bigskip\noindent A second, seriffed, typewriter font is included as +well. By default the \pkg{lucidabr} package selects Lucida Sans +Typewriter for typewriter; you can change that by giving the option +\code{seriftt}:\\ \verb|\usepackage[seriftt]{lucidabr}| \begin{quote} \demo{Lucida Typewriter}{\fontfamily{hlct}\selectfont\raggedright} @@ -252,9 +281,11 @@ you can change that by giving the option \opt{seriftt}, as in:\\ {\fontfamily{hlct}\selectfont\slshape\bfseries\raggedright} \end{quote} -Lucida Fax is a complete text font. By giving the option \opt{fax} to -\pkg{lucidabr} this becomes the default roman font. There are no small -caps or oldstyle figures for this font. + +\bigskip\noindent Lucida Fax is an alternative text font, heavier than +usual, available in the same four variants. By giving the option +\code{fax} to \pkg{lucidabr} this becomes the default roman font. There +are no small caps or oldstyle figures for this font. \begin{quote} \demo{LucidaFax}{\fontfamily{hlx}\selectfont} @@ -267,9 +298,9 @@ caps or oldstyle figures for this font. {\fontfamily{hlx}\selectfont\itshape\bfseries} \end{quote} -Lucida Casual exists in two versions only: medium upright and -medium italic. You can still make it the default text font by giving the -option \opt{casual} to \pkg{lucidabr}. +\bigskip\noindent The Lucida Casual variant exists in two versions only: +medium upright and medium italic. You can make it the default text +font by giving the option \code{casual} to \pkg{lucidabr}. \begin{quote} \demo{LucidaCasual}{\fontfamily{hlcn}\selectfont} @@ -278,26 +309,35 @@ option \opt{casual} to \pkg{lucidabr}. \end{quote} -Finally, three more esoteric fonts are included. Lucida Calligraphy -contains italic oldstyle figures, which are used if available when -selecting \verb|\oldstylenums| for Lucida Bright. If you choose the -option \opt{calligraphic} for \pkg{lucidabr}, Lucida Calligraphy will be -the default roman font. A similar option \opt{handwriting} makes Lucida -Handwriting the default roman font. - +\bigskip\noindent Finally, three more specialized fonts are included. If +you specify the \code{calligraphic} option for \pkg{lucidabr}, Lucida +Calligraphy will be the default italic font. A similar option +\code{handwriting} makes Lucida Handwriting the default italic font. \begin{quote} -\demo{LucidaCalligraphy-Italic} - {\fontfamily{hlce}\selectfont} +\demo{Lucida Calligraphy-Italic} + {\fontfamily{hlce}\selectfont 0123456789. } -\demo{LucidaHandwriting-Italic} +\demo{Lucida Handwriting-Italic} {\fontfamily{hlcw}\selectfont} \demo{Lucida Blackletter} {\fontfamily{hlcf}\selectfont} \end{quote} -This is all the Lucida fonts available with \TeX\ support. For more -information about Lucida and \TeX, and an order form for the fonts, -please see \url{http://tug.org/lucida}, and thanks. +The above are all the Lucida Type~1 fonts available with \TeX\ support. +There are no plans to extend the selection; work now is focused on the +Lucida OpenType fonts. + +\section{Closing} + +If you have questions or problems regarding installation or use, please +email \code{lucida@tug.org}; this is an open and publicly archived list +for Lucida discussion; you can subscribe on the web at +\url{http://lists.tug.org/lucida}. On the other hand, questions or +problems related to ordering or licensing should go to +\code{lucida-admin@tug.org}. + +Finally, the home page for Lucida and \TeX, with an order form for the +fonts, is \url{http://tug.org/lucida}. \end{document} diff --git a/macros/latex/contrib/psnfssx/lucidabr/lucidabr.txt b/macros/latex/contrib/psnfssx/lucidabr/lucidabr.txt new file mode 100644 index 0000000000..2e13891910 --- /dev/null +++ b/macros/latex/contrib/psnfssx/lucidabr/lucidabr.txt @@ -0,0 +1,165 @@ +============================================================ + LaTeX Support for Lucida Bright +============================================================ +Copyright 1997--2017 David Carlisle, Sebastian Rahtz, Walter Schmidt, +TeX Users Group. + +See also readme.lucida and lucida.txt for information about the +Lucida Type 1 fonts. This file is about the lucidabr (and lucbmath) +macro packages used with those Type 1 fonts. For information about the +Lucida OpenType fonts, see lucidaot.pdf and the other files in +doc/fonts/lucidaot/. + +All the documentation, for both Type 1 and OpenType, is also available +via http://tug.org/lucida, along with contact and ordering information. + +The macro packages +================== +The macro packages lucidabr.sty and lucbmath.sty support +using the Lucida Bright and Lucida New Math fonts with +LaTeX. Loading the package lucidabr changes all text and +math fonts to Lucida: + + \usepackage[...]{lucidabr} + +Loading the package lucbmath changes only the math fonts, so +that you can use the Lucida New Math fonts together with +font families, which have no math fonts of their own. The +default roman font family (i.e. \rmdefault) must be changed +_before_ loading of the package: + + \renewcommand{\rmdefault{...} + \usepackage[...]{lucbmath} + + +Using AMS LaTeX +=============== +When using the Lucida New Math fonts with the amsmath +package, the sequence of loading is crucial. The lucidabr +or lucbmath packages are to be loaded _after_ amsmath only: + + \usepackage{amsmath} + \usepackage{lucidabr} % or lucbmath + +Otherwise certain math symbols will be broken. + + +Package options +=============== +Package Options in version 4.4 (new options in release 4.x marked with *): + + expert + noexpert (default) + Declares whether the extended `expert' set is available. + Mainly the expert set provides bold math fonts. + + nolucidascale + lucidascale (default) + lucidasmallscale + Controls the relative sizes of the text and math fonts used. + +* mathitalic1 (default) +* mathitalic2 +* mathitalic3 + Controls the style of the `math italic letters' Style 1 + uses the `Lucida Math Italic Alternate' font. Style 2 + uses the `Lucida Math Italic' font. Style 3 uses the + `Lucida Math Upright Italic' font. Style 1 is the + default. Style 3 is only available with the expert set. + +* slantedgreek (default) +* uprightgreek + Controls whether lowercase greek is slanted or upright. + Uppercase Greek is always upright. These options match + those of the mathtime package. + +* vargreek + Define extra command names to access: uppercase slanted + Greek (\varGamma...) lowercase upright Greek + (\upalpha...) Irrespective of whether \alpha is + accessing upright or slanted Greek alphabet. + +* OT1 +* T1 +* LY1 + Controls the encoding used in the operators font. + Normally these options do not need to be explicitly given + as the default is to use the current default text + encoding, so if \usepackage[T1]{fontenc} is used before + loading this package, T1 encoding will be used. These + options are similar to the ones provided by the mathtime + package. Note that when cm fonts are being used the OT1 + encoding is always used for the operators font as it is + required to access Greek in that case. However Lucida + provides upper and lowercase Greek in the math fonts. + +* seriftt + The default Lucida monospace font is sans serif. If the + expert set is available this option enables the use of a + seriffed monospace font as the family used by \ttfamily + and \textttt. + +* fax + Use the `fax' variant of Lucida Bright as the Roman + family. This is available in all four combinations of + bold and italic. + +* casual + Use the `casual' variant of Lucida Bright as the Roman + family. This requires the expert set. No bold is + available for this set. + +* calligraphic + Replace the italic font in whichever Roman family is + being used by Lucida calligraphic italic, for a more + flamboyant style. + +* handwriting + Replace the italic font in whichever Roman family is + being used by Lucida Handwriting italic. You probably + don't want to do this in technical documents that make + use of the Lucida New Math fonts, but it is there if you + need it. + +* noamssymbols + Do not define individual command names to all the AMS + math symbols (and a few extra Lucida math symbols). This + makes this package emulate the amsfonts package rather + than the amssymbl package. It saves a lot of space for + smaller TeX systems. You can then just define commands + for the symbols you are going to use. + +* errorshow (default) +* warningshow +* nofontinfo + This package makes a lot of font re-assignments. The + default warning messages can get rather obtrusive. These + option names match those in the mathtime package. The + default behaviour for this package is `errorshow' that + is, only font errors are shown to the terminal. The + warningshow option re-instates the normal LaTeX + behaviour, font warnings go to the terminal and the log. + The `nofontinfo' option stops the font tracing + information altogether, it is not written even to the + log. + +* altbullet + The bullet in the Lucida Bright text font is relatively + small. Using this option you get instead the larger + bullet from the math symbol font. + +Notes +----- + All demibold fonts assigned to `b'. The two sans serif + bold fonts assigned to `ub' (ultra bold). This means that with the + exception of the Sans bold fonts *all* fonts in the Lucida bright + font set are available given a suitable set of package options + and normal `user level' commands such as \bfseries, \sffamily etc. + + To access the `bold' Sans Serif one may go + \fontseries{ub}\sffamily. + + The Black Letter font is only made available in math mode + as \mathfrak. If you are typesetting German text and want to use + this as a text font, you should define a command that executes + \fontfamily{hlcf}\selectfont. diff --git a/macros/latex/contrib/xsim/HISTORY b/macros/latex/contrib/xsim/HISTORY index 83eaeb2efd..37068a327a 100644 --- a/macros/latex/contrib/xsim/HISTORY +++ b/macros/latex/contrib/xsim/HISTORY @@ -179,3 +179,5 @@ HISTORY: v0.20a 2021/02/01 - re-add missing `layouts' style - add example texsx-549540 v0.20b 2021/02/02 - fix issue #78 + v0.20c 2021/02/03 - fix issue #80 + - add missing test in \xsim_if_exist:nnnTF diff --git a/macros/latex/contrib/xsim/README b/macros/latex/contrib/xsim/README index 0bca910fa0..7399405eaa 100644 --- a/macros/latex/contrib/xsim/README +++ b/macros/latex/contrib/xsim/README @@ -1,5 +1,5 @@ -------------------------------------------------------------------------- -XSIM 2021/02/02 v0.20b +XSIM 2021/02/03 v0.20c XSIMVERB 2021/01/31 v0.3 eXercise Sheets IMproved diff --git a/macros/latex/contrib/xsim/examples/xsim.crossref.pdf b/macros/latex/contrib/xsim/examples/xsim.crossref.pdf Binary files differindex 19843c4185..f3e8c8a471 100644 --- a/macros/latex/contrib/xsim/examples/xsim.crossref.pdf +++ b/macros/latex/contrib/xsim/examples/xsim.crossref.pdf diff --git a/macros/latex/contrib/xsim/xsim-manual.cls b/macros/latex/contrib/xsim/xsim-manual.cls index f67e2754ae..6d09782c37 100644 --- a/macros/latex/contrib/xsim/xsim-manual.cls +++ b/macros/latex/contrib/xsim/xsim-manual.cls @@ -998,6 +998,7 @@ \xsim@add@version{0.20} {2021-01-31} \xsim@add@version{0.20a} {2021-02-01} \xsim@add@version{0.20b} {2021-02-02} +\xsim@add@version{0.20c} {2021-02-03} % ---------------------------------------------------------------------------- \newrobustcmd*\xsimauxfileinfo{% diff --git a/macros/latex/contrib/xsim/xsim-manual.pdf b/macros/latex/contrib/xsim/xsim-manual.pdf Binary files differindex 02803ce557..45529ae8d5 100644 --- a/macros/latex/contrib/xsim/xsim-manual.pdf +++ b/macros/latex/contrib/xsim/xsim-manual.pdf diff --git a/macros/latex/contrib/xsim/xsim.sty b/macros/latex/contrib/xsim/xsim.sty index 157fd3eb82..c802477528 100644 --- a/macros/latex/contrib/xsim/xsim.sty +++ b/macros/latex/contrib/xsim/xsim.sty @@ -29,10 +29,10 @@ \ExplSyntaxOn -\tl_const:Nn \c_xsim_date_tl {2021/02/02} +\tl_const:Nn \c_xsim_date_tl {2021/02/03} \tl_const:Nn \c_xsim_version_major_number_tl {0} \tl_const:Nn \c_xsim_version_minor_number_tl {20} -\tl_const:Nn \c_xsim_version_subrelease_tl {b} +\tl_const:Nn \c_xsim_version_subrelease_tl {c} \tl_const:Nx \c_xsim_version_number_tl { \c_xsim_version_major_number_tl . @@ -1497,7 +1497,7 @@ \xsim_verbose:n { Saving~ #3~ environment~ type~ `#1'~ id~ `#2' } \xsim_set_property:nnnn {#1} {#2} {#3-body} {#4} \xsim_if_exchange:nnnF {#1} {#2} {#3} - { \xsim_set_property:nnnn {#1} {#2} {solution-body} {#3} } + { \xsim_set_property:nnnn {#1} {#2} {solution-body} {#4} } } \cs_new:Npn \__xsim_save_environment_body_end: { } @@ -1608,7 +1608,9 @@ { \xsim_if_write_to_files:TF { - \__xsim_set_file_signature:nnn {#1} {#2} {#3} + \xsim_if_exchange:nnnTF {#1} {#2} {#3} + { \__xsim_set_file_signature:nnn {#1} {#2} {exercise} } + { \__xsim_set_file_signature:nnn {#1} {#2} {#3} } \file_if_exist:VTF \l__xsim_file_path_and_name_tl { \prg_return_true: } { \prg_return_false: } @@ -1656,8 +1658,8 @@ { \__xsim_set_file_signature:nnn {#1} {#2} {#3} } \xsim_if_write_to_files:TF { - \file_if_exist:nTF { \exp_not:V \l__xsim_file_path_and_name_tl } - { \file_input:n { \exp_not:V \l__xsim_file_path_and_name_tl } } + \file_if_exist:VTF \l__xsim_file_path_and_name_tl + { \file_input:V \l__xsim_file_path_and_name_tl } { \xsim_verbose:n { File~ `\l__xsim_file_path_and_name_tl'~ doesn't~ exist. } @@ -4816,7 +4818,7 @@ { \XSIMifblankTF {#1} {#2} {} } \NewExpandableDocumentCommand \XSIMifblankF {+m+m} - { \XSIMifblankTF {#1} {} {#2} {} } + { \XSIMifblankTF {#1} {} {#2} } % ---------------------------------------------------------------------------- diff --git a/macros/latex/contrib/xsim/xsim.style.layouts.code.tex b/macros/latex/contrib/xsim/xsim.style.layouts.code.tex index 778ad66eb0..120df82fef 100644 --- a/macros/latex/contrib/xsim/xsim.style.layouts.code.tex +++ b/macros/latex/contrib/xsim/xsim.style.layouts.code.tex @@ -8,7 +8,7 @@ % Web: https://github.com/cgnieder/xsim % E-Mail: contact@mychemistry.eu % ---------------------------------------------------------------------------- -% Copyright 2017--2020 Clemens Niederberger +% Copyright 2017--2021 Clemens Niederberger % % This work may be distributed and/or modified under the % conditions of the LaTeX Project Public License, either version 1.3c |