From 8141bb63ac908014fe5b6bc7ebed4d2889c014d4 Mon Sep 17 00:00:00 2001 From: Norbert Preining Date: Fri, 18 Nov 2022 03:04:57 +0000 Subject: CTAN sync 202211180304 --- .../biblatex-contrib/biblatex-chicago/README | 4 +- .../biblatex-contrib/biblatex-chicago/RELEASE | 9 + .../biblatex-chicago/doc/biblatex-chicago.pdf | Bin 1268516 -> 1245018 bytes .../biblatex-chicago/doc/biblatex-chicago.tex | 126 +- .../biblatex-chicago/doc/cms-dates-intro.pdf | Bin 256022 -> 233089 bytes .../biblatex-chicago/doc/cms-dates-intro.tex | 10 +- .../biblatex-chicago/doc/cms-dates-sample.pdf | Bin 205707 -> 182889 bytes .../biblatex-chicago/doc/cms-dates-sample.tex | 8 +- .../biblatex-chicago/doc/cms-legal-sample.pdf | Bin 86325 -> 64860 bytes .../biblatex-chicago/doc/cms-legal-sample.tex | 8 +- .../biblatex-chicago/doc/cms-noteref-demo.pdf | Bin 109286 -> 87995 bytes .../biblatex-chicago/doc/cms-noteref-demo.tex | 8 +- .../biblatex-chicago/doc/cms-notes-intro.pdf | Bin 286590 -> 280404 bytes .../biblatex-chicago/doc/cms-notes-intro.tex | 8 +- .../biblatex-chicago/doc/cms-notes-sample.pdf | Bin 180012 -> 158653 bytes .../biblatex-chicago/doc/cms-notes-sample.tex | 8 +- .../biblatex-chicago/doc/cms-trad-appendix.pdf | Bin 87269 -> 68316 bytes .../biblatex-chicago/doc/cms-trad-appendix.tex | 8 +- .../biblatex-chicago/doc/cms-trad-sample.pdf | Bin 180128 -> 157473 bytes .../biblatex-chicago/doc/cms-trad-sample.tex | 8 +- .../biblatex-chicago/latex/chicago-authordate.bbx | 40 +- .../latex/chicago-dates-common.cbx | 78 +- .../latex/chicago-dates-common16.cbx | 17 +- .../biblatex-chicago/latex/chicago-notes.bbx | 40 +- .../biblatex-chicago/latex/chicago-notes.cbx | 75 +- .../biblatex-chicago/latex/chicago-notes16.bbx | 6 +- .../biblatex-chicago/latex/chicago-notes16.cbx | 17 +- .../biblatex-chicago/latex/cmsdocs.sty | 5 +- macros/latex/contrib/lgrmath/README | 48 + macros/latex/contrib/lgrmath/lgrmath.dtx | 1263 ++++++++++++++++++++ macros/latex/contrib/lgrmath/lgrmath.pdf | Bin 0 -> 125218 bytes macros/latex/contrib/memoir/README | 26 + macros/latex/contrib/memoir/memman.pdf | Bin 2837551 -> 2837566 bytes macros/latex/contrib/memoir/memoir.dtx | 41 +- macros/latex/contrib/memoir/mempatch.dtx | 68 +- macros/latex/contrib/udes-genie-these/README.md | 35 +- macros/latex/contrib/udes-genie-these/document.tex | 50 +- .../contrib/udes-genie-these/udes-genie-these.dtx | 76 +- .../contrib/udes-genie-these/udes-genie-these.ins | 2 +- .../contrib/udes-genie-these/udes-genie-these.pdf | Bin 124734 -> 129528 bytes 40 files changed, 1746 insertions(+), 346 deletions(-) create mode 100644 macros/latex/contrib/lgrmath/README create mode 100644 macros/latex/contrib/lgrmath/lgrmath.dtx create mode 100644 macros/latex/contrib/lgrmath/lgrmath.pdf (limited to 'macros/latex/contrib') diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-chicago/README b/macros/latex/contrib/biblatex-contrib/biblatex-chicago/README index eac45ee706..1c8ed3d79a 100644 --- a/macros/latex/contrib/biblatex-contrib/biblatex-chicago/README +++ b/macros/latex/contrib/biblatex-contrib/biblatex-chicago/README @@ -1,7 +1,7 @@ IMPORTANT NOTE: This is the package formerly known as biblatex-chicago-notes-df. It -is designed for use with the latest version (3.18) of biblatex. The +is designed for use with the latest version (3.18b) of biblatex. The package contains the 17th-edition Chicago style files, and I am also maintaining the 16th-edition files for those for whom they remain a necessity, though I have deprecated these older files and will remove @@ -15,7 +15,7 @@ date. Most particularly please note that biber is now the required backend for all the included styles (version 2.18 is designed for use with the latest biblatex). -README (version 2.3, 2022-07-02): +README (version 2.3a, 2022-11-17): Biblatex-chicago contains three biblatex styles implementing the specifications of the Chicago Manual of Style, 17th edition. The diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-chicago/RELEASE b/macros/latex/contrib/biblatex-contrib/biblatex-chicago/RELEASE index 84c8102401..6710cdb5cd 100644 --- a/macros/latex/contrib/biblatex-contrib/biblatex-chicago/RELEASE +++ b/macros/latex/contrib/biblatex-contrib/biblatex-chicago/RELEASE @@ -1,3 +1,12 @@ +Release notes for version 2.3a [2022-11-17]: + +This release backports a bug-fix from the most recent LaTeX3 +programming layer. If you are using biblatex 3.18b and an older L3 +layer then the processing of your documents could fail and fall into +an infinite loop, leaving behind an inscrutable message in your log +file. This update should prevent that, and also fixes a few other +minor glitches. + Release notes for version 2.3 [2022-07-02]: All styles now require the current biblatex (3.18) and biber (2.18). diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-chicago/doc/biblatex-chicago.pdf b/macros/latex/contrib/biblatex-contrib/biblatex-chicago/doc/biblatex-chicago.pdf index 4ff5330930..360c89392c 100644 Binary files a/macros/latex/contrib/biblatex-contrib/biblatex-chicago/doc/biblatex-chicago.pdf and b/macros/latex/contrib/biblatex-contrib/biblatex-chicago/doc/biblatex-chicago.pdf differ diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-chicago/doc/biblatex-chicago.tex b/macros/latex/contrib/biblatex-contrib/biblatex-chicago/doc/biblatex-chicago.tex index 96f26ac5ea..03f2413a32 100644 --- a/macros/latex/contrib/biblatex-contrib/biblatex-chicago/doc/biblatex-chicago.tex +++ b/macros/latex/contrib/biblatex-contrib/biblatex-chicago/doc/biblatex-chicago.tex @@ -26,10 +26,10 @@ filecolor=Teal]{hyperref} % \usepackage[scaled=0.9]{ClearSans} % \usepackage[p]{zlmtt} % \usepackage{gentium} -\setmainfont{GentiumPlus-R.ttf}[ -ItalicFont = GentiumPlus-I.ttf, -BoldFont = GenBasB.ttf, -BoldItalicFont = GenBasBI.ttf] +\setmainfont{GentiumPlus-Regular.ttf}[ +ItalicFont = GentiumPlus-Italic.ttf, +BoldFont = GentiumPlus-Bold.ttf, +BoldItalicFont = GentiumPlus-BoldItalic.ttf] \setsansfont{ClearSans-Regular.ttf}[ BoldFont = ClearSans-Bold.ttf, ItalicFont = ClearSans-Italic.ttf, @@ -117,7 +117,7 @@ HyphenChar={-}] Style files for biblatex \vspace{.3\baselineskip} -\sffamily\normalsize\bfseries David Fussner\qquad Version 2.3\\ +\sffamily\normalsize\bfseries David Fussner\qquad Version 2.3a\\ \href{mailto:djf027@googlemail.com}{djf027@googlemail.com}\\ \today \end{center} @@ -150,6 +150,8 @@ HyphenChar={-}] to let me know, and of course any suggestions for solving problems more elegantly or accurately would be most welcome.} +\enlargethispage{\baselineskip} + \mylittlespace\textbf{Important Note:} If you have used \textsf{biblatex-chicago} before, especially if you've been using anything earlier than version 2.0, please make sure you have read the @@ -215,7 +217,7 @@ clickable link to an external document. \begin{itemize}{}{} \item The \textsf{biblatex} package, of course! The current version - --- 3.18 at the time of writing --- has received extensive testing, + --- 3.18b at the time of writing --- has received extensive testing, and contains features and bug fixes upon which my code relies. Please don't use any earlier version. \textsf{Biblatex} requires several packages, and it strongly recommends several more: @@ -223,7 +225,7 @@ clickable link to an external document. \item \textsf{biber} --- the next-generation \textsc{Bib}\TeX\ replacement by Philip Kime and Fran\c{c}ois Charette, available from SourceForge (required). You should use the latest version, - 2.18, to work with \textsf{biblatex} 3.18 and + 2.18, to work with \textsf{biblatex} 3.18b and \textsf{biblatex-chicago}; please note that any other backend will not produce accurate results. \item e-\TeX\ (required) @@ -238,8 +240,11 @@ clickable link to an external document. \item \textsf{babel} --- a standard package (\emph{strongly} recommended) \item \textsf{csquotes} --- available from CTAN (recommended). - Please upgrade to the latest version of \textsf{csquotes} (5.2l). + Please upgrade to the latest version of \textsf{csquotes} (5.2n). \end{itemize} +\item The standard \textsf{expl3} and \textsf{xparse} packages are + loaded automatically for most users, and if they aren't + \textsf{biblatex-chicago} does it for you. \item With recent changes both to \textsf{biblatex} and to \textsf{biblatex-chicago}, \textsf{biblatex-chicago} itself now requires two packages, which are both loaded for you if you load @@ -1028,7 +1033,7 @@ the added fields \textsf{version} and \textsf{type} providing information about the app's version and about the system on which it runs (14.268; angry:birds). -%\enlargethispage{-\baselineskip} +%%\enlargethispage{-\baselineskip} \mybigspace This \mymarginpar{\textbf{bookinbook}} type provides the means of referring to parts of books that are considered, in other @@ -1717,7 +1722,7 @@ wrongly-inherited fields. Other sorts of parent entries aren't affected by this, and of course you must be using \textsf{Biber} for the settings to apply. -% \enlargethispage{\baselineskip} +% %\enlargethispage{\baselineskip} \mylittlespace Should you wish to employ the new, \textsf{maintitle}-first syntax, then you'll @@ -1800,6 +1805,8 @@ mechanism's designed to save you some typing in common scenarios; please see all of the (multifarious) details in section~\ref{sec:related}, below. +\enlargethispage{\baselineskip} + \paragraph*{\protect\mymarginpar{\textbf{online}}} \label{sec:online} @@ -1941,7 +1948,7 @@ deductively from the basic principles, I hope that the table might simplify most of your choices. If something remains unclear, please let me know and I'll see if I can improve it. -\enlargethispage{\baselineskip} +%\enlargethispage{\baselineskip} \mylittlespace A few more notes are in order. I designed the \textsf{relatedtype} \texttt{commenton} to facilitate citation of @@ -2000,7 +2007,7 @@ way, as it allows you to provide the initialisms that the \textsf{timezone}, \textsf{urldate}, and \textsf{userd} in section~\ref{sec:entryfields}, below. -% \enlargethispage{\baselineskip} +% %\enlargethispage{\baselineskip} \mybigspace The \mymarginpar{\textbf{patent}} \emph{Manual} is very brief on this subject (14.258), but very clear about which information @@ -2567,7 +2574,7 @@ name given here exactly matches that of an editor and/or a translator, then \textsf{biblatex-chicago-notes} will concatenate these fields in the formatted references. -%\enlargethispage{-\baselineskip} +%%\enlargethispage{-\baselineskip} \mylittlespace As noted above, however, this field has a special meaning in the \textsf{suppbook} entry type, used to make an @@ -2657,7 +2664,7 @@ present in the entry, but please remember to use the new option latter doesn't work as smoothly and completely as \textsf{biblatex's} own name toggles. -% \enlargethispage{\baselineskip} +% %\enlargethispage{\baselineskip} \mylittlespace This system of options, then, can turn off \textsf{biblatex-chicago-notes}'s mechanism for finding a name to @@ -2760,6 +2767,8 @@ entry type for introductions, forewords and afterwords (\textsf{suppbook}) uses \textsf{bookauthor} as the author of \textsf{title} (polakow:afterw, prose:intro). +\enlargethispage{2\baselineskip} + \mybigspace This, \mymarginpar{\vspace{-8pt}\textbf{bookpagination}} a standard \textsf{biblatex} field, allows you automatically to prefix the appropriate string to information you provide in a \textsf{pages} @@ -3038,7 +3047,7 @@ Please note that you can set both of these options either in the preamble or in the \textsf{options} field of individual entries, allowing you to change the settings on an entry-by-entry basis. -\enlargethispage{2\baselineskip} +%\enlargethispage{2\baselineskip} \mylittlespace Please further note that in earlier releases of \textsf{biblatex-chicago} I recommended against using @@ -3422,7 +3431,7 @@ so these three fields now work more or less as they do in standard abbreviated references to online content than conventional URLs, though I can find no specific reference to them in the \emph{Manual}. -% \enlargethispage{-\baselineskip} +% %\enlargethispage{-\baselineskip} \mybigspace This \mymarginpar{\textbf{eventdate}} is a standard \textsf{biblatex} field which has gradually accumulated functions in @@ -3530,7 +3539,7 @@ usually identify the university for which the thesis was written, while in a \textsf{report} entry it may identify any sort of institution issuing the report. -% \enlargethispage{\baselineskip} +% %\enlargethispage{\baselineskip} \mybigspace As \mymarginpar{\textbf{introduction}} with the \textsf{afterword} and \textsf{foreword} fields above, @@ -3722,7 +3731,7 @@ this field to \textsf{article}, \textsf{periodical}, and of those entry types in section~\ref{sec:entrytypes}, above, and also table~\ref{tab:online:types} (14.208; amlen:hoot). -% \enlargethispage{\baselineskip} +% %\enlargethispage{\baselineskip} \mybigspace An \mymarginpar{\textbf{maintitleaddon}} annex to the \textsf{maintitle}, for which see previous entry. Such an annex would @@ -4157,7 +4166,7 @@ or enclose the whole name in additional braces. (See \emph{Manual} 14.133--41; aristotle:metaphy:gr, cohen:schiff, creasey:ashe:blast, dunn:revolutions.) -%\enlargethispage{.5\baselineskip} +%%\enlargethispage{.5\baselineskip} \mylittlespace There are, as one might expect, a few further subtleties involved here. If you give two publishers in the field @@ -4615,7 +4624,7 @@ assuming that such a \textsf{title} begins with a lowercase letter in your .bib database. See\,\textbf{\textbackslash autocap} in section~\ref{sec:formatcommands} below for more details. -% \enlargethispage{-\baselineskip} +% %\enlargethispage{-\baselineskip} \mybigspace Standard \colmarginpar{\textbf{titleaddon}} \textsf{biblatex} intends this field for use with additions to titles @@ -4822,7 +4831,7 @@ entry in the bibliography to which the cross-reference will point. (See 14.81--82; creasey:ashe:blast, creasey:morton:hide, creasey:york:death, lecarre:quest.) -%\enlargethispage{2\baselineskip} +%%\enlargethispage{2\baselineskip} \mybigspace The \mymarginpar{\textbf{userd}} \textsf{userd} field acts as a sort of \enquote{\textsf{datetype}} field, allowing you in most @@ -5098,7 +5107,7 @@ contrib:contrib, schweitzer:bach). \textbf{NB:} The \textsf{pubstate} functionality currently has no equivalent using the \textsf{related} field. -% \enlargethispage{\baselineskip} +% %\enlargethispage{\baselineskip} \mybigspace This \mymarginpar{\textbf{related}} field is required to use \textsf{biblatex's} \textsf{related} functionality, and it should @@ -5737,6 +5746,8 @@ all entry types. There may be other places where \textsf{biblatex's} standard styles support this feature, and I shall add them when they come to my attention. +\enlargethispage{\baselineskip} + \mybigspace These \mymarginpar{\textbf{\textbackslash foottextcite\\\textbackslash foottextcites}} two commands look like citation commands, but are in fact wrappers for customizing the @@ -5758,8 +5769,6 @@ change the first to: \texttt{\{\textbackslash newcunit\textbackslash \cmd{headlessparencite(s)} command if you want to retain the long citations inside the parentheses.) -\enlargethispage{\baselineskip} - \mybigspace I \mymarginpar{\textbf{\textbackslash letterdatelong}} have provided this macro mainly for use in the optional postnote field of the various citation commands. When citing a letter (published or @@ -5992,7 +6001,7 @@ that \textsf{biblatex-chicago-notes} sets this command to use the most common citation command you will use, and also works fine in its multicite form, \textbf{\textbackslash autocites}. -% \enlargethispage{\baselineskip} +% %\enlargethispage{\baselineskip} \mybigspace While \mymarginpar{\textbf{\textbackslash cite*}} the \cmd{cite} command works just as you would expect it to, I have also @@ -6492,7 +6501,7 @@ Please see the documentation of \textsf{shorthand} and further options available to you for presenting and formatting these two types of \texttt{biblist}. -% \enlargethispage{\baselineskip} +% %\enlargethispage{\baselineskip} \mylittlespace Formerly \mymarginpar{\cmd{Declare-}\\\texttt{Labelname}} available only to @@ -7435,7 +7444,7 @@ list. Please see the documentation of the \textbf{shorthand} field in section~\ref{sec:entryfields} above for information on further options available to you for presenting and formatting the list of shorthands. -% \enlargethispage{\baselineskip} +% %\enlargethispage{\baselineskip} \mylittlespace Chris Sparks \mymarginpar{\texttt{shorthandibid}} pointed out that \textsf{biblatex-chicago-notes} would never use @@ -7741,7 +7750,7 @@ Both will work, particularly because you don't need to worry too much about capitalization because the word always appears after the \verb+\bibstring{see}+. -% \enlargethispage{\baselineskip} +% %\enlargethispage{\baselineskip} \mylittlespace Now, it's perfectly possible for an introduction to have numbered sections of its own, so a citation there may produce a @@ -7990,7 +7999,7 @@ than the first, but in any case I'll start by explaining the automatic provisions, then move on to the two handcrafted options, leaving you to judge which seems best suited to your needs. -%\enlargethispage{\baselineskip} +%%\enlargethispage{\baselineskip} \mylittlespace For \mymarginpar{\texttt{\textbf{split}}} the automatic subdivision of an endnotes section I have borrowed a concept, if not @@ -9057,7 +9066,7 @@ field helps \textsf{biblatex-chicago} know that the \textsf{audio} entry is a podcast episode, and helps it construct the entry appropriately (danforth:podcast). -% \enlargethispage{\baselineskip} +% %\enlargethispage{\baselineskip} \mybigspace This \mymarginpar{\textbf{book}} is the standard \textsf{biblatex} and \textsc{Bib}\TeX\ entry type, but the package @@ -9208,7 +9217,7 @@ entries by setting the \texttt{authortitle} option to \texttt{false} either in individual entries or in the preamble for all examples of the entry type. -%\enlargethispage{\baselineskip} +%%\enlargethispage{\baselineskip} \mybigspace This \mymarginpar{\textbf{image}} entry type is now a clone of the \textsf{artwork} type, which see. I retain it here for @@ -9469,7 +9478,7 @@ date at all will be required for entries referring to entire archival collections. In such entries, you may wish to use the word \enquote{\texttt{classical}} as your \textsf{entrysubtype}, which will have no effect on the list of references but will change the look of -the in-text citations (house:papers). Instead of any date, the +the in-text citations (house:\break papers). Instead of any date, the citation will include the \textsf{title}, separated from the \textsf{author's} name by a space, e.g., (House Papers). This same arrangement, happily, allows you easily to cite individual books of @@ -9875,7 +9884,7 @@ deductively from the basic principles, I hope that the table might simplify most of your choices. If something remains unclear, please let me know and I'll see if I can improve it. -% \enlargethispage{\baselineskip} +% %\enlargethispage{\baselineskip} \mylittlespace A few more notes are in order. I designed the new \textsf{relatedtype} \texttt{commenton} to facilitate citation of @@ -10166,7 +10175,7 @@ but if it's a fuller entry also containing an \textsf{author} then you'll also need \texttt{useauthor=false} in the \textsf{options} field. Other surplus fields will be ignored. (See osborne:poison.) -% \enlargethispage{\baselineskip} +% %\enlargethispage{\baselineskip} \mylittlespace \textsf{Biblatex-chicago} also, at the behest of Bertold Schweitzer, supports the \textsf{relatedtype} @@ -10407,7 +10416,7 @@ entry, that is, in the \textsf{foreword}, \textsf{afterword}, or \textsf{introduction} field. (See \emph{Manual} 14.110; friedman:intro, polakow:afterw, prose:intro). -%\enlargethispage{\baselineskip} +%%\enlargethispage{\baselineskip} \mybigspace This \mymarginpar{\textbf{suppcollection}} fulfills a function analogous to \textsf{suppbook}. Indeed, I believe the @@ -10481,7 +10490,7 @@ main guidelines: provided here, and will be printed as-is, contextually capitalized. (Cf.\ hitchcock:nbynw.) \item[title, titleaddon, booktitle, booktitleaddon, maintitle:] As - with the other two audiovisual types, \textsf{video} serves as an + with the other 2 audiovisual types, \textsf{video} serves as an analogue both to books and to collections, so the \textsf{title} may be of a whole film DVD or of a TV series, or it may identify one episode in a series or one scene in a film. In the latter cases, @@ -10730,7 +10739,7 @@ pseudonym, and also the package options \texttt{nameaddonformat} and \texttt{nameaddonsep} in sections~\ref{sec:authuseropts} and \ref{sec:authpreset}, below. -%\enlargethispage{2\baselineskip} +%%\enlargethispage{2\baselineskip} \mylittlespace As its name suggests, the author-date style very much wants to have a name of some sort present both for the entries in the @@ -11657,7 +11666,7 @@ should ensure presents whichever of the two editors' names (\textsf{namea} or \textsf{editor}) appears at the head of the reference-list entry. -% \enlargethispage{\baselineskip} +% %\enlargethispage{\baselineskip} \mylittlespace In \textsf{biblatex} 0.9 Lehman reworked the string concatenation mechanism, for reasons he outlines in his RELEASE file, @@ -11928,7 +11937,7 @@ undefined) to make an introduction the focus of a citation. field, for providing the International Standard Book Number of a publication. Not typically required by the \emph{Manual}. -%\enlargethispage{-2\baselineskip} +%%\enlargethispage{-2\baselineskip} \mybigspace Standard \mymarginpar{\textbf{isrn}} \textsf{biblatex} field, for providing the International Standard Technical Report @@ -12388,7 +12397,7 @@ organization sponsoring a conference in a \textsf{proceedings} or \textsf{inproceedings} entry, and I have retained this as a possibility, though the \emph{Manual} is silent on the matter. -% \enlargethispage{\baselineskip} +% %\enlargethispage{\baselineskip} \mybigspace This \mymarginpar{\textbf{origdate}} is a standard \textsf{biblatex} field which allows more than one full date @@ -12555,7 +12564,7 @@ appropriate identifying string to information you provide in the all the details on this functionality, as aside from the difference just mentioned the two fields are equivalent. -\enlargethispage{\baselineskip} +%\enlargethispage{\baselineskip} \mybigspace Standard \mymarginpar{\textbf{part}} \textsf{biblatex} field, which identifies physical parts of a single logical volume in @@ -12664,7 +12673,7 @@ purposes. Cf.\ \textsf{annotator} and \textsf{commentator}. \mybigspace See \mymarginpar{\textbf{reprinttitle}} section~\ref{sec:authrelated}, below. -% \enlargethispage{\baselineskip} +% %\enlargethispage{\baselineskip} \mybigspace A \mymarginpar{\textbf{series}} standard \textsf{biblatex} field, usually just a number in an \textsf{article}, @@ -12770,7 +12779,7 @@ parseable by them, while with the latter you can either rely on the conventions of your field or, alternately, provide a list of journal abbreviations using \cmd{printbiblist\{shortjournal\}}. -% \enlargethispage{-\baselineskip} +% %\enlargethispage{-\baselineskip} \mylittlespace For long institutional names the \emph{Manual's} recommendation (15.37) involves using an abbreviation which will @@ -13100,7 +13109,7 @@ serve to clarify them, and help you to understand when \textsf{biblatex-chicago-authordate-trad} might need your help in order to comply with them. -%\enlargethispage{2\baselineskip} +%%\enlargethispage{2\baselineskip} \mylittlespace With regard to sentence-style capitalization, the rules of the Chicago \textsf{authordate-trad} style are fairly simple: @@ -13415,7 +13424,7 @@ part of an \textsf{urldate}. The \emph{Manual} prefers initialisms like \enquote{EST} for this purpose, and you can provide parentheses around it at your discretion (cp.\ 10.41 and 14.191). -%\enlargethispage{\baselineskip} +%%\enlargethispage{\baselineskip} \mybigspace A \mymarginpar{\textbf{usera}} supplemental \textsf{biblatex} field which in certain contexts in @@ -13973,7 +13982,7 @@ Now, the Chicago-specific types: and \textsf{review} entries (along with the latter's clone, \textsf{suppperiodical}). -% \enlargethispage{\baselineskip} +% %\enlargethispage{\baselineskip} In \textsf{article} entries it replaces the \textsf{titleaddon} with the \textsf{relatedstring} followed by the \textsf{title} of the @@ -14547,7 +14556,7 @@ when presenting date ranges. The new style option now compressed automatically according to the \emph{Manual's} instructions (9.64; section~\ref{sec:authpreset}). -\enlargethispage{\baselineskip} +\enlargethispage{-\baselineskip} \mylittlespace In \mymarginpar{\texttt{alltimes=12h}} entries which print time stamps, they will, when the stamp is part of a @@ -14617,7 +14626,7 @@ or whole spreads in twoside mode. minor problem with punctuation in titles, ensuring that the colon between a title and a subtitle appears in the correct, matching font. -\enlargethispage{-\baselineskip} +%\enlargethispage{-\baselineskip} \mylittlespace This \mymarginpar{\texttt{related=true}} is the standard \textsf{biblatex} bibliography option, and it enables the use @@ -14701,6 +14710,8 @@ class, which I believe has its own commands for defining these parameters. You can also disable it by using the \texttt{footmarkoff} package option, on which see below. +\enlargethispage{\baselineskip} + \mylittlespace Gildas Hamel pointed out that my default definition, in \textsf{biblatex-chicago.sty}, of \textsf{biblatex's} \cmd{bibnamedash} didn't work well with many fonts, leaving a line of @@ -14817,7 +14828,7 @@ per-entry basis in the \textsf{options} field (though rather than use this latter method it would make sense to eliminate the \textsf{pages} field from the affected entries). -\enlargethispage{\baselineskip} +%\enlargethispage{\baselineskip} \mylittlespace This \colmarginpar{\texttt{doi=true}} option controls whether any \textsf{doi} fields present in the .bib file will be @@ -15670,7 +15681,7 @@ which I haven't extensively tested, so I'm labeling this option \textsf{postnote} field of citation commands, not the \textsf{pages} field in your .bib file. -% \enlargethispage{\baselineskip} +% %\enlargethispage{\baselineskip} \mylittlespace This \mymarginpar{\texttt{seriesabbrev}} option controls the printing, in the reference list, of the @@ -16164,7 +16175,7 @@ public and legal material. commercial electronic database, of a legislative publication. It will be associated with the \textsf{date} in long notes but won't appear in short ones. (Cf.\ congress:debate:new and - state:statute:ky.)%\enlargethispage{\baselineskip} + state:statute:ky.)%%\enlargethispage{\baselineskip} \item[addendum] You can use this field to specify the speaker at hearings or in debates, the Canadian or British jurisdiction of some laws if not otherwise clear from the citation, or possibly simply @@ -16759,7 +16770,16 @@ do my best to fix them. \section{Revision History} \label{sec:history} -\textbf{2.3: Released \today} +\textbf{2.3a: Released \today} + +\mylittlespace This release backports a bug-fix from the most recent +\LaTeX 3 programming layer. If you are using \textsf{biblatex} 3.18b +and an older L3 layer then the processing of your documents could fail +and fall into an infinite loop, leaving behind an inscrutable message +in your log file. This update should prevent that, and also fixes a +few other minor glitches. + +\mybigspace\textbf{2.3: Released July 2, 2022} \mylittlespace All styles require the current \textsf{biblatex} (3.18) and \textsf{biber} (2.18). @@ -18246,7 +18266,7 @@ Edition: \item In \textbf{suppbook} entries, the \emph{Manual} now requires you to provide the page range (in the \textsf{pages} field) for the specific part you are citing, e.g., an introduction, foreword, or - afterword.%%\enlargethispage{-2\baselineskip} + afterword.%%%\enlargethispage{-2\baselineskip} \item In \textbf{patent} entries, the \emph{Manual} now prefers sentence-style capitalization for titles, which you'll need to provide yourself by hand. diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-chicago/doc/cms-dates-intro.pdf b/macros/latex/contrib/biblatex-contrib/biblatex-chicago/doc/cms-dates-intro.pdf index b6d5d15613..9bec0f838a 100644 Binary files a/macros/latex/contrib/biblatex-contrib/biblatex-chicago/doc/cms-dates-intro.pdf and b/macros/latex/contrib/biblatex-contrib/biblatex-chicago/doc/cms-dates-intro.pdf differ diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-chicago/doc/cms-dates-intro.tex b/macros/latex/contrib/biblatex-contrib/biblatex-chicago/doc/cms-dates-intro.tex index fc8c8effdd..ce73187927 100644 --- a/macros/latex/contrib/biblatex-contrib/biblatex-chicago/doc/cms-dates-intro.tex +++ b/macros/latex/contrib/biblatex-contrib/biblatex-chicago/doc/cms-dates-intro.tex @@ -40,10 +40,10 @@ formatbib=minwo]{biblatex-chicago} \usepackage[colorlinks,urlcolor=DarkSlateGrey,citecolor=MidnightBlue, plainpages=false,breaklinks=true,linkcolor=DarkSlateGrey,filecolor=Teal, baseurl=biblatex-chicago.pdf\#]{hyperref} -\setmainfont{GentiumPlus-R.ttf}[ -ItalicFont = GentiumPlus-I.ttf, -BoldFont = GenBasB.ttf, -BoldItalicFont = GenBasBI.ttf] +\setmainfont{GentiumPlus-Regular.ttf}[ +ItalicFont = GentiumPlus-Italic.ttf, +BoldFont = GentiumPlus-Bold.ttf, +BoldItalicFont = GentiumPlus-BoldItalic.ttf] \setsansfont{ClearSans-Regular.ttf}[ BoldFont = ClearSans-Bold.ttf, ItalicFont = ClearSans-Italic.ttf, @@ -102,7 +102,7 @@ author-date specification you will need to use \textsf{biber} to process your .bib files, as \textsc{Bib}\TeX\ (and its more recent variants) will no longer provide all the features the style requires. For this release, you really need the current versions of -\textsf{biber} (2.18) and \textsf{biblatex} (3.18), which contain +\textsf{biber} (2.18) and \textsf{biblatex} (3.18b), which contain features and bug-fixes on which my own code relies. The advice that follows in this document assumes that you are using \textsf{biber}; if you wish to continue using \textsc{Bib}\TeX\ then you need diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-chicago/doc/cms-dates-sample.pdf b/macros/latex/contrib/biblatex-contrib/biblatex-chicago/doc/cms-dates-sample.pdf index c281daaa47..320fd9992d 100644 Binary files a/macros/latex/contrib/biblatex-contrib/biblatex-chicago/doc/cms-dates-sample.pdf and b/macros/latex/contrib/biblatex-contrib/biblatex-chicago/doc/cms-dates-sample.pdf differ diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-chicago/doc/cms-dates-sample.tex b/macros/latex/contrib/biblatex-contrib/biblatex-chicago/doc/cms-dates-sample.tex index 26037b7238..77e079d821 100644 --- a/macros/latex/contrib/biblatex-contrib/biblatex-chicago/doc/cms-dates-sample.tex +++ b/macros/latex/contrib/biblatex-contrib/biblatex-chicago/doc/cms-dates-sample.tex @@ -33,10 +33,10 @@ postnotepunct,compresspages,strict,cmsbreakurl,cmsnameparts]{biblatex-chicago} \newcommand{\cmd}[1]{\texttt{\textbackslash #1}} \usepackage[colorlinks,urlcolor=blue,citecolor=black, plainpages=false,breaklinks=true]{hyperref} -\setmainfont{GentiumPlus-R.ttf}[ -ItalicFont = GentiumPlus-I.ttf, -BoldFont = GenBasB.ttf, -BoldItalicFont = GenBasBI.ttf] +\setmainfont{GentiumPlus-Regular.ttf}[ +ItalicFont = GentiumPlus-Italic.ttf, +BoldFont = GentiumPlus-Bold.ttf, +BoldItalicFont = GentiumPlus-BoldItalic.ttf] \setsansfont{ClearSans-Regular.ttf}[ BoldFont = ClearSans-Bold.ttf, ItalicFont = ClearSans-Italic.ttf, diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-chicago/doc/cms-legal-sample.pdf b/macros/latex/contrib/biblatex-contrib/biblatex-chicago/doc/cms-legal-sample.pdf index b6416af4fd..74207ffb42 100644 Binary files a/macros/latex/contrib/biblatex-contrib/biblatex-chicago/doc/cms-legal-sample.pdf and b/macros/latex/contrib/biblatex-contrib/biblatex-chicago/doc/cms-legal-sample.pdf differ diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-chicago/doc/cms-legal-sample.tex b/macros/latex/contrib/biblatex-contrib/biblatex-chicago/doc/cms-legal-sample.tex index 1cce627b47..a7a4cae57a 100644 --- a/macros/latex/contrib/biblatex-contrib/biblatex-chicago/doc/cms-legal-sample.tex +++ b/macros/latex/contrib/biblatex-contrib/biblatex-chicago/doc/cms-legal-sample.tex @@ -21,10 +21,10 @@ booklongxref=false,compresspages,related=true]{biblatex-chicago} \usepackage[colorlinks,urlcolor=DarkSlateGrey,citecolor=MidnightBlue, plainpages=false,breaklinks=true,linkcolor=DarkSlateGrey, filecolor=Teal]{hyperref} -\setmainfont{GentiumPlus-R.ttf}[ -ItalicFont = GentiumPlus-I.ttf, -BoldFont = GenBasB.ttf, -BoldItalicFont = GenBasBI.ttf] +\setmainfont{GentiumPlus-Regular.ttf}[ +ItalicFont = GentiumPlus-Italic.ttf, +BoldFont = GentiumPlus-Bold.ttf, +BoldItalicFont = GentiumPlus-BoldItalic.ttf] \setsansfont{ClearSans-Regular.ttf}[ BoldFont = ClearSans-Bold.ttf, ItalicFont = ClearSans-Italic.ttf, diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-chicago/doc/cms-noteref-demo.pdf b/macros/latex/contrib/biblatex-contrib/biblatex-chicago/doc/cms-noteref-demo.pdf index 75064411c9..e4afcb084a 100644 Binary files a/macros/latex/contrib/biblatex-contrib/biblatex-chicago/doc/cms-noteref-demo.pdf and b/macros/latex/contrib/biblatex-contrib/biblatex-chicago/doc/cms-noteref-demo.pdf differ diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-chicago/doc/cms-noteref-demo.tex b/macros/latex/contrib/biblatex-contrib/biblatex-chicago/doc/cms-noteref-demo.tex index cf005981a4..71a321649d 100644 --- a/macros/latex/contrib/biblatex-contrib/biblatex-chicago/doc/cms-noteref-demo.tex +++ b/macros/latex/contrib/biblatex-contrib/biblatex-chicago/doc/cms-noteref-demo.tex @@ -31,10 +31,10 @@ noteref=section,noterefintro=introduction]{biblatex-chicago} \usepackage[colorlinks,filecolor=Teal,citecolor=black, plainpages=false,breaklinks=true,urlcolor=DarkSlateBlue, linkcolor=DarkSlateBlue,baseurl=biblatex-chicago.pdf\#]{hyperref} -\setmainfont{GentiumPlus-R.ttf}[ -ItalicFont = GentiumPlus-I.ttf, -BoldFont = GenBasB.ttf, -BoldItalicFont = GenBasBI.ttf] +\setmainfont{GentiumPlus-Regular.ttf}[ +ItalicFont = GentiumPlus-Italic.ttf, +BoldFont = GentiumPlus-Bold.ttf, +BoldItalicFont = GentiumPlus-BoldItalic.ttf] \setsansfont{ClearSans-Regular.ttf}[ BoldFont = ClearSans-Bold.ttf, ItalicFont = ClearSans-Italic.ttf, diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-chicago/doc/cms-notes-intro.pdf b/macros/latex/contrib/biblatex-contrib/biblatex-chicago/doc/cms-notes-intro.pdf index 33bf8e3a86..4d3ee06024 100644 Binary files a/macros/latex/contrib/biblatex-contrib/biblatex-chicago/doc/cms-notes-intro.pdf and b/macros/latex/contrib/biblatex-contrib/biblatex-chicago/doc/cms-notes-intro.pdf differ diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-chicago/doc/cms-notes-intro.tex b/macros/latex/contrib/biblatex-contrib/biblatex-chicago/doc/cms-notes-intro.tex index 8565537229..a33dd347e2 100644 --- a/macros/latex/contrib/biblatex-contrib/biblatex-chicago/doc/cms-notes-intro.tex +++ b/macros/latex/contrib/biblatex-contrib/biblatex-chicago/doc/cms-notes-intro.tex @@ -35,10 +35,10 @@ booklongxref=false,annotation,compresspages,formatbib=min]{biblatex-chicago} \usepackage[colorlinks,filecolor=Teal,citecolor=black, plainpages=false,breaklinks=true,urlcolor=DarkSlateBlue, linkcolor=DarkSlateBlue,baseurl=biblatex-chicago.pdf\#]{hyperref} -\setmainfont{GentiumPlus-R.ttf}[ -ItalicFont = GentiumPlus-I.ttf, -BoldFont = GenBasB.ttf, -BoldItalicFont = GenBasBI.ttf] +\setmainfont{GentiumPlus-Regular.ttf}[ +ItalicFont = GentiumPlus-Italic.ttf, +BoldFont = GentiumPlus-Bold.ttf, +BoldItalicFont = GentiumPlus-BoldItalic.ttf] \setsansfont{ClearSans-Regular.ttf}[ BoldFont = ClearSans-Bold.ttf, ItalicFont = ClearSans-Italic.ttf, diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-chicago/doc/cms-notes-sample.pdf b/macros/latex/contrib/biblatex-contrib/biblatex-chicago/doc/cms-notes-sample.pdf index 48a58a104d..9d07d47fee 100644 Binary files a/macros/latex/contrib/biblatex-contrib/biblatex-chicago/doc/cms-notes-sample.pdf and b/macros/latex/contrib/biblatex-contrib/biblatex-chicago/doc/cms-notes-sample.pdf differ diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-chicago/doc/cms-notes-sample.tex b/macros/latex/contrib/biblatex-contrib/biblatex-chicago/doc/cms-notes-sample.tex index fa88ea1eda..b62ad5b5ad 100644 --- a/macros/latex/contrib/biblatex-contrib/biblatex-chicago/doc/cms-notes-sample.tex +++ b/macros/latex/contrib/biblatex-contrib/biblatex-chicago/doc/cms-notes-sample.tex @@ -22,10 +22,10 @@ booklongxref=false,compresspages,cmsnameparts]{biblatex-chicago} \hyphenation{A-p-ril} %\renewcommand{\sfdefault}{phv} %\renewcommand{\ttdefault}{pcr} -\setmainfont{GentiumPlus-R.ttf}[ -ItalicFont = GentiumPlus-I.ttf, -BoldFont = GenBasB.ttf, -BoldItalicFont = GenBasBI.ttf] +\setmainfont{GentiumPlus-Regular.ttf}[ +ItalicFont = GentiumPlus-Italic.ttf, +BoldFont = GentiumPlus-Bold.ttf, +BoldItalicFont = GentiumPlus-BoldItalic.ttf] \setsansfont{ClearSans-Regular.ttf}[Scale = MatchLowercase] \setmonofont{lmmono9-regular.otf} % \usepackage[fallback,CJKspace=true]{xeCJK} diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-chicago/doc/cms-trad-appendix.pdf b/macros/latex/contrib/biblatex-contrib/biblatex-chicago/doc/cms-trad-appendix.pdf index 1310be1c08..26f5668cba 100644 Binary files a/macros/latex/contrib/biblatex-contrib/biblatex-chicago/doc/cms-trad-appendix.pdf and b/macros/latex/contrib/biblatex-contrib/biblatex-chicago/doc/cms-trad-appendix.pdf differ diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-chicago/doc/cms-trad-appendix.tex b/macros/latex/contrib/biblatex-contrib/biblatex-chicago/doc/cms-trad-appendix.tex index 023a20d0da..9a19f2a010 100644 --- a/macros/latex/contrib/biblatex-contrib/biblatex-chicago/doc/cms-trad-appendix.tex +++ b/macros/latex/contrib/biblatex-contrib/biblatex-chicago/doc/cms-trad-appendix.tex @@ -32,10 +32,10 @@ postnotepunct,compresspages,strict,annotation]{biblatex-chicago} \usepackage[hyperref,svgnames]{xcolor} \usepackage[colorlinks,urlcolor=DarkSlateGrey,citecolor=black, plainpages=false,breaklinks=true,linkcolor=DarkSlateGrey]{hyperref} -\setmainfont{GentiumPlus-R.ttf}[ -ItalicFont = GentiumPlus-I.ttf, -BoldFont = GenBasB.ttf, -BoldItalicFont = GenBasBI.ttf] +\setmainfont{GentiumPlus-Regular.ttf}[ +ItalicFont = GentiumPlus-Italic.ttf, +BoldFont = GentiumPlus-Bold.ttf, +BoldItalicFont = GentiumPlus-BoldItalic.ttf] \setsansfont{ClearSans-Regular.ttf}[ BoldFont = ClearSans-Bold.ttf, ItalicFont = ClearSans-Italic.ttf, diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-chicago/doc/cms-trad-sample.pdf b/macros/latex/contrib/biblatex-contrib/biblatex-chicago/doc/cms-trad-sample.pdf index db23521788..f82bc3416a 100644 Binary files a/macros/latex/contrib/biblatex-contrib/biblatex-chicago/doc/cms-trad-sample.pdf and b/macros/latex/contrib/biblatex-contrib/biblatex-chicago/doc/cms-trad-sample.pdf differ diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-chicago/doc/cms-trad-sample.tex b/macros/latex/contrib/biblatex-contrib/biblatex-chicago/doc/cms-trad-sample.tex index bdbf89399d..42c5d4ec5f 100644 --- a/macros/latex/contrib/biblatex-contrib/biblatex-chicago/doc/cms-trad-sample.tex +++ b/macros/latex/contrib/biblatex-contrib/biblatex-chicago/doc/cms-trad-sample.tex @@ -31,10 +31,10 @@ postnotepunct,compresspages,strict]{biblatex-chicago} \newcommand{\cmd}[1]{\texttt{\textbackslash #1}} \usepackage[colorlinks,urlcolor=blue,citecolor=black, plainpages=false,breaklinks=true]{hyperref} -\setmainfont{GentiumPlus-R.ttf}[ -ItalicFont = GentiumPlus-I.ttf, -BoldFont = GenBasB.ttf, -BoldItalicFont = GenBasBI.ttf] +\setmainfont{GentiumPlus-Regular.ttf}[ +ItalicFont = GentiumPlus-Italic.ttf, +BoldFont = GentiumPlus-Bold.ttf, +BoldItalicFont = GentiumPlus-BoldItalic.ttf] \setsansfont{ClearSans-Regular.ttf}[ BoldFont = ClearSans-Bold.ttf, ItalicFont = ClearSans-Italic.ttf, diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/chicago-authordate.bbx b/macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/chicago-authordate.bbx index 30fecc564f..dad0dc2c46 100644 --- a/macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/chicago-authordate.bbx +++ b/macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/chicago-authordate.bbx @@ -2,7 +2,7 @@ % Lehman's standard.bbx and from chicago-notes.bbx. It provides the % reference list formatting for the Chicago author-date style. -\ProvidesFile{chicago-authordate.bbx}[2022/07/02 v 3.18 biblatex +\ProvidesFile{chicago-authordate.bbx}[2022/11/17 v 3.18b biblatex bibliography style] %%%% Initialize and format bibliography and los %%%% @@ -849,43 +849,11 @@ bibliography style] match=\regexp{\\citeincites(((\{|(\[[^\]]*\])+\{|\([^\)]*\)\(\)\{|\([^\)]*\)\(\)(\[[^\]]*\])+\{)[^\}]+\})+)((\{|\[[^\]]*\]\[\]\{)[^\}]+)\}$},%$ replace=\regexp{\\citeincitefs$1$6\}}] } - \map[overwrite]{ - \step[fieldsource=titleaddon, - match=\regexp{\\citeincite(\{|\[[^\]]*\]\[\]\{)([^\}]+)\}$},%$ - replace=\regexp{\\citeincitef$1$2\}}] - \step[fieldsource=titleaddon, - match=\regexp{\\citeincites(((\{|(\[[^\]]*\])+\{|\([^\)]*\)\(\)\{|\([^\)]*\)\(\)(\[[^\]]*\])+\{)[^\}]+\})+)((\{|\[[^\]]*\]\[\]\{)[^\}]+)\}$},%$ - replace=\regexp{\\citeincitefs$1$6\}}] - } - \map[overwrite]{ - \step[fieldsource=annotation, - match=\regexp{\\citeincite(\{|\[[^\]]*\]\[\]\{)([^\}]+)\}$},%$ - replace=\regexp{\\citeincitef$1$2\}}] - \step[fieldsource=annotation, - match=\regexp{\\citeincites(((\{|(\[[^\]]*\])+\{|\([^\)]*\)\(\)\{|\([^\)]*\)\(\)(\[[^\]]*\])+\{)[^\}]+\})+)((\{|\[[^\]]*\]\[\]\{)[^\}]+)\}$},%$ - replace=\regexp{\\citeincitefs$1$6\}}] - } - \map[overwrite]{ - \step[fieldsource=annote, - match=\regexp{\\citeincite(\{|\[[^\]]*\]\[\]\{)([^\}]+)\}$},%$ - replace=\regexp{\\citeincitef$1$2\}}] - \step[fieldsource=annote, - match=\regexp{\\citeincites(((\{|(\[[^\]]*\])+\{|\([^\)]*\)\(\)\{|\([^\)]*\)\(\)(\[[^\]]*\])+\{)[^\}]+\})+)((\{|\[[^\]]*\]\[\]\{)[^\}]+)\}$},%$ - replace=\regexp{\\citeincitefs$1$6\}}] - } - \map[overwrite]{ - \step[fieldsource=addendum, - match=\regexp{\\citeincite(\{|\[[^\]]*\]\[\]\{)([^\}]+)\}$},%$ - replace=\regexp{\\citeincitef$1$2\}}] - \step[fieldsource=addendum, - match=\regexp{\\citeincites(((\{|(\[[^\]]*\])+\{|\([^\)]*\)\(\)\{|\([^\)]*\)\(\)(\[[^\]]*\])+\{)[^\}]+\})+)((\{|\[[^\]]*\]\[\]\{)[^\}]+)\}$},%$ - replace=\regexp{\\citeincitefs$1$6\}}] - } - \map[overwrite]{ - \step[fieldsource=note, + \map[overwrite, foreach={titleaddon,annotation,annote,addendum,note}]{ + \step[fieldsource=$MAPLOOP, match=\regexp{\\citeincite(\{|\[[^\]]*\]\[\]\{)([^\}]+)\}$},%$ replace=\regexp{\\citeincitef$1$2\}}] - \step[fieldsource=note, + \step[fieldsource=$MAPLOOP, match=\regexp{\\citeincites(((\{|(\[[^\]]*\])+\{|\([^\)]*\)\(\)\{|\([^\)]*\)\(\)(\[[^\]]*\])+\{)[^\}]+\})+)((\{|\[[^\]]*\]\[\]\{)[^\}]+)\}$},%$ replace=\regexp{\\citeincitefs$1$6\}}] } diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/chicago-dates-common.cbx b/macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/chicago-dates-common.cbx index 7c1f797561..7cfe99f699 100644 --- a/macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/chicago-dates-common.cbx +++ b/macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/chicago-dates-common.cbx @@ -4,7 +4,7 @@ % list) for the two author-date styles of the Chicago Manual of Style, % 17th edition. -\ProvidesFile{chicago-dates-common.cbx}[2022/07/02 v 3.18 biblatex +\ProvidesFile{chicago-dates-common.cbx}[2022/11/17 v 3.18b biblatex citation style] %%%% Biblatex initialization + Chicago options + Toggles %%%% @@ -17,6 +17,34 @@ citation style] \newbool{cms:tcit} \newbool{cms:postsh} +% Here we provide a slightly improved \if@cms@capital replacement +% using expl3 facilities, and also backport a patch for a bug in +% (older versions of) expl3's case-changing code. + +\ifdef{\ExplSyntaxOff}{}{\RequirePackage{xparse}\RequirePackage{expl3}}% + +\ExplSyntaxOn% + +\NewDocumentCommand \IfCMSFieldInitCS {m} +{ + \regex_match:nnTF + {\A(?:\c{citeincite(?:f|s){0,2}}|\cM.)} + {#1} + {\use_i:nn} + {\use_ii:nn} +} + +\cs_if_exist:NTF \__text_change_case_switch_titleonly:nnNnnnn +{} +{\cs_new:Npn \__text_change_case_switch_titleonly:nnNnnnn #1#2#3#4#5#6#7 + { + \__text_change_case_store:n {#7} + \__text_change_case_break:w + } +} + +\ExplSyntaxOff + \providecommand*{\mkibid}[1]{#1} \providetoggle{cms@inlineibid} @@ -597,9 +625,9 @@ citation style] {\ExecuteBibliographyOptions[jurisdiction,legal,legislation]{skipbib}}% {}% -\AtEndPreamble{% Automatic sorting by shorthand when it appears - \iftoggle{cms@los}% at the head of the entry. - {\DeclareSourcemap{ +\AtEndPreamble{% + \iftoggle{cms@los}% Automatic sorting by shorthand when it appears + {\DeclareSourcemap{% at the head of the entry. \maps[datatype=bibtex]{ \map{ \step[fieldsource=shorthand, final] @@ -867,10 +895,8 @@ citation style] \ifx\cms@ldt@cmsnameparts\cms@tpl #1{#3}% #1[#2]{#3} - \blx@warning@noline{#2 is the So Global Template} \else #1[#2]{#3} - \blx@warning@noline{#2 is the Local Template} \fi} %% Name format declarations for bibliography and notes. The @@ -2729,7 +2755,9 @@ citation style] \DeclareFieldFormat{shortvol}{#1} \DeclareFieldFormat[jurisdiction,legal,legislation]{addendum}{% - \ifcapital{\mkbibparens{\MakeCapital{#1\isdot}}}{\mkbibparens{#1\isdot}}} + \ifcapital{\IfCMSFieldInitCS{#1}{\mkbibparens{#1\isdot}}% + {\mkbibparens{\MakeCapital{#1\isdot}}}}% + {\mkbibparens{#1\isdot}}} \DeclareFieldFormat[legal,legislation]{part}{% \ifnumerals{#1}% @@ -3121,7 +3149,7 @@ citation style] \DeclareFieldFormat{letterday}{\mkbibcurdinal{#1}} \DeclareFieldFormat{note}{% - \if@cms@capital{#1}{\MakeCapital{#1}}{#1}}% + \ifcapital{\IfCMSFieldInitCS{#1}{#1}{\MakeCapital{#1}}}{#1}}% \DeclareFieldFormat{capital}{% \ifcapital{\MakeCapital{#1}}{#1}} @@ -3279,17 +3307,19 @@ citation style] \DeclareFieldFormat{edition}{% New in 0.8 \ifinteger{#1}% {\mkbibordedition{#1}~\bibstring{edition}}% - {\ifcapital + {\ifcapital% {\MakeCapital{#1\isdot}}% {#1\isdot}}} \DeclareFieldFormat{usere}{[#1]} % Better than mkbibbrackets? \DeclareFieldFormat{titleaddon}{% - \if@cms@capital{#1}{\MakeCapital{#1\isdot}}{#1\isdot}}%\custpunctc? + \ifcapital{\IfCMSFieldInitCS{#1}{#1\isdot}% + {\MakeCapital{#1\isdot}}}{#1\isdot}}%\custpunctc? \DeclareFieldFormat[periodical]{titleaddon}{% - \ifcapital{\MakeCapital{#1\isdot}}{#1\isdot}} + \ifcapital{\IfCMSFieldInitCS{#1}{#1\isdot}% + {\MakeCapital{#1\isdot}}}{#1\isdot}} \DeclareFieldAlias{booktitleaddon}{titleaddon} @@ -3327,30 +3357,8 @@ citation style] \DeclareFieldFormat{shortseries}{#1\isdot} \DeclareFieldFormat{addendum}{% - \if@cms@capital{#1}{\MakeCapital{#1\isdot}}{#1\isdot}} - -% There was unfortunate interaction between the case-changing code and -% cite commands when the latter were at the beginning of the -% field. This modified \ifcapital will be used in the fields in which -% the \citeincite(f|s) commands can appear. - -\newrobustcmd*{\if@cms@capital}[1]{% - \noexpandarg - \StrChar{#1}{1}[\cms@char]% - \ifboolexpr{% - test {\ifcapital}% - and - not test {\ifdefstring{\cms@char}{\citeincite}}% - and - not test {\ifdefstring{\cms@char}{\citeincites}}% - and - not test {\ifdefstring{\cms@char}{\citeincitef}}% - and - not test {\ifdefstring{\cms@char}{\citeincitefs}}% - }% - {\@firstoftwo}% - {\@secondoftwo}% -} + \ifcapital{\IfCMSFieldInitCS{#1}{#1\isdot}% + {\MakeCapital{#1\isdot}}}{#1\isdot}} % For annotation fixes move all code for separators to the entrytail % macro, below. diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/chicago-dates-common16.cbx b/macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/chicago-dates-common16.cbx index 68faa4d853..048f64096b 100644 --- a/macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/chicago-dates-common16.cbx +++ b/macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/chicago-dates-common16.cbx @@ -4,7 +4,7 @@ % for the two author-date styles of the Chicago Manual of Style, 16th % edition. -\ProvidesFile{chicago-dates-common16.cbx}[2022/07/02 v 3.18 biblatex +\ProvidesFile{chicago-dates-common16.cbx}[2022/11/16 v 3.18b biblatex citation style] %%%% Biblatex initialization + Chicago options + Toggles %%%% @@ -14,6 +14,21 @@ citation style] \newbool{cms:extraparens} \newbool{cms:comma} +\ifdef{\ExplSyntaxOff}{}{\RequirePackage{xparse}\RequirePackage{expl3}}% + +\ExplSyntaxOn% + +\cs_if_exist:NTF \__text_change_case_switch_titleonly:nnNnnnn +{} +{\cs_new:Npn \__text_change_case_switch_titleonly:nnNnnnn #1#2#3#4#5#6#7 + { + \__text_change_case_store:n {#7} + \__text_change_case_break:w + } +} + +\ExplSyntaxOff + \providecommand*{\mkibid}[1]{#1} \providetoggle{cms@inlineibid} diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/chicago-notes.bbx b/macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/chicago-notes.bbx index 9222c66e9c..0b16b3b51a 100644 --- a/macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/chicago-notes.bbx +++ b/macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/chicago-notes.bbx @@ -2,7 +2,7 @@ % Lehman's standard.bbx. It provides the bibliography formatting for % the Chicago notes + bibliography style. -\ProvidesFile{chicago-notes.bbx}[2022/07/02 v 3.18 biblatex bibliography style] +\ProvidesFile{chicago-notes.bbx}[2022/11/17 v 3.18b biblatex bibliography style] %%%% Initialize and format bibliography and los %%%% @@ -859,43 +859,11 @@ final] \step[fieldset=maintitle, fieldvalue=\csgdef{@cmsst}{\@ne}, append] } - \map[overwrite]{ - \step[fieldsource=titleaddon, - match=\regexp{\\citeincite(\{|\[[^\]]*\]\[\]\{)([^\}]+)\}$},%$ - replace=\regexp{\\citeincitef$1$2\}}] - \step[fieldsource=titleaddon, - match=\regexp{\\citeincites(((\{|(\[[^\]]*\])+\{|\([^\)]*\)\(\)\{|\([^\)]*\)\(\)(\[[^\]]*\])+\{)[^\}]+\})+)((\{|\[[^\]]*\]\[\]\{)[^\}]+)\}$},%$ - replace=\regexp{\\citeincitefs$1$6\}}] - } - \map[overwrite]{ - \step[fieldsource=annotation, - match=\regexp{\\citeincite(\{|\[[^\]]*\]\[\]\{)([^\}]+)\}$},%$ - replace=\regexp{\\citeincitef$1$2\}}] - \step[fieldsource=annotation, - match=\regexp{\\citeincites(((\{|(\[[^\]]*\])+\{|\([^\)]*\)\(\)\{|\([^\)]*\)\(\)(\[[^\]]*\])+\{)[^\}]+\})+)((\{|\[[^\]]*\]\[\]\{)[^\}]+)\}$},%$ - replace=\regexp{\\citeincitefs$1$6\}}] - } - \map[overwrite]{ - \step[fieldsource=annote, - match=\regexp{\\citeincite(\{|\[[^\]]*\]\[\]\{)([^\}]+)\}$},%$ - replace=\regexp{\\citeincitef$1$2\}}] - \step[fieldsource=annote, - match=\regexp{\\citeincites(((\{|(\[[^\]]*\])+\{|\([^\)]*\)\(\)\{|\([^\)]*\)\(\)(\[[^\]]*\])+\{)[^\}]+\})+)((\{|\[[^\]]*\]\[\]\{)[^\}]+)\}$},%$ - replace=\regexp{\\citeincitefs$1$6\}}] - } - \map[overwrite]{ - \step[fieldsource=addendum, - match=\regexp{\\citeincite(\{|\[[^\]]*\]\[\]\{)([^\}]+)\}$},%$ - replace=\regexp{\\citeincitef$1$2\}}] - \step[fieldsource=addendum, - match=\regexp{\\citeincites(((\{|(\[[^\]]*\])+\{|\([^\)]*\)\(\)\{|\([^\)]*\)\(\)(\[[^\]]*\])+\{)[^\}]+\})+)((\{|\[[^\]]*\]\[\]\{)[^\}]+)\}$},%$ - replace=\regexp{\\citeincitefs$1$6\}}] - } - \map[overwrite]{ - \step[fieldsource=note, + \map[overwrite, foreach={titleaddon,annotation,annote,addendum,note}]{ + \step[fieldsource=$MAPLOOP, match=\regexp{\\citeincite(\{|\[[^\]]*\]\[\]\{)([^\}]+)\}$},%$ replace=\regexp{\\citeincitef$1$2\}}] - \step[fieldsource=note, + \step[fieldsource=$MAPLOOP, match=\regexp{\\citeincites(((\{|(\[[^\]]*\])+\{|\([^\)]*\)\(\)\{|\([^\)]*\)\(\)(\[[^\]]*\])+\{)[^\}]+\})+)((\{|\[[^\]]*\]\[\]\{)[^\}]+)\}$},%$ replace=\regexp{\\citeincitefs$1$6\}}] } diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/chicago-notes.cbx b/macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/chicago-notes.cbx index 97b61e12e6..f5b2f942e0 100644 --- a/macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/chicago-notes.cbx +++ b/macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/chicago-notes.cbx @@ -4,7 +4,7 @@ % formatted according to the specifications of the Chicago Manual of % Style. -\ProvidesFile{chicago-notes.cbx}[2022/07/02 v 3.18 biblatex citation style] +\ProvidesFile{chicago-notes.cbx}[2022/11/17 v 3.18b biblatex citation style] %%%% Biblatex initialization + Chicago options + Toggles %%%% @@ -13,6 +13,34 @@ \newbool{cms:comma} \newbool{cms:nd} +% Here we provide a slightly improved \if@cms@capital replacement +% using expl3 facilities, and also backport a patch for a bug in +% (older versions of) expl3's case-changing code. + +\ifdef{\ExplSyntaxOff}{}{\RequirePackage{xparse}\RequirePackage{expl3}}% + +\ExplSyntaxOn% + +\NewDocumentCommand \IfCMSFieldInitCS {m} +{ + \regex_match:nnTF + {\A(?:\c{citeincite(?:f|s){0,2}}|\cM.)} + {#1} + {\use_i:nn} + {\use_ii:nn} +} + +\cs_if_exist:NTF \__text_change_case_switch_titleonly:nnNnnnn +{} +{\cs_new:Npn \__text_change_case_switch_titleonly:nnNnnnn #1#2#3#4#5#6#7 + { + \__text_change_case_store:n {#7} + \__text_change_case_break:w + } +} + +\ExplSyntaxOff + \providecommand*{\mkibid}[1]{#1} \providetoggle{cms@oneyear}% Needed for author-date @@ -1456,10 +1484,8 @@ \ifx\cms@ldt@cmsnameparts\cms@tpl #1{#3}% #1[#2]{#3} - \blx@warning@noline{#2 is the So Global Template} \else #1[#2]{#3} - \blx@warning@noline{#2 is the Local Template} \fi} %% Name format declarations for bibliography and notes. The @@ -6971,7 +6997,8 @@ \DeclareFieldFormat[patent]{lostitle}{\MakeSentenceCase*{#1}\isdot} -\DeclareFieldFormat{prenote}{\ifcapital{\MakeCapital{#1}}{#1}\isdot} +\DeclareFieldFormat{prenote}{% + \ifcapital{\MakeCapital{#1}}{#1}\isdot} %% comprange code moved to .sty @@ -7233,7 +7260,7 @@ \DeclareFieldFormat{letterday}{\mkbibcurdinal{#1}} \DeclareFieldFormat{note}{% - \if@cms@capital{#1}{\MakeCapital{#1}}{#1}}% + \ifcapital{\IfCMSFieldInitCS{#1}{#1}{\MakeCapital{#1}}}{#1}}% \DeclareFieldFormat{capital}{% \ifcapital{\MakeCapital{#1}}{#1}} @@ -7388,7 +7415,7 @@ \DeclareFieldFormat{edition}{% New in 0.8 \ifinteger{#1} {\mkbibordedition{#1}~\bibstring{edition}}% - {\ifcapital + {\ifcapital% {\MakeCapital{#1\isdot}}% {#1\isdot}}} @@ -7413,10 +7440,12 @@ \DeclareFieldFormat{usere}{[#1]} % Better than mkbibbrackets? \DeclareFieldFormat{titleaddon}{% - \if@cms@capital{#1}{\MakeCapital{#1\isdot}}{#1\isdot}}% + \ifcapital{\IfCMSFieldInitCS{#1}{#1\isdot}% + {\MakeCapital{#1\isdot}}}{#1\isdot}}% \DeclareFieldFormat[periodical]{titleaddon}{% - \ifcapital{\MakeCapital{#1\isdot}}{#1\isdot}} + \ifcapital{\IfCMSFieldInitCS{#1}{#1\isdot}% + {\MakeCapital{#1\isdot}}}{#1\isdot}} \DeclareFieldAlias{booktitleaddon}{titleaddon} @@ -7502,33 +7531,13 @@ \DeclareFieldFormat{shortseries}{#1\isdot} \DeclareFieldFormat{addendum}{% - \if@cms@capital{#1}{\MakeCapital{#1\isdot}}{#1\isdot}} + \ifcapital{\IfCMSFieldInitCS{#1}{#1\isdot}% + {\MakeCapital{#1\isdot}}}{#1\isdot}} \DeclareFieldFormat[jurisdiction,legal,legislation]{addendum}{% - \ifcapital{\mkbibparens{\MakeCapital{#1\isdot}}}{\mkbibparens{#1\isdot}}} - -% There was unfortunate interaction between the case-changing code and -% cite commands when the latter were at the beginning of the -% field. This modified \ifcapital will be used in the fields in which -% the \citeincite(s) commands can appear. - -\newrobustcmd*{\if@cms@capital}[1]{% - \noexpandarg - \StrChar{#1}{1}[\cms@char]% - \ifboolexpr{% - test {\ifcapital}% - and - not test {\ifdefstring{\cms@char}{\citeincite}}% - and - not test {\ifdefstring{\cms@char}{\citeincitef}}% - and - not test {\ifdefstring{\cms@char}{\citeincites}}% - and - not test {\ifdefstring{\cms@char}{\citeincitefs}}% - }% - {\@firstoftwo}% - {\@secondoftwo}% -} + \ifcapital% + {\mkbibparens{\IfCMSFieldInitCS{#1}{#1\isdot}% + {\MakeCapital{#1\isdot}}}}{\mkbibparens{#1\isdot}}} % For annotation fixes move all code for separators to the entrytail % macro, below. diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/chicago-notes16.bbx b/macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/chicago-notes16.bbx index b0593b162f..1391f065bd 100644 --- a/macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/chicago-notes16.bbx +++ b/macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/chicago-notes16.bbx @@ -2,7 +2,7 @@ % standard.bbx It provides the bibliography formatting for the Chicago % notes + bibliography style. -\ProvidesFile{chicago-notes16.bbx}[2022/07/02 v 3.18 biblatex +\ProvidesFile{chicago-notes16.bbx}[2022/11/16 v 3.18b biblatex bibliography style] %%%% Initialize and format bibliography and los %%%% @@ -678,7 +678,7 @@ bibliography style] \usebibmacro{issuetitle}% \setunit*{\addcomma\addspace}% \usebibmacro{byeditor+others}% - \usebibmacro{editorpunct}%\newunit\newblock + \newunit\newblock \printfield{note}% \setunit*{\addcomma\addspace}\newblock% \usebibmacro{mag+news+date}% @@ -722,7 +722,7 @@ bibliography style] \usebibmacro{issuetitle}% \setunit*{\addcomma\addspace}% \usebibmacro{byeditor+others}% - \usebibmacro{editorpunct}%\newunit\newblock + \newunit\newblock \printfield{note}% \setunit*{\addcomma\addspace}\newblock% (changed for 0.7)?? \usebibmacro{journal+issue+year+pages}% diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/chicago-notes16.cbx b/macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/chicago-notes16.cbx index 4301ea4756..922f264508 100644 --- a/macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/chicago-notes16.cbx +++ b/macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/chicago-notes16.cbx @@ -3,7 +3,7 @@ % of providing footnote citations and a bibliography formatted % according to the specifications of the Chicago Manual of Style. -\ProvidesFile{chicago-notes16.cbx}[2022/07/02 v 3.18 biblatex citation style] +\ProvidesFile{chicago-notes16.cbx}[2022/11/16 v 3.18b biblatex citation style] %%%% Biblatex initialization + Chicago options + Toggles %%%% @@ -12,6 +12,21 @@ \newbool{cms:comma} \newbool{cms:nd} +\ifdef{\ExplSyntaxOff}{}{\RequirePackage{xparse}\RequirePackage{expl3}}% + +\ExplSyntaxOn% + +\cs_if_exist:NTF \__text_change_case_switch_titleonly:nnNnnnn +{} +{\cs_new:Npn \__text_change_case_switch_titleonly:nnNnnnn #1#2#3#4#5#6#7 + { + \__text_change_case_store:n {#7} + \__text_change_case_break:w + } +} + +\ExplSyntaxOff + \providecommand*{\mkibid}[1]{#1} \providetoggle{cms@oneyear}% Needed for author-date diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/cmsdocs.sty b/macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/cmsdocs.sty index 5847723412..e584bdf333 100644 --- a/macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/cmsdocs.sty +++ b/macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/cmsdocs.sty @@ -326,7 +326,8 @@ {#1}}}% {}% -\renewbibmacro*{cite:journal}{% +\ifbibmacroundef{cite:journal}{}% + {\renewbibmacro*{cite:journal}{% \ifthenelse{\ifciteibid\AND\NOT\iffirstonpage}% {\iffieldundef{prenote}% {\bibsentence\usebibmacro{cite:ibid}}% @@ -364,7 +365,7 @@ \ifthenelse{\iffieldundef{pagination}\AND% \iffieldundef{bookpagination}}% {\setunit{\postvolpunct}}% - {\setunit{\addcolon\addspace}}}}}} + {\setunit{\addcolon\addspace}}}}}}} \DeclareFieldFormat{cmsbiblink}{% \hyperlink{\getrefbykeydefault{\abx@field@entrykey}{anchor}{}}{#1}} diff --git a/macros/latex/contrib/lgrmath/README b/macros/latex/contrib/lgrmath/README new file mode 100644 index 0000000000..ed0eeadaf9 --- /dev/null +++ b/macros/latex/contrib/lgrmath/README @@ -0,0 +1,48 @@ + +-------------------------------------------------------+ + + lgrmath + + + Greek letters in math mode from + + + any LGR-encoded font + + + https://github.com/jfbu/lgrmath + + +-------------------------------------------------------+ + + This is the README file for the LaTeX2e package + `lgrmath', version 1.0 of 2022/11/16. + + Copyright (C) 2022 Jean-François Burnol + + This Work may be distributed and/or modified + under the conditions of the LaTeX Project Public License, + version 1.3c. The latest version of this license is in + http://www.latex-project.org/lppl.txt + and version 1.3 or later is part of all distributions of + LaTeX version 2003/12/01 or later. + + This Work includes lgrmath.sty, the documentation + lgrmath.pdf, this README and the source lgrmath.dtx. + +With \usepackage[font=]{lgrmath} the Greek letters in math +mode will be from the given font name, assumed to exist on the +LaTeX installation in LGR encoding for traditional LaTeX/pdfLaTeX. + +The shape of the Greek letters are configured via package +options, and they also come in \...up and \...it variants. + +Manual installation: +-------------------- + +Execute This creates + + etex lgrmath.dtx lgrmath.sty + lgrmath.tex + +The first one is the package file. The second one is for +building the PDF documentation. To do the latter: + + latexmk lgrmath.tex + dvipdfmx lgrmath.dvi + +The PDF documentation then includes the commented source code. + +It is possible to run latex + dvipdfmx, pdflatex, lualatex, or +xelatex directly on lgrmath.dtx rather than on lgrmath.tex. +The PDF will then not include the commented source code. diff --git a/macros/latex/contrib/lgrmath/lgrmath.dtx b/macros/latex/contrib/lgrmath/lgrmath.dtx new file mode 100644 index 0000000000..8e442721cf --- /dev/null +++ b/macros/latex/contrib/lgrmath/lgrmath.dtx @@ -0,0 +1,1263 @@ +% -*- coding: utf-8; time-stamp-format: "%02d-%02m-%:y at %02H:%02M:%02S %Z" -*- +% Execute etex on this file to extract package files. +% See in README for more build instructions. +%<*dtx> +\def\dtxtimestamp {Time-stamp: <16-11-2022 at 21:29:30 CET>} +%% +%% Package: lgrmath +%% Greek in math mode via LGR font of one's choice (JFB) +%% Version: 1.0 +%% License: LPPL 1.3c +%% Copyright (C) 2022 Jean-François Burnol +%% Repository: https://github.com/jfbu/lgrmath +%% +% +%<*tex> +\def\lgrmathversion{1.0} +\def\lgrmathdate{2022/11/16} +% +%<*dtx> +\iffalse +% +%<*tex> +%% This is a generated file. Run latexmk on this file lgrmath.tex then +%% run dvipdfmx on lgrmath.dvi to produce the documentation lgrmath.pdf, +%% with the package source code included. +%% +%% Customize as desired the class options and the two toggles below. +%% +%% See lgrmath.dtx for the copyright and the conditions for distribution +%% and/or modification of this Work. +%% +\NeedsTeXFormat{LaTeX2e} +\ProvidesFile{lgrmath.tex}% +[\lgrmathdate\space v\lgrmathversion\space + driver file for lgrmath documentation (JFB)]% +\PassOptionsToClass{a4paper,fontsize=11pt}{scrartcl} +\chardef\Withdvipdfmx \ifdefined\pdfoutput\ifnum\pdfoutput>0 0\else1\fi\else0\fi\relax +\chardef\NoSourceCode 0 % replace 0 by 1 for no source code +\input lgrmath.dtx +%%% Local Variables: +%%% mode: latex +%%% End: +% +%<*dtx> +\fi +\chardef\noetex 0 +\ifx\numexpr\undefined\chardef\noetex 1 \fi +\ifnum\noetex=1 \chardef\extractfiles 0 % extract files, then stop +\else + \ifx\ProvidesFile\undefined + \chardef\extractfiles 0 % etex etc.. on lgrmath.dtx + \else % latex/pdflatex on lgrmath.tex or on lgrmath.dtx + \ifx\Withdvipdfmx\undefined + % (lua|xe|pdf)latex run is on lgrmath.dtx, we will extract all files + \chardef\extractfiles 1 % 1 = extract all and typeset doc + \chardef\Withdvipdfmx + \ifdefined\pdfoutput\ifnum\pdfoutput>0 0\else1\fi\else0\fi\relax + \chardef\NoSourceCode 1 % + \NeedsTeXFormat{LaTeX2e}% + \PassOptionsToClass{a4paper,fontsize=11pt}{scrartcl}% + \else % latex run is on lgrmath.tex, + \chardef\extractfiles 2 % no extractions + \fi + \ProvidesFile{lgrmath.dtx}% + [lgrmath source (\lgrmathversion\space of \lgrmathdate) (JFB)]% + \fi +\fi +\ifnum\extractfiles<2 % extract files +\def\MessageDeFin{\newlinechar10 \let\Msg\message +\Msg{^^J}% +\Msg{********************************************************************^^J}% +\Msg{*^^J}% +\Msg{* To finish the installation you have to move the following^^J}% +\Msg{* file into a directory searched by TeX:^^J}% +\Msg{*^^J}% +\Msg{*\space\space\space\space lgrmath.sty^^J}% +\Msg{*^^J}% +\Msg{* To produce the documentation with source code included run latexmk^^J}% +\Msg{* on extracted lgrmath.tex and then dvipdfmx on lgrmath.dvi^^J}% +\Msg{*^^J}% +\Msg{* Happy TeXing!^^J}% +\Msg{*^^J}% +\Msg{********************************************************************^^J}% +}% +\begingroup +\input docstrip.tex +\askforoverwritefalse +\generate{\nopreamble + \usepostamble\defaultpostamble + \file{lgrmath.tex}{\from{lgrmath.dtx}{tex}}% + \usepreamble\defaultpreamble + \file{lgrmath.sty}{\from{lgrmath.dtx}{sty}}% +} +\endgroup +\fi % end of file extractions +\ifnum\extractfiles=0 +% tex/etex/xetex/etc on lgrmath.dtx, files are now extracted, stop + \MessageDeFin\expandafter\end +\fi +% no file extractions if latex compilation was on lgrmath.tex +\ifdefined\MessageDeFin\AtEndDocument{\MessageDeFin}\fi +\ifnum\Withdvipdfmx>0 +\documentclass [dvipdfmx]{scrartcl} +\else +\documentclass {scrartcl} +\fi +\tracinglostchars=2 + +% use doc with v2 because hyperref option clash with hypdoc +% no time to read documentation now +\usepackage{doc}[=v2] +% but the v2 does not define \cs, it got defined in ltxdoc +\def\cmd#1{\cs{\expandafter\cmd@to@cs\string#1}} +\def\cmd@to@cs#1#2{\char\number`#2\relax} +\DeclareRobustCommand\cs[1]{\texttt{\bslash#1}} +\AtBeginDocument{% +\pdfstringdefDisableCommands{\def\cs#1{\textbackslash\detokenize{#1}}}% +}% +% these are not defined by doc package +\providecommand\marg[1]{% + {\ttfamily\char`\{}\meta{#1}{\ttfamily\char`\}}} +\providecommand\oarg[1]{% + {\ttfamily[}\meta{#1}{\ttfamily]}} +\providecommand\parg[1]{% + {\ttfamily(}\meta{#1}{\ttfamily)}} + +\CodelineNumbered +\AtBeginDocument{\MakeShortVerb\|} +\ifnum\NoSourceCode=1 + \OnlyDescription +\fi +\usepackage[LGR,T1]{fontenc} + +\usepackage{hologo} +%% \hologoFontSetup{general=\upshape\rmfamily} +\DeclareRobustCommand*{\pdfLaTeX}{\hologo{pdfLaTeX}}% +% \DeclareRobustCommand*{\eTeX}{\hologo{eTeX}}% +% \DeclareRobustCommand*{\LuaTeX}{\hologo{LuaTeX}}% +% \DeclareRobustCommand*{\LuaLaTeX}{\hologo{LuaLaTeX}}% +% \DeclareRobustCommand*{\XeTeX}{\hologo{XeTeX}}% +% \DeclareRobustCommand*{\XeLaTeX}{\hologo{XeLaTeX}}% + +\usepackage{geometry} +\usepackage[english]{babel} + +\usepackage{color} +\definecolor{joli}{RGB}{225,95,0} +\definecolor{JOLI}{RGB}{225,95,0} +\definecolor{urlcolor}{RGB}{38,128,192} + +\usepackage{colorframed} +\definecolor{shadecolor}{RGB}{223,219,195} + +\usepackage{hyperref} +\hypersetup{% +linktoc=all,% +breaklinks=true,% +colorlinks=true,% +linkcolor={red},% +urlcolor={urlcolor}, +pdfauthor={Jean-François Burnol},% +pdftitle={The lgrmath package},% +pdfstartview=FitH,% +pdfpagemode=UseNone,% +} +\usepackage{hypcap} +\usepackage{bookmark} +\usepackage{enumerate} + +\usepackage{mlmodern} +\DeclareEncodingSubset{TS1}{mlmtt}{0}% fix \textasciigrave related latex2e#905 + +% useless with doc.sty +% \usepackage{upquote} +% as \verb, verbatim and macrocode do not use \@noligs +\begingroup +\catcode`\'\active\catcode`\`\active +\gdef\MakePrivateLetters{\makeatletter\def`{\textasciigrave}\def'{\textquotesingle}} +\endgroup +% https://github.com/latex3/latex2e/issues/953, for the record + +\usepackage{xspace} + +\newcommand\ctanpkg[1]{\href{https://ctan.org/pkg/#1}{#1}} + +% Vendredi 11 novembre 2022 : impossible d'utiliser \hypersetup{urlcolor=joli} +% dans \section (même sans le \texorpdfstring). +% même si la macro \lgrmath est déclarée robuste mais avec \protected c'est bon +% \DeclareRobustCommand\lgrmath{{\hypersetup{urlcolor=joli}lgrmath}}% <-- BAD +% ceci ok (mais il faudra ajouter \texorpdfstring) +% \protected\def\lgrmath{{\hypersetup{urlcolor=joli}lgrmath}}% <-- OK +% L'erreur est +% Argument of \KVS@@CommaComma has an extra } +% mais je n'ai pas cherché à en savoir plus. De plus dans le code ci-dessous +% on avait plutôt un stack overflow dû à boucle infinie. + +% le \texorpdfstring ne sert à rien si \protected dans \section +\protected\def\lgrmath{% + {\hypersetup{urlcolor=joli}\bfseries \ctanpkg{lgrmath}}\xspace +} +\pdfstringdefDisableCommands{\def\lgrmath{lgrmath\xspace}} + +\usepackage{centeredline} +\usepackage{lgrmath} + +\begin{document}\renewcommand\familydefault\sfdefault +\begin{center} + {\Large The \lgrmath package}\\ + \textsc{Jean-François Burnol}\\ + \texttt{jfbu (at) free (dot) fr}\\ +\footnotesize + This is \lgrmathversion\ (\lgrmathdate) from + source file having \dtxtimestamp\\ + Report issues at \url{https://github.com/jfbu/lgrmath/issues} +\end{center} + +{ +\addtocontents{toc}{\protect\hypersetup{hidelinks}} +\addtocontents{lot}{\protect\hypersetup{hidelinks}} + +\tableofcontents + +\listoftables +} + +\section{Description} + +The \lgrmath package sets the Greek letters {in math mode} (\textbf{only}) to use glyphs +from the LGR-encoded font of one's choice. + +Thus \lgrmath is for people who want \emph{only} to adjust Greek letters in +math mode (and easily configure usage of upright or italic/slanted shapes), +perhaps in the context of having changed Latin letters as well, e.g.\@ from +using the \ctanpkg{frenchmath}% +% +\footnote{Antoine \textsc{Missier}, \emph{Typesetting mathematics according to French rules}, \url{https://ctan.org/pkg/frenchmath}.} +% +package which makes uppercase Latin letters in +math mode render upright, among quite a few other adjustments tailored for +French mathematical typesetting, or the \ctanpkg{mathastext}% +% +\footnote{Verfasser, \emph{Use the text font in math mode}, \url{https://ctan.org/pkg/mathastext}.} +% +package. +Actually \lgrmath is in part inspired from this latter package |LGRgreek| +option and \cs{MTgreekfont} command. But \lgrmath currently does not +incorporate a mechanism for defining and using multiple math versions, each one +with its own font for Greek letters, as is already provided by +\ctanpkg{mathastext}. + +The package is also related to \ctanpkg{libgreek}% +% +\footnote{Verfasser, \emph{Greek letters in math mode from Libertinus or Linux + Libertine/Biolinum}, \url{https://ctan.org/pkg/libgreek}.}, +% +also by the author, and shares most of its codebase, after dropping matters +related to |libgreek-legacy|, and the |scale| option which can not be +implemented generically. + +The Greek letters all come with \cs{...up} and \cs{...it} named variants, and +whether ``bare'' control sequences map to the `|up|' or `|it|' ones can be +configured via package options, even midway in the document via +\cs{lgrmathsetup}. Further, the package optionally defines two math +alphabets \cs{lgrmathup} and \cs{lgrmathit}. What `|up|' and `|it|' +actually mean can be configured using the |upshape| and |itshape| keys at +package loading time. + + +\section{Options of the \lgrmath package} + +\begin{table}[htbp] +\capstart +\DeleteShortVerb\|% a effet global ! +\let\s\string +\ttfamily +\lgrmathsetup{style=fReNcH}% testing lowercasing works + +\centering + +\begin{tabular}{|lc|lc|lc|lc|} +\hline +\s\Alpha&$\Alpha$ &\s\Nu&$\Nu$ &\s\alpha&$\alpha$ &\s\nu&$\nu$\\ +\s\Beta&$\Beta$ &\s\Xi&$\Xi$ &\s\beta&$\beta$ &\s\xi&$\xi$\\ +\s\Gamma&$\Gamma$ &\s\Omicron&$\Omicron$&\s\gamma&$\gamma$ &\s\omicron&$\omicron$\\ +\s\Delta&$\Delta$ &\s\Pi&$\Pi$ &\s\delta&$\delta$ &\s\pi&$\pi$\\ +\s\Epsilon&$\Epsilon$&\s\Rho&$\Rho$ &\s\epsilon&$\epsilon$&\s\rho&$\rho$\\ +\s\Zeta&$\Zeta$ &\s\Sigma&$\Sigma$ &\s\zeta&$\zeta$ &\s\sigma&$\sigma$\\ +\s\Eta&$\Eta$ &\s\Tau&$\Tau$ &\s\eta&$\eta$ &\s\tau&$\tau$\\ +\s\Theta&$\Theta$ &\s\Upsilon&$\Upsilon$&\s\theta&$\theta$ &\s\upsilon&$\upsilon$\\ +\s\Iota&$\Iota$ &\s\Phi&$\Phi$ &\s\iota&$\iota$ &\s\phi&$\phi$\\ +\s\Kappa&$\Kappa$ &\s\Chi&$\Chi$ &\s\kappa&$\kappa$ &\s\chi&$\chi$\\ +\s\Lambda&$\Lambda$ &\s\Psi&$\Psi$ &\s\lambda&$\lambda$ &\s\psi&$\psi$\\ +\s\Mu&$\Mu$ &\s\Omega&$\Omega$ &\s\mu&$\mu$ &\s\omega&$\omega$\\ +\hline +\end{tabular} + +\medskip + +\begin{tabular}{lclclc} +\s\varsigma&$\varsigma$ & \s\digamma&$\digamma$ & \s\varSigma&$\varSigma$ \\ +\s\varvarsigma&$\varvarsigma$ & \s\koppa&$\koppa$ & \s\Sampi&$\Sampi$ \\ +\s\sampi&$\sampi$ & & & \s\Digamma&$\Digamma$ +\end{tabular} +\caption{Greek letters, upright shapes, default family} +\label{table:upright} +\MakeShortVerb\| +\end{table} + +\begin{table}[htbp] +\capstart +\DeleteShortVerb\|% a effet global ! +\let\s\string +\ttfamily +\lgrmathsetup{style=ISO} + +\centering +\begin{tabular}{|lc|lc|lc|lc|} +\hline +\s\Alpha&$\Alpha$ &\s\Nu&$\Nu$ &\s\alpha&$\alpha$ &\s\nu&$\nu$\\ +\s\Beta&$\Beta$ &\s\Xi&$\Xi$ &\s\beta&$\beta$ &\s\xi&$\xi$\\ +\s\Gamma&$\Gamma$ &\s\Omicron&$\Omicron$&\s\gamma&$\gamma$ &\s\omicron&$\omicron$\\ +\s\Delta&$\Delta$ &\s\Pi&$\Pi$ &\s\delta&$\delta$ &\s\pi&$\pi$\\ +\s\Epsilon&$\Epsilon$&\s\Rho&$\Rho$ &\s\epsilon&$\epsilon$&\s\rho&$\rho$\\ +\s\Zeta&$\Zeta$ &\s\Sigma&$\Sigma$ &\s\zeta&$\zeta$ &\s\sigma&$\sigma$\\ +\s\Eta&$\Eta$ &\s\Tau&$\Tau$ &\s\eta&$\eta$ &\s\tau&$\tau$\\ +\s\Theta&$\Theta$ &\s\Upsilon&$\Upsilon$&\s\theta&$\theta$ &\s\upsilon&$\upsilon$\\ +\s\Iota&$\Iota$ &\s\Phi&$\Phi$ &\s\iota&$\iota$ &\s\phi&$\phi$\\ +\s\Kappa&$\Kappa$ &\s\Chi&$\Chi$ &\s\kappa&$\kappa$ &\s\chi&$\chi$\\ +\s\Lambda&$\Lambda$ &\s\Psi&$\Psi$ &\s\lambda&$\lambda$ &\s\psi&$\psi$\\ +\s\Mu&$\Mu$ &\s\Omega&$\Omega$ &\s\mu&$\mu$ &\s\omega&$\omega$\\ +\hline +\end{tabular} +\medskip + +\begin{tabular}{lclclc} +\s\varsigma&$\varsigma$ & \s\digamma&$\digamma$ & \s\varSigma&$\varSigma$ \\ +\s\varvarsigma&$\varvarsigma$ & \s\koppa&$\koppa$ & \s\Sampi&$\Sampi$ \\ +\s\sampi&$\sampi$ & & & \s\Digamma&$\Digamma$ +\end{tabular} +\caption{Greek letters, italic shapes, default family} +\label{table:italic} +\MakeShortVerb\| +\end{table} + +Here are the options recognized by the package: +\begin{description} +\item[font=\meta{font\textunderscore name}] This specifies which font (font family in the + sens of the \LaTeX{} font selection scheme) to use. It defaults to |lmr|. + + In \autoref{table:upright} and \autoref{table:italic} we display the + glyphs from this default font |lmr| in LGR encoding, available to \LaTeX{} + thanks to the + support files from the package (in the sense of CTAN or \TeX Live, not of a + \LaTeX{} document) \ctanpkg{cbfonts-fd}.% +% + \footnote{Claudio~\textsc{Beccari}, \emph{\LaTeX{} font description files for the CB Greek fonts}, \url{https://ctan.org/pkg/cbfonts-fd}.} +% + It is recommended to user to have a look at its + documentation\centeredline{|texdoc cbfonts|} + in particular the section on Customizations which mentions alternate shapes + (such as |rs|, |ro|, |li|, |iv|, |uv| --- those last two are actually for + sans-serif |lmss| ---, and there are also comments relative to the series) + and use appropriately the |upshape|, |itshape|, |series| and |boldseries| + \lgrmath keys which are documented next. + + The allowable names \meta{font\textunderscore name}'s are those |foo| for + which a file |LGRfoo.fd| or |lgrfoo.fd| exists on the system. + + The above remarks about customization apply generally to all fonts, try to + see if there is some documentation associated with the font you choose. + Ultimate experts will look into the |.fd| files to see (for example) if there + is some interface to rescale the fonts by some factor. + + Here is now a list of suitable such font definition files from which you can + extract usable font family names. This has been obtained via exercising the + Unix |find| utility in a \TeX Live 2022 installation (possibly only partial). + To test a font the package provides \cs{lgrmathgreektable} and + \cs{lgrmathgreektableextra} which are documented in the next section. + + \begin{snugshade} +\catcode`\'\active\catcode`\`\active +\def\MacroFont{\ttfamily\footnotesize\def'{\textquotesingle}\def`{\textasciigrave}} +\catcode\string`\`12 \catcode`\' 12 +\begin{verbatim} +in directory /usr/local/texlive/2022/texmf-dist/tex/latex we execute + find . -name 'LGR*fd' +and then rearrange somewhat the output to put it in alphabetical order, +and gain some space horizontally so as to obtain a two-column display +Naturally in many instances the various -TLF, -OsF, and so on, refer +to options of digit characters and have no impact on the Greek letters, +nevertheless I kept all filenames, just pick one, drop LGR and .fd parts. + +./alegreya/ ./librefranklin/ + LGRAlegreya-Inf.fd LGRLibreFranklin-Sup.fd + LGRAlegreya-LF.fd LGRLibreFranklin-TLF.fd + LGRAlegreya-OsF.fd ./linguisticspro/ + LGRAlegreya-Sup.fd LGRLinguisticsPro-LF.fd + LGRAlegreya-TLF.fd LGRLinguisticsPro-OsF.fd + LGRAlegreya-TOsF.fd ./nimbus15/ + LGRAlegreyaSans-Inf.fd LGRNimbuSans.fd + LGRAlegreyaSans-LF.fd LGRNimbusMono.fd + LGRAlegreyaSans-OsF.fd LGRNimbusMonoN.fd + LGRAlegreyaSans-Sup.fd LGRNimbusSerif.fd + LGRAlegreyaSans-TLF.fd ./noto/ + LGRAlegreyaSans-TOsF.fd LGRNotoSans-LF.fd +./clara/ LGRNotoSans-OsF.fd + LGRClara-Sup.fd LGRNotoSans-Sup.fd + LGRClara-TLF.fd LGRNotoSans-TLF.fd + LGRClara-TOsF.fd LGRNotoSans-TOsF.fd +./cochineal/ LGRNotoSansMono-Sup.fd + LGRCochineal-LF.fd LGRNotoSansMono-TLF.fd + LGRCochineal-OsF.fd LGRNotoSansMono-TOsF.fd + LGRCochineal-TLF.fd LGRNotoSerif-LF.fd + LGRCochineal-TOsF.fd LGRNotoSerif-OsF.fd +./comfortaa/ LGRNotoSerif-Sup.fd + LGRcomfortaa.fd LGRNotoSerif-TLF.fd +./dejavu/ LGRNotoSerif-TOsF.fd + LGRDejaVuSans-TLF.fd ./oldstandard/ + LGRDejaVuSansCondensed-TLF.fd LGROldStandard-Sup.fd + LGRDejaVuSansMono-TLF.fd LGROldStandard-TLF.fd + LGRDejaVuSerif-TLF.fd ./opensans/ + LGRDejaVuSerifCondensed-TLF.fd LGRopensans-LF.fd +./domitian/ LGRopensans-OsF.fd + LGRDomitian-Inf.fd LGRopensans-TLF.fd + LGRDomitian-Sup.fd LGRopensans-TOsF.fd + LGRDomitian-TLF.fd ./plex/ + LGRDomitian-TOsF.fd LGRIBMPlexSans-Sup.fd +./droid/ LGRIBMPlexSans-TLF.fd + LGRdroidsans.fd ./roboto/ + LGRdroidsansmono.fd LGRRoboto-LF.fd + LGRdroidserif.fd LGRRoboto-OsF.fd +./ebgaramond/ LGRRoboto-TLF.fd + LGREBGaramond-Inf.fd LGRRoboto-TOsF.fd + LGREBGaramond-LF.fd LGRRobotoMono-TLF.fd + LGREBGaramond-OsF.fd LGRRobotoSerif-LF.fd + LGREBGaramond-Sup.fd LGRRobotoSerif-OsF.fd + LGREBGaramond-TLF.fd LGRRobotoSerif-Sup.fd + LGREBGaramond-TOsF.fd LGRRobotoSerif-TLF.fd + LGREBGaramondInitials-TLF.fd LGRRobotoSerif-TOsF.fd +./fira/ LGRRobotoSlab-TLF.fd + LGRFiraMono-Sup.fd ./sourcesanspro/ + LGRFiraMono-TLF.fd LGRSourceSansPro-Dnom.fd + LGRFiraMono-TOsF.fd LGRSourceSansPro-Inf.fd + LGRFiraSans-LF.fd LGRSourceSansPro-LF.fd + LGRFiraSans-OsF.fd LGRSourceSansPro-Numr.fd + LGRFiraSans-Sup.fd LGRSourceSansPro-OsF.fd + LGRFiraSans-TLF.fd LGRSourceSansPro-Sup.fd + LGRFiraSans-TOsF.fd LGRSourceSansPro-TLF.fd +./garamond-libre/ LGRSourceSansPro-TOsF.fd + LGRGaramondLibre-Inf.fd ./step/ + LGRGaramondLibre-LF.fd LGRSTEP-Inf.fd + LGRGaramondLibre-OsF.fd LGRSTEP-Sup.fd + LGRGaramondLibre-Sup.fd LGRSTEP-TLF.fd +./gofonts/ LGRSTEP-TOsF.fd + LGRGo-TLF.fd ./stepgreek/ + LGRGoMono-TLF.fd LGRSTEPGreekTest-Sup.fd +./lato/ LGRSTEPGreekTest-TLF.fd + LGRlato-LF.fd LGRSTEPGreekTest-TOsF.fd + LGRlato-OsF.fd ./theanodidot/ + LGRlato-TLF.fd LGRTheanoDidot-TLF.fd + LGRlato-TOsF.fd LGRTheanoDidot-TOsF.fd +./libertinegc/ ./theanomodern/ + LGRLinuxLibertineT-LF.fd LGRTheanoModern-TLF.fd + LGRLinuxLibertineT-OsF.fd LGRTheanoModern-TOsF.fd + LGRLinuxLibertineT-TLF.fd ./theanooldstyle/ + LGRLinuxLibertineT-TOsF.fd LGRTheanoOldStyle-TLF.fd +./libertinus-type1/ LGRTheanoOldStyle-TOsF.fd + LGRLibertinusSans-LF.fd LGRLibertinusSerif-TLF.fd + LGRLibertinusSans-OsF.fd LGRLibertinusSerif-TOsF.fd + LGRLibertinusSans-Sup.fd LGRLibertinusSerifDisplay-LF.fd + LGRLibertinusSans-TLF.fd LGRLibertinusSerifDisplay-OsF.fd + LGRLibertinusSans-TOsF.fd LGRLibertinusSerifDisplay-Sup.fd + LGRLibertinusSerif-LF.fd LGRLibertinusSerifDisplay-TLF.fd + LGRLibertinusSerif-OsF.fd LGRLibertinusSerifDisplay-TOsF.fd + LGRLibertinusSerif-Sup.fd LGRLibertinusSerifInitials-TLF.fd + +And now for more, with lowercase `lgr' filenames: find . -name 'lgr*fd' + +./txfontsb/lgrtxr.fd ./cm-lgc/lgrfcm.fd +./txfontsb/lgrtxrc.fd ./cm-lgc/lgrfct.fd +./txfontsb/lgrtxry.fd ./cm-lgc/lgrfcs.fd +./txfontsb/lgrtxryc.fd ./epigrafica/lgrepigrafica.fd +./gfsbodoni/lgrbodoni.fd ./gfssolomos/lgrsolomos.fd +./lxfonts/lgrllcmtt.fd ./tempora/lgrtempora-tlf.fd +./lxfonts/lgrllcmss.fd ./tempora/lgrtempora-tosf.fd +./kerkis/lgrkfn.fd ./gfscomplutum/lgrcomplutum.fd +./kerkis/lgrmaksf.fd ./gfsartemisia/lgrartemisiaeuler.fd +./kerkis/lgrmak.fd ./gfsartemisia/lgrartemisia.fd +./cbfonts-fd/lgrcmro.fd ./gentium-tug/lgrgentiumbook.fd +./cbfonts-fd/lgrcmss.fd ./gentium-tug/lgrgentium.fd +./cbfonts-fd/lgrlmr.fd ./gfsbaskerville/lgrgfsbaskerville.fd +./cbfonts-fd/lgrlcmtt.fd ./miama/lgrfmm.fd +./cbfonts-fd/lgrlmtt.fd ./gfsneohellenic/lgrneohellenic.fd +./cbfonts-fd/lgrlmss.fd ./gfsdidot/lgrudidot.fd +./cbfonts-fd/lgrlmro.fd ./gfsporson/lgrporson.fd +./cbfonts-fd/lgrlcmss.fd +./cbfonts-fd/lgrcmtt.fd +./cbfonts-fd/lgrcmr.fd +\end{verbatim} +\end{snugshade} +\item[upshape=\meta{shape}] Declares the shape to be used by the \cs{...up} + Greek letters and the \cs{lgrmathup} math alphabet. Defaults to `|n|' + (without the quotes). +\item[itshape=\meta{shape}] Declares the shape to be used by the \cs{...it} + Greek letters and the \cs{lgrmathit} math alphabet. Defaults to `|it|'. +\DeleteShortVerb{\|} +\item[style=\meta{\upshape\ttfamily ISO|UP|TeX}] specifies the shape style + of the Greek letters. \MakeShortVerb{\|} + + |ISO| means `italic' for lowercase + and uppercase, |UP| means `upright' for lowercase and uppercase, |TeX| + means `italic' for lowercase and `upright' for uppercase. The lowercase + forms |iso|, |up| and |tex| are also accepted (or any mixed case). + + One can also use |French| or |french| as an alias to |UP| or |up|. + + This option will + override any |greek| or |Greek| option. The package defaults to |style=TeX|. + + What `upright' and `italic' mean is configured by the |upshape| and + |itshape| respective settings.\DeleteShortVerb\| +\item[greek=\meta{\ttfamily\upshape up|it|...}] Says\MakeShortVerb{\|} whether + Greek letters will be `upright' or `italic' i.e.\@ whether they obey the + |upshape| or |itshape| setting, i.e.\@ whether \cs{alpha} et al.\@ are + \cs{let} to \cs{alphaup} (et al.) or to \cs{alphait} (et + al.).\MakeShortVerb{\|} + + So |greek=it| is like |style=ISO|, and |greek=up| is like |style=French|. + + Other + shape values, such as `|n|' and `|sl|' or even `|sc|', are accepted. For + more details, see the explanations for |Greek|. For example |greek=n| is + like |style=UP|. + + This option is ignored if |style| is used (order does not matter). + \DeleteShortVerb\| +\item[Greek=\meta{\ttfamily\upshape up|it|...}] Says\MakeShortVerb{\|} + whether uppercase Greek + letters (and only them) will be `upright' or `italic' i.e.\@ whether they + use |upshape| or |itshape|, i.e.\@ whether \cs{Alpha} et al.\@ are \cs{let} + to \cs{Alphaup} (et al.) or to \cs{Alphait} (et al.).\MakeShortVerb{\|} + + So to obtain lowercase to be `upright' and uppercase to be `italic', use + |greek=up| and then |Greek=it| (|Greek| must appear after |greek| else it will be + shadowed by it). + + This option, like the |greek| option, is ignored if the |style| option is used. + + Other + shape values, such as `|n|' and `|sl|', are accepted. They will then + override the |upshape| setting for it to match it. For example |Greek=sc| + will force |upshape| to be |sc|, because the assumed style is the \TeX{} one + of italic lowercase and upright uppercase, so setting the shape of uppercase + must update the |upshape| value. + +\item[series=\meta{series}] This tells which series to use. The default is the + value of \cs{seriesdefault} at the time of loading the package. There is no + interface to configure distinct series for the `upright' and `italic' + shapes. + +\item[boldseries=\meta{series}] This tells which series to use in bold + math. Default is \cs{bfdefault} at the time of loading the package. There + is no interface to configure distinct series for the `upright' and `italic' + shapes. +\item[alphabets] Says whether to define \cs{lgrmathup} and \cs{lgrmathit}. +\end{description} + +\section{Commands of the \lgrmath package} + +Here are the commands defined by the package: +\begin{description} +\item[\cs{lgrmathsetup}\marg{key=value,...}] The only allowed keys are + |style|, |greek| and |Greek|. And for the latter two only the values |up| + or |it| should be used (or values matching the |upshape| or |itshape| + settings), as it is only possible after package loading time to toggle + between `upright' and `italic' depending on whether the letter is uppercase + or lowercase, but one can not switch to an altogether different shape as + this would require re-declaring the symbol fonts. + + If the |style| key is used, then |greek/Greek| are ignored. However, + one can always naturally reuse later \cs{lgrmathsetup} using only the + |greek| and/or |Greek| keys. +\item[\cs{lgrmathup}] This is a math alphabet. It is defined only if the + package received the |alphabets| option. +\item[\cs{lgrmathit}] This is a math alphabet. It is defined only if the + package received the |alphabets| option. + +\item[\cs{lgrmathgreektable}\marg{family}\marg{series}\marg{shape}] Produces a + tabular display of the Greek letters available with this font. Here is for + example using% +% + \centeredline{|\lgrmathgreektable{Alegreya-TLF}{regular}{n}|} +% + \centeredline{\lgrmathgreektable{Alegreya-TLF}{regular}{n}} + + We used |regular| + for the \meta{series} mandatory argument after seeing Font Info messages in + the |.log| file about the |m| series not being available and being + substituted for by |regular|, so we used |regular| to avoid those messages. +\item[\cs{lgrmathgreektableextra}\marg{family}\marg{series}\marg{shape}] + Produces a tabular with eight additional glyphs. Here is an example, using +% + \centeredline{|\lgrmathgreektableextra{LibertinusSans-TLF}{m}{n}|} +% + \centeredline{\lgrmathgreektableextra{LibertinusSans-TLF}{m}{n}} Beware that if + we had forgotten the |-TLF| suffix, the font would have been substituted in + favour of fall-back |lmr| by \LaTeX. Always check log for font substitutions + messages... + + And see also the last remark below. +\end{description} + +Miscellaneous remarks: +\begin{enumerate} +\item Even if not receiving the option |alphabets|, the package will declare + all Greek letters to be of type \cs{mathalpha}. +\item The \lgrmath package ignores global class options. It handles only + options originating from the \cs{usepackage} preamble declaration (or some + options handed over via \cs{PassOptionsToPackage} or options passed to + \cs{lgrmathsetup} in the preamble or body). +\item The \ctanpkg{libgreek} package defines \cs{mathchar}'s mapping to + lowercase Greek letters with diacritics, but for time being it has been + decided that \lgrmath would restrict its definitions to the 24+24 base glyphs + and the 8 ``extra'' ones for which there are slots in the LGR encoding table. +\item These 8 ``extra glyphs'' will not always be available, depending on the + font. Here is for example with |Alegreya-TLF|: + \centeredline{\lgrmathgreektableextra{Alegreya-TLF}{regular}{n}} Adding + |\tracinglostchars=3| will cause \TeX\ to raise an error in case such missing + characters are encountered. +\end{enumerate} + +This is the end of the user documentation. The next section is a code listing +with some comments for the advanced users. + +\StopEventually{\end{document}\endinput} + +\cleardoublepage +%\newgeometry{hmarginratio=3:2} +\small + +\makeatletter + +\section{Implementation of the \lgrmath package} + +% https://github.com/latex3/latex2e/issues/563 +\AddToHook{env/macrocode/after}{\@nobreakfalse} +\AddToHook{env/macrocode/begin}{\partopsep0pt\relax} + +% The catcode hackery next is to avoid to have the guard be listed +% in the commented source code... (here <*legacy>) +% (c) 2012/11/19 Jean-François Burnol ;-) + +\def\gardesactifs {\catcode`\<=0 \catcode`\>=11 \catcode`\*=11 \catcode`\/=11 } +\def\gardesinactifs {\catcode`\<=12 \catcode`\>=12 \catcode`\*=12 \catcode`\/=12 } +\gardesactifs +\let\relax +\let<*sty>\gardesinactifs + +\MakePercentIgnore +% +%<*sty> +% \begin{macrocode} +\NeedsTeXFormat{LaTeX2e} +\ProvidesPackage{lgrmath} + [2022/11/16 1.0 Greek in math mode via LGR font of one's choice (JFB)] +% \end{macrocode} +% We will use \ctanpkg{kvoptions} to handle options with |key=value| syntax. +% \begin{macrocode} +\RequirePackage{kvoptions} +% \end{macrocode} +% To minimize the author's task, we keep close to |libgreek.sty| code with minimal +% adaptations. In particular I decided to keep the fact that |style| option +% makes the |Greek| and |greek| options ignored. But there are some +% complications originating in the addition of the \cs{lgrmathsetup}, which +% requires to keep a trace of various things, for example if |style| option is +% used at package level and then later on using \cs{lgrmathsetup} the user +% employs the |Greek/greek| options. +% +% This package assigns two symbol fonts, one for upright, the other one for +% italic-like. +% +% The |upshape| and |itshape| keys allow to configure what the \cs{...up} +% and \cs{...it} macros will actually use as shapes. +% \begin{macrocode} +\def\lgrmath@fontfamily{lmr} +\def\lgrmath@scale{1} +\def\lgrmath@upshape{n} +\def\lgrmath@itshape{it} +\newif\iflgrmath@upper@up\lgrmath@upper@uptrue +\newif\iflgrmath@lower@up +\edef\lgrmath@series{\seriesdefault} +\edef\lgrmath@boldseries{\bfdefault} +\def\lgrmath@upper@shape{\lgrmath@upshape} +\def\lgrmath@lower@shape{\lgrmath@itshape} +\def\lgrmath@style{TeX} +\newif\iflgrmath@sty +% \end{macrocode} +% We use the \ctanpkg{keyval} interface mostly to not have to rework +% everything, if at all possible, into the \ctanpkg{kvoptions} declarative +% interface. It is a very good thing that the latter package can be used +% without forcing on the user its own declarative interface... +% \begin{macrocode} +\define@key{lgrmath}{font}[lmr]{\def\lgrmath@fontfamily{#1}} +\define@key{lgrmath}{upshape}{\edef\lgrmath@upshape{#1}} +\define@key{lgrmath}{itshape}{\edef\lgrmath@itshape{#1}} +% \end{macrocode} +% Compared to |libgreek 1.1| I decide to use \cs{lowercase} and allow |UP| as +% alias of |French|. +% \begin{macrocode} +\define@key{lgrmath}{style}{% + \edef\lgrmath@style{#1}% + \lowercase\expandafter{\expandafter\def\expandafter\lgrmath@style + \expandafter{\lgrmath@style}}% + \lgrmath@stytrue +} +\define@key{lgrmath}{Greek}{\edef\lgrmath@upper@shape{#1}} +% \end{macrocode} +% Attention to not introduce a space token, as this may be used via +% \cs{lgrmathsetup} in document body. +% \begin{macrocode} +\define@key{lgrmath}{greek}{\edef\lgrmath@lower@shape{#1}% + \edef\lgrmath@upper@shape{#1}} +\define@key{lgrmath}{series}{\edef\lgrmath@series{#1}} +\define@key{lgrmath}{boldseries}{\edef\lgrmath@boldseries{#1}} +% \end{macrocode} +% The single Boolean option, a true one as it uses \ctanpkg{kvoptions} interface. +% \begin{macrocode} +\DeclareBoolOption[false]{alphabets} +% \end{macrocode} +% We need some auxiliaries to handle the |style| values. As mentioned +% already, some extra stuff is executed for reasons of various scenarii +% with \cs{lgrmathsetup}. +% \begin{macrocode} +\def\lgrmath@style@iso{% + \lgrmath@upper@upfalse + \lgrmath@lower@upfalse + \let\lgrmath@upper@shape\lgrmath@itshape + \let\lgrmath@lower@shape\lgrmath@itshape +} +\def\lgrmath@style@french{% + \lgrmath@upper@uptrue + \lgrmath@lower@uptrue + \let\lgrmath@upper@shape\lgrmath@upshape + \let\lgrmath@lower@shape\lgrmath@upshape +} +\let\lgrmath@style@up\lgrmath@style@french +\def\lgrmathk@style@tex{% + \lgrmath@upper@uptrue + \lgrmath@lower@upfalse + \let\lgrmath@upper@shape\lgrmath@upshape + \let\lgrmath@lower@shape\lgrmath@itshape +} +% \end{macrocode} +% This always resets the \cs{iflgrmath@sty} to false for \cs{lgrmathsetup} +% being usable with |greek| and |Greek| keys. +% \begin{macrocode} +\def\lgrmath@process@style{% + \lgrmath@styfalse + \ifcsname lgrmath@style@\lgrmath@style\endcsname + \csname lgrmath@style@\lgrmath@style\endcsname + \else + \PackageWarning{lgrmath}{Unknown (here, lowercased) style `\lgrmath@style'}% + \fi +} +% \end{macrocode} +% This stuff is a bit involved. +% \begin{macrocode} +\def\lgrmath@process@shapes{% + \edef\lgrmath@upper@shape{\lgrmath@upper@shape}% + \edef\lgrmath@lower@shape{\lgrmath@lower@shape}% + \ifx\lgrmath@upper@shape\lgrmath@upshape + \lgrmath@upper@uptrue + \else + \ifx\lgrmath@upper@shape\lgrmath@itshape + \lgrmath@upper@upfalse + \else + \expandafter\in@\expandafter{\expandafter.\lgrmath@upper@shape,}{.up,}% + \ifin@\lgrmath@upper@uptrue + \else + \expandafter\in@\expandafter{\expandafter.\lgrmath@upper@shape,}{.it,}% + \ifin@\lgrmath@upper@upfalse + \else + \lgrmath@process@upper@lastresort + \fi\fi\fi\fi + \ifx\lgrmath@lower@shape\lgrmath@itshape + \lgrmath@lower@upfalse + \else + \ifx\lgrmath@lower@shape\lgrmath@upshape + \lgrmath@lower@uptrue + \else + \expandafter\in@\expandafter{\expandafter.\lgrmath@lower@shape,}{.it,}% + \ifin@\lgrmath@lower@upfalse + \else + \expandafter\in@\expandafter{\expandafter.\lgrmath@lower@shape,}{.up,}% + \ifin@\lgrmath@lower@uptrue + \else + \lgrmath@process@lower@lastresort + \fi\fi\fi\fi +}% +\def\lgrmath@process@upper@lastresort{% + \lgrmath@upper@uptrue + \let\lgrmath@upshape\lgrmath@upper@shape +} +\def\lgrmath@process@lower@lastresort{% + \lgrmath@lower@upfalse + \let\lgrmath@itshape\lgrmath@lower@shape +} +% \end{macrocode} +% The fact that packages may be handed global options is rather dangerous. +% Fortunately \ctanpkg{kvoptions} has an interface to handle only local options. +% \begin{macrocode} +\ProcessLocalKeyvalOptions* +% \end{macrocode} +% We now do the post-processing regarding the shape configuration after +% option parsing. Once this is done we will reconfigure slightly +% \cs{lgrmath@process@shapes} for usability in the document preamble or body, +% after the symbol fonts have been declared. As is well-known the \LaTeX{} +% interface to math fonts is full of ``only-preamble'' restrictions. +% \begin{macrocode} +\iflgrmath@sty + \lgrmath@process@style +\else + \lgrmath@process@shapes +\fi +\def\lgrmath@process@upper@lastresort{% + \PackageWarning{lgrmath}{% + Too late for the shape `\lgrmath@upper@shape'\MessageBreak + originating in Greek or greek option. Ignored.\MessageBreak + Use `up' or `it'}% +} +\def\lgrmath@process@lower@lastresort{% + \PackageWarning{lgrmath}{% + Too late for the shape `\lgrmath@lower@shape'\MessageBreak + originating in greek option. Ignored.\MessageBreak + Use `up' or `it'}% +} +\def\lgrmathsetup#1{% + \setkeys{lgrmath}{#1}% + \iflgrmath@sty\lgrmath@process@style\else\lgrmath@process@shapes\fi + \lgrmath@setgreekcs +} +% \end{macrocode} +% Almost all options must be restricted to the package loading time only. +% \begin{macrocode} +\DisableKeyvalOption{lgrmath}{font} +\DisableKeyvalOption{lgrmath}{upshape} +\DisableKeyvalOption{lgrmath}{itshape} +\DisableKeyvalOption{lgrmath}{series} +\DisableKeyvalOption{lgrmath}{boldseries} +\DisableKeyvalOption{lgrmath}{alphabets} +% \end{macrocode} +% Declarations of the two symbol fonts, one for `upright' (or whatever is +% configured by the |upshape| key), one for `italic' (or whatever is configured +% by the |itshape| key). One can not specify distinct series, both +% `upright' and `italic' use the same font series. This could be added but I +% doubt anyone will use the package to start with... +% +% The \ctanpkg{libgreek} of |2022/11/11| extracted the |-TLF| postfix from the +% font family name, to reinsert it here explicitly, the options |serif/sans| +% deciding whether to use |LibertinusSerif-TLF| or |LibertinusSans-TLF| for +% reasons now escaping me. I vaguely remember it was useful at some point +% during development. Ah yes, now I remember this separation was for the +% handling of the |scale| option. And we haven't one here. +% \begin{macrocode} +\DeclareFontEncoding{LGR}{}{} +\DeclareSymbolFont{lgrmathup}{LGR}{\lgrmath@fontfamily} + {\lgrmath@series} + {\lgrmath@upshape} +\SetSymbolFont{lgrmathup}{bold}{LGR}{\lgrmath@fontfamily} + {\lgrmath@boldseries} + {\lgrmath@upshape} +\DeclareSymbolFont{lgrmathit}{LGR}{\lgrmath@fontfamily} + {\lgrmath@series} + {\lgrmath@itshape} +\SetSymbolFont{lgrmathit}{bold}{LGR}{\lgrmath@fontfamily} + {\lgrmath@boldseries} + {\lgrmath@itshape} +% \end{macrocode} +% As all Greek letters are already available in \cs{...up} and \cs{...it} +% variants, it is indeed not immediately pressing to have math alphabets, so +% let's not do it by default. +% \begin{macrocode} +\iflgrmath@alphabets + \DeclareSymbolFontAlphabet{\lgrmathup}{lgrmathup} + \DeclareSymbolFontAlphabet{\lgrmathit}{lgrmathit} +\fi +% \end{macrocode} +% Definition of the `|up|' \cs{mathchar}'s. There are 48 `standard' +% ones plus 8 extras.^^A and 11 with diacritics for a total of 67 ones. +% +% Hesitation whether I should declare with \cs{mathalpha} \emph{only} if +% |alphabets| is passed to the package. +% \begin{macrocode} +\DeclareMathSymbol{\Alphaup}{\mathalpha}{lgrmathup}{65} +\DeclareMathSymbol{\Betaup}{\mathalpha}{lgrmathup}{66} +\DeclareMathSymbol{\Gammaup}{\mathalpha}{lgrmathup}{71} +\DeclareMathSymbol{\Deltaup}{\mathalpha}{lgrmathup}{68} +\DeclareMathSymbol{\Epsilonup}{\mathalpha}{lgrmathup}{69} +\DeclareMathSymbol{\Zetaup}{\mathalpha}{lgrmathup}{90} +\DeclareMathSymbol{\Etaup}{\mathalpha}{lgrmathup}{72} +\DeclareMathSymbol{\Thetaup}{\mathalpha}{lgrmathup}{74} +\DeclareMathSymbol{\Iotaup}{\mathalpha}{lgrmathup}{73} +\DeclareMathSymbol{\Kappaup}{\mathalpha}{lgrmathup}{75} +\DeclareMathSymbol{\Lambdaup}{\mathalpha}{lgrmathup}{76} +\DeclareMathSymbol{\Muup}{\mathalpha}{lgrmathup}{77} +\DeclareMathSymbol{\Nuup}{\mathalpha}{lgrmathup}{78} +\DeclareMathSymbol{\Xiup}{\mathalpha}{lgrmathup}{88} +\DeclareMathSymbol{\Omicronup}{\mathalpha}{lgrmathup}{79} +\DeclareMathSymbol{\Piup}{\mathalpha}{lgrmathup}{80} +\DeclareMathSymbol{\Rhoup}{\mathalpha}{lgrmathup}{82} +\DeclareMathSymbol{\Sigmaup}{\mathalpha}{lgrmathup}{83} +\DeclareMathSymbol{\Tauup}{\mathalpha}{lgrmathup}{84} +\DeclareMathSymbol{\Upsilonup}{\mathalpha}{lgrmathup}{85} +\DeclareMathSymbol{\Phiup}{\mathalpha}{lgrmathup}{70} +\DeclareMathSymbol{\Chiup}{\mathalpha}{lgrmathup}{81} +\DeclareMathSymbol{\Psiup}{\mathalpha}{lgrmathup}{89} +\DeclareMathSymbol{\Omegaup}{\mathalpha}{lgrmathup}{87} +\DeclareMathSymbol{\alphaup}{\mathalpha}{lgrmathup}{97} +\DeclareMathSymbol{\betaup}{\mathalpha}{lgrmathup}{98} +\DeclareMathSymbol{\gammaup}{\mathalpha}{lgrmathup}{103} +\DeclareMathSymbol{\deltaup}{\mathalpha}{lgrmathup}{100} +\DeclareMathSymbol{\epsilonup}{\mathalpha}{lgrmathup}{101} +\DeclareMathSymbol{\zetaup}{\mathalpha}{lgrmathup}{122} +\DeclareMathSymbol{\etaup}{\mathalpha}{lgrmathup}{104} +\DeclareMathSymbol{\thetaup}{\mathalpha}{lgrmathup}{106} +\DeclareMathSymbol{\iotaup}{\mathalpha}{lgrmathup}{105} +\DeclareMathSymbol{\kappaup}{\mathalpha}{lgrmathup}{107} +\DeclareMathSymbol{\lambdaup}{\mathalpha}{lgrmathup}{108} +\DeclareMathSymbol{\muup}{\mathalpha}{lgrmathup}{109} +\DeclareMathSymbol{\nuup}{\mathalpha}{lgrmathup}{110} +\DeclareMathSymbol{\xiup}{\mathalpha}{lgrmathup}{120} +\DeclareMathSymbol{\omicronup}{\mathalpha}{lgrmathup}{111} +\DeclareMathSymbol{\piup}{\mathalpha}{lgrmathup}{112} +\DeclareMathSymbol{\rhoup}{\mathalpha}{lgrmathup}{114} +\DeclareMathSymbol{\sigmaup}{\mathalpha}{lgrmathup}{115} +\DeclareMathSymbol{\tauup}{\mathalpha}{lgrmathup}{116} +\DeclareMathSymbol{\upsilonup}{\mathalpha}{lgrmathup}{117} +\DeclareMathSymbol{\phiup}{\mathalpha}{lgrmathup}{102} +\DeclareMathSymbol{\chiup}{\mathalpha}{lgrmathup}{113} +\DeclareMathSymbol{\psiup}{\mathalpha}{lgrmathup}{121} +\DeclareMathSymbol{\omegaup}{\mathalpha}{lgrmathup}{119} +% \end{macrocode} +% Defintion of the `|it|' \cs{mathchar}'s. +% \begin{macrocode} +\DeclareMathSymbol{\Alphait}{\mathalpha}{lgrmathit}{65} +\DeclareMathSymbol{\Betait}{\mathalpha}{lgrmathit}{66} +\DeclareMathSymbol{\Gammait}{\mathalpha}{lgrmathit}{71} +\DeclareMathSymbol{\Deltait}{\mathalpha}{lgrmathit}{68} +\DeclareMathSymbol{\Epsilonit}{\mathalpha}{lgrmathit}{69} +\DeclareMathSymbol{\Zetait}{\mathalpha}{lgrmathit}{90} +\DeclareMathSymbol{\Etait}{\mathalpha}{lgrmathit}{72} +\DeclareMathSymbol{\Thetait}{\mathalpha}{lgrmathit}{74} +\DeclareMathSymbol{\Iotait}{\mathalpha}{lgrmathit}{73} +\DeclareMathSymbol{\Kappait}{\mathalpha}{lgrmathit}{75} +\DeclareMathSymbol{\Lambdait}{\mathalpha}{lgrmathit}{76} +\DeclareMathSymbol{\Muit}{\mathalpha}{lgrmathit}{77} +\DeclareMathSymbol{\Nuit}{\mathalpha}{lgrmathit}{78} +\DeclareMathSymbol{\Xiit}{\mathalpha}{lgrmathit}{88} +\DeclareMathSymbol{\Omicronit}{\mathalpha}{lgrmathit}{79} +\DeclareMathSymbol{\Piit}{\mathalpha}{lgrmathit}{80} +\DeclareMathSymbol{\Rhoit}{\mathalpha}{lgrmathit}{82} +\DeclareMathSymbol{\Sigmait}{\mathalpha}{lgrmathit}{83} +\DeclareMathSymbol{\Tauit}{\mathalpha}{lgrmathit}{84} +\DeclareMathSymbol{\Upsilonit}{\mathalpha}{lgrmathit}{85} +\DeclareMathSymbol{\Phiit}{\mathalpha}{lgrmathit}{70} +\DeclareMathSymbol{\Chiit}{\mathalpha}{lgrmathit}{81} +\DeclareMathSymbol{\Psiit}{\mathalpha}{lgrmathit}{89} +\DeclareMathSymbol{\Omegait}{\mathalpha}{lgrmathit}{87} +\DeclareMathSymbol{\alphait}{\mathalpha}{lgrmathit}{97} +\DeclareMathSymbol{\betait}{\mathalpha}{lgrmathit}{98} +\DeclareMathSymbol{\gammait}{\mathalpha}{lgrmathit}{103} +\DeclareMathSymbol{\deltait}{\mathalpha}{lgrmathit}{100} +\DeclareMathSymbol{\epsilonit}{\mathalpha}{lgrmathit}{101} +\DeclareMathSymbol{\zetait}{\mathalpha}{lgrmathit}{122} +\DeclareMathSymbol{\etait}{\mathalpha}{lgrmathit}{104} +\DeclareMathSymbol{\thetait}{\mathalpha}{lgrmathit}{106} +\DeclareMathSymbol{\iotait}{\mathalpha}{lgrmathit}{105} +\DeclareMathSymbol{\kappait}{\mathalpha}{lgrmathit}{107} +\DeclareMathSymbol{\lambdait}{\mathalpha}{lgrmathit}{108} +\DeclareMathSymbol{\muit}{\mathalpha}{lgrmathit}{109} +\DeclareMathSymbol{\nuit}{\mathalpha}{lgrmathit}{110} +\DeclareMathSymbol{\xiit}{\mathalpha}{lgrmathit}{120} +\DeclareMathSymbol{\omicronit}{\mathalpha}{lgrmathit}{111} +\DeclareMathSymbol{\piit}{\mathalpha}{lgrmathit}{112} +\DeclareMathSymbol{\rhoit}{\mathalpha}{lgrmathit}{114} +\DeclareMathSymbol{\sigmait}{\mathalpha}{lgrmathit}{115} +\DeclareMathSymbol{\tauit}{\mathalpha}{lgrmathit}{116} +\DeclareMathSymbol{\upsilonit}{\mathalpha}{lgrmathit}{117} +\DeclareMathSymbol{\phiit}{\mathalpha}{lgrmathit}{102} +\DeclareMathSymbol{\chiit}{\mathalpha}{lgrmathit}{113} +\DeclareMathSymbol{\psiit}{\mathalpha}{lgrmathit}{121} +\DeclareMathSymbol{\omegait}{\mathalpha}{lgrmathit}{119} +% \end{macrocode} +% Extras: alternate shapes and other glyphs, `upright'. +% \begin{macrocode} +\DeclareMathSymbol{\varsigmaup}{\mathalpha}{lgrmathup}{99} +\DeclareMathSymbol{\varvarsigmaup}{\mathalpha}{lgrmathup}{6} +\DeclareMathSymbol{\varSigmaup}{\mathalpha}{lgrmathup}{22} +\DeclareMathSymbol{\Sampiup}{\mathalpha}{lgrmathup}{23} +\DeclareMathSymbol{\sampiup}{\mathalpha}{lgrmathup}{27} +\DeclareMathSymbol{\digammaup}{\mathalpha}{lgrmathup}{147} +\DeclareMathSymbol{\Digammaup}{\mathalpha}{lgrmathup}{195} +\DeclareMathSymbol{\koppaup}{\mathalpha}{lgrmathup}{18} +% \end{macrocode} +% Extras: alternate shapes and other glyphs, `italic'. +% \begin{macrocode} +\DeclareMathSymbol{\varsigmait}{\mathalpha}{lgrmathit}{99} +\DeclareMathSymbol{\varvarsigmait}{\mathalpha}{lgrmathit}{6} +\DeclareMathSymbol{\varSigmait}{\mathalpha}{lgrmathit}{22} +\DeclareMathSymbol{\Sampiit}{\mathalpha}{lgrmathit}{23} +\DeclareMathSymbol{\sampiit}{\mathalpha}{lgrmathit}{27} +\DeclareMathSymbol{\digammait}{\mathalpha}{lgrmathit}{147} +\DeclareMathSymbol{\Digammait}{\mathalpha}{lgrmathit}{195} +\DeclareMathSymbol{\koppait}{\mathalpha}{lgrmathit}{18} +% \end{macrocode} +% Some glyphs with diacritics. I decided not to keep this +% in \lgrmath. Let's wait for extremely improbable feature request, as I won't +% do the feature request and will probably remain the sole user. Actually I +% don't think I will ever use this package as contexts where +% it could be useful are those where I would use \ctanpkg{mathastext} and its +% |LGRgreek| option and \cs{MTgreekfont} command... +% \makeatletter\codeline@indexfalse +% \begin{macrocode} +% \DeclareMathSymbol{\alphatonosup}{\mathalpha}{lgrmathup}{136} +% \DeclareMathSymbol{\epsilontonosup}{\mathalpha}{lgrmathup}{232} +% \DeclareMathSymbol{\etatonosup}{\mathalpha}{lgrmathup}{160} +% \DeclareMathSymbol{\iotatonosup}{\mathalpha}{lgrmathup}{208} +% \DeclareMathSymbol{\omicrontonosup}{\mathalpha}{lgrmathup}{236} +% \DeclareMathSymbol{\upsilontonosup}{\mathalpha}{lgrmathup}{212} +% \DeclareMathSymbol{\omegatonosup}{\mathalpha}{lgrmathup}{184} +% \DeclareMathSymbol{\upsilondieresistonosup}{\mathalpha}{lgrmathup}{246} +% \DeclareMathSymbol{\iotadieresisup}{\mathalpha}{lgrmathup}{240} +% \DeclareMathSymbol{\iotadieresistonosup}{\mathalpha}{lgrmathup}{242} +% \DeclareMathSymbol{\upsilondieresisup}{\mathalpha}{lgrmathup}{244} +% \DeclareMathSymbol{\alphatonosit}{\mathalpha}{lgrmathit}{136} +% \DeclareMathSymbol{\epsilontonosit}{\mathalpha}{lgrmathit}{232} +% \DeclareMathSymbol{\etatonosit}{\mathalpha}{lgrmathit}{160} +% \DeclareMathSymbol{\iotatonosit}{\mathalpha}{lgrmathit}{208} +% \DeclareMathSymbol{\omicrontonosit}{\mathalpha}{lgrmathit}{236} +% \DeclareMathSymbol{\upsilontonosit}{\mathalpha}{lgrmathit}{212} +% \DeclareMathSymbol{\omegatonosit}{\mathalpha}{lgrmathit}{184} +% \DeclareMathSymbol{\upsilondieresistonosit}{\mathalpha}{lgrmathit}{246} +% \DeclareMathSymbol{\iotadieresisit}{\mathalpha}{lgrmathit}{240} +% \DeclareMathSymbol{\iotadieresistonosit}{\mathalpha}{lgrmathit}{242} +% \DeclareMathSymbol{\upsilondieresisit}{\mathalpha}{lgrmathit}{244} +% \end{macrocode} +% \codeline@indextrue +% Definition of the \cs{mathchar}'s without `|up/it|' postfix. There are 27=24+3 +% uppercase and 29=24+5 lowercase letters, for a total of 56=48+8 glyphs. Actually, +% I had done some work with LGR in September 2011. I kept +% the file around. But +% at no point did I go back to check if I had done exhaustive work in 2011 and +% whether some other glyphs could be accounted for by LGR (not using +% ligatures) (I did re-check an +% old file about the LGR encoding I had from that 2011 work, but did not try +% to check for updates). Anyway, it is very doubtful whether it made any +% sense for \lgrmath to define control sequences for Greek letters with +% diacritics... +% \begin{macrocode} +\def\lgrmath@setgreekcs{% + \iflgrmath@upper@up + \let\Alpha\Alphaup + \let\Beta\Betaup + \let\Gamma\Gammaup + \let\Delta\Deltaup + \let\Epsilon\Epsilonup + \let\Zeta\Zetaup + \let\Eta\Etaup + \let\Theta\Thetaup + \let\Iota\Iotaup + \let\Kappa\Kappaup + \let\Lambda\Lambdaup + \let\Mu\Muup + \let\Nu\Nuup + \let\Xi\Xiup + \let\Omicron\Omicronup + \let\Pi\Piup + \let\Rho\Rhoup + \let\Sigma\Sigmaup + \let\Tau\Tauup + \let\Upsilon\Upsilonup + \let\Phi\Phiup + \let\Chi\Chiup + \let\Psi\Psiup + \let\Omega\Omegaup + \let\Sampi\Sampiup + \let\Digamma\Digammaup + \let\varSigma\varSigmaup + \else + \let\Alpha\Alphait + \let\Beta\Betait + \let\Gamma\Gammait + \let\Delta\Deltait + \let\Epsilon\Epsilonit + \let\Zeta\Zetait + \let\Eta\Etait + \let\Theta\Thetait + \let\Iota\Iotait + \let\Kappa\Kappait + \let\Lambda\Lambdait + \let\Mu\Muit + \let\Nu\Nuit + \let\Xi\Xiit + \let\Omicron\Omicronit + \let\Pi\Piit + \let\Rho\Rhoit + \let\Sigma\Sigmait + \let\Tau\Tauit + \let\Upsilon\Upsilonit + \let\Phi\Phiit + \let\Chi\Chiit + \let\Psi\Psiit + \let\Omega\Omegait + \let\Sampi\Sampiit + \let\Digamma\Digammait + \let\varSigma\varSigmait + \fi + \iflgrmath@lower@up + \let\alpha\alphaup + \let\beta\betaup + \let\gamma\gammaup + \let\delta\deltaup + \let\epsilon\epsilonup + \let\zeta\zetaup + \let\eta\etaup + \let\theta\thetaup + \let\iota\iotaup + \let\kappa\kappaup + \let\lambda\lambdaup + \let\mu\muup + \let\nu\nuup + \let\xi\xiup + \let\omicron\omicronup + \let\pi\piup + \let\rho\rhoup + \let\sigma\sigmaup + \let\tau\tauup + \let\upsilon\upsilonup + \let\phi\phiup + \let\chi\chiup + \let\psi\psiup + \let\omega\omegaup + \let\varsigma\varsigmaup + \let\varvarsigma\varvarsigmaup + \let\sampi\sampiup + \let\digamma\digammaup + \let\koppa\koppaup +% \end{macrocode} +% The \ctanpkg{doc} |macrocode| makes no provision for being interrupted +% invisibly, it is very complicated (but possible) to do this (see +% \centeredline{\url{https://github.com/latex3/latex2e/issues/847}} +% ), but simplest is to babble something here like this paragraph. +% \codeline@indexfalse +% \begin{macrocode} +% \let\alphatonos\alphatonosup +% \let\epsilontonos\epsilontonosup +% \let\etatonos\etatonosup +% \let\iotatonos\iotatonosup +% \let\omicrontonos\omicrontonosup +% \let\upsilontonos\upsilontonosup +% \let\omegatonos\omegatonosup +% \let\upsilondieresistonos\upsilondieresistonosup +% \let\iotadieresis\iotadieresisup +% \let\iotadieresistonos\iotadieresistonosup +% \let\upsilondieresis\upsilondieresisup +% \end{macrocode} +% babble\codeline@indextrue +% \begin{macrocode} + \else + \let\alpha\alphait + \let\beta\betait + \let\gamma\gammait + \let\delta\deltait + \let\epsilon\epsilonit + \let\zeta\zetait + \let\eta\etait + \let\theta\thetait + \let\iota\iotait + \let\kappa\kappait + \let\lambda\lambdait + \let\mu\muit + \let\nu\nuit + \let\xi\xiit + \let\omicron\omicronit + \let\pi\piit + \let\rho\rhoit + \let\sigma\sigmait + \let\tau\tauit + \let\upsilon\upsilonit + \let\phi\phiit + \let\chi\chiit + \let\psi\psiit + \let\omega\omegait + \let\varsigma\varsigmait + \let\varvarsigma\varvarsigmait + \let\sampi\sampiit + \let\digamma\digammait + \let\koppa\koppait +% \end{macrocode} +% babble\codeline@indexfalse +% \begin{macrocode} +% \let\alphatonos\alphatonosit +% \let\epsilontonos\epsilontonosit +% \let\etatonos\etatonosit +% \let\iotatonos\iotatonosit +% \let\omicrontonos\omicrontonosit +% \let\upsilontonos\upsilontonosit +% \let\omegatonos\omegatonosit +% \let\upsilondieresistonos\upsilondieresistonosit +% \let\iotadieresis\iotadieresisit +% \let\iotadieresistonos\iotadieresistonosit +% \let\upsilondieresis\upsilondieresisit +% \end{macrocode} +% babble\codeline@indextrue +% \begin{macrocode} + \fi +}% +\lgrmath@setgreekcs +% \end{macrocode} +% Finally we define \cs{lgrmathgreektable} and \cs{lgrmathgreektableextra}. +% \begin{macrocode} +\def\lgrmathgreektable#1#2#3{% +\begingroup +\def\s##1{{\usefont{T1}{mlmtt}{m}{n}\string##1}}% +\usefont{LGR}{#1}{#2}{#3}% +\begin{tabular}{|lc|lc|lc|lc|} +\hline +\s\Alpha &A &\s\Nu &N &\s\alpha &a &\s\nu &n \\ +\s\Beta &B &\s\Xi &X &\s\beta &b &\s\xi &x \\ +\s\Gamma &G &\s\Omicron&O &\s\gamma &g &\s\omicron&o \\ +\s\Delta &D &\s\Pi &P &\s\delta &d &\s\pi &p \\ +\s\Epsilon&E &\s\Rho &R &\s\epsilon&e &\s\rho &r \\ +\s\Zeta &Z &\s\Sigma &S &\s\zeta &z &\s\sigma &s \\ +\s\Eta &H &\s\Tau &T &\s\eta &h &\s\tau &t \\ +\s\Theta &J &\s\Upsilon&U &\s\theta &j &\s\upsilon&u \\ +\s\Iota &I &\s\Phi &F &\s\iota &i &\s\phi &f \\ +\s\Kappa &K &\s\Chi &Q &\s\kappa &k &\s\chi &q \\ +\s\Lambda &L &\s\Psi &Y &\s\lambda &l &\s\psi &y \\ +\s\Mu &M &\s\Omega &W &\s\mu &m &\s\omega &w \\ +\hline +\end{tabular} +\endgroup +}% +\def\lgrmathgreektableextra#1#2#3{% +\begingroup +\def\s##1{{\usefont{T1}{mlmtt}{m}{n}\string##1}}% +\usefont{LGR}{#1}{#2}{#3}% +\begin{tabular}{lclclc} +\s\varsigma &\char99 &\s\digamma&\char147 &\s\varSigma&\char22 \\ +\s\varvarsigma&\char6 &\s\koppa &\char18 &\s\Sampi &\char23 \\ +\s\sampi &\char27 & & &\s\Digamma &\char195\relax +\end{tabular} +\endgroup +}% +% \end{macrocode} +% And we have now reached the end of the \lgrmath package code. The actual +% |.sty| file will contain an \cs{endinput} added by the DocStrip extraction. +%\MakePercentComment +% +%<*dtx> +\Finale +%% +%% End of file `lgrmath.dtx'. diff --git a/macros/latex/contrib/lgrmath/lgrmath.pdf b/macros/latex/contrib/lgrmath/lgrmath.pdf new file mode 100644 index 0000000000..e5c483014f Binary files /dev/null and b/macros/latex/contrib/lgrmath/lgrmath.pdf differ diff --git a/macros/latex/contrib/memoir/README b/macros/latex/contrib/memoir/README index 81d34511ab..b2581abbb8 100644 --- a/macros/latex/contrib/memoir/README +++ b/macros/latex/contrib/memoir/README @@ -27,6 +27,32 @@ o Backmatter: Command glossary ~ 40 pages Bibliography, indexes ~ 50 pages +Changes (2022/11/17) + +o memoir v3.7.19 + +-- changed version numbering to v3.7. (no plans to switch to 3.8 + anytime soon) +-- changed several \theH... definitions to \def to work better with + coming hyperref/tagging changes +-- similar for \toclevel@... macros +-- only declare \stockwidth and \stockheight if the kernel hadn't done + so already + +o memhfixc v1.20 + +-- removed patch for \@starttoc and thus \Hy@AtBeginDocument is no + longer used in memhfixc + + +WORD OF ADVISE: It is not recommended to manually update memoir into +an old LaTeX installation. Not all changes are compatible with older +un-updated LaTeX systems and we often make no attempt to be backwards +compatible. Instead we assume that users use updated memoir with an +updated LaTeX installation. + + + Changes (2022/07/29) o memoir v3.7r diff --git a/macros/latex/contrib/memoir/memman.pdf b/macros/latex/contrib/memoir/memman.pdf index 92cc612001..4b27d2a696 100644 Binary files a/macros/latex/contrib/memoir/memman.pdf and b/macros/latex/contrib/memoir/memman.pdf differ diff --git a/macros/latex/contrib/memoir/memoir.dtx b/macros/latex/contrib/memoir/memoir.dtx index fc65ffc581..ba5162db9d 100644 --- a/macros/latex/contrib/memoir/memoir.dtx +++ b/macros/latex/contrib/memoir/memoir.dtx @@ -20,7 +20,7 @@ % This work consists of the files listed in the README file. % % \fi -% \CheckSum{31043} +% \CheckSum{31045} % % \changes{v0.1}{2001/05/20}{First public alpha release} % \changes{v0.2}{2001/06/03}{First beta release} @@ -128,6 +128,8 @@ % \changes{v3.7o}{2021/03/23}{Maintenance and a provide for the kernel} % \changes{v3.7p}{2021/06/16}{Small adjustments of memoir vs memhfixc} % \changes{v3.7q}{2022/02/20}{Maintenance} +% \changes{v3.7r}{2022/07/29}{Maintenance} +% \changes{v3.7.19}{2022/11/17}{Maintenance} % % \def\dtxfile{memoir.dtx} % @@ -194,6 +196,7 @@ % \def\fileversion{v3.7p} \def\filedate{2021/06/16} % \def\fileversion{v3.7q} \def\filedate{2022/02/20} % \def\fileversion{v3.7r} \def\filedate{2022/07/29} +% \def\fileversion{v3.7.19} \def\filedate{2022/11/17} % \title{The LaTeX \Lpack{memoir} class for configurable book % typesetting: Source code\thanks{This % file (\texttt{\dtxfile}) has version number \fileversion, last revised @@ -424,11 +427,11 @@ % Announce the name, option files and version for LaTeX2e files: % \begin{macrocode} %\ProvidesClass{memoir}% -% [2022/07/29 v3.7r configurable book, report, article document class] +% [2022/11/17 v3.7.19 configurable book, report, article document class] % \end{macrocode} % In the manual it is useful to know the current version. % \begin{macrocode} -%\newcommand\memversion{v3.7r, 2022/07/29} +%\newcommand\memversion{v3.7.19, 2022/11/17} %<9pt>\ProvidesFile{mem9.clo}% %<9pt> [2022/07/29 v0.5 memoir class 9pt size option] %<10pt>\ProvidesFile{mem10.clo}% @@ -1922,9 +1925,11 @@ % same as the physical sheet. In other words the \cs{paper...} and \cs{stock...} % sizes are the same and the trims are zero. This class assumes that this % is the normal case. +% \changes{v3.7.19}{2022/10/28}{\cs{stockheight} and \cs{stockwidth} +% may now be defined in the kernel, so we test for that} % \begin{macrocode} -\newlength{\stockheight} -\newlength{\stockwidth} +\@ifundefined{stockwidth}{\newdimen{\stockheight}}{} +\@ifundefined{stockwidth}{\newdimen{\stockwidth}}{} \newlength{\trimtop} \newlength{\trimedge} @@ -8916,9 +8921,11 @@ % \begin{macro}{\theHbook} % \begin{macro}{\toclevel@book} % These are needed if the \Lpack{hyperref} is used. +% \changes{v3.7.19}{2022/10/25}{Changing \cs{theH...} definitions to +% \cs{def} for better compability with future hyperref} % \begin{macrocode} -\newcommand*{\theHbook}{\arabic{book}} -\newcommand*{\toclevel@book}{-2} +\def\theHbook{\arabic{book}} +\def\toclevel@book{-2} % \end{macrocode} % \end{macro} @@ -14291,10 +14298,12 @@ % lines of a poem. See the thread \textit{PDFTEX/Hyperef hates memoir verse % environment?} on \ctt{} October 2002. % \changes{v1.3}{2002/11/14}{Added verse counter and \cs{theHpoemline}} +% \changes{v3.7.19}{2022/10/25}{Changing \cs{theH...} definitions to +% \cs{def} for better compability with future hyperref} % \begin{macrocode} \newcounter{verse} \setcounter{verse}{0} -\newcommand{\theHpoemline}{\theverse.\thepoemline} +\def\theHpoemline{\theverse.\thepoemline} % \end{macrocode} % \end{macro} @@ -23683,6 +23692,8 @@ % \begin{macro}{\toclevel@part} % Needed if the \Lpack{hyperref} package is used. % \changes{v1.61803}{2008/01/30}{Added \cs{toclevel@part} (mempatch v4.9)} +% \changes{v3.7.19}{2022/10/25}{Changing \cs{toclevel@part} definition to +% \cs{def} for better compability with future hyperref} % \begin{macrocode} \newcommand*{\toclevel@part}{-1} @@ -23843,8 +23854,10 @@ % \begin{macro}{\toclevel@chapter} % Needed if the \Lpack{hyperref} package is used. % \changes{v1.61803}{2008/01/30}{Added \cs{toclevel@chapter} (mempatch v4.9)} +% \changes{v3.7.19}{2022/10/25}{Changing \cs{toclevel@chapter} definitions to +% \cs{def} for better compability with future hyperref} % \begin{macrocode} -\newcommand*{\toclevel@chapter}{0} +\def\toclevel@chapter{0} % \end{macrocode} % \end{macro} @@ -23865,10 +23878,12 @@ % \begin{macro}{\toclevel@appendix} % Similar to \cs{l@chapter} but for an appendix. % \changes{v1.618}{2005/09/03}{Added \cs{l@apendix} (mempatch v3.12)} +% \changes{v3.7.19}{2022/10/25}{Changing \cs{toclevel@appendix} definitions to +% \cs{def} for better compability with future hyperref} % \begin{macrocode} \newcommand*{\l@appendix}[2]{% \l@chapapp{#1}{#2}{\cftappendixname}} -\newcommand{\toclevel@appendix}{0} +\def\toclevel@appendix{0} % \end{macrocode} % \end{macro} @@ -24441,9 +24456,11 @@ % as `division levels'. % \changes{v1.61803}{2008/01/30}{Added \cs{toclevel@none} and \cs{toclevel@all} % (mempatch v4.4)} +% \changes{v3.7.19}{2022/10/25}{Changing \cs{toclevel@...} definitions to +% \cs{def} for better compability with future hyperref} % \begin{macrocode} -\newcommand*{\toclevel@none}{-10} -\newcommand*{\toclevel@all}{50} +\def\toclevel@none{-10} +\def\toclevel@all{50} % \end{macrocode} % \end{macro} diff --git a/macros/latex/contrib/memoir/mempatch.dtx b/macros/latex/contrib/memoir/mempatch.dtx index 135166c33e..540bc678cb 100644 --- a/macros/latex/contrib/memoir/mempatch.dtx +++ b/macros/latex/contrib/memoir/mempatch.dtx @@ -20,7 +20,7 @@ % % % \fi -% \CheckSum{609} +% \CheckSum{610} % % \def\dtxfile{\texttt{mempatch.dtx}} % \def\fileversion{v1.0} \def\filedate{2003/10/04} @@ -309,6 +309,10 @@ %% With thanks to Heiko Oberdiek, if you use hyperref dated 2006/11/15 %% or later, memhfixc will be automatically loaded after hyperref. %% +%% With the new hooking system from 2020+ memhfixc is automatically +%% added after loading hyperref with the memoir class +%% +%% Version 1.20 2022/11/17 %% Version 1.19 2021/06/16 %% Version 1.18 2019/10/24 %% Version 1.17 2013/05/30 @@ -334,7 +338,7 @@ % % % \begin{macrocode} -\ProvidesPackage{memhfixc}[2021/06/16 v1.19 nameref/hyperref package fixes for memoir class] +\ProvidesPackage{memhfixc}[2022/11/17 v1.20 nameref/hyperref package fixes for memoir class] % \end{macrocode} % % \begin{macro}{\M@hfixcfinish} @@ -821,40 +825,42 @@ % \end{macro} % % \changes{v1.16}{2013/05/14}{Added fix for \cs{@starttoc}} -% \begin{macro}{\@starttoc} -% In memoir we altered \cs{@starttoc} such that \cs{tableofcontents} -% could be used multiple times. \Lpack{hyperref} resets this. So here -% is our reset of that reset. +% \changes{v1.20}{2022/11/17}{Patch removed, by 2022 hyperref no longer change \cs{@starttoc}} +% ^^A \begin{macro}{\@starttoc} +% ^^A In memoir we altered \cs{@starttoc} such that \cs{tableofcontents} +% ^^A could be used multiple times. \Lpack{hyperref} resets this. So here +% ^^A is our reset of that reset. % \begin{macrocode} -\Hy@AtBeginDocument{% - \ifx\hyper@last\@undefined - \def\@starttoc#1{% - \begingroup\makeatletter - \IfFileExists{\jobname.#1}{% - \Hy@WarningNoLine{% - old #1 file detected, not used; run LaTeX again% - }% - }{}% - \if@filesw + % patch removed as per 2022 hyperref does not touch \@starttoc + % \Hy@AtBeginDocument{% + % \ifx\hyper@last\@undefined + % \def\@starttoc#1{% + % \begingroup\makeatletter + % \IfFileExists{\jobname.#1}{% + % \Hy@WarningNoLine{% + % old #1 file detected, not used; run LaTeX again% + % }% + % }{}% + % \if@filesw % \end{macrocode} -% We rewrite this part to match our definition. The rest is a copy -% from \texttt{hyperref.sty}. +% ^^A We rewrite this part to match our definition. The rest is a copy +% ^^A from \texttt{hyperref.sty}. % \begin{macrocode} - \AtEndDocument{% - \expandafter\ifx\csname tf@#1\endcsname\relax - \expandafter\newwrite\csname tf@#1\endcsname - \immediate\openout \csname tf@#1\endcsname \jobname.#1\relax - \fi - } - \fi - \@nobreakfalse - \endgroup - }% - \fi -} + % \AtEndDocument{% + % \expandafter\ifx\csname tf@#1\endcsname\relax + % \expandafter\newwrite\csname tf@#1\endcsname + % \immediate\openout \csname tf@#1\endcsname \jobname.#1\relax + % \fi + % } + % \fi + % \@nobreakfalse + % \endgroup + % }% + % \fi + % } % \end{macrocode} -% \end{macro} +% ^^A \end{macro} % % \changes{v3.6k}{2013/05/16}{Added hyperref support for page notes} % In order to enable hyperlinks for page notes, we need a few extra diff --git a/macros/latex/contrib/udes-genie-these/README.md b/macros/latex/contrib/udes-genie-these/README.md index b0caad3982..82bbd5cff7 100644 --- a/macros/latex/contrib/udes-genie-these/README.md +++ b/macros/latex/contrib/udes-genie-these/README.md @@ -1,12 +1,31 @@ # udes-genie-these : Thesis class for the Faculté de génie at the Université de Sherbrooke ## Overview -The udes-genie-these class can be used for Ph.D. thesis, master's thesis and project definition at the Faculté de génie of the Université de Sherbrooke (Québec, Canada). The class file is coherent with the latest version of the *Protocole de rédaction aux études supérieures* which is available on the faculty's intranet. +The udes-genie-these class can be used for Ph.D. thesis, master's thesis and project definition at the Faculté de génie of the Université de Sherbrooke (Québec, Canada). The class file is coherent with the latest version of the *Protocole de rédaction aux études supérieures* which is available on the faculty's intranet. The class file documentation is in French, the language of the typical user at the Université de Sherbrooke. An example of use is also distributed with the documentation. Copyright (C) 2017-2022 Charles-Antoine Brunet +## Class file (udes-genie-these.cls) +The class file (udes-genie-these.cls) is generated with the installation file (udes-genie-these.ins) with the following command: +``` +pdflatex udes-genie-these.ins +``` + +## File description +#### Documentation +- udes-genie-these.pdf: package documentation +- README.md: this file + +#### Source files +- udes-genie-these.dtx: source file +- udes-genie-these.ins: installation file + +#### Usage example +- document.tex: main file +- \*.tex, \*.bib: files used by main file + ## Authors and maintainers Charles-Antoine Brunet (Charles-Antoine.Brunet@USherbrooke.ca) @@ -21,16 +40,4 @@ CTAN: [udes-genie-these](https://www.ctan.org/pkg/udes-genie-these) TDS archive: [udes-genie-these.tds.zip](https://mirrors.ctan.org/install/macros/latex/contrib/udes-genie-these.tds.zip) -### File description - -#### Documentation -- udes-genie-these.pdf: package documentation -- README.md: this file - -#### Source files -- udes-genie-these.dtx: source file -- udes-genie-these.ins: installation file - -#### Usage example -- document.tex: main file -- \*.tex, \*.bib: files used by main file +Flat archive: [udes-genie-these.zip](https://mirrors.ctan.org/macros/latex/contrib/udes-genie-these.zip) diff --git a/macros/latex/contrib/udes-genie-these/document.tex b/macros/latex/contrib/udes-genie-these/document.tex index 88b1c28de5..66245c37d8 100644 --- a/macros/latex/contrib/udes-genie-these/document.tex +++ b/macros/latex/contrib/udes-genie-these/document.tex @@ -18,6 +18,7 @@ fichier-symboles = {symboles}, fichier-acronymes = {acronymes}, fichiers-references = {references}, + %style-references = plain, } \TitreFrancais{CECI EST LE TITRE FRANÇAIS\\DU DOCUMENT} @@ -46,44 +47,39 @@ Ce document est uniquement un exemple d'utilisation de la classe \LaTeX\ pour la Les références bibliographiques qui suivent ne sont que des exemples. Il faut se référer au protocole pour plus de détails à ce sujet afin de s'assurer que les références sont complètes et qu'elles sont conformes aux exigences. \begin{description} - \item[Article de périodique:] - il y a quatre exemples \cite{burke1995,pattamatta2009,roy2009,vasu2009}. - - \item[Articles d'actes de conférence:] - il y a un exemple court~\cite{prevenslik2009} - et deux exemples longs~\cite{coronado2005,yeung2006}. - - \item[Livre:] - il y a un exemple court~\cite{russell2003} - et trois exemples longs~\cite{kececioglu1991,knuth1998-num,meriam2010}. - - \item[Livre, une partie:] - il y a deux exemples courts~\cite{cormen2001,gaddis2009} - et trois exemples longs~\cite{kececioglu1991-partie,knuth1998-sort,meriam2010-dist}. - - \item[Essai, mémoire et thèse:] - il y a un exemple de chacun \cite{belanger2009,chafei2009,francoeur2009}. - - \item[Rapport technique:] - il y a un exemple court~\cite{belley2008} - et un exemple long~\cite{kernighan1991}. - + \item[Article de périodique:] + il y a quatre exemples \cite{burke1995,pattamatta2009,roy2009,vasu2009}. + + \item[Articles d'actes de conférence:] + il y a un exemple court~\cite{prevenslik2009} + et deux exemples longs~\cite{coronado2005,yeung2006}. + + \item[Livre:] + il y a un exemple court~\cite{russell2003} + et trois exemples longs~\cite{kececioglu1991,knuth1998-num,meriam2010}. + + \item[Livre, une partie:] + il y a deux exemples courts~\cite{cormen2001,gaddis2009} + et trois exemples longs~\cite{kececioglu1991-partie,knuth1998-sort,meriam2010-dist}. + + \item[Essai, mémoire et thèse:] + il y a un exemple de chacun \cite{belanger2009,chafei2009,francoeur2009}. + + \item[Rapport technique:] + il y a un exemple court~\cite{belley2008} + et un exemple long~\cite{kernighan1991}. + \end{description} \chapter{CONCEPTION} -Le texte de la conception. \chapter{RÉALISATION} -Le texte de la réalisation. \chapter{TESTS} -Le texte des tests. \chapter{ANALYSE} -Le texte de l'analyse. \chapter{CONCLUSION} -Le texte de la conclusion. \appendix diff --git a/macros/latex/contrib/udes-genie-these/udes-genie-these.dtx b/macros/latex/contrib/udes-genie-these/udes-genie-these.dtx index 9b8282eb1b..25fa39a50e 100644 --- a/macros/latex/contrib/udes-genie-these/udes-genie-these.dtx +++ b/macros/latex/contrib/udes-genie-these/udes-genie-these.dtx @@ -16,7 +16,7 @@ % can be contacted at Charles-Antoine.Brunet@USherbrooke.ca % % This work consists of the files udes-genie-these.dtx and udes-genie-these.ins -% and the derived files udes-genie-these.cls and udes-genie-protocole.cls. +% and the derived files udes-genie-these.cls. % \fi % % \iffalse @@ -26,9 +26,9 @@ %%%--- IDENTIFICATION ------------------------------------------------------ %%%----------------------------------------------------------------------------- % -%\ProvidesExplClass{udes-genie-these}{2022/09/19}{3.0} +%\ProvidesExplClass{udes-genie-these}{2022/11/17}{3.0.1} % {Université de Sherbrooke, Faculté de génie: classe de document pour thèses, mémoires, DPR et essais} -%\ProvidesExplClass{udes-genie-protocole}{2022/09/19}{3.0} +%\ProvidesExplClass{udes-genie-protocole}{2022/11/17}{3.0.1} % {Université de Sherbrooke, Faculté de génie: classe de document pour le protocole de rédaction} % %<*driver> @@ -37,7 +37,7 @@ \usepackage{kpfonts} \usepackage[scaled=0.7881]{DejaVuSansMono} \usepackage[french]{babel} -\usepackage{hologo,setspace,parskip,microtype,xspace,tabularx,xcolor,pifont,bookmark} +\usepackage{setspace,xspace,hologo,bookmark} \hypersetup{colorlinks=true,linkcolor=blue,citecolor=blue,urlcolor=blue,linktocpage=true} \setlength{\parskip}{1ex plus0.25ex minus0ex} \setlength{\parindent}{0em} @@ -69,11 +69,12 @@ \newcommand{\xelatex}{\hologo{XeLaTeX}\xspace} \newcommand{\bibtex}{\hologo{BibTeX}\xspace} \newcommand{\fac}{Faculté de génie\xspace} +\newcommand{\overleaf}{\textsf{Overleaf}\xspace} \newcommand{\protocole}{protocole\xspace} \newcommand{\protocoleit}{\textit{protocole}\xspace} \newcommand{\protlgu}{\textit{Protocole de rédaction aux études supérieures} de la Faculté de génie de l'Université de Sherbrooke\xspace} -\newcommand{\package}{\textit{package}\xspace} -\newcommand{\packages}{\textit{packages}\xspace} +\newcommand{\package}{package\xspace} +\newcommand{\packages}{packages\xspace} \newcommand{\encodage}{UTF-8\xspace} \newcommand{\enchamp}{\textbf{Nom} & \textbf{Requis} & \textbf{\bibtex}} \newcommand{\non}{} @@ -81,11 +82,12 @@ \newcommand{\bipm}{\textit{Bureau international des poids et mesures} (BIPM)\xspace} \newcommand{\siunitx}{\pkg{siunitx}\xspace} \newcommand{\windows}{\textsf{Windows}\xspace} \newcommand{\macos}{\textsf{MacOS}\xspace} -\newcommand{\linux}{\textsf{Linux} (ou \textsf{UNIX})\xspace} +\newcommand{\linux}{\textsf{Linux}\xspace} \newcommand{\miktex}{\textsf{MiKTeX}\xspace} \newcommand{\texlive}{\textsf{TeX Live}\xspace} \newcommand{\tlmgr}{\textsf{TeX Live Manager}\xspace} \newcommand{\ctan}{\textsf{CTAN}\xspace} +\newcommand{\ctanurl}{\url{https://www.ctan.org/pkg/udes-genie-these}} \addto\captionsfrench { @@ -122,17 +124,18 @@ % Grave accent \` Left brace \{ Vertical bar \| % Right brace \} Tilde \~} % -% \changes{v1.0}{2017/01/18}{Première version} -% \changes{v1.1}{2017/07/18}{Adaptation à la nouvelle version de babel (changements internes).} -% \changes{v1.2}{2017/12/21}{Adaptation à la nouvelle version de \latexiii (changements internes).} -% \changes{v2.0}{2018/09/26}{Adaptations pour respecter la nouvelle version du protocole de rédaction.} -% \changes{v2.0.1}{2020/04/17}{(Aussi connue comme v2.0a) Correction de bugs. Changements internes. Changements à la documentation.} -% \changes{v2.0.2}{2022/09/15}{Maintenance (LaTeX2e 2020-02-02 à 2022-06-01). Distribution sur CTAN. Adaptations à la documentation.} -% \changes{v3.0}{2022/09/19}{Support pour \pkg{biblatex}. Ajustements à la documentation.} +% \changes{v1.0}{2017-01-18}{Première version} +% \changes{v1.1}{2017-07-18}{Adaptation à la nouvelle version de babel (changements internes).} +% \changes{v1.2}{2017-12-21}{Adaptation à la nouvelle version de \latexiii (changements internes).} +% \changes{v2.0}{2018-09-26}{Adaptations pour respecter la nouvelle version du protocole de rédaction.} +% \changes{v2.0.1}{2020-04-17}{(Aussi connue comme v2.0a) Correction de bugs. Changements internes. Changements à la documentation.} +% \changes{v2.0.2}{2022-09-15}{Maintenance (LaTeX2e 2020-02-02 à 2022-06-01). Distribution sur CTAN. Adaptations à la documentation.} +% \changes{v3.0}{2022-09-19}{Support pour \pkg{biblatex}. Ajustements à la documentation.} +% \changes{v3.0.1}{2022-11-17}{Ajustements à la documentation et à l'exemple. Changements internes pour les formats LaTeX antérieurs à 2022-06-01.} % % \GetFileInfo{udes-genie-these.dtx} % -% \title{CLASSE DE DOCUMENT \latex POUR LA RÉDACTION AUX ÉTUDES SUPÉRIEURES À LA FACULTÉ DE GÉNIE DE L'UNIVERSITÉ DE SHERBROOKE\\{\large \laclassetitre, version 3.0}} +% \title{CLASSE DE DOCUMENT \latex POUR LA RÉDACTION AUX ÉTUDES SUPÉRIEURES À LA FACULTÉ DE GÉNIE DE L'UNIVERSITÉ DE SHERBROOKE\\{\large \laclassetitre, version 3.0.1}} % \author{Charles-Antoine Brunet} % \date{\today} % \maketitle @@ -155,11 +158,34 @@ % Le style de références est maintenant spécifié par le nouveau champ de configuration |style-references| et non plus dans le préambule avec la macro |\bibliographystyle|. Il faut donc retirer une macro du style |\bibliographystyle{AAA}| et la remplacer par un champ de configuration du genre |style-references = AAA|. C'est tout! % %\section{Installation et vérification}\label{sec:inst} -% La classe \laclasse peut être installée comme tout autre \package \latex avec le gestionnaire de \packages de votre distribution, comme avec la console de \miktex ou le \tlmgr. Du même coup, il faut s'assurer d'avoir une version à jour de la distribution \latex, car \laclasse utilise des fonctionnalités qui sont relativement récentes. Si vous optez pour une installation manuelle, la classe \laclasse est disponible sur \href{https://www.ctan.org/pkg/udes-genie-these/}{\ctan} et s'installe en accord avec les procédures spécifiées dans la documentation de votre distribution \latex. +% La classe \laclasse utilise des fonctionnalités récentes de \latex. Il faut donc vous assurer d'avoir une version à jour de votre distribution \latex (\texlive ou \miktex). Si vous utilisez \overleaf, il faut vous assurer que votre projet compile avec la version la plus récente de \texlive. % -% Afin de vérifier que l'installation s'est bien passée, il vous est suggéré de compiler l'exemple distribué avec \laclasse. C'est le meilleur moyen de savoir si votre installation \latex a tout ce qu'il faut pour utiliser \laclasse. L'exemple se trouve dans le même répertoire que la documentation. +% Selon votre distribution \latex, choisissez l'option qui vous convient. +% la classe +% \subsection*{\texlive et \miktex} +% La classe \laclasse est disponible sur \ctan et fait donc partie des deux distributions. Il y a deux options d'installation: pour une utilisation à \textit{long terme} et pour une utilisation à \textit{court terme}. % -% L'exemple distribué avec \laclasse a été compilé avec succès sous \windows, \macos et \linux avec les distributions \miktex et \texlive. Si des erreurs surviennent avec l'exemple, c'est que l'installation de \laclasse n'a pas été faite correctement ou que l'installation de \latex qui est utilisée est incomplète ou désuète. +% \textbf{Long terme:}\\ Si vous pensez utiliser \laclasse pour les prochaines années, alors vous pouvez installer \laclasse comme tout autre \package \latex: à partir de la console de \miktex ou du \tlmgr. Si vous utilisez \miktex, n'oubliez pas d'installer aussi la documentation, car elle est installée séparément. Une fois la classe \laclasse installée, les mises à jour de \laclasse seront faites en même temps que les autres \packages à chaque fois que vous faites une mise à jour de votre distribution \latex. +% +% Notez que la documentation de \laclasse est disponible avec la commande |texdoc|, comme tous les autres \packages \latex. Sur la ligne de commande, il suffit d'utiliser la commande suivante: +% +% |texdoc udes-genie-these| +% +% L'exemple d'utilisation qui est distribué avec \laclasse est situé dans le même répertoire que la documentation, donc dans un sous-répertoire de votre distribution \latex. +% +% \textbf{Court terme:}\\ Si vous pensez utiliser \laclasse à court terme, alors procédez comme avec \overleaf, comme ce qui suit. +% +% \subsection*{\overleaf} +% Pour utiliser \laclasse, vous pouvez récupérer une archive sur l'intranet de la Faculté de génie qui contient tout ce qu'il faut pour compiler un document. L'archive contient aussi la documentation et un exemple d'utilisation. Il suffit d'extraire les fichiers de l'archive dans un répertoire et de compiler avec votre variante favorite de \latex. Cette méthode fonctionne pour \overleaf et aussi toutes les autres distributions \latex. +% +% Cette manière de fonctionner fait en sorte que vous êtes responsables de faire les mises à jour, car elles ne se feront pas automatiquement. Cela veut aussi dire qu'au cours du temps, si vous n'êtes pas vigilants, vous pourriez avoir plusieurs projets qui utilisent \laclasse, mais qui utilisent des versions différentes. +% +% Dans \overleaf, la classe \laclasse ne fait pas partie des \packages préinstallés et il n'est pas possible non plus de l'installer de manière standard, comme avec les autres distributions \latex (\miktex et \texlive). Il reste deux options: avoir une copie de \laclasse présente dans chaque projet ou utiliser le mécanisme de partage de fichiers entre vos différents projets afin d'éviter d'en avoir plusieurs copies. +% +% \subsection*{Vérification} +% Afin de vérifier que l'installation s'est bien passée, il vous est suggéré de compiler l'exemple distribué avec \laclasse. C'est le meilleur moyen de savoir si vous avez tout ce qu'il faut. +% +% L'exemple a été compilé avec succès avec \overleaf et les distributions \miktex et \texlive sous \windows, \macos et \linux. Si des erreurs surviennent avec l'exemple, typiquement, c'est que l'installation de \laclasse n'a pas été faite correctement ou que la distribution de \latex qui est utilisée est incomplète ou désuète. % %\section{Contact et support technique}\label{sec:support} % Une personne est responsable du support de \laclasse. Vous pouvez contacter cette personne uniquement dans les situations suivantes: @@ -346,35 +372,32 @@ %%----------------------------------------------------------------------------- %%--- OPTIONS DE CLASSE --------------------------------------------------- %%----------------------------------------------------------------------------- -\DeclareKeys { +\keys_define:nn { udes-genie-these } +{ biblatex .code:n = {\tl_gset_eq:NN \g_@@_references_engin_tl \c_@@_references_biblatex_tl}, - biblatex .usage:n = load, bibtex .code:n = {\tl_gset_eq:NN \g_@@_references_engin_tl \c_@@_references_bibtex_tl}, - bibtex .usage:n = load, livre .code:n = { \PassOptionsToClass{twoside,openright}{book} \PassOptionsToPackage{twoside=true}{geometry} \tl_gset_eq:NN \g_@@_format_tl \c_@@_format_livre_tl }, - livre .usage:n = load, simple .code:n = { \PassOptionsToClass{oneside,openany}{book} \PassOptionsToPackage{twoside=false}{geometry} \tl_gset_eq:NN \g_@@_format_tl \c_@@_format_simple_tl }, - simple .usage:n = load, unknown .code:n = {\PassOptionsToClass{\CurrentOption}{book}}, } -\SetKeys{livre} +\keys_set:nn { udes-genie-these } {livre} \IfFormatAtLeastTF {2022-06-01} { - \ProcessKeyOptions + \ProcessKeyOptions[udes-genie-these] } { \RequirePackage {l3keys2e} - \ProcessKeysOptions + \ProcessKeysOptions{udes-genie-these} } %%----------------------------------------------------------------------------- @@ -411,6 +434,7 @@ % fichier-symboles = {symboles}, % fichier-acronymes = {acronymes}, % fichiers-references = {journaux,conferences}, +% style-references = plain, % } %\end{verbatim} %\end{syntax} diff --git a/macros/latex/contrib/udes-genie-these/udes-genie-these.ins b/macros/latex/contrib/udes-genie-these/udes-genie-these.ins index 985c4e5698..2975ed180c 100644 --- a/macros/latex/contrib/udes-genie-these/udes-genie-these.ins +++ b/macros/latex/contrib/udes-genie-these/udes-genie-these.ins @@ -38,7 +38,7 @@ The Current Maintainer of this work is Charles-Antoine Brunet and can be contacted at Charles-Antoine.Brunet@USherbrooke.ca This work consists of the files udes-genie-these.dtx and udes-genie-these.ins -and the derived files udes-genie-these.cls and udes-genie-protocole.cls. +and the derived files udes-genie-these.cls. \endpreamble diff --git a/macros/latex/contrib/udes-genie-these/udes-genie-these.pdf b/macros/latex/contrib/udes-genie-these/udes-genie-these.pdf index 2e39e9516a..e834a41846 100644 Binary files a/macros/latex/contrib/udes-genie-these/udes-genie-these.pdf and b/macros/latex/contrib/udes-genie-these/udes-genie-these.pdf differ -- cgit v1.2.3