diff options
Diffstat (limited to 'Master/texmf-dist/doc/latex')
759 files changed, 20920 insertions, 18740 deletions
diff --git a/Master/texmf-dist/doc/latex/abraces/README.md b/Master/texmf-dist/doc/latex/abraces/README.md index b26a225d8c6..5234134d051 100644 --- a/Master/texmf-dist/doc/latex/abraces/README.md +++ b/Master/texmf-dist/doc/latex/abraces/README.md @@ -1,11 +1,11 @@ -`abraces` 2022/11/06 v2.1 +`abraces` 2024/08/02 v2.2 ---------------------------------------- A package that provides a character key-driven interface to supplement new constructions of the traditional `\overbrace` and `\underbrace` pairs in an asymmetric or arbitrary way. -Copyright (c) 2021 Werner Grundlingh +Copyright (c) 2024 Werner Grundlingh This work may be distributed and/or modified under the conditions of the LaTeX Project Public License, either version 1.3 diff --git a/Master/texmf-dist/doc/latex/abraces/abraces-doc.pdf b/Master/texmf-dist/doc/latex/abraces/abraces-doc.pdf Binary files differindex c0becaadde6..a2161dafb5b 100644 --- a/Master/texmf-dist/doc/latex/abraces/abraces-doc.pdf +++ b/Master/texmf-dist/doc/latex/abraces/abraces-doc.pdf diff --git a/Master/texmf-dist/doc/latex/abraces/abraces-doc.tex b/Master/texmf-dist/doc/latex/abraces/abraces-doc.tex index 970cf74eab0..04178c2de7d 100644 --- a/Master/texmf-dist/doc/latex/abraces/abraces-doc.tex +++ b/Master/texmf-dist/doc/latex/abraces/abraces-doc.tex @@ -1,4 +1,4 @@ -% $Id: abraces-doc.tex,v 2.1 2022/11/06 00:00:00 wgrundlingh stable $ +% $Id: abraces-doc.tex,v 2.2 2024/08/02 00:00:00 wgrundlingh stable $ \RequirePackage{xcolor}% http://ctan.org/pkg/xcolor (required to "overload" color package) \documentclass[10pt]{ltxdockit}[2011/03/25] @@ -7,7 +7,7 @@ \usepackage{booktabs,shortvrb,amsmath,xfp} \MakeShortVerb{\|} -\rcsid{$Id: abraces.tex,v 2.1 2022/11/06 00:00:00 wgrundlingh stable $} +\rcsid{$Id: abraces.tex,v 2.2 2024/08/02 00:00:00 wgrundlingh stable $} %\setcounter{secnumdepth}{2} %\setcounter{tocdepth}{4} @@ -305,11 +305,18 @@ This material is released under and subject to the \href{https://latex-project.o \section{Acknowledgements} -Thanks to Frank Mittlebach who stepped in and suggested an improvement in the original way \sty{abraces} functioned. Expansions included the use of \LaTeX3 command interface (via the \href{http://ctan.org/pkg/xparse}{\sty{xparse} package}). +Thanks to Frank Mittlebach who stepped in and suggested an improvement in the original way \sty{abraces} functioned. Expansions included the use of \LaTeX3 command interface. \section{Change log} \begin{itemize} + \item v2.2 (2024-08-02) Minor update + + \begin{itemize} + \item + Added \href{http://ctan.org/pkg/xcolor}{\sty{xcolor}} dependency to always have \lstinline|\bracecolor| available. + \end{itemize} + \item v2.1 (2022-11-06) Minor update \begin{itemize} diff --git a/Master/texmf-dist/doc/latex/asmeconf/README.md b/Master/texmf-dist/doc/latex/asmeconf/README.md index 2c07a04b9b0..d01de1897fe 100644 --- a/Master/texmf-dist/doc/latex/asmeconf/README.md +++ b/Master/texmf-dist/doc/latex/asmeconf/README.md @@ -1,7 +1,7 @@ #asmeconf: A latex template for ASME conference papers# - Version 1.37 dated 2024/02/06. + Version 1.38 dated 2024/08/01. ####Overview#### This class provides a LaTeX template for ASME Conference papers formatted according to @@ -80,23 +80,37 @@ ####Change log#### + v1.38 (2024/08/01) + - Add dcolumn type ",{x.y}" to center numbers on a comma separator + - Change appendix section titles block format, rather than hanging indentation + - Replace sample French appendix by a German appendix + - Fix bug in \[main=\] option (for babel) + - Define commands \\@title and \\@author + - Code clean-up (compatibility code, bookmark package loading, twocolumn loading,...) + - Various code changes to better support future tagged pdf + - Update documentation for using fontspec with asmeconf + - Rescale Termes, Helvetica, and Inconsolata fontdimens under LuaLaTeX to match pdfTeX + - Add logic to asme-template.tex to test for presence of non-latin fonts under LuaLaTeX + - Change code for Japanese fonts to by-pass bug in luatexja-fontspec + - Correct typo in babel font loading for traditional Chinese + - Remove calls for Harfbuzz renderer since fontspec handles this internally + v1.37 (2024/02/06) - - Under luaLaTeX, fontspec is now loaded by default. The option [nofontspec] will prevent this. - - Eliminate the following long-deprecated options: [oldauthor, lang, lang-second, lang-third] - - newtxtext has removed the superiors font options (Jan 2024). As a result, the option [nodefaultsups] has been removed from asmeconf, along with supporting code + - Under LuaLaTeX, fontspec is now loaded by default. The option \[nofontspec\] will prevent this. + - Eliminate the following long-deprecated options: \[oldauthor, lang, lang-second, lang-third\] + - newtxtext has removed the superiors font options (Jan 2024). As a result, the option \[nodefaultsups\] has been removed from asmeconf, along with supporting code - Streamline code for option handling and compatibility testing; other code clean-up - Switch code handling successive footnotes to expl3, adjust intersecting code - Small code changes to accommodate future tagged pdf - Refresh sample figures, edit sample bib file - Edits to asmeconf.bst: fix punctuation and spacing in journal title macros - - + v1.36 (2023/12/28) - Change option-passing to xcolor package to address recent changes that package's code which lead to an error message. v1.35 (2023/10/19) - Adjust pdf-a code to accommodate recent changes to hyperxmp package. NOTE: \\DocumentMetadata{ ..} is now preferred to using class option [pdf-a]. - - Add option to not use boldface text in captions: [unboldcaption] + - Add option to not use boldface text in captions: \[unboldcaption\] - Add mathversion sans for sans-serif math and set as default in unbolded captions v1.34 (2022/12/30) @@ -131,7 +145,7 @@ v1.27 (2021/12/26): - fix bug in captions that appeared in Jan. 2021 (code not uppercasing caption text) - revise code to switch to grid-style author block through a single package option, \[grid\]; previous macros for grid-style remain active. - - various code modifications to enable older LaTeX distributions to run this class. With pdfLaTeX, TeX Live 2016 or later should be used; with luaLaTeX, TeX Live 2021 or later should be used. + - various code modifications to enable older LaTeX distributions to run this class. With pdfLaTeX, TeX Live 2016 or later should be used; with LuaLaTeX, TeX Live 2021 or later should be used. - eliminate use of \\entry{} with a single argument to produce subheadings in nomenclature; use \\EntryHeading{} instead. (**not backward compatible**) - incorporate recent changes to LaTeX pdf management in relation to pdf-a color profile loading and recently deprecated \\pdfcatalog command - minor edits in relation to url links diff --git a/Master/texmf-dist/doc/latex/asmeconf/asmeconf-sample.bib b/Master/texmf-dist/doc/latex/asmeconf/asmeconf-sample.bib index 158b0f00813..66b2a356cfd 100644 --- a/Master/texmf-dist/doc/latex/asmeconf/asmeconf-sample.bib +++ b/Master/texmf-dist/doc/latex/asmeconf/asmeconf-sample.bib @@ -1,6 +1,6 @@ %% Sample bibliography file for asmeconf.bst and asmeconf.cls %% -%% Revised 25 January 2024 +%% Revised 26 July 2024 %% Copyright John H. Lienhard, MIT %% Offered under the MIT license: https://ctan.org/license/mit @@ -212,6 +212,18 @@ urldate = {January 18, 2021}, } +@article{pohlhausen1921, + author = {Pohlhausen, E.}, + title = {Der {W}\"{a}rmeaustausch zwischen festen K\"{o}rpern und {F}l\"{u}ssigkeiten mit kleiner reibung und kleiner {W}\"{a}rmeleitung}, + journal = {Zeitschrift f\"{u}r {A}ngewandte {M}athematik und {Me}chanik}, + volume = {1}, + number = {2}, + pages = {115--121}, + doi = {10.1002/zamm.19210010205}, + year = {1921}, +} +%url = {https://onlinelibrary.wiley.com/doi/abs/10.1002/zamm.19210010205}, + @book{fourier1822, author = {Jean Baptiste Joseph Fourier}, year = {1822}, diff --git a/Master/texmf-dist/doc/latex/asmeconf/asmeconf-template.pdf b/Master/texmf-dist/doc/latex/asmeconf/asmeconf-template.pdf Binary files differindex 0e628963d36..8e3eefb5160 100644 --- a/Master/texmf-dist/doc/latex/asmeconf/asmeconf-template.pdf +++ b/Master/texmf-dist/doc/latex/asmeconf/asmeconf-template.pdf diff --git a/Master/texmf-dist/doc/latex/asmeconf/asmeconf-template.tex b/Master/texmf-dist/doc/latex/asmeconf/asmeconf-template.tex index 84eecfb0714..a325b893575 100644 --- a/Master/texmf-dist/doc/latex/asmeconf/asmeconf-template.tex +++ b/Master/texmf-dist/doc/latex/asmeconf/asmeconf-template.tex @@ -4,7 +4,7 @@ %% This file is asmeconf-template.tex, a LaTeX template to format ASME Conference papers according to %% the requirements on ASME's conference web pages, and including hypertext support for the pdf. %% -%% This file is version 1.37 dated 2024/02/06 +%% This file is version 1.38 dated 2024/08/01 %% %% As of version 1.11, this template defaults to ASME's newer conference guidelines first posted July 2019. %% Those guidelines changed the requested author block formatting to be inline. @@ -71,8 +71,8 @@ %% * See Appendix B for details. %% * Language support is most extensive when running LuaLaTeX, which automatically loads fontspec, but %% * be aware that you may to install additional fonts on your system to use fontspec. -%% * -%% * To use LuaLaTeX without bothering about extra fonts, use the [nofontspec] option to asmeconf. +%% +%% * Option to use LuaLaTeX **without** bothering about extra fonts, [nofontspec] %% %% The use of commands defined or modified by the asmeconf class is illustrated throughout this file. In particular, %% ASME requires capitalized, sans-serif section headings, and as a result some care is needed when using macros @@ -93,13 +93,13 @@ %% STRONGLY RECOMMENDED new pdf management code follows. %% This addition the LaTeX kernel was made in June 2022 by the LaTeX Project team. %% https://www.latex-project.org/news/latex2e-news/ltnews35.pdf -%% Uncomment the next lines and omit the option [pdf-a] from \documentclass[...]{asemconf} +%% If this doesn't work for you, comment out the next lines and add option [pdf-a] to \documentclass[...]{asmeconf} -%\DocumentMetadata{% -% pdfstandard=A-3b,% A-2b, A-2u, A-3b, or A-3u (don't use u options with LuaLaTeX) -% pdfversion=1.7, -% lang=en-US, -%} +\DocumentMetadata{% + pdfstandard=A-3b,% A-2b, A-2u, A-3b, or A-3u (don't use u options with LuaLaTeX) + pdfversion=1.7, + lang=en-US, +} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -108,7 +108,7 @@ %% Remove the [colorlinks] option before *final* submission to ASME, to get black text for printing, %% but keep that option for other uses. -\documentclass[pdf-a,balance,colorlinks,upint,subscriptcorrection,varvw,mathalfa=cal=boondoxo, spanish,french,vietnamese,russian,greek]{asmeconf} +\documentclass[balance,colorlinks,upint,subscriptcorrection,varvw,mathalfa=cal=boondoxo, german,spanish,vietnamese,russian,greek]{asmeconf} %%%%% pdf metadata %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -121,6 +121,7 @@ pdflicenseurl={https://ctan.org/pkg/asmeconf},% may delete } + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \begin{document} @@ -154,7 +155,7 @@ % \JointFirstAuthor, if applicable, follows the affiliation of the relevant authors, no spaces. \SetAuthors{% - John H.\ Lienhard\affil{1}\JointFirstAuthor\CorrespondingAuthor{}, + John H. Lienhard\affil{1}\JointFirstAuthor\CorrespondingAuthor{}, Luis Hern\'andez\affil{2}\JointFirstAuthor, Maria Silva\affil{3}, Henry Tudor\affil{4}, @@ -183,7 +184,6 @@ %%%%% End of fields to be completed. Now write your paper. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - %%%%% ABSTRACT %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% %% Abstract should be 200 words or less @@ -314,16 +314,18 @@ Run 12 & 24 & 68.3 \\ %%%%%%%%%%%%%%% begin more complicated table %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% note column set as a 3 cm wide paragraph with 1em hanging indentation. See array package documentation. +% note numbers centered on "." (with d{3.3}) and on "," (with ,{3.3}). See dcolumn package documentation. \begin{table}[t] \caption{Table with more complicated columns}\label{tab:2}% \centering{% -\begin{tabular}{!{\hspace*{0.5cm}} >{\raggedright\hangindent=1em} p{3cm} d{3.3} @{\hspace*{1cm}} d{3.3} !{\hspace*{0.5cm}}} +\begin{tabular}{!{\hspace*{0.5cm}} >{\raggedright\hangindent=1em} p{3cm} d{3.3} @{\hspace*{1cm}} ,{3.3} !{\hspace*{0.5cm}}} \toprule Experiment & \multicolumn{1}{c@{\hspace*{1cm}}}{$u$ [m/s]} & \multicolumn{1}{c!{\hspace*{0.5cm}}}{$T$ [\textdegree C]} \\ \midrule -The first test we ran this morning & 124.3 & 68.3 \\ -The second test we ran this morning & 82.50 & 103.46 \\ -Our competitor's test & 72.321 & 141.384 \\ +The first test we ran this morning & 124.3 & 68,3 \\ +The second test we ran this morning & 82.50 & 103,46 \\ +Our competitor's test & 72.321 & 141,384 \\ \bottomrule \end{tabular} } @@ -444,7 +446,7 @@ Math italics are used for Roman and Greek letters by default. If you want an up \begin{equation}\label{eqn:dw} \vec{F} = m \vec{a} \quad\textrm{or}\quad \vec{\mathrm{F}} = m \vec{\mathrm{a}} \quad\textrm{or}\quad \mathbf{F} = m \mathbf{a} \quad\textrm{or}\quad \vec{\mathsf{F}} = m \vec{\mathsf{a}} \end{equation} -To get additional symbols in bold math, use the \verb|\bm{..}| macro from the \texttt{bm} package (which is loaded by the class) or, for longer passages, use \verb|{\mathversion{bold}|\ldots\texttt{\}}. +To get additional symbols in bold math, use the \verb|\bm{..}| macro from the \texttt{bm} package (which is loaded by the class) or, for longer passages, use \verb|{\mathversion{bold}..|\texttt{\}}. The class file also provides upright sans-serif Greek letters with \verb|\sfalpha| and similar expressions (e.g., $\sfalpha, \sfbeta, \sfgamma, \sfdelta$ \ldots $\bm{\sfalpha, \sfbeta, \sfgamma, \sfdelta \ldots}$), in case they are needed (but note that the \verb|newtxmath| options \verb|frenchmath| and \verb|slantedGreek| also affect how Greek letters are presented). @@ -555,7 +557,9 @@ The \hologo{LuaLaTeX} engine is useful with \texttt{asmeconf} in two situations: \item \textbf{Executing lua code directly in your \LaTeX\ file.} With lua code, complicated functions can be plotted or numerical integration can be executed. An example file in the distribution demonstrates this capability~\cite{lienhard2024}. In this situation, \textit{be sure to use the class option} \texttt{[nofontspec]}, so that you won't need to install additional fonts on your computer. -\item \textbf{Using complex alphabets.} With \hologo{pdfLaTeX}, the \texttt{asmeconf} package supports Latin alphabets, as well as Cyrillic, Greek, and Vietnamese. If you need scripts such as Arabic, Chinese, or Japanese, \hologo{LuaLaTeX} with the \texttt{fontspec} package can use fonts installed in your computer operating system. See the example file in this distribution for more details~\cite{lienhard2021}. +\item \textbf{Using complex alphabets.} With \hologo{pdfLaTeX}, the \texttt{asmeconf} package supports Latin alphabets, as well as Cyrillic, Greek, and Vietnamese. If you need scripts such as Arabic, Chinese, or Japanese, \hologo{LuaLaTeX} with the \texttt{fontspec} package can use fonts installed in your computer operating system.\footnote{For English, you \textit{must} have these fonts installed:\par \parbox{\columnwidth}{\setlength{\parindent}{12pt}TeX Gyre Termes (\hrefurl{https://ctan.org/tex-archive/fonts/newtx/opentype}{ctan.org/tex-archive/fonts/newtx/opentype}),\par TeX~Gyre~Heros (\hrefurl{https://ctan.org/tex-archive/fonts/tex-gyre/opentype}{ctan.org/tex-archive/fonts/tex-gyre/opentype}),\par +Inconsolatazi4 (\hrefurl{https://ctan.org/tex-archive/fonts/inconsolata/opentype}{ctan.org/tex-archive/fonts/inconsolata/opentype}).}} See the example file in this distribution for more details~\cite{lienhard2021}. + \end{description} @@ -572,9 +576,10 @@ abstract in another language. When more than one language option is included in \verb|\documentclass[..]{asmeconf}|, English will be set as the document's main language. (To choose a different main language, set \texttt{[main=..]}). -If no language options are given, the package defaults to English. As examples, a passage in French is -shown in \selectlanguage{french}\appendixname~\ref{app:fourier}\selectlanguage{english}, followed by -\ifpdftex abstracts in Spanish, Greek, Russian, and Vietnamese.\else abstracts in other languages.\fi +If no language options are given, the package defaults to English. As examples, a passage in German is +shown in \selectlanguage{german}\appendixname~\ref{app:pohlhausen}\selectlanguage{german}, +%\selectlanguage{french}\appendixname~\ref{app:fourier}\selectlanguage{english}, +followed by \ifpdftex abstracts in Spanish, Greek, Russian, and Vietnamese.\else abstracts in other languages.\fi The input encoding can be utf-8, as for these glyphs: %% If you have trouble with the next line, your file may not be saved in utf-8 format. You can delete that line to resolve the issue. @@ -588,12 +593,18 @@ The bibliography style, \texttt{asmeconf.bst}, is designed in English and aimed %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\begin{selectlanguage}{french}% -\section{Discours Préliminaire de Fourier}\label{app:fourier} -Les causes primordiales ne nous sont point connues; mais elles sont assujetties à des lois simples et constantes, que l'on peut découvrir par l'observation, et dont l'étude est l'objet de la philosophie naturelle. - -La chale ur pénètre, comme la gravité, toutes les substances de l'univers, ses rayons occupent toutes les parties de l'espace. Le but de notre ouvrage est d'exposer les lois mathématiques que suit cet élément. Cette théorie formera désormais une des branches les plus importantes de la physique générale~\cite{fourier1822}. +\begin{selectlanguage}{german}% +\section{Wärmeaustausch und Reibungswiderstand (\NoCaseChange{von} E. Pohlhausen)}\label{app:pohlhausen} +In einer strömenden Flussigkeit sind Wärmeleitung und Wärmekonvektion Vorgänge, die mit der inneren Reibung (oder Impulsleitung) und mit der Impulskonvektion große Aehnlichkeit besitzen. Mathematisch findet dies seinen Ausdruck in dem gleichartigen Bau der Differentialgleichungen, die einerseits für die Temperatur und anderseits für den Geschwindigkeitsvektor in der Flüssigkeit bestehen. Man kann daraus auf eine Beziehung +zwischen dem Wärmeaustanch und dem Reibungswiderstand schließen, die eine strömende Flüssigkeit an einem festen Körper hervorrufen. Dies ist zuerst von Prandtl ausgesprochen und durchgeführt worden, und zwar für turbulente Vorgänge, unter der vereinfachenden Annahme von Wärmequellen und -senken im Innern der Flüssigkeit~\cite{pohlhausen1921}. \end{selectlanguage}% + +%\begin{selectlanguage}{french}% +%\section{Discours Préliminaire de Fourier}\label{app:fourier} +%Les causes primordiales ne nous sont point connues; mais elles sont assujetties à des lois simples et constantes, que l'on peut découvrir par l'observation, et dont l'étude est l'objet de la philosophie naturelle. +% +%La chale ur pénètre, comme la gravité, toutes les substances de l'univers, ses rayons occupent toutes les parties de l'espace. Le but de notre ouvrage est d'exposer les lois mathématiques que suit cet élément. Cette théorie formera désormais une des branches les plus importantes de la physique générale~\cite{fourier1822}. +%\end{selectlanguage}% \begin{selectlanguage}{spanish}% \begin{abstract*} @@ -625,19 +636,25 @@ Este es el resumen del artículo. Escribimos en español. Se describen el proble \end{selectlanguage}% Checked and edited by Nguyen Le and Thao Nguyen \fi -\iffontspecloaded %%% requires lualatex +\iffontspecloaded %%% These passages require using lualatex AND installing the mentioned fonts as system fonts on your computer. % - \begin{selectlanguage}{greek}% - \begin{abstract*} - Αυτή είναι η περίληψη του άρθρου. Χρησιμοποιούμε την ελληνική γλώσσα. Περιγράφεται το πρόβλημα, οι μέθοδοι και τα αποτελέσματα. Περιλαμβάνονται επίσης αναφορές. - \end{abstract*} - \end{selectlanguage}% Edited by George Barbastathis -% - \begin{selectlanguage}{russian} - \begin{abstract*} - Это резюме статьи. Пишем по русски. Описаны проблема, методы и результаты. Библиография также включена.% - \end{abstract*} - \end{selectlanguage}% edited by Steven Gerasimoff + \IfFontExistsTF{NotoSans}{ + \IfFontExistsTF{NotoSerif}{ + % + \begin{selectlanguage}{greek}% + \begin{abstract*} + Αυτή είναι η περίληψη του άρθρου. Χρησιμοποιούμε την ελληνική γλώσσα. Περιγράφεται το πρόβλημα, οι μέθοδοι και τα αποτελέσματα. Περιλαμβάνονται επίσης αναφορές. + \end{abstract*} + \end{selectlanguage}% Edited by George Barbastathis + % + \begin{selectlanguage}{russian} + \begin{abstract*} + Это резюме статьи. Пишем по русски. Описаны проблема, методы и результаты. Библиография также включена.% + \end{abstract*} + \end{selectlanguage}% edited by Steven Gerasimoff + % + }{\ClassWarning{\ClassName}{I can't find NotoSerif.ttf, which is needed for Greek and Russian language text. Please install that font.}} + }{\ClassWarning{\ClassName}{I can't find NotoSans.ttf, which is needed for Greek and Russian language text. Please install that font.}} % \begin{selectlanguage}{vietnamese} \begin{abstract*} @@ -645,24 +662,41 @@ Este es el resumen del artículo. Escribimos en español. Se describen el proble \end{abstract*} \end{selectlanguage}% Checked and edited by Nguyen Le and Thao Nguyen % -% \begin{selectlanguage}{japanese}% Use class option [japanese] if you uncomment this passage. -% \begin{abstract*} -% % 論文の要約です。日本語で記述します。問題、方法、および結果について説明します。また、参考文献も含めます。 -% この論文の日本語での要約は以下のとおりです。問題、方法、および結果が説明されています。参考資料も添付してあります。 -% \end{abstract*} -% \end{selectlanguage}% Edited by Keiji Yano and Yoshiki Okamoto % - \begin{selectlanguage}{korean} - \begin{abstract*} - 이것은 한국어로 쓰인 논문의 초록입니다. 문제, 방법 및 결과가 설명되어 있습니다. 참조도 포함됩니다. - \end{abstract*} - \end{selectlanguage}% Edited by Hyung Won Chung. +%% Use class option [japanese] if you uncomment this passage. +% \IfFontExistsTF{NotoSerifCJKjp}{% +% \IfFontExistsTF{NotoSansCJKjp}{% +% % +% \begin{selectlanguage}{japanese} +% \begin{abstract*} +% % 論文の要約です。日本語で記述します。問題、方法、および結果について説明します。また、参考文献も含めます。 +% この論文の日本語での要約は以下のとおりです。問題、方法、および結果が説明されています。参考資料も添付してあります。 +% \end{abstract*} +% \end{selectlanguage}% Edited by Keiji Yano and Yoshiki Okamoto +% % +% }{\ClassWarning{\ClassName}{I can't find NotoSerifCJKjp, which is needed for Japanese language text. Please install that font.}} +% }{\ClassWarning{\ClassName}{I can't find NotoSansCJKjp, which is needed for Japanese language text. Please install that font.}} % - \begin{selectlanguage}{chinese-simplified} - \begin{abstract*} - 这是文章的摘要。我们用中文书写,描述了问题,方法和结果,还包括了参考文献。 - \end{abstract*} - \end{selectlanguage}% edited by Zi Hao Foo + \IfFontExistsTF{NotoSansCJKkr}{% + \IfFontExistsTF{NotoSerifCJKkr}{% + % + \begin{selectlanguage}{korean} + \begin{abstract*} + 이것은 한국어로 쓰인 논문의 초록입니다. 문제, 방법 및 결과가 설명되어 있습니다. 참조도 포함됩니다. + \end{abstract*} + \end{selectlanguage}% Edited by Hyung Won Chung. + % + }{\ClassWarning{\ClassName}{I can't find NotoSerifCJKkr.otf, which is needed for Korean language text. Please install that font.}} + % + \IfFontExistsTF{NotoSerifCJKsc}{% + \begin{selectlanguage}{chinese-simplified} + \begin{abstract*} + 这是文章的摘要。我们用中文书写,描述了问题,方法和结果,还包括了参考文献。 + \end{abstract*} + \end{selectlanguage}% edited by Zi Hao Foo + % + }{\ClassWarning{\ClassName}{I can't find NotoSerifCJKsc.otf, which is needed for Korean language text. Please install that font.}} + }{\ClassWarning{\ClassName}{I can't find NotoSansCJK.ttf, which is needed for Korean and simplified Chinese text. Please install that font.}} % \fi diff --git a/Master/texmf-dist/doc/latex/asmeconf/examples/asmeconf-fontspec.pdf b/Master/texmf-dist/doc/latex/asmeconf/examples/asmeconf-fontspec.pdf Binary files differindex 05e276803f4..d5ef0f0158e 100644 --- a/Master/texmf-dist/doc/latex/asmeconf/examples/asmeconf-fontspec.pdf +++ b/Master/texmf-dist/doc/latex/asmeconf/examples/asmeconf-fontspec.pdf diff --git a/Master/texmf-dist/doc/latex/asmeconf/examples/asmeconf-fontspec.tex b/Master/texmf-dist/doc/latex/asmeconf/examples/asmeconf-fontspec.tex index b041b0f0ff6..406a4dd6604 100644 --- a/Master/texmf-dist/doc/latex/asmeconf/examples/asmeconf-fontspec.tex +++ b/Master/texmf-dist/doc/latex/asmeconf/examples/asmeconf-fontspec.tex @@ -18,13 +18,36 @@ %% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\DocumentMetadata{% + pdfstandard=A-3b,% A-2b, A-2u, A-3b, or A-3u (don't use u options with LuaLaTeX) + pdfversion=1.7, + lang=en-US, + debug = {xmp-export}, +} \documentclass[colorlinks,nofoot,spanish,japanese,russian,greek,ukrainian,vietnamese,french,portuguese,turkish,polish,indonesian,italian,german,latin,serbianc,bidi=basic]{asmeconf} % note that not all languages given as examples in this file can be called as options. +% directly add this xmp property. See l3pdfmeta.pdf. This is not automatic with \DocumentMetadata. "True" must be capitalized. +\ExplSyntaxOn + \pdfmeta_xmp_add:n{<xmpRights:Marked>True</xmpRights:Marked>} +\ExplSyntaxOff + \hypersetup{% - pdftitle={Language Support in ASMECONF: Non-Latin Alphabets, Lualatex, and fontspec}, + pdftitle={{Language Support in ASMECONF: Non-Latin Alphabets, Lualatex, and fontspec}}, pdfkeywords={asmeconf, non-Latin alphabets, fontspec, LuaLaTeX, PDFLaTeX}, - pdfauthor={John H. Lienhard, V}, + pdfauthor={John H. Lienhard}, + pdfsubject = {Describes font support in asmeconf LaTeX template}, + pdfurl={https://ctan.org/pkg/asmeconf},% may delete + pdflicenseurl={https://ctan.org/pkg/asmeconf}, + pdfcopyright={Copyright (c) \the\year\ by John H. Lienhard}, + pdfcontactemail={lienhard@mit.edu}, + pdfcaptionwriter={{John H. Lienhard, V}}, + pdfcontactaddress={77 Massachusetts Avenue, Room 3-166}, + pdfcontactcity={Cambridge, MA}, + pdfcontactpostcode={02139}, + pdfcontactcountry={USA}, + pdfcontacturl={https://lienhard.mit.edu}, + pdfauthortitle={Professor of Mechanical Engineering}, } % To avoid typing these over and over, define: @@ -33,13 +56,30 @@ \newcommand*\AC{{\upshape\texttt{asmeconf}}} \newcommand*\PLT{{\upshape\texttt{\hologo{pdfLaTeX}}}} +% define a unicode character by its codepoint +\ExplSyntaxOn + \cs_new:Npn \MySym #1 { \codepoint_generate:nn {#1} { 12 } } +\ExplSyntaxOff + +\renewcommand*{\checkmark}{\MySym{"2713}} % because default checkmark has poor glyph information + +%% It's necessary to force full embedding of the fonts to get valid PDF/A-3b +\usepackage{luacode} +\begin{luacode} +local function embedfull(tfmdata) + tfmdata.embedding = "full" +end +luatexbase.add_to_callback("luaotfload.patch_font", embedfull, "embedfull") +\end{luacode} + + \makeatletter \def\NotoBan@scale{0.98}% vary this if the Bengali is too small/large; the default value 0.92 matches scaling of the other Noto fonts used. \def\NotoDev@scale{0.98}% vary this if the Devanagari is too small/large; the default value 0.92 matches scaling of the other Noto fonts used. %\def\NotoTam@scale{0.92}% vary this if the Tamil is too small/large; the default value 0.92 matches scaling of the other Noto fonts used. \def\NotoAra@scale{0.93}% The serif font only; the default value is 0.91 -% Noto family is not as close to Tex Gyre Termes as I'd like, so for abstract examples in Latin script [only], use Noto Serif Italic for visual consistency +% Noto family is not as close to Tex Gyre Termes as I'd like, so for abstract examples in Latin script [only], I'm using Noto Serif Italic for visual consistency \newfontfamily{\NotoSerif}{NotoSerif}[UprightFont=*-Regular,ItalicFont=*-Italic, BoldItalicFont=*-BoldItalic, BoldFont=*-Bold, Extension=.ttf,Scale=\Noto@scale,WordSpace={1,1.4,1}] \newfontfamily{\NotoSerifItalns}{NotoSerif-Italic.ttf}[ItalicFont=*,Scale=\Noto@scale]% Turkish has trouble with WordSpace \makeatother @@ -107,10 +147,10 @@ \begin{document} \ConfName{Proceedings of the \texttt{asmeconf} \linebreak International Examples Congress and Exposition} -\ConfAcronym{AIECE21} -\ConfDate{January 20, 2021} +\ConfAcronym{AIECE24} +\ConfDate{August 1, 2024} \ConfCity{Cambridge, MA} -\PaperNo{AIECE2021-0002} +\PaperNo{AIECE2024-0002} \title{Language Support in ASMECONF: Non-Latin Alphabets, Lualatex, and fontspec} @@ -119,7 +159,7 @@ \maketitle -\versionfootnote{Version~1.01, \today} +\versionfootnote{Version~1.02, \today} \keywords{asmeconf, language support, non-Latin alphabets, fontspec, \LLT} @@ -183,12 +223,12 @@ The \FS\ package~\cite{robertson2020} allows \LLT\ to access fonts that are inst When processed in \PLT, \AC\ uses the \texttt{newtxtext} and \texttt{inconsolata} fonts, a collection of eight-bit fonts, for Latin script. To use \FS, we must replace those fonts with corresponding unicode fonts (the math fonts, from \texttt{newtxmath}, are unchanged). Specialized fonts are needed for some additional scripts. Thus, the user will need to install several unicode fonts onto their own system in order to use \AC\ with \FS. Fortunately, all these fonts are all free and easily downloaded. -The needed fonts are listed in Table~\ref{tab:2}. +The needed fonts are listed in Table~\ref{tab:2}. \textit{The Latin fonts are required for English when using \FS.} %%%%%%%%%%%%%%% two column table %%%%%%%%%%%%%%%%%% \NewDocumentCommand\R{O{11pt}}{\rule{0pt}{#1}} \begin{table*}[t!] -\caption{System fonts used by \NoCaseChange{\AC} with \NoCaseChange{\FS}. For all fonts, load regular and bold face. For Latin, Cyrillic, and Greek, also load italic and bold italic. For Noto Sans Arabic, install semibold instead of bold.\label{tab:2}}% +\caption{System fonts used by \NoCaseChange{\AC} with \NoCaseChange{\FS}. For all fonts, load regular and bold face. For Latin, Cyrillic, and Greek serif and sans serif fonts, also load italic and bold italic. For Noto Sans Arabic, install semibold instead of bold.\label{tab:2}}% \centering{% \begin{tabular*}{\textwidth}{@{\hspace*{0.5em}}@{\extracolsep{\fill}}>{\raggedright}p{6em}>{\raggedright}p{12em}>{\raggedright}p{10em}p{23em}@{\hspace*{0.5em}}} \toprule @@ -196,7 +236,10 @@ The needed fonts are listed in Table~\ref{tab:2}. \multicolumn{1}{c}{\textbf{Language}} & \multicolumn{1}{c}{\textbf{Fonts}} & \multicolumn{1}{c}{\textbf{Where to get the font}}\\ \midrule -Latin$^*$ & most European languages & Tex Gyre Termes, Tex~Gyre~Heros & \url{http://www.gust.org.pl/projects/e-foundry/tex-gyre}\rule{0pt}{11pt}\\ +Latin$^*$ & most European languages & TeX Gyre Termes, & \url{https://ctan.org/tex-archive/fonts/newtx/opentype}, \rule{0pt}{11pt}\\ +& & TeX~Gyre~Heros, & \url{https://ctan.org/tex-archive/fonts/tex-gyre/opentype}\\ +%\url{http://www.gust.org.pl/projects/e-foundry/tex-gyre} \\ +& & Inconsolatazi4 & \url{https://ctan.org/tex-archive/fonts/inconsolata/opentype} \\ Arabic\R & Arabic, Punjabi, Urdu, others & Amiri,\\ Noto~Sans~Arabic & \url{https://github.com/alif-type/amiri}\hfill\hbox{} \url{https://github.com/googlefonts/noto-fonts} \\ Bengali\R & Assamese, Bengali, others & Noto Serif Bengali,\\ Noto~Sans Bengali& \url{https://github.com/googlefonts/noto-fonts} \\ Cyrillic\R & Belarusian, Bulgarian, Macedonian, Russian, Serbian, Ukrainian, others & Noto Serif,\\ Noto~Sans, Noto~Sans~Mono & \url{https://github.com/googlefonts/noto-fonts} \\ @@ -215,7 +258,9 @@ Traditional\R\ Chinese & Traditional Mandarin, Cantonese & Noto~Serif~CJK~TC, No %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \section{Using fontspec with asmeconf} -When running \LLT, the \texttt{[fontspec]} option should be called, to load the appropriate fonts. With \FS, \texttt{babel} will use \texttt{.ldf} files (if available) and separate initialization files (\texttt{.ini}). If a language option is called for which there is no \texttt{.ldf} file, an error will result. However, such languages may still have an \texttt{.ini} that provides necessary information. For example, Chinese and Korean do not have \texttt{.ldf} files, but they do have \texttt{.ini} files. These languages can be accessed as described in Section~\ref{sec:6}. +%When running \LLT, the \texttt{[fontspec]} option should be called, to load the appropriate fonts. +When running \LLT, \texttt{fontspec} is loaded by default (as of Feb.\ 2024). +With \FS, \texttt{babel} will use \texttt{.ldf} files (if available) and separate initialization files (\texttt{.ini}). If a language option is called for which there is no \texttt{.ldf} file, an error will result. However, such languages may still have an \texttt{.ini} that provides necessary information. For example, Chinese and Korean do not have \texttt{.ldf} files, but they do have \texttt{.ini} files. These languages can be accessed as described in Section~\ref{sec:6}. Japanese typesetting is a little more complicated. When \texttt{[japanese]} is given as an option to the class, \AC\ calls the \texttt{luatexja-fontspec} package~\cite{lua-jp}, which is a specialized module for typesetting Japanese. @@ -225,7 +270,7 @@ What about support for scripts not shown in Table~\ref{tab:2}? Macros from \tex %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \section{How to call a language\label{sec:6}} -A language is called by \verb|\begin{selectlanguage}{<lang>}|, where \texttt{<lang>} is the lower-case name of the language. +Call a language with \verb|\begin{selectlanguage}{<lang>}|, where \texttt{<lang>} is the lower-case name of the language. For example, suppose that a Spanish language abstract is desired. The user puts \texttt{[spanish]} as a global option (this language has an \texttt{.ldf} file), and then writes: \begin{quotation} \noindent\hbox{}\verb|\begin{selectlanguage}{spanish}|\\ @@ -419,10 +464,12 @@ The main language of the document is English by default. This means that secti To chose a different main language, give the option \texttt{[main=..]}, e.g., \texttt{[main=french]}. The standard caption and section names will follow \texttt{babel}'s dictionary for the language chosen. Users may additionally change ``Keywords'', ``Nomenclature'', ``Corresponding author'', and ``Joint first authors'' by renewing the commands \verb|\keywordname|, \verb|\nomname|, \verb|\CAwords|, and \verb|\JAwords|. Changes to the page footer are described in the \AC\ documentation~\cite{lienhard2021}. The pdf bookmark for ``Appendices'' may be changed by renewing \verb|\appendicesname|. (See the \texttt{babel} documentation \cite[\S 1.15]{bezos2020} if the dictionary for the main language lacks the correct word for, say, \verb|abstractname|). -Note that some languages make characters active, which can have unexpected effects. For example, Spanish makes ``.'' an active character, which clashes with the default \texttt{dcolumn} decimal separator, \texttt{d\{n.m\}}~\cite{dpc}. \texttt{\textbackslash spanishdeactivate\{.\}} stops this behavior. Alternatively, the decimal separator can be changed to a comma by putting \texttt{\textbackslash newcolumntype\{d\}[1]\{D\{,\}\{,\}\{\#1}\}\} in the preamble. - I have not explored this usage in detail, and I would welcome comments from authors who attempt such conversions. +Note that some languages make characters active, which can have unexpected effects. For example, Spanish makes ``.'' an active character, which clashes with the default decimal separator when using \texttt{dcolumn}'s \texttt{d\{n.m\}}~\cite{dpc}. The command \texttt{\textbackslash spanishdeactivate\{.\}} stops this behavior. As of August 2024, \texttt{asmeconf} defines a \texttt{dcolumn} type \texttt{,\{n.m\}} that uses a comma (not a period) as the decimal separator. +%Alternatively, the decimal separator can be changed to a comma by putting \texttt{\textbackslash newcolumntype\{d\}[1]\{D\{,\}\{,\}\{\#1}\}\} in the preamble. + + %%% CONCLUSIONS %%%%%%%%%%%%%%%%%%%%%%%%%% \section{Conclusion} diff --git a/Master/texmf-dist/doc/latex/asmejour/README.md b/Master/texmf-dist/doc/latex/asmejour/README.md index 69fe1e00fc9..612e0b027a6 100644 --- a/Master/texmf-dist/doc/latex/asmejour/README.md +++ b/Master/texmf-dist/doc/latex/asmejour/README.md @@ -1,7 +1,7 @@ #asmejour: A template for ASME journal papers# - Version 1.22 dated 2024/02/06. + Version 1.23 dated 2024/07/24. ####Overview#### This class provides a template to format preprints in the style of journal papers published by the American Society of Mechanical Engineers. @@ -67,6 +67,14 @@ ####Change log#### +v1.23 (2024/07/24) + - Add class option for single-column formatting, \[singlecolumn\], as sometimes requested for review (thanks Lennart Hultgren) + - Change language sample from French to German, to avoid active characters (from Fourier to Pohlhausen) + - Reduce size of line number font + - Adjust code for \\appendix to better accommodate tagged pdf + - Correct bug in babel main language selection + - Miscellaneous code clean up and simplification + v1.22 (2024/02/06) - The newtx package has dropped superiors option, so asmejour has dropped the \[superiors\] option and related code. - Dropped legacy options \[lang, lang-second, lang-third\] diff --git a/Master/texmf-dist/doc/latex/asmejour/asmejour-sample.bib b/Master/texmf-dist/doc/latex/asmejour/asmejour-sample.bib index 3b715d3d059..08438fd94d9 100644 --- a/Master/texmf-dist/doc/latex/asmejour/asmejour-sample.bib +++ b/Master/texmf-dist/doc/latex/asmejour/asmejour-sample.bib @@ -1,6 +1,6 @@ %% Sample bibliography file for asmejour.bst and asmejour.cls %% -%% Revised: 06 February 2024 +%% Revised: 21 July 2024 %% Copyright John H. Lienhard, MIT %% Offered under the MIT license: https://ctan.org/license/mit @@ -350,9 +350,22 @@ title = {Th\'{e}orie Analytique de la Chaleur}, publisher = {Firmin Didot, P\`{e}re et Fils}, address = {Paris}, - url = {https://archive.org/details/analyticaltheory00fourrich}, + url = {https://archive.org/details/analyticaltheory00fourrich}, } +@article{pohlhausen1921, + author = {Pohlhausen, E.}, + title = {Der {W}\"{a}rmeaustausch zwischen festen K\"{o}rpern und {F}l\"{u}ssigkeiten mit kleiner reibung und kleiner {W}\"{a}rmeleitung}, + journal = {Zeitschrift f\"{u}r {A}ngewandte {M}athematik und {M}echanik}, + volume = {1}, + number = {2}, + pages = {115--121}, + doi = {10.1002/zamm.19210010205}, + year = {1921}, +} +%url = {https://onlinelibrary.wiley.com/doi/abs/10.1002/zamm.19210010205}, + + @techreport{reynolds1958, author = {W. C. Reynolds and W. M. Kays and S. J. Kline}, title = {Heat transfer in the Incompressible Turbulent Boundary Layer. {I}---Constant Wall Temperature}, diff --git a/Master/texmf-dist/doc/latex/asmejour/asmejour-template.pdf b/Master/texmf-dist/doc/latex/asmejour/asmejour-template.pdf Binary files differindex 6fc96310102..c15cc9f7977 100644 --- a/Master/texmf-dist/doc/latex/asmejour/asmejour-template.pdf +++ b/Master/texmf-dist/doc/latex/asmejour/asmejour-template.pdf diff --git a/Master/texmf-dist/doc/latex/asmejour/asmejour-template.tex b/Master/texmf-dist/doc/latex/asmejour/asmejour-template.tex index 18ae24c0572..7e3f8a29306 100644 --- a/Master/texmf-dist/doc/latex/asmejour/asmejour-template.tex +++ b/Master/texmf-dist/doc/latex/asmejour/asmejour-template.tex @@ -3,7 +3,7 @@ %% %% This file is asmejour-template.tex, a template to format papers in the style of ASME journal papers. %% -%% This file is version 1.22 dated 2024/02/06 +%% This file is version 1.23 dated 2024/07/24 %% %% Author: John H. Lienhard V %% Department of Mechanical Engineering @@ -33,8 +33,10 @@ %% %% * Option to omit all ASME text fields from the footer [nofoot]. %% +%% * Option for single column formatting [singlecolumn]. +%% %% * Options for PDF/A compliance. With pdfTeX, [pdf-a] will produce PDF/A-3u compliance with sRGB OutputIntent. -%% * [pdfapart= 1 or 2 or 3] and [pdfaconformance= b or u] can enable levels 1b, 2b, 2u, and 3b. +%% * [pdfapart= 1 or 2 or 3] and [pdfaconformance= b or u] will select other levels: 1b, 2b, 2u, and 3b. %% * %% * Recently, LaTeX (2021 and later) has integrated support for pdf-a, through the \DocumentMetadata{..} %% * command. This approach works with both pdfTeX and luaLaTeX. The asmeconf class supports this new feature, @@ -59,8 +61,8 @@ %% * [hyphenate] allow hyphenation, with pdfTeX only (normally, the typewriter font is not hyphenated) %% %% * Options for the babel package to support passages in other languages (such as a translated -%% * abstract in an appendix), e.g. [french]. The main language will default to English -%% * unless a different main language is selected, e.g. [main=spanish]. See Appendix C for details. +%% * abstract in an appendix), e.g. [german]. The main language will default to English +%% * unless a different main language is selected, e.g. [main=spanish]. See Appendix B for details. %% %% For details of the newtx and mathalfa packages, refer to their documentation (available at CTAN: http://ctan.org). %% @@ -82,16 +84,16 @@ %% see https://www.latex-project.org/news/latex2e-news/ltnews35.pdf %% Uncomment the next lines and omit the option [pdf-a], if you are using an up-to-date LaTeX platform -%\DocumentMetadata{% -% pdfstandard=A-3b,% A-2b, A-2u, A-3b, or A-3u (don't use u options with LuaLaTeX) -% pdfversion=1.7, -% lang=en-US, -%} +\DocumentMetadata{% + pdfstandard=A-3u,% A-2b, A-2u, A-3b, or A-3u (don't use u options with LuaLaTeX) + pdfversion=1.7, + lang=en-US, +} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% Class options are described above. -\documentclass[upint,varvw,barcolor=Goldenrod3,mathalfa=cal=euler,balance,hyphenate,french,pdf-a]{asmejour}% subscriptcorrection, +\documentclass[nocopyright,upint,varvw,barcolor=Goldenrod3,mathalfa=cal=euler,balance,hyphenate,german]{asmejour}% subscriptcorrection,french %%%% pdf metadata %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -121,11 +123,14 @@ % Use title case (upper and lower case letters) % Note usage below for corresponding author. -\SetAuthorBlock{Author Name[s]}{Department of Mechanical Engineering,\\ - Institution or Company Name,\\ - Street address,\\ - City, State, Country\\ - email: xxx@yyy.zzz} +\SetAuthorBlock{John H.\ Lienhard\CorrespondingAuthor}{% + Fellow ASME\\ + Rohsenow Kendall Heat Transfer Laboratory,\\ + Department of Mechanical Engineering,\\ + Massachusetts Institute of Technology,\\ + Cambridge, MA 02139 USA\\ + email: lienhard@mit.edu +} % To label one or more corresponding authors put "Name\CorrespondingAuthor". No space after "Name". % An optional argument can be added if email is not in address block as @@ -133,14 +138,12 @@ % Can also include multiple emails and use the command more than once for multiple corresponding authors, % "Name\CorrespondingAuthor{write@to.him, write@to.her}" -\SetAuthorBlock{John H.\ Lienhard V\CorrespondingAuthor}{% -Fellow ASME\\ -Rohsenow Kendall Heat Transfer Laboratory,\\ -Department of Mechanical Engineering,\\ -Massachusetts Institute of Technology,\\ -Cambridge, MA 02139 USA\\ -email: lienhard@mit.edu -} +\SetAuthorBlock{Author Name[s]}{Department of Mechanical Engineering,\\ + Institution or Company Name,\\ + Street address,\\ + City, State, Country\\ + email: xxx@yyy.zzz +} %%% Change to your paper title. Can insert line breaks if you wish (otherwise breaks are selected automatically). \title{Preprint Template for ASME\\ Journal Papers: asmejour.cls} @@ -164,6 +167,7 @@ This paper is an example and {\upshape\LaTeX} template for the {\upshape\texttt{ \maketitle %% This command creates the author/title/abstract block. Essential! + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%% End of fields to be completed. Now write! %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -227,7 +231,7 @@ Section, subsection, and subsubsection headings should be in title case (first l %% captions go below figures \begin{figure} -\centering\includegraphics[width=\linewidth]{sample-figure-1.pdf} +\centering\includegraphics[width=\linewidth,alt={Linearization errors}]{sample-figure-1.pdf} \caption{Caption with math, eqn.~\eqref{eqn:1}: $\Delta T/T_m$ vs.\ $\Delta T/T_1$~\cite{lienhard2019}\label{fig:1}} \end{figure} @@ -466,8 +470,12 @@ As of June 2022, the \LaTeX 3 team has added native support for PDF/A in the \La \subsection{Typewriter Font Options} This font is the sans-serif, monospaced font \texttt{inconsolata}. By default, the word spacing is variable, but option \texttt{[mono]} ends this behavior. A slashed zero is the default; option \texttt{[var0]} removes the slash. Option \texttt{[hyphenate]} enables hyphenation of the typewriter font when running \hologo{pdfTeX}. +\subsection{Single column layout} The option \texttt{[singlecolumn]} switches from two-column to single-column layout. %%%%%%%%%%%%%%% begin two column table %%%%%%%%%%%%%%%%%% +% +% note: the fourth column could be a dcolumn instead of using \makebox, with d{1.4} replacing c column. +% \begin{table*}[t] \caption{A table spanning two columns}\label{tab:4}% \centering{% @@ -478,7 +486,8 @@ As of June 2022, the \LaTeX 3 team has added native support for PDF/A in the \La \multicolumn{1}{c!{\hspace*{3.em}}}{$\textrm{erfc}(x)$} & \multicolumn{1}{c}{$x$} & \multicolumn{1}{c}{$\textrm{erf}(x)$} & -\multicolumn{1}{c@{\hspace*{1.5em}}}{$\textrm{erfc}(x)$} \\ \midrule +\multicolumn{1}{c@{\hspace*{1.5em}}}{$\textrm{erfc}(x)$} \\ +\midrule 0.00 & 0.00000 & 1.00000 & 1.10 & 0.88021 & 0.11980 \\ 0.05 & 0.05637 & 0.94363 & 1.20 & 0.91031 & 0.08969 \\ 0.10 & 0.11246 & 0.88754 & 1.30 & 0.93401 & 0.06599 \\ @@ -554,7 +563,7 @@ Acknowledge individuals, institutions, or companies that supported the authors i \entry{b}{bulk value} \entry{$\infty$}{free stream value} -\end{nomenclature} +\end{nomenclature} %%%%%%%%%%%%%%% APPENDICES %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -571,31 +580,30 @@ Acknowledge individuals, institutions, or companies that supported the authors i This text is just for illustration. The radiation fractional function may be written in terms of the incomplete zeta function for convenience: \begin{align} -f(\lambda T) = {}& \frac{1}{\sigma T^4} \int_0^\lambda\frac{2\pi h c_o^2}{\lambda^5 \left[ \exp (h c_o/k_B T \lambda) - 1\right] } \, d\lambda \\ - = {}& \frac{1}{\sigma T^4}\frac{2\pi k_B^4 T^4}{h^3c_o^2}\int^\infty_{c_2/\lambda T}\frac{t^3}{e^t -1}\, dt\label{eqn:zeta} +f(\lambda T) &= \frac{1}{\sigma T^4} \int_0^\lambda\frac{2\pi h c_o^2}{\lambda^5 \left[ \exp (h c_o/k_B T \lambda) - 1\right] } \, d\lambda \\ + &= \frac{1}{\sigma T^4}\frac{2\pi k_B^4 T^4}{h^3c_o^2}\int^\infty_{c_2/\lambda T}\frac{t^3}{e^t -1}\, dt\label{eqn:zeta} \end{align} When $\lambda T \rightarrow \infty$, $f = 1$ and the last equation yields the well-known result \begin{equation} - {\sigma T^4} =\frac{2\pi k_B^4 T^4}{h^3c_o^2} \underbrace{\int_0^\infty \frac{t^3}{e^t - 1} \, dt}_{\equiv\mspace{2mu} \zetaup(4)\Gamma(4)} +\sigma T^4 =\frac{2\pi k_B^4 T^4}{h^3c_o^2} \underbrace{\int_0^\infty \frac{t^3}{e^t - 1} \, dt}_{\equiv\mspace{2mu} \zetaup(4)\Gamma(4)} \end{equation} where the Gamma function $\Gamma(4) = 3!$ and the Riemann zeta function, $\zetaup(4)$, has the indicated integral representation \cite[\S13.12]{ww1927}. A classical result due to Euler \cite{euler1740} gives $\zetaup(4) = \pi^4/90$ (see also \cite[\S167]{euler1748}), from which we recover the usual definition of the Stefan-Boltzmann constant, $\sigma$. - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\section{Language Support} +\section{Language Support\label{app:language}} ASME publishes in English, but the \texttt{babel} package is loaded for users who may wish to include other languages. For example, an author might wish to include an appendix that provides the abstract in another language. When more than one language option is included in \verb|\documentclass[..]{asmejour}|, English will be assumed to be the main language of the document. (To choose a different main language, set \texttt{[main=..]}). -If no language options are given, the package defaults to English. As an example, a passage in French is -shown in \selectlanguage{french}\appendixname~\ref{app:fourier}\selectlanguage{english}. +If no language options are given, the package defaults to English. As an example, a passage in German is +shown in \selectlanguage{german}\appendixname~\ref{app:pohlhausen}\selectlanguage{english}. The standard caption and section names will follow \texttt{babel}'s dictionary for primary languages other than English. Users may additionally change ``Keywords'', ``Nomenclature'', and ``Corresponding author'' by renewing the commands \verb|\keywordname|, \verb|\nomname|, and \verb|\CAwords|. Changes to the page footer were described in Sec.~\ref{sec:footer}. The pdf bookmark for ``Appendices'' by be changed by renewing \verb|\appendicesname|. The font encoding is set to T1 and utf-8 input is supported: -%% If you have trouble with the next line (or the French text that follows), your file may not be saved in utf-8 format. You can delete these lines to resolve the issue. +%% If you have trouble with the next line, your file may not be saved in utf-8 format. You can delete these lines to resolve the issue. \typeout{If you have trouble with the next line, your file may not be saved in utf-8 format. You can delete that line to resolve the issue.} \ifluatex\typeout{Under LuaLaTeX, some of these accents must be obtained as escaped characters, with \=a, \c{e}, \l, \.o, \oe, \v{z}, \'z, etc.}\fi àáâäæãåā èéęëêēė îïíīįì ôöòóœøōõ ûüùúū çćč ł ñń ßśš ÿ žźż @@ -604,18 +612,13 @@ No effort has been made to support customization of language-specific fonts (som %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\selectlanguage{french} -\section{Discours Préliminaire de Fourier}\label{app:fourier} - -Les causes primordiales ne nous sont point connues; mais elles sont assujetties à des lois simples et constantes, que l'on peut découvrir par l'observation, et dont l'étude est l'objet de la philosophie naturelle. - -La chale ur pénètre, comme la gravité, toutes les substances de l'univers, ses rayons occupent toutes les parties de l'espace. Le but de notre ouvrage est d'exposer les lois mathématiques que suit cet élément. Cette théorie formera désormais une des branches les plus importantes de la physique générale~\cite{fourier1822}. +\selectlanguage{german} +\section{Der Wärmeaustausch zwischen festen Körpern und Flüssigkeiten mit kleiner reibung und kleiner Wärmeleitung (von E. Pohlhausen)\label{app:pohlhausen}} +In einer strömenden Flussigkeit sind Wärmeleitung und Wärmekonvektion Vorgänge, die mit der inneren Reibung (oder Impulsleitung) und mit der Impulskonvektion große Aehnlichkeit besitzen. Mathematisch findet dies seinen Ausdruck in dem gleichartigen Bau der Differentialgleichungen, die einerseits für die Temperatur und anderseits für den Geschwindigkeitsvektor in der Flüssigkeit bestehen. Man kann daraus auf eine Beziehung +zwischen dem Wärmeaustanch und dem Reibungswiderstand schließen, die eine strömende Flüssigkeit an einem festen Körper hervorrufen. Dies ist zuerst von Prandtl ausgesprochen und durchgeführt worden, und zwar für turbulente Vorgänge, unter der vereinfachenden Annahme von Wärmequellen und -senken im Innern der Flüssigkeit~\cite{pohlhausen1921}. \selectlanguage{english} -% When you drop the [french] option, delete your .aux file as well, since [french] sets ":" as an active character. - - %%%%%%%%%%%%% BIBLIOGRAPHY %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \nocite{*} %% <=== Delete this line - unless you wish to typeset the entire contents of your .bib file. diff --git a/Master/texmf-dist/doc/latex/asmejour/asmewide_example/asmejour-wide-equation-examples.pdf b/Master/texmf-dist/doc/latex/asmejour/asmewide_example/asmejour-wide-equation-examples.pdf Binary files differindex 5b93ad2cf97..c3b0bc535e1 100644 --- a/Master/texmf-dist/doc/latex/asmejour/asmewide_example/asmejour-wide-equation-examples.pdf +++ b/Master/texmf-dist/doc/latex/asmejour/asmewide_example/asmejour-wide-equation-examples.pdf diff --git a/Master/texmf-dist/doc/latex/asmejour/asmewide_example/asmejour-wide-equation-examples.tex b/Master/texmf-dist/doc/latex/asmejour/asmewide_example/asmejour-wide-equation-examples.tex index 69b98af0b29..5a506330aa4 100644 --- a/Master/texmf-dist/doc/latex/asmejour/asmewide_example/asmejour-wide-equation-examples.tex +++ b/Master/texmf-dist/doc/latex/asmejour/asmewide_example/asmejour-wide-equation-examples.tex @@ -1,6 +1,6 @@ %% Examples of a widetext macro for setting wide equations in the asmejour class. %% -%% Copyright (c) 2022 John H. Lienhard. Use under the MIT license: https://ctan.org/license/mit +%% Copyright (c) 2024 John H. Lienhard. Use under the MIT license: https://ctan.org/license/mit %% %% %% USAGE: * \begin{widetext} ...wide material here... \end{widetext} @@ -15,8 +15,8 @@ \documentclass[nocopyright,nolists,pdf-a]{asmejour} %% This file's version and date are: - \def\AJwidetextversion{1.01} - \def\AJverdate{October 22, 2023} + \def\AJwidetextversion{1.02} + \def\AJverdate{July 24, 2024} % \usepackage{asmewide} \usepackage{lipsum}% Latin filler text (lipsum generates a message about 'unused global options' - this can be ignored) @@ -81,6 +81,8 @@ address = {New York}, %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \begin{document} +\PreprintString{PREPRINT} + \SetAuthorBlock{John H.\ Lienhard V}{% Fellow of ASME \\ Rohsenow Kendall Heat Transfer Laboratory, \\ diff --git a/Master/texmf-dist/doc/latex/babel/README.md b/Master/texmf-dist/doc/latex/babel/README.md index c84cd4389bf..ca87d0cf3b6 100644 --- a/Master/texmf-dist/doc/latex/babel/README.md +++ b/Master/texmf-dist/doc/latex/babel/README.md @@ -1,6 +1,6 @@ -## Babel 24.7 +## Babel 24.8 -2024-06-26 +2024-08-18 `babel` is the multilingual framework for localizing documents in LaTeX, LuaLaTeX, XeLaTeX. It manages culturally-determined @@ -10,9 +10,9 @@ languages even work with Plain formats. The latest stable version is available on <https://ctan.org/pkg/babel>. -Changes in version 24.7 are described in: +Changes in version 24.8 are described in: -https://latex3.github.io/babel/news/whats-new-in-babel-24.7.html +https://latex3.github.io/babel/news/whats-new-in-babel-24.8.html Apart from the manual, you can find information on some aspects of babel at: @@ -43,15 +43,15 @@ You may also report them to the current maintainer more informally on: https://latex3.github.io/babel/contact.html -Bugs related to specific languages are best reported to their +Bugs related to specific languages are best reported to theirs respective authors. ### Summary of latest changes ``` -24.7 2024-06-26 - * Improvements in some locales: - - Filipino (thanks to Leothelion, @ponte-vecchio) - - Line breaking in Blin, Geez, Tigre, Tigrinya, Wolaytta. +24.8 2024-08-18 + * Internal changes in bidi=basic (more reliable). + * Hook 'foreign' and \BabelWrapText. + * Improved some locales thanks to Stephen Huan (@stephen-huan). ``` ### Previous changes diff --git a/Master/texmf-dist/doc/latex/babel/babel-code.pdf b/Master/texmf-dist/doc/latex/babel/babel-code.pdf Binary files differindex 8be78258039..3e5cfe93063 100644 --- a/Master/texmf-dist/doc/latex/babel/babel-code.pdf +++ b/Master/texmf-dist/doc/latex/babel/babel-code.pdf diff --git a/Master/texmf-dist/doc/latex/babel/babel.pdf b/Master/texmf-dist/doc/latex/babel/babel.pdf Binary files differindex 8d3e32fbc89..e99c81ec6f0 100644 --- a/Master/texmf-dist/doc/latex/babel/babel.pdf +++ b/Master/texmf-dist/doc/latex/babel/babel.pdf diff --git a/Master/texmf-dist/doc/latex/beamertheme-rainbow/beamertheme-rainbow-doc-settings.sty b/Master/texmf-dist/doc/latex/beamertheme-rainbow/beamertheme-rainbow-doc-settings.sty new file mode 100644 index 00000000000..777cedba6ef --- /dev/null +++ b/Master/texmf-dist/doc/latex/beamertheme-rainbow/beamertheme-rainbow-doc-settings.sty @@ -0,0 +1,199 @@ +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +% Personal helper theme for package documentations +% Copyright samcarter +% +% This file may be distributed and/or modified +% under the LaTeX Project Public License 1.3c or later +% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +% Usage: +% ln ~/Life/latex/beamertheme-sam/themesam.sty package-doc-settings.sty +% \usepackage[ +% themecolor=samdblue +% ]{\jobname-settings} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +% Colours +% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\RequirePackage{xcolor} +\definecolor{samyellow}{RGB}{246,193,65} +\definecolor{samorange}{RGB}{241,147,45} +\definecolor{samred}{RGB}{191,26,46}% TikZbricks +\definecolor{sammagenta}{RGB}{170,42,104}% TikZmarmots +\definecolor{samviolet}{RGB}{136,46,114}% TikZlings +\definecolor{samlila}{RGB}{101,67,159}% Rainbow beamer theme +\definecolor{samdblue}{RGB}{0,51,134}% beamer theme +\definecolor{samlblue}{RGB}{22,89,155}% TikZducks +\definecolor{samteal}{RGB}{25,143,157}% Tcolorbox beamer theme +\definecolor{samlgreen}{RGB}{68,170,153}% Jigsaw +\definecolor{samdgreen}{RGB}{78,178,125} +\definecolor{samlgray}{RGB}{160,160,185} +\definecolor{samdgray}{RGB}{60,60,85} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +% Package options +% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\RequirePackage{xkeyval} +\DeclareOptionX{themecolor}[samdblue]{\colorlet{themecolor}{#1}} +\DeclareOptionX{listingcolor}[samlblue]{\colorlet{listingcolor}{#1}} +\ExecuteOptionsX{themecolor,listingcolor} +\ProcessOptionsX + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +% Packages +% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\@ifclassloaded{beamer}{}{% + \RequirePackage[english]{babel} + \RequirePackage[paper=a4paper,margin=2.9cm]{geometry} + \RequirePackage{scrlayer-scrpage} + \let\hrulefillx\hrulefill + \RequirePackage[bitstream-charter]{mathdesign} + \let\hrulefill\hrulefillx + \RequirePackage[hang,flushmargin,bottom]{footmisc} + \RequirePackage{footnotehyper} + \makesavenoteenv{tcolorbox} + \RequirePackage[all]{nowidow} + \RequirePackage[colorlinks=true,breaklinks=true,allcolors=themecolor,hyperfootnotes=false]{hyperref} +} +\RequirePackage[T1]{fontenc} +\RequirePackage{xspace} +\RequirePackage{inconsolata}% mono font with bold, but italic is missing +% \RequirePackage[scale=0.85]{cascadia-code} +% \AddToHook{cmd/ttfamily/before}{\fontseries{sl}} +\RequirePackage{iexec} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +% Listings +% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\RequirePackage[ + cachedir=$TMPDIR/minted/ +]{minted} + +% smuggling custom pygmentize style in cache folder +% (a real pygmentise style would need installtion in some python folder) +\begin{filecontents*}[noheader]{./sam.pygstyle} +\makeatletter +\def\PYG@reset{\let\PYG@it=\relax \let\PYG@bf=\relax% + \let\PYG@ul=\relax \let\PYG@tc=\relax% + \let\PYG@bc=\relax \let\PYG@ff=\relax} +\def\PYG@tok#1{\csname PYG@tok@#1\endcsname} +\def\PYG@toks#1+{\ifx\relax#1\empty\else% + \PYG@tok{#1}\expandafter\PYG@toks\fi} +\def\PYG@do#1{\PYG@bc{\PYG@tc{\PYG@ul{% + \PYG@it{\PYG@bf{\PYG@ff{#1}}}}}}} +\def\PYG#1#2{\PYG@reset\PYG@toks#1+\relax+\PYG@do{#2}} + +% optional arguments +\expandafter\def\csname PYG@tok@na\endcsname{\def\PYG@tc##1{\textcolor{black}{##1}}} + +% macros +\expandafter\def\csname PYG@tok@k\endcsname{\def\PYG@tc##1{\textcolor{listingcolor}{\bfseries ##1}}} +% curly brakets +\expandafter\def\csname PYG@tok@nb\endcsname{\def\PYG@tc##1{\textcolor{listingcolor}{\bfseries ##1}}} + +% comments (italics won't work with the inconsolata font) +\expandafter\def\csname PYG@tok@c\endcsname{\def\PYG@tc##1{\textcolor{gray}{##1}}} + +\def\PYGZbs{\char`\\} +\def\PYGZus{\char`\_} +\def\PYGZob{\char`\{} +\def\PYGZcb{\char`\}} +\def\PYGZca{\char`\^} +\def\PYGZam{\char`\&} +\def\PYGZlt{\char`\<} +\def\PYGZgt{\char`\>} +\def\PYGZsh{\char`\#} +\def\PYGZpc{\char`\%} +\def\PYGZdl{\char`\$} +\def\PYGZhy{\char`\-} +\def\PYGZsq{\char`\'} +\def\PYGZdq{\char`\"} +\def\PYGZti{\char`\~} +% for compatibility with earlier versions +\def\PYGZat{@} +\def\PYGZlb{[} +\def\PYGZrb{]} +\makeatother +\end{filecontents*} + +\iexec{mkdir -p $TMPDIR/minted && mv sam.pygstyle $TMPDIR/minted/.} + +\usemintedstyle{sam} +\setminted{ + breaksymbolleft={}, + tabsize=2, + breaklines=true, +} +\newminted[samcode]{latex}{} +\newmintinline[saminline]{latex}{} + +% use non-bold and all coloured for inline code in articles +\ifdefined\insertaspectratio\else + \patchcmd{\minted@inputpyg@inline}{\minted@input}{\color{listingcolor}\renewcommand\textcolor[3][]{##3}\renewcommand\bfseries{}\minted@input}{}{} +\fi + +\RequirePackage[most]{tcolorbox} +\tcbuselibrary{minted} +\tcbset{% + colframe=themecolor, + fonttitle=\bfseries, + sidebyside, + center lower, + righthand width=5.7cm, + bottom=2pt, + top=2pt, + left=3pt, + right=3pt, + sidebyside gap=10pt, + lower separated=false, + listing engine=minted, + minted language=latex, + colback=themecolor!10, + sharp corners, + boxrule=0pt, + before title={\strut} +} + +% avoid page breaks right in front of the tcolorbox +\@ifclassloaded{beamer}{}{ + \tcbuselibrary{hooks} + \tcbset{before pre={\nopagebreak[4]}} +} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +% document settings +% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\@ifclassloaded{scrartcl}{% + \KOMAoptions{parskip=half} + \addtokomafont{sectioning}{\color{themecolor}} + \addtokomafont{date}{\normalsize} + \addtokomafont{author}{\normalsize} + \setlength{\footnotemargin}{0.7em} +}{} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +% Custom macros +% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\providecommand*{\CTAN}{\textsc{CTAN}\xspace} +\providecommand*{\TikZ}{Ti\emph{k}Z\xspace} +\providecommand*{\miktex}{MiK\TeX\xspace} +\providecommand*{\texlive}{\TeX{}Live\xspace} +\providecommand*{\tikzbrick}{Ti\emph{k}Zbrick\xspace} +\providecommand*{\tikzducks}{Ti\emph{k}Zducks\xspace} +\providecommand*{\tikzlings}{Ti\emph{k}Zlings\xspace} +\providecommand*{\tikzmarmots}{Ti\emph{k}Zmarmots\xspace} +\providecommand*{\ConTeXt}{C\kern-.0333emon\-\kern-.0667em\TeX\kern-.0333emt}
\ No newline at end of file diff --git a/Master/texmf-dist/doc/latex/beautybook/README.md b/Master/texmf-dist/doc/latex/beautybook/README.md index 78eb52617bc..00571853256 100644 --- a/Master/texmf-dist/doc/latex/beautybook/README.md +++ b/Master/texmf-dist/doc/latex/beautybook/README.md @@ -12,12 +12,12 @@ beautybook is designed for writing books, created by [Ethan Lu](https://github.com/BeautyLaTeX/latex-template) , and maintained by [Ethan Lu](https://github.com/BeautyLaTeX/latex-template). Just enjoy it! If you have any questions, suggestions or bug reports, you can create issues or contact me at h1479840692@outlook.com. -If you are an English user, then please use a cls file with the "-EN" suffix and compile the english tex file with pdfLaTeX, and conversely, if you are a Chinese user, then remember, use a cls file with the "-CN" suffix and compile the chinese tex file with the XeLaTeX engine! +If you are an English user, then please write '\documentclass[lang=en]{beautybook}' in the premble and compile the english tex file with pdfLaTeX, and conversely, if you are a Chinese user, then remember, write '\documentclass[lang=cn]{beautybook}' in the premble and compile the chinese tex file with the XeLaTeX engine! --- ## Version -Release 2024-06-30. +Release 2024-07-03. --- ## License diff --git a/Master/texmf-dist/doc/latex/beautybook/beautybook-cn.pdf b/Master/texmf-dist/doc/latex/beautybook/beautybook-cn.pdf Binary files differindex 7dadd8e3c9c..23690e698da 100644 --- a/Master/texmf-dist/doc/latex/beautybook/beautybook-cn.pdf +++ b/Master/texmf-dist/doc/latex/beautybook/beautybook-cn.pdf diff --git a/Master/texmf-dist/doc/latex/beautybook/beautybook-cn.tex b/Master/texmf-dist/doc/latex/beautybook/beautybook-cn.tex index bbfa40c4ae8..7e30e048145 100644 --- a/Master/texmf-dist/doc/latex/beautybook/beautybook-cn.tex +++ b/Master/texmf-dist/doc/latex/beautybook/beautybook-cn.tex @@ -1,7 +1,7 @@ %% This work is released under the LaTeX Project Public License, v1.3c or later. % This template is made by Ethan Lu. % Please use XeLaTeX engine! -\documentclass[zihao=-4,fontset=windows]{beautybook-CN} +\documentclass[lang=cn,zihao=-4,a4paper,fontset=windows]{beautybook} % ---------------------------------------------------------------------------- % % The Cover Theme Chosen % % ---------------------------------------------------------------------------- % @@ -19,7 +19,10 @@ \mathstyle={ % 数学字体键值列表 math-font=plain, %plain (默认数学字体); stix; mtpro2 } -\setmainfont{Times New Roman} +\RequirePackage{fontspec} +\setmainfont{XITS} +\setsansfont{DejaVu Sans} +\setmonofont{Latin Modern Mono} \renewcommand{\partial}{∂} %% First one \mynewtheorem{ @@ -243,12 +246,12 @@ sorting=nty \begin{document} \thispagestyle{empty} \title{Beautybook模板简介} -\subtitle{} +\subtitle{这是一个副标题!} \edition{First Edition} -\bookseries{Illustrated by Ethan Lu} +\bookseries{Ilustrated by Ethan Lu} \author{Ethan Lu} \pressname{Beautybook} -\presslogo{inner_pics/logo.png} +\presslogo{inner_pics/beautybook-logo.png} \coverimage{inner_pics/coverimage.jpg}%ivy-ge998908f8_1280.jpg \makecover @@ -355,7 +358,29 @@ Beauty\LaTeX{} 系列模板是由我所做的书籍模板系列, 名叫\textbf{B 以下是最小工作示例: \begin{lstlisting} -\documentclass[zihao=-4,fontset=windows]{beautybook-CN} +\documentclass[lang=cn,zihao=-4,a4paper,fontset=windows]{beautybook} +% ---------------------------------------------------------------------------- % +% The Cover Theme Chosen % +% ---------------------------------------------------------------------------- % +\definecolor{coverbgcolor}{HTML}{e0e0e0} +\definecolor{coverfgcolor}{HTML}{1f3134} % The color of the background +\definecolor{coverbar}{HTML}{7c9092} % The color of the left bar +\definecolor{bottomcolor}{HTML}{2c4f54} +\definecolor{nuanbai}{HTML}{f5f5f5} +\coverstyle={ % 封面键值列表 + cover-choose=cn, % cn ; en ; enfig ; birkar +} +% ---------------------------------------------------------------------------- % +% The Cover Theme Chosen % +% ---------------------------------------------------------------------------- % +\mathstyle={ % 数学字体键值列表 + math-font=plain, %plain (默认数学字体); stix; mtpro2 +} +\RequirePackage{fontspec} +\setmainfont{XITS} +\setsansfont{DejaVu Sans} +\setmonofont{Latin Modern Mono} +\renewcommand{\partial}{∂} \coverstyle={ % 封面键值列表 cover-choose=cn, % cn ; en ; enfig ; birkar } @@ -683,15 +708,15 @@ tlmgr update --self --all --reinstall-forcibly-removed -\chapter{Beautybook 设置说明} +\chapter{beautybook 设置说明} -本模板英文版基于基础的 book 文类, 中文版则基于ctexbook文类,所以 book或者ctexbook 的选项对于本模板也是有效的。默认编码为 UTF-8,推荐使用 \TeX{} Live 编译。 +本模板英文版基于基础的 book 文类, 中文版则基于ctexbook文类,所以 book或者 ctexbook 的选项对于本模板也是有效的。默认编码为 UTF-8,推荐使用 \TeX{} Live 编译。 \section{语言模式} -本模板内含两套基础语言环境, 分别为 中文的\lstinline{beautybook-CN.cls}、英文的\lstinline{beautybook-EN.cls}。改变语言环境会改变图表标题的引导词(图,表),文章结构词(比如目录,参考文献等),以及定理环境中的引导词(比如定理,引理等)。不同语言模式的启用如下: +本模板内含两套基础语言环境, 分别为中文和英文。改变语言环境会改变图表标题的引导词(图,表),文章结构词(比如目录,参考文献等),以及定理环境中的引导词(比如定理,引理等)。不同语言模式的启用如下: \begin{lstlisting} -\documentclass{beautybook-CN} % 中文 -\documentclass{beautybook-EN} % 英文 + \documentclass[lang=cn,zihao=-4,a4paper,fontset=windows]{beautybook} % 中文 + \documentclass[lang=en]{beautybook} % 英文 \end{lstlisting} 除模板自带的两套语言设定之外,如果您需要使用其他语言, 可以通过更改cls文件中这几处解决, 分别为 @@ -700,7 +725,6 @@ tlmgr update --self --all --reinstall-forcibly-removed \item 更改 part环境的名称 \lstinline{Part \thepart}为 \lstinline{(你的语言中part的翻译) \thepart} \item 主文件,即当前文件导言区中的定理引导词 \item 更改chapter环境中的part名称如第一条所示 - \item 记住, 仅有亚洲语言环境可以使用ctexbook文类, 即基于\lstinline{beautybook-CN.cls}更改, 其他西语环境需要基于\lstinline{beautybook-EN.cls}更改. \end{enumerate} @@ -756,7 +780,7 @@ tlmgr update --self --all --reinstall-forcibly-removed \subsection{徽标} -本文用到的 Logo 为wiki随意找的springer经典马标, 可以自己查询下载出版社logo, 为免侵权,在更换图片的时候请选择合适合法的图片进行替换。 +本文用到的 Logo 为作者自行制作的beautybook专用Logo, 另外还可以使用自己的logo, 为免侵权,在更换图片的时候请选择合适合法的图片进行替换。 \subsection{自定义封面} @@ -813,7 +837,7 @@ tlmgr update --self --all --reinstall-forcibly-removed \subsubsection{个人版权的盒子共两种} \begin{definition}[][名称][def label] - 这是个人定制的盒子定制的定理环境,这是其中定义环境示例。注意:使用方法如下 + 这是采用个人定制的盒子制作的定理环境,这是其中定义环境示例。注意:使用方法如下 \begin{itemize} \item 如果你没有名称和标签,使用方法为 \begin{lstlisting} diff --git a/Master/texmf-dist/doc/latex/beautybook/beautybook-en.pdf b/Master/texmf-dist/doc/latex/beautybook/beautybook-en.pdf Binary files differindex 3203378b04f..e91e8bbe011 100644 --- a/Master/texmf-dist/doc/latex/beautybook/beautybook-en.pdf +++ b/Master/texmf-dist/doc/latex/beautybook/beautybook-en.pdf diff --git a/Master/texmf-dist/doc/latex/beautybook/beautybook-en.tex b/Master/texmf-dist/doc/latex/beautybook/beautybook-en.tex index 18c81b9fbf1..c9c6b9405d5 100644 --- a/Master/texmf-dist/doc/latex/beautybook/beautybook-en.tex +++ b/Master/texmf-dist/doc/latex/beautybook/beautybook-en.tex @@ -1,4 +1,11 @@ -\documentclass[12pt]{beautybook-EN} +\documentclass[lang=en,12pt]{beautybook} +\RequirePackage[utf8]{inputenc} +\RequirePackage{times} % Times New Roman Font +\RequirePackage[T1]{fontenc} +\RequirePackage{microtype} +\RequirePackage{pgfplots} +\tikzset{>=Stealth} +\pgfplotsset{compat=1.18} % ---------------------------------------------------------------------------- % % The Cover Theme Chosen % % ---------------------------------------------------------------------------- % @@ -17,6 +24,11 @@ math-font=plain, % plain; stix; mtpro2 } \usepackage{bm} +\renewcommand*{\textfraction}{0.05} +\renewcommand*{\topfraction}{0.9} +\renewcommand*{\bottomfraction}{0.8} +\renewcommand*{\floatpagefraction}{0.85} + % \overfullrule=1pt % \RequirePackage[fontsize=13.5pt]{fontsize} %% First one @@ -240,12 +252,12 @@ sorting=nty \begin{document} \thispagestyle{empty} \title{An Introduction to beautybook template} -\subtitle{} +\subtitle{A subtitle here} \edition{First Edition} -\bookseries{Illustrated by Ethan Lu} +\bookseries{Ilustrated by Ethan Lu} \author{Ethan Lu} \pressname{beautybook} -\presslogo{inner_pics/logo.png} +\presslogo{inner_pics/beautybook-logo.png} \coverimage{inner_pics/coverimage.jpg}%ivy-ge998908f8_1280.jpg \makecover @@ -346,7 +358,7 @@ The Project Addresses are the following. \section{Installation and Maintenance of Template} -There are two ways you can use this template. The first method is trivial that just download the zip of template from above channel, and then unzip and compile the main file in the archive (i.e. a file with a name like ``Beautybook-xx. tex"). The second way is uploading the zip of template to \texttt{overleaf} to comply. +There are two ways you can use this template. The first method is trivial that just download the zip of template from above channel, and then unzip and compile the main file in the archive (i.e. a file with a name like ``beautybook-xx. tex"). The second way is uploading the zip of template to \texttt{overleaf} to comply. Note that if you choose the second way, you must write \lstinline{math-font=plain} in the premble of the main file! @@ -359,10 +371,17 @@ To install locally, follow above steps to download the latest version from GitHu The following is an example of a minimal work: \begin{lstlisting} -\documentclass[12pt]{beautybook-EN} -% ---------------------------------------------------------------------------- % +\documentclass[lang=en,12pt]{beautybook} +\RequirePackage[utf8]{inputenc} +\RequirePackage{times} % Times New Roman Font +\RequirePackage[T1]{fontenc} +\RequirePackage{microtype} +\RequirePackage{pgfplots} +\tikzset{>=Stealth} +\pgfplotsset{compat=1.18} +% ------------------------------------------------- % % The Cover Theme Chosen % -% ---------------------------------------------------------------------------- % +% ------------------------------------------------- % \definecolor{coverbgcolor}{HTML}{e0e0e0} \definecolor{coverfgcolor}{HTML}{1f3134} % The color of the background \definecolor{coverbar}{HTML}{7c9092} % The color of the left bar @@ -601,8 +620,8 @@ sorting=nty \edition{The Edition} \bookseries{Illustrated by author} \author{author} -\pressname{press} -\presslogo{inner_pics/logo.png} +\pressname{beautybook} +\presslogo{inner_pics/beautybook-logo.png} \coverimage{inner_pics/coverimage.jpg}%ivy-ge998908f8_1280.jpg \makecover @@ -711,17 +730,17 @@ tlmgr update --self --all --reinstall-forcibly-removed Please refer to \href{https://tex.stackexchange.com/questions/55437/how-do-i-update-my-tex-distribution}{How do I update my \TeX{} distribution?} for more information. -\chapter{The setting of Beautybook Template} +\chapter{The setting of beautybook Template} The English version of this template is based on the basic ``book" class, and the Chinese version is based on the ``ctexbook" class, so the option of book or ctexbook is also valid for this template. The default encoding is \texttt{UTF-8}, and it is recommended to compile with \TeX{} Live. \section{Language Mode} -This template includes two basic locales: \lstinline{Beautybook-CN.cls} in Chinese and \lstinline{Beautybook-EN.cls} in English. Changing the locales alters the headings (including figures and tables) of the chart title, the article formatting (such as table of contents and references), and the language used for theorem contexts (such as Theorem, Lemma, etc.). You can switch between these language modes using the following instructions in the top of the premble: +This template includes two basic locales: Chinese and English. Changing the locales alters the headings (including figures and tables) of the chart title, the article formatting (such as table of contents and references), and the language used for theorem contexts (such as Theorem, Lemma, etc.). You can switch between these language modes using the following instructions in the top of the premble: \begin{lstlisting} -\documentclass{beautybook-CN} % chinese -\documentclass{beautybook-EN} % english + \documentclass[lang=cn,zihao=-4,a4paper,fontset=windows]{beautybook} % chinese + \documentclass[lang=en,12pt]{beautybook} % english \end{lstlisting} In addition to the two language settings that come with the template, if you need to use another language, you can do so by modifying the \texttt{.cls} file as follows @@ -729,7 +748,6 @@ In addition to the two language settings that come with the template, if you nee \begin{enumerate} \item Change the name of the part environment \lstinline{Part\ \thepart} to \lstinline{(translation of part in your language)\ \thepart} \item Theorem environment guide words in premble, such as Theorem. - \item Please remember that only Asian languages can be modified based on \lstinline{beautybook-CN.cls}, other foreign languages need to be modified based on \lstinline{beautybook-EN.cls}. \end{enumerate} \section{Theme Color} @@ -880,19 +898,19 @@ Here is the effect of the theorem environment provided by amsthm. \end{definition} \begin{theorem} - The usage is the same as above, refer to the tag \ref{def label} below or you can \autoref{def label}. + The usage is the same as above, refer to the tag \ref{def label} below or you can use \autoref{def label}. \end{theorem} \begin{lemma} - The usage is the same as above, refer to the tag \ref{def label} below or you can \autoref{def label}. + The usage is the same as above, refer to the tag \ref{def label} below or you can use \autoref{def label}. \end{lemma} \begin{corollary} - The usage is the same as above, refer to the tag \ref{def label} below or you can \autoref{def label}. + The usage is the same as above, refer to the tag \ref{def label} below or you can use \autoref{def label}. \end{corollary} \newpage \begin{example} - The usage is the same as above, refer to the tag \ref{def label} below or you can \autoref{def label}. + The usage is the same as above, refer to the tag \ref{def label} below or you can use \autoref{def label}. \end{example} \subsection*{Ancient style box} \begin{fancybox} diff --git a/Master/texmf-dist/doc/latex/beautybook/inner_pics/beautybook-logo.png b/Master/texmf-dist/doc/latex/beautybook/inner_pics/beautybook-logo.png Binary files differnew file mode 100644 index 00000000000..9a1c819103b --- /dev/null +++ b/Master/texmf-dist/doc/latex/beautybook/inner_pics/beautybook-logo.png diff --git a/Master/texmf-dist/doc/latex/beautybook/inner_pics/hummingbird-8013214.jpg b/Master/texmf-dist/doc/latex/beautybook/inner_pics/hummingbird-8013214.jpg Binary files differnew file mode 100644 index 00000000000..424cd0909ff --- /dev/null +++ b/Master/texmf-dist/doc/latex/beautybook/inner_pics/hummingbird-8013214.jpg diff --git a/Master/texmf-dist/doc/latex/beautybook/inner_pics/logo.png b/Master/texmf-dist/doc/latex/beautybook/inner_pics/logo.png Binary files differdeleted file mode 100644 index 470edd8a518..00000000000 --- a/Master/texmf-dist/doc/latex/beautybook/inner_pics/logo.png +++ /dev/null diff --git a/Master/texmf-dist/doc/latex/beautybook/inner_pics/mystery-1599527.jpg b/Master/texmf-dist/doc/latex/beautybook/inner_pics/mystery-1599527.jpg Binary files differnew file mode 100644 index 00000000000..19c0518b005 --- /dev/null +++ b/Master/texmf-dist/doc/latex/beautybook/inner_pics/mystery-1599527.jpg diff --git a/Master/texmf-dist/doc/latex/beautybook/inner_pics/titleimages/c10.pdf b/Master/texmf-dist/doc/latex/beautybook/inner_pics/titleimages/c10.pdf Binary files differnew file mode 100644 index 00000000000..76256c2f825 --- /dev/null +++ b/Master/texmf-dist/doc/latex/beautybook/inner_pics/titleimages/c10.pdf diff --git a/Master/texmf-dist/doc/latex/beautybook/inner_pics/titleimages/c11.pdf b/Master/texmf-dist/doc/latex/beautybook/inner_pics/titleimages/c11.pdf Binary files differnew file mode 100644 index 00000000000..b100782f856 --- /dev/null +++ b/Master/texmf-dist/doc/latex/beautybook/inner_pics/titleimages/c11.pdf diff --git a/Master/texmf-dist/doc/latex/beautybook/inner_pics/titleimages/c9.pdf b/Master/texmf-dist/doc/latex/beautybook/inner_pics/titleimages/c9.pdf Binary files differnew file mode 100644 index 00000000000..98d9e6a8640 --- /dev/null +++ b/Master/texmf-dist/doc/latex/beautybook/inner_pics/titleimages/c9.pdf diff --git a/Master/texmf-dist/doc/latex/bib2qr/README.md b/Master/texmf-dist/doc/latex/bib2qr/README.md new file mode 100644 index 00000000000..9f7bb900a11 --- /dev/null +++ b/Master/texmf-dist/doc/latex/bib2qr/README.md @@ -0,0 +1,88 @@ +# bib2qr + +[![License](https://img.shields.io/ctan/l/bib2qr?color=blue)](https://www.latex-project.org/lppl/lppl-1-3c.txt) +[![Latest release](https://img.shields.io/gitea/v/release/Cs137/bib2qr?gitea_url=https%3A%2F%2Fcodeberg.org%2F)](https://codeberg.org/Cs137/bib2qr/releases/latest) +[![CTAN](https://img.shields.io/ctan/v/bib2qr.svg)](https://ctan.org/pkg/bib2qr) + +A LaTeX package for citing BibTeX entries with QR codes. + +The `bib2qr` package provides functionality to cite BibTeX entries with QR codes +for easy sharing and referencing. The target of the QR code is the entry's DOI, +or URL if no DOI exists. A citation generated via `\qrfullcite`, which is part +of `bib2qr`, might look as follows: + +[![Example output generated with `\qrfullcite`](https://codeberg.org/Cs137/bib2qr/media/branch/main/example/qrfullcite_example.png "Example output generated with qrfullcite")](https://codeberg.org/Cs137/bib2qr/media/branch/main/example/qrfullcite_example.png) + + +## Installation + +Skip this section, if `bib2qr` is already provided in your TeX distribution. +You should be able to install it [from the CTAN](https://www.ctan.org/pkg/bib2qr) +via your distribution's utility (e.g. the TeX Live Utility). + +### Manual installation + +You can get the package's source code from the +[project repository on Codeberg](https://codeberg.org/Cs137/bib2qr). +The repository contains a build script, which allows you to build the required +files for the `bib2qr` package and copy them into your _TeX Directory Structure_ +(TDS) using `l3build`. Ensure that `l3build` is installed on your system and run +it from the repository's root directory as follows: + +```bash +l3build install --full +``` + +The `--full` option ensures that all necessary files are built and installed. + +If you do not want to install the package into your TDS, but use it in a +particular LaTeX project, follow the steps listed below. + +1. unpack `bib2qr.sty` from the `bib2qr.dtx` file + - using `l3build` and the `build.lua` script: `l3build unpack`, __or__ + - directly via the installer file: `pdflatex bib2qr.ins` +2. copy the extracted `bib2qr.sty` file into the same directory as your LaTeX sources. + + +## Usage + +Please consult the [package documentation](http://mirrors.ctan.org/macros/latex/contrib/bib2qr/bib2qr.pdf) +for detailed usage information. + +If you have any questions or need assistance, feel free to +[open an issue on the repository](https://codeberg.org/Cs137/bib2qr/issues). + + +## Changes + +All notable changes to this project are documented in the file +[`CHANGELOG.md`](https://codeberg.org/Cs137/bib2qr/src/branch/main/CHANGELOG.md). + + +## Contributing + +Contributions to the `bib2qr` package are very welcomed. Feel free to submit a +pull request, if you would like to contribute to the project. In case you are +unfamiliar with the process, consult the +[forgejo documentation](https://forgejo.org/docs/latest/user/pull-requests-and-git-flow/) +and follow the steps using this repository instead of the `example` repository. + +Create your [pull request (PR)](https://codeberg.org/Cs137/bib2qr/pulls) to +inform that you start working on a contribution. Provide a clear description +of your envisaged changes and the motivation behind them, prefix the PR's title +with ``WIP: `` until your changes are finalised. + +All kind of contributions are appreciated, whether they are +bug fixes, new features, or improvements to the documentation. + + +### Contributors + +- [Christian Schreinemachers](https://codeberg.org/Cs137) +- [Markus Kohm](https://codeberg.org/komascript) + + +--- + +This package was created and is maintained by Christian Schreinemachers, (C) 2024. + diff --git a/Master/texmf-dist/doc/latex/bib2qr/bib2qr.pdf b/Master/texmf-dist/doc/latex/bib2qr/bib2qr.pdf Binary files differnew file mode 100644 index 00000000000..fb3800eadf9 --- /dev/null +++ b/Master/texmf-dist/doc/latex/bib2qr/bib2qr.pdf diff --git a/Master/texmf-dist/doc/latex/biblatex-ieee/biblatex-ieee-alphabetic.pdf b/Master/texmf-dist/doc/latex/biblatex-ieee/biblatex-ieee-alphabetic.pdf Binary files differindex a833b32d264..43c1b531630 100644 --- a/Master/texmf-dist/doc/latex/biblatex-ieee/biblatex-ieee-alphabetic.pdf +++ b/Master/texmf-dist/doc/latex/biblatex-ieee/biblatex-ieee-alphabetic.pdf diff --git a/Master/texmf-dist/doc/latex/biblatex-ieee/biblatex-ieee-alphabetic.tex b/Master/texmf-dist/doc/latex/biblatex-ieee/biblatex-ieee-alphabetic.tex index 142cfe3d76d..a089f090f75 100644 --- a/Master/texmf-dist/doc/latex/biblatex-ieee/biblatex-ieee-alphabetic.tex +++ b/Master/texmf-dist/doc/latex/biblatex-ieee/biblatex-ieee-alphabetic.tex @@ -2,7 +2,7 @@ %% biblatex-ieee --- A biblatex implementation of the IEEE %% bibliography style %% Maintained by Joseph Wright -%% E-mail: joseph.wright@morningstar2.co.uk +%% E-mail: joseph@texdev.net %% Released under the LaTeX Project Public License v1.3c or later %% See http://www.latex-project.org/lppl.txt %% --------------------------------------------------------------- @@ -21,11 +21,11 @@ \addbibresource{biblatex-ieee.bib} \author{Joseph Wright\thanks{E-mail: - \href{mailto:joseph.wright@morningstar2.co.uk} - {\texttt{joseph.wright@morningstar2.co.uk}}}} + \href{mailto:joseph@texdev.net} + {\texttt{joseph@texdev.net}}}} \title{The \pkg{ieee-alphabetic} bibliography style for \pkg{biblatex}% - \footnote{This file describes v1.3f, last revised 2021/12/06.}} -\date{Released 2021/12/06} + \footnote{This file describes v1.3g, last revised 2024/08/14.}} +\date{Released 2024/08/14} \providecommand*{\pkg}[1]{\textsf{#1}} @@ -55,8 +55,8 @@ of example citations. \end{document} %% -%% Copyright (C) 2011-2013,2015-2021 by -%% Joseph Wright <joseph.wright@morningstar2.co.uk> +%% Copyright (C) 2011-2013,2015-2021,2024 by +%% Joseph Wright <joseph@texdev.net> %% %% It may be distributed and/or modified under the conditions of %% the LaTeX Project Public License (LPPL), either version 1.3c of diff --git a/Master/texmf-dist/doc/latex/biblatex-ieee/biblatex-ieee.bib b/Master/texmf-dist/doc/latex/biblatex-ieee/biblatex-ieee.bib index 733dac91e15..c002a48e2cb 100644 --- a/Master/texmf-dist/doc/latex/biblatex-ieee/biblatex-ieee.bib +++ b/Master/texmf-dist/doc/latex/biblatex-ieee/biblatex-ieee.bib @@ -2,7 +2,7 @@ %% biblatex-ieee --- A biblatex implementation of the IEEE %% bibliography style %% Maintained by Joseph Wright -%% E-mail: joseph.wright at morningstar2.co.uk +%% E-mail: joseph@texdev.net %% Released under the LaTeX Project Public License v1.3c or later %% See http://www.latex-project.org/lppl.txt %% --------------------------------------------------------------- @@ -168,7 +168,7 @@ title = "Modified {TCP} Congestion Avoidance Algorithm", howpublished = "end2end-interest mailing list", url = "ftp://ftp.isi.edu/end2end/end2end-interest-1990.mail", - year = "1990-04" + urldate = "1990-04" } @@ -249,7 +249,7 @@ institution = "Dept. Elect. Eng., Technion", location = "Haifa, Israel", url = "ftp://ftp.technion.ac.il/pub/supported/ee/Network/lor.mopq98.ps", - year = "1998-07" + urldate = "1998-07" } @book{IEEEexample:book, @@ -350,7 +350,7 @@ title = "Cache Array Routing Protocol v1.1", howpublished = "Internet draft", url = "http://ds1.internic.net/internet-drafts/draft-vinod-carp-v1-03.txt", - year = "1998" + urldate = "1998" } @inproceedings{IEEEexample:confwithpaper, @@ -386,8 +386,8 @@ } %% -%% Copyright (C) 2011-2013,2015-2020 by -%% Joseph Wright <joseph.wright at morningstar2.co.uk> +%% Copyright (C) 2011-2013,2015-2020,2024 by +%% Joseph Wright <joseph@texev.net> %% %% It may be distributed and/or modified under the conditions of %% the LaTeX Project Public License (LPPL), either version 1.3c of diff --git a/Master/texmf-dist/doc/latex/biblatex-ieee/biblatex-ieee.pdf b/Master/texmf-dist/doc/latex/biblatex-ieee/biblatex-ieee.pdf Binary files differindex c5f85504c6a..a16e292683e 100644 --- a/Master/texmf-dist/doc/latex/biblatex-ieee/biblatex-ieee.pdf +++ b/Master/texmf-dist/doc/latex/biblatex-ieee/biblatex-ieee.pdf diff --git a/Master/texmf-dist/doc/latex/biblatex-ieee/biblatex-ieee.tex b/Master/texmf-dist/doc/latex/biblatex-ieee/biblatex-ieee.tex index 734250debfa..0a6ec934e41 100644 --- a/Master/texmf-dist/doc/latex/biblatex-ieee/biblatex-ieee.tex +++ b/Master/texmf-dist/doc/latex/biblatex-ieee/biblatex-ieee.tex @@ -2,7 +2,7 @@ %% biblatex-ieee --- A biblatex implementation of the IEEE %% bibliography style %% Maintained by Joseph Wright -%% E-mail: joseph.wright@morningstar2.co.uk +%% E-mail: joseph@texdev.net %% Released under the LaTeX Project Public License v1.3c or later %% See http://www.latex-project.org/lppl.txt %% --------------------------------------------------------------- @@ -21,11 +21,11 @@ \addbibresource{biblatex-ieee.bib} \author{Joseph Wright\thanks{E-mail: - \href{mailto:joseph.wright@morningstar2.co.uk} - {\texttt{joseph.wright@morningstar2.co.uk}}}} + \href{mailto:joseph@texdev.net} + {\texttt{joseph@texdev.net}}}} \title{The \pkg{ieee} bibliography style for \pkg{biblatex}% - \footnote{This file describes v1.3f, last revised 2021/12/06.}} -\date{Released 2021/12/06} + \footnote{This file describes v1.3g, last revised 2024/08/14.}} +\date{Released 2024/08/14} \providecommand*{\opt}[1]{\texttt{#1}} \providecommand*{\pkg}[1]{\textsf{#1}} @@ -61,6 +61,19 @@ The style adds the \opt{dashed} option to those recognised: as-standard, this is activated. The option works in the same way as that from the core \pkg{biblatex} style \pkg{author-year}. +As-standard, citations are compressed. If you do no wish to have compressed +citations, add +\begin{verbatim} +\DeclareCiteCommand{\cite} + {\bibopenbracket\usebibmacro{prenote}} + {\usebibmacro{citeindex}% + \usebibmacro{cite}} + {\multicitedelim} + {\usebibmacro{postnote}\bibclosebracket} +\renewcommand*\multicitedelim{\bibclosebracket\addcomma \space\bibopenbracket} +\end{verbatim} +after loading \pkg{biblatex}. + The appearance of URLs in the bibliography is set by the mechanism of the \textsf{url} package. Thus to print URLs in the current roman font, place the instruction @@ -73,7 +86,9 @@ immediately before \end{verbatim} Control of the exact information in dates is best achieved by using the -\cs{AtEveryCite} command with appropriate data manipulation. +\cs{AtEveryCite} command with appropriate data manipulation. In particular, +if your database includes full dates, you will likely want to drop these +for most periodicals using \cs{clearfield} Also include in the bundle is a style using alphabetic labels, but otherwise following the guidelines of the \textsc{ieee}. This style should be loaded @@ -88,8 +103,8 @@ Suggestions for improvement and bug reports can be logged in the package issue database, found at \url{https://github.com/josephwright/biblatex-ieee/issues/}, or can be sent by e-mail to -\href{mailto:joseph.wright@morningstar2.co.uk} - {\texttt{joseph.wright@morningstar2.co.uk}}. +\href{mailto:joseph@texdev.net} + {\texttt{joseph@texdev.net}}. \nocite{*} \printbibliography @@ -149,14 +164,16 @@ be sent by e-mail to \changes{v1.3f}{2021/03/30}{Use \texttt{false} as the default for \texttt{dashed} setting} \changes{v1.3f}{2021/04/12}{Fix brackets in \cs{supercite}} \changes{v1.3f}{2021/12/01}{Adjust printing of series for books} +\changes{v1.3g}{2024/08/14}{Print separator between journal title and subtitle} +\changes{v1.3g}{2024/08/14}{Correct formatting of URL for online entries} \PrintChanges \end{document} %% -%% Copyright (C) 2011-2013,2015-2021 by -%% Joseph Wright <joseph.wright@morningstar2.co.uk> +%% Copyright (C) 2011-2013,2015-2021,2024 by +%% Joseph Wright <joseph@texdev.net> %% %% It may be distributed and/or modified under the conditions of %% the LaTeX Project Public License (LPPL), either version 1.3c of diff --git a/Master/texmf-dist/doc/latex/biblatex-phys/biblatex-phys.bib b/Master/texmf-dist/doc/latex/biblatex-phys/biblatex-phys.bib index 3f6af13bdd8..6f0f9b5281c 100644 --- a/Master/texmf-dist/doc/latex/biblatex-phys/biblatex-phys.bib +++ b/Master/texmf-dist/doc/latex/biblatex-phys/biblatex-phys.bib @@ -71,20 +71,20 @@ issue = {25}, pages = {254504}, year = {2008}, - month = {Jun}, + month = jun, publisher = {American Physical Society}, doi = {10.1103/PhysRevLett.100.254504}, } @Book{Augustine1995, hyphenation = {american}, - author = {Augustine, Robert L.}, + author = {Augustine, Robert L.}, title = {Heterogeneous Catalysis for the Synthetic Chemist}, shorttitle = {Heterogeneous catalysis}, publisher = {Marcel Dekker}, location = {New York}, - date = {1995}, + date = {1995}, } @Article{Booth1962, diff --git a/Master/texmf-dist/doc/latex/biblatex-phys/biblatex-phys.pdf b/Master/texmf-dist/doc/latex/biblatex-phys/biblatex-phys.pdf Binary files differindex 16758e75a70..e7e9e05d584 100644 --- a/Master/texmf-dist/doc/latex/biblatex-phys/biblatex-phys.pdf +++ b/Master/texmf-dist/doc/latex/biblatex-phys/biblatex-phys.pdf diff --git a/Master/texmf-dist/doc/latex/biblatex-phys/biblatex-phys.tex b/Master/texmf-dist/doc/latex/biblatex-phys/biblatex-phys.tex index 89550aed256..7224b722afc 100644 --- a/Master/texmf-dist/doc/latex/biblatex-phys/biblatex-phys.tex +++ b/Master/texmf-dist/doc/latex/biblatex-phys/biblatex-phys.tex @@ -2,7 +2,7 @@ %% biblatex-phys --- A biblatex implementation of the AIP and APS %% bibliography style %% Maintained by Joseph Wright -%% E-mail: joseph.wright@morningstar2.co.uk +%% E-mail: joseph@texdev.net %% Released under the LaTeX Project Public License v1.3c or later %% See http://www.latex-project.org/lppl.txt %% --------------------------------------------------------------- @@ -21,12 +21,12 @@ \addbibresource{biblatex-phys.bib} \author{Joseph Wright\thanks{E-mail: - \href{mailto:joseph.wright@morningstar2.co.uk} - {\texttt{joseph.wright@morningstar2.co.uk}}}} + \href{mailto:joseph@texdev.net} + {\texttt{joseph@texdev.net}}}} \title{\pkg{biblatex-phys} -- A \pkg{biblatex} implementation of the \textsc{aip} and \textsc{aps} bibliography style% - \footnote{This file describes v1.1b, last revised 2019/12/03.}} -\date{Released 2019/12/03} + \footnote{This file describes v1.1c, last revised 2024/07/26.}} +\date{Released 2024/07/26} \providecommand*{\opt}[1]{\texttt{#1}} \providecommand*{\pkg}[1]{\textsf{#1}} @@ -49,12 +49,12 @@ in the usual way \end{verbatim} Load-time options are provided to deal with the small number of variations between the \textsc{aip} and \textsc{aps} styles. -The References section of this document demonstrates the format +The References section of this document demonstrates the format generated by the package using the \texttt{biblatex-phys.bib} database of example citations. The styles use the standard \pkg{biblatex} database requirements. This means -that a database designed for traditional \pkg{biblatex} use may need some +that a database designed for traditional \BibTeX{} use may need some editing for optimal output. The accompanying example database \texttt{biblatex-phys.bib} shows examples of all of the supported entry types with common fields filled in. @@ -69,13 +69,13 @@ seen between the \textsc{aip} and \textsc{aps} styles. \DescribeOption{eprint} \DescribeOption{isbn} \DescribeOption{url} -The standard style options \opt{doi}, \opt{eprint} \opt{isbn} and -\opt{eprint}, as described in the \pkg{biblatex} manual. However, these +The standard style options \opt{doi}, \opt{eprint}, \opt{isbn} and +\opt{url}, as described in the \pkg{biblatex} manual. However, these options are turned off as standard by the \pkg{phys} style. This reflects the fact that these entries may be present in reference databases but are not generally included in published bibliographies. Note that \textsc{doi} values -are printed for journal articles with no pages given, even if the \opt{doi} -option is \opt{false}. +are printed for journal articles with no pages or eid given, even if the +\opt{doi} option is \opt{false}. \DescribeOption{subentry} In common with the standard \pkg{biblatex} numeric styles, all of the styles @@ -93,7 +93,7 @@ patents, which are treated in the same way.) \DescribeOption{biblabel} The format of the numbers used in the bibliography (the \enquote{bibliography -label}) varies. he \opt{biblabel} option allows the user to easily set the +label}) varies. The \opt{biblabel} option allows the user to easily set the format used. This option takes a values \opt{superscript} (the standard setting) and \opt{brackets}. @@ -146,7 +146,7 @@ command may be used to alter this, either for the whole document or only for the bibliography, for example by using \begin{verbatim} \AtBeginBibliography{% - \urlstyle{rm}% + \urlstyle{same}% } \end{verbatim} @@ -164,8 +164,8 @@ Suggestions for improvement and bug reports can be logged in the package issue database, found at \url{https://github.com/josephwright/biblatex-phys/issues}, or can be sent by e-mail to -\href{mailto:joseph.wright@morningstar2.co.uk} - {\texttt{joseph.wright@morningstar2.co.uk}}. +\href{mailto:joseph@texdev.net} + {\texttt{joseph@texdev.net}}. \nocite{*} @@ -208,8 +208,8 @@ be sent by e-mail to \end{document} %% -%% Copyright (C) 2012-2014,2016,2018,2019 by -%% Joseph Wright <joseph.wright@morningstar2.co.uk> +%% Copyright (C) 2012-2014,2016,2018-2020,2022,2024 by +%% Joseph Wright <joseph@texdev.net> %% %% It may be distributed and/or modified under the conditions of %% the LaTeX Project Public License (LPPL), either version 1.3c of diff --git a/Master/texmf-dist/doc/latex/biblatex-publist/README b/Master/texmf-dist/doc/latex/biblatex-publist/README index 8d8b26f969f..f452a57a9f0 100644 --- a/Master/texmf-dist/doc/latex/biblatex-publist/README +++ b/Master/texmf-dist/doc/latex/biblatex-publist/README @@ -46,6 +46,15 @@ instructions. == CHANGES == +* V. 2.12 (2024-07-16): + - Externalize localization to *.lbx files. + - Add \citeitemrange and \citesecitemrange commands. + - Fix error with section count on first run. + +* V. 2.11 (2024-07-02): + - Add \citesecitem and \citesecitem* commands. + - Support multiple sections in \GetSectionCount. + * V. 2.10 (2024-06-17): - Add bibchecks to show only/no peer-reviewed items. - Fix bibchecks to work with braced and non-braced values. diff --git a/Master/texmf-dist/doc/latex/biblatex-publist/biblatex-publist.pdf b/Master/texmf-dist/doc/latex/biblatex-publist/biblatex-publist.pdf Binary files differindex a7dfe989e1e..1d58e50fd55 100644 --- a/Master/texmf-dist/doc/latex/biblatex-publist/biblatex-publist.pdf +++ b/Master/texmf-dist/doc/latex/biblatex-publist/biblatex-publist.pdf diff --git a/Master/texmf-dist/doc/latex/biblatex-publist/biblatex-publist.tex b/Master/texmf-dist/doc/latex/biblatex-publist/biblatex-publist.tex index 788f3e6df05..a140ad01331 100644 --- a/Master/texmf-dist/doc/latex/biblatex-publist/biblatex-publist.tex +++ b/Master/texmf-dist/doc/latex/biblatex-publist/biblatex-publist.tex @@ -115,7 +115,7 @@ \thanks{Please report issues via \protect\url{https://github.com/jspitz/biblatex-publist}.}% } -\date{Version 2.10, 2024/06/17} +\date{Version 2.12, 2024/07/16} \maketitle \begin{abstract} @@ -200,7 +200,7 @@ forms of citing may break or not produce the expected result. The reason is that The standard way of using the package is to load the style file via \begin{lstlisting}[moretexcs={[1]{plauthorname}}] -\usepackage[bibstyle=publist]{biblatex} +\usepackage[style=publist]{biblatex} \plauthorname[first name][von-part]{surname} \end{lstlisting} The \jcsmacro*{plauthorname} macro\footnote{The macro was named \jfcsmacro{omitname} until v.\,1.4 @@ -213,31 +213,27 @@ it defines the name(s) of the person(s) whose publications are listed. By default, the author\slash editor name(s) will be omitted completely for all publications which are authored or edited only by the specified person(s), as in: -\begin{quote} -\textbf{2012.} Some recent trends in gardening. In: \emph{Gardening -Practice} 56, pp.~34--86. -\end{quote} +\begin{itemize} +\item[{[1]}] \textbf{2012.} Some recent trends in gardening. In: \emph{Gardening + Practice} 56, pp.~34--86. +\end{itemize} If there are co-authors\slash co-editors, your name(s) will be filtered out and the collaborators added in parentheses, as in: -\begin{quote} -\textbf{1987} (with John Doe and Mary Hall). Are there new trends -in gardening? In: \emph{Gardening Practice} 24, pp.~10--15. -\end{quote} +\begin{itemize} +\item[{[2]}] \textbf{1987} (with John Doe and Mary Hall). Are there new trends + in gardening? In: \emph{Gardening Practice} 24, pp.~10--15. +\end{itemize} If \joption{plauthorhandling=highlight} is used (see next section), the plauthor(s) will be printed in bold face instead, as in: -\begin{quote} - Doe, John, \textbf{Myself, Me} and Hall, Mary, \textbf{1987}. Are there new trends - in gardening? In: \emph{Gardening Practice} 24, pp.~10--15. -\end{quote} +\begin{itemize} +\item[{[2]}] Doe, John, \textbf{Myself, Me} and Hall, Mary, \textbf{1987}. Are there new trends + in gardening? In: \emph{Gardening Practice} 24, pp.~10--15. +\end{itemize} % Note that \jcsmacro{plauthorname} expects the name constituents as they are recorded in the database (special characters are handled). The option \joption{plauthorfirstinit} (see next section), however, allows you to pass only an initial character instead of a first name. -If you want to refer to an item number, use \jcsmacro*{citeitem}\jmacro{\{<key>\}} within your publication list. -This will print the item number in square brackets (like the \jfcsmacro{cite} command in numeric citation styles), -but as opposed to normal \jfcsmacro{cite} it also considers all numbering tweaks you make via the \bpl\ options. - \subsection{Additional Options}\label{sec:addopts} @@ -374,8 +370,8 @@ See section~\ref{sec:clicktitles} for details. All options listed here should be passed directly to \bibltx\ via \jfcsmacro{usepackage} when loading \bibltx, and they apply to the whole document. -For most options, it is possible to change them (repeatedly) within the document. To this end, the macro -\jcsmacro*[-3]{ExecutePublistOptions} is provided. It takes a comma-separated list of options as its mandatory argument +For most options, it is possible to change them within the document via the macro +\jcsmacro*[-3]{ExecutePublistOptions}. It takes a comma-separated list of options as mandatory argument and can be used (repeatedly) in preamble or anywhere in the document body. The executed options apply as of the next bibliography (\jfcsmacro{printbibliography}) that follows. Options that \emph{cannot} be changed within a document that way are \joption{plnumbering} and \joption{pubstateextra}, @@ -385,6 +381,57 @@ Also note that with the \joption{plauthor*} options, as opposed to repeated \jcs repeated setting of these name options respectively \emph{overwrite}, and not extend, the previous name settings. +\subsection{Referring to Entries}\label{sec:citeitems} + +Even though publication lists usually do not include citations, there might be cases where you need to refer +to specific entries within it. Especially with sectioned lists, it is arguably most advisable to refer to the items +by their number, as otherwise your readers will have a hard time to find the item you are referring to. +Of course, if you do not use global numbering, you should also specify the section the item is in, as in: +``see [13] (sec.~4)''. + +Since \bpl\ plays all sorts of tricks with the numbering (see sec.~\ref{sec:numbers}), the reference needs to take these +into account. The normal citation commands will often produce inadequate or even wrong output particularly in numeric +style. +To account for these peculiarities, the package ships its own cite style which is used if you load \bpl\ via +\joption{style=publist} (but not with \joption{bibstyle=publist}!). The features described in what follows require +this particular cite style. + +If you want to refer to an item number, use \jcsmacro*{citeitem}\jmacro{\{<key(s)>\}} within your publication list.% +\footnote{As with the normal citation commands, the argument might also be a comma-separated list of keys.} +This will print the item number in square brackets (like the \jfcsmacro{cite} command in numeric citation styles), +but as opposed to normal \jfcsmacro{cite} it also considers all numbering tweaks you make via the \bpl\ options. +Note, however, that with refsections (see sec.~\ref{sec:example}) \jcsmacro{citeitem} only works within a given +refsection because the references in a refsection are unknown outside of its scope. + +If you want to refer to an item number from outside a refsection, you can use \jcsmacro*{citesecitem}\jmacro{\{<key(s)>\}}. +This will try to access the number of the given entry from a stored list that is generated by \bpl. +References of this kind only make sense, of course, with global numbering and if an entry only occurs once in the bibliography, +since otherwise they would be too ambiguous. However, for locally numbered lists, there is the starred variant +\jcsmacro*{citesecitem*}\jmacro{\{<key(s)>\}} which will append a reference to the section the item is in. +By default, the form of this addition is ``(sec.~<no.>)'', with ``sec.'' being localized (see sec.~\ref{sec:auxmacros} +on how to customize this). + +All these commands have counterparts which can be used to refer to a range of entries: +\begin{itemize} + \setlength\itemsep{0pt} + \item \jcsmacro*{citeitemrange}\jmacro{\{<first key>\}}\jmacro{\{<last key>\}} + \item \jcsmacro*{citesecitemrange}\jmacro{\{<first key>\}}\jmacro{\{<last key>\}} + \item \jcsmacro*{citesecitemrange*}\jmacro{\{<first key>\}}\jmacro{\{<last key>\}} +\end{itemize} +% +The range will by default be indicated by an en-dash ([12]--[17]), you can change this by redefining the +macro \jcsmacro*{itemrangesep}. + +Note that due to the design of refsections, no hyperlinks can be generated for the item number with \jcsmacro{citesecitem} +(or its starred and range counterparts) and the \textsf{hyperref} package being loaded; the section reference of the starred +commands, however, is hyperlinked in this case. +If you need hyperlinked item references, consider refsegments rather than refsections and the \jcsmacro{citeitem} command +(although this will have other drawbacks). + +Of course, both \jcsmacro{citeitem} and \jcsmacro{citesecitem} presuppose that you do not disable numbering, and +\jcsmacro{citesecitem*} requires numbered section headers. + + \subsection{Numbers Games}\label{sec:numbers} Among the peculiarities of publication lists is the greater variety of numbering conventions, as compared @@ -474,12 +521,14 @@ The macro \jcsmacro*{GetTotalCount} outputs the total number of entries in your If you want to output the number of publications per section (when employing \jfcsmacro{refsection}), you can use the macro \jcsmacro*{GetSectionCount} which takes one optional argument, the section -number. For instance, +number or a comma-separated list of section numbers. For instance, \begin{lstlisting}[moretexcs={[4]{GetSectionCount}}] \GetSectionCount[1] \end{lstlisting} -outputs the number of items in the first section. If the optional argument is not given, the -statistics for the current section is output (this requires the macro to be within a \jfcsmacro{refsection}). +outputs the number of items in the first section, whereas \lstinline!\GetSectionCount[1,2]! outputs +the sum of the numbers of items in the first and second section. +If the optional argument is not given, the statistic for the current section is output +(this requires the macro to be within a \jfcsmacro{refsection}). Note that both values might require additional \LaTeX\ runs to get properly set. You will get a package warning if additional runs are needed. @@ -526,16 +575,16 @@ taken care of specifically. With \joption{plauthorhandling=omit}, the \jfoption{maxnames} value specifies how many co-authors are added in parenthesis (the omitted author name is not counted here). If the treshold is reached, \emph{et al.}\ (or the corresponding localized string) is appended (and the list truncated to the \jfoption{minnames} value, \jfoption{1} by default). So you get something like: -\begin{quote} - \textbf{2020} (with John Doe et al.). What's up in gardening? In: \emph{Gardening Practice} 44, pp.~1--7. -\end{quote} +\begin{itemize} + \item[{[3]}] \textbf{2020} (with John Doe et al.). What's up in gardening? In: \emph{Gardening Practice} 44, pp.~1--7. +\end{itemize} % With \joption{plauthorhandling=highlight}, \bpl\ outputs all publist authors, even if the \jfoption{maxnames} treshold has been reached. However, other authors (beyond \jfoption{minnames}) are omitted. If they come before a publist author, this is indicated by [\ldots\unkern], if authors follow after all publication list authors, \emph{et al.} is appended, as in: -\begin{quote} - Doe, John, [\ldots\unkern], \textbf{Myself, Me}, et al., \textbf{2020}. What's up in gardening? In: \emph{Gardening Practice} 44, pp.~1--7. -\end{quote} +\begin{itemize} + \item[{[3]}] Doe, John, [\ldots\unkern], \textbf{Myself, Me}, et al., \textbf{2020}. What's up in gardening? In: \emph{Gardening Practice} 44, pp.~1--7. +\end{itemize} % The omission indicator, \jcsmacro*{plnameomission}, can be redefined. The default definition is: \begin{lstlisting}[moretexcs={[4]{plnameomission,bibellipsis,addcomma,addspace}}] @@ -663,6 +712,16 @@ The default definition is: \newcommand*\plextrainfosep{\addsemicolon\addspace} \end{lstlisting} % +The\jmcsmacro{secitemsecref} section reference with \jcsmacro{citesecitem*} is determined by +\jcsmacro{secitemsecref}, which has the following default definition: +\begin{lstlisting}[moretexcs={[2]{mkbibparens,secitemsecref,bibstring,addnbspace}}] +\newcommand*\secitemsecref[1]{% + \mkbibparens{\bibstring{section}\addnbspace\ref{refsection:#1}}% +} +\end{lstlisting} +% +Redefine this macro if you need a different output. + The indendation of the bibliographic entries (lines > 1) can be adjusted by setting the length \jmacro*{extralabel\-numberwidth} via \jfcsmacro{setlength} (default is \texttt{0pt}). This might be needed for long bibliographies (> 99 entries) in order to adjust to the extra @@ -715,31 +774,52 @@ are printed, so you might get redundant output. To control (e.\,g., omit) them, \section{Localization}\label{sec:localization} Since the package draws on \bibltx, it supports localization. -The following additional localization keys (\jfcsmacro{bibstrings}) -are added by the package: -\begin{itemize} +The following additional localization keys (\texttt{bibstrings}) +are added by the package, in verbose and abbreviated form (depending +on your setting of the \bibltx\ option \joption{abbreviate}): + +\begin{description} \setlength{\itemsep}{0pt} -\item \emph{impactfactor}: the expression \enquote{impact factor}. -\item \emph{openaccess:true}: the expression \enquote{OpenAccess}. -\item \emph{openaccess:gold}: the phrase \enquote{OpenAccess (gold)}. -\item \emph{openaccess:green}: the phrase \enquote{OpenAccess (green)}. -\item \emph{parttranslationof}: the expression \enquote{partial translation of} +\item[impactfactor] the expression \enquote{impact factor} (short form: \enquote{JIF}). +\item[openaccess:true] the expression \enquote{OpenAccess} (short form: \enquote{OA}). +\item[openaccess:gold] the phrase \enquote{OpenAccess (gold)} (short form: \enquote{OA (gold)}). +\item[{openaccess:green}] the phrase \enquote{OpenAccess (green)} (short form: \enquote{OA (green)}). +\item[{parttranslationof}] the phrase \enquote{partial translation of} (short form: \enquote{part.\ trans.\ of}) for entries referring to partially translated work via \bibltx's \enquote*{related entries} feature (see sec.~\ref{sec:partial-translations}). -\item \emph{peerreview:sb}: the phrase \enquote{single blind peer review}. -\item \emph{peerreview:db}: the phrase \enquote{double blind peer review}. -\item \emph{peerreview:op}: the phrase \enquote{open peer review}. -\item \emph{peerreview:co}: the phrase \enquote{collaborative peer review}. -\item \emph{peerreview:cc}: the phrase \enquote{cascading peer review}. -\item \emph{peerreview:tp}: the phrase \enquote{third-party peer review}. -\item \emph{peerreview:pp}: the phrase \enquote{post-publication peer review}. -\item \emph{peerreview:no}: the phrase \enquote{no peer review}. -\item \emph{with}: the preposition \enquote{with} that precedes the list of - co-authors by default (i.\,e., with \joption{plauthorhandling=omit}). +\item[{peerreview:sb}] the phrase \enquote{single blind peer review} (short form: \enquote{single blind peer rev.}). +\item[{peerreview:db}] the phrase \enquote{double blind peer review} (short form: \enquote{double blind peer rev.}). +\item[{peerreview:op}] the phrase \enquote{open peer review} (short form: \enquote{open peer rev}). +\item[{peerreview:co}] the phrase \enquote{collaborative peer review} (short form: \enquote{collab.\ peer rev.}). +\item[{peerreview:cc}] the phrase \enquote{cascading peer review} (short form: \enquote{casc.\ peer rev.}). +\item[{peerreview:tp}] the phrase \enquote{third-party peer review} (short form: \enquote{3rd-party peer rev.}). +\item[{peerreview:pp}] the phrase \enquote{post-publication peer review} (short form: \enquote{post-pub.\ peer rev.}). +\item[{peerreview:no}] the phrase \enquote{no peer review} (short form: \enquote{no peer rev.}). +\item[{with}] the preposition \enquote{with} that precedes the list of + co-authors by default (i.\,e., with \joption{plauthorhandling=omit}) (short and verbose forms identical). +\end{description} +% +Localization is provided in dedicated language definition files which follow +the naming scheme, \texttt{<language>-publist.lbx}. +The package currently ships such files for the following languages and their varieties: + +\begin{flushleft} +\begin{itemize} +\setlength{\itemsep}{0pt} + \item English (\texttt{american}, \texttt{australian}, \texttt{british}, + \texttt{canadian}, \texttt{english}, \texttt{newzealand}, + \texttt{UKenglish}, \texttt{USenglish}) + \item French (\texttt{french}) + \item German (\texttt{austrian}, \texttt{german}, \texttt{naustrian}, \texttt{ngerman}, + \texttt{nswissgerman}, \texttt{swissgerman}) \end{itemize} -Currently, these additional localization keys are available in the following -languages: English, French and German.% -\footnote{Please send suggestions for other languages to the package author.} +\end{flushleft} +% +If you want to add support for other languages, you can simply copy one of the existing +lbx files, name it \texttt{<yourlanguage>-publist.lbx} and adapt the localization keys. + +If you are confident enough, please send me your file so I can consider adding it to +the package. \section{Further Extensions} @@ -979,6 +1059,21 @@ until further change). \section{Revision Log} \begin{description} + \item [{V. 2.12 (2024/07/16):}]~ + \begin{itemize} + \item Externalize localization to \texttt{*.lbx} files. + \item Add \jcsmacro{citeitemrange} and \jcsmacro{citesecitemrange} commands + (see sec.~\ref{sec:citeitems}). + \item Fix error with section count on first run. + \end{itemize} + + \item [{V. 2.11 (2024/07/02):}]~ + \begin{itemize} + \item Add \jcsmacro{citesecitem} and \jcsmacro{citesecitem*} commands + (see sec.~\ref{sec:citeitems}). + \item Support multiple sections in \jcsmacro{GetSectionCount}. + \end{itemize} + \item [{V. 2.10 (2024/06/17):}]~ \begin{itemize} \item Add bibchecks to show only/no peer-reviewed items diff --git a/Master/texmf-dist/doc/latex/bmstu-iu8/DEPENDS.txt b/Master/texmf-dist/doc/latex/bmstu-iu8/DEPENDS.txt new file mode 100644 index 00000000000..8176df3e7ee --- /dev/null +++ b/Master/texmf-dist/doc/latex/bmstu-iu8/DEPENDS.txt @@ -0,0 +1,38 @@ +algorithm2e +amscls +anyfontsize +babel +bookmark +tools +caption +chngcntr +csquotes +enumitem +fancyhdr +float +geometry +glossaries +glossaries-extra +graphics +oberdiek +lastpage +lineno +listings +multirow +nowidow +koma-script +setspace +fontspec +stackengine +tabto-ltx +titlesec +totcount +ulem +xassoccnt +xcolor +xltabular +xstring +ltablex # Here (and below) go some dependencies of dependencies +biblatex +ifoddpage +relsize diff --git a/Master/texmf-dist/doc/latex/bmstu-iu8/README.md b/Master/texmf-dist/doc/latex/bmstu-iu8/README.md index 3deb2658c2c..485014041c6 100644 --- a/Master/texmf-dist/doc/latex/bmstu-iu8/README.md +++ b/Master/texmf-dist/doc/latex/bmstu-iu8/README.md @@ -1,6 +1,6 @@ # IU8 package -Version: v1.2 (released 13.06.2021). +Version: v1.3 (released 17.08.2024). This package consist of class file and style files for writing reports at the IU8 department of IU faculty of BMSTU diff --git a/Master/texmf-dist/doc/latex/bmstu-iu8/bmstu-example.pdf b/Master/texmf-dist/doc/latex/bmstu-iu8/bmstu-example.pdf Binary files differindex 26654efeff7..b0d4cc2ea70 100644 --- a/Master/texmf-dist/doc/latex/bmstu-iu8/bmstu-example.pdf +++ b/Master/texmf-dist/doc/latex/bmstu-iu8/bmstu-example.pdf diff --git a/Master/texmf-dist/doc/latex/bxjatoucs/LICENSE b/Master/texmf-dist/doc/latex/bxjatoucs/LICENSE index 534324b7566..aff6b30c936 100644 --- a/Master/texmf-dist/doc/latex/bxjatoucs/LICENSE +++ b/Master/texmf-dist/doc/latex/bxjatoucs/LICENSE @@ -1,6 +1,6 @@ The MIT License -Copyright (c) 2019 Takayuki YATO (aka. "ZR") +Copyright (c) 2019-2024 Takayuki YATO (aka. "ZR") Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal diff --git a/Master/texmf-dist/doc/latex/bxjatoucs/README.md b/Master/texmf-dist/doc/latex/bxjatoucs/README.md index 6e2c9bb7bc9..cc3dd0a7a5b 100644 --- a/Master/texmf-dist/doc/latex/bxjatoucs/README.md +++ b/Master/texmf-dist/doc/latex/bxjatoucs/README.md @@ -69,6 +69,16 @@ Additional variants: the argument is assumed to be a valid decimal string. - `\bxjaFastCidToUcsHex{<value>}`: same for `\bxjaCidToUcsHex`. +### Conversions from Unicode + +Starting from v0.3, macros for some conversions *from* Unicode (rather +than conversions *to* Unicode) are available. The rule of input/output +is the same as the existing macros. + + - `\bxjaUcsToJis{<value>}`: converts to a jis scalar value. + - `\bxjaUcsToEuc{<value>}`: converts to an euc scalar value. + - `\bxjaUcsToSjis{<value>}`: converts to a sjis scalar value. + ## Example The following `\message` lines all display `23551:21496`. @@ -89,6 +99,10 @@ The following `\message` lines all display `5BFF:53F8`. Revision History ---------------- + * Version 0.3a ‹2024/07/22› + - Renamed TFM 'bxjatoucs-fromjis' to 'bxjatoucs-tojis'. + * Version 0.3 ‹2024/07/20› + - Added “Unicode to JIS”type conversions. * Version 0.2 ‹2019/10/20› - The first public version. diff --git a/Master/texmf-dist/doc/latex/bxjscls/README-ja.md b/Master/texmf-dist/doc/latex/bxjscls/README-ja.md index 1b91f19f951..4d7450a19ce 100644 --- a/Master/texmf-dist/doc/latex/bxjscls/README-ja.md +++ b/Master/texmf-dist/doc/latex/bxjscls/README-ja.md @@ -111,6 +111,9 @@ XeLaTeX / LuaLaTeX の上でも日本語処理パッケージと連携して使 更新履歴 -------- + * Version 2.9c 〈2024/07/19〉 + - bm パッケージとの併用で起こる不具合をほぼ解消した。 + - hyperref 使用時の不具合を修正した。 * Version 2.9b 〈2024/01/22〉 - bm パッケージとの併用で起こる不具合を回避した。 * Version 2.9a 〈2023/08/02〉 diff --git a/Master/texmf-dist/doc/latex/bxjscls/README.md b/Master/texmf-dist/doc/latex/bxjscls/README.md index b42534e38c2..1f10ac7ff7f 100644 --- a/Master/texmf-dist/doc/latex/bxjscls/README.md +++ b/Master/texmf-dist/doc/latex/bxjscls/README.md @@ -102,6 +102,7 @@ This package is distributed under the BSD 2-Clause License. Revision History ---------------- + * Version 2.9c 〈2024/07/19〉 * Version 2.9b 〈2024/01/22〉 * Version 2.9a 〈2023/08/02〉 * Version 2.9 〈2023/07/17〉 diff --git a/Master/texmf-dist/doc/latex/bxjscls/bxjscls-manual.pdf b/Master/texmf-dist/doc/latex/bxjscls/bxjscls-manual.pdf Binary files differindex 29812903d4b..d1b16869b4a 100644 --- a/Master/texmf-dist/doc/latex/bxjscls/bxjscls-manual.pdf +++ b/Master/texmf-dist/doc/latex/bxjscls/bxjscls-manual.pdf diff --git a/Master/texmf-dist/doc/latex/bxjscls/bxjscls-manual.tex b/Master/texmf-dist/doc/latex/bxjscls/bxjscls-manual.tex index aee9ffd06b6..2d69227170e 100644 --- a/Master/texmf-dist/doc/latex/bxjscls/bxjscls-manual.tex +++ b/Master/texmf-dist/doc/latex/bxjscls/bxjscls-manual.tex @@ -12,8 +12,8 @@ \bxtexlogoimport{*} \usepackage{shortvrb} \MakeShortVerb{\|} -\newcommand{\PkgVersion}{2.9b} -\newcommand{\PkgDate}{2024/01/22} +\newcommand{\PkgVersion}{2.9c} +\newcommand{\PkgDate}{2024/07/19} \newcommand{\Pkg}[1]{\textsf{#1}} \newcommand{\Meta}[1]{$\langle$\mbox{}\nobr#1\nobr\mbox{}$\rangle$} \newcommand{\Note}{\par\noindent ※} diff --git a/Master/texmf-dist/doc/latex/bxjscls/bxjscls.pdf b/Master/texmf-dist/doc/latex/bxjscls/bxjscls.pdf Binary files differindex 81899778a29..6b940a52c3e 100644 --- a/Master/texmf-dist/doc/latex/bxjscls/bxjscls.pdf +++ b/Master/texmf-dist/doc/latex/bxjscls/bxjscls.pdf diff --git a/Master/texmf-dist/doc/latex/bxpdfver/LICENSE b/Master/texmf-dist/doc/latex/bxpdfver/LICENSE index b6b8b923303..f6ebffefcab 100644 --- a/Master/texmf-dist/doc/latex/bxpdfver/LICENSE +++ b/Master/texmf-dist/doc/latex/bxpdfver/LICENSE @@ -1,6 +1,6 @@ The MIT License -Copyright (c) 2014-2022 Takayuki YATO (aka. "ZR") +Copyright (c) 2014-2024 Takayuki YATO (aka. "ZR") Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal diff --git a/Master/texmf-dist/doc/latex/bxpdfver/README-ja.md b/Master/texmf-dist/doc/latex/bxpdfver/README-ja.md index 0f0955d3782..ea1a7e4ee11 100644 --- a/Master/texmf-dist/doc/latex/bxpdfver/README-ja.md +++ b/Master/texmf-dist/doc/latex/bxpdfver/README-ja.md @@ -43,16 +43,20 @@ bxpdfver パッケージ * `objcompress`(既定): オブジェクトストリームの使用を抑止しない。 * ドライバオプション: 以下の通り。なお、後述の「ドライバ指定」の 節も参照されたい。 - + PDF 出力のエンジンの場合は、既定で適切なドライバが選択される + + LaTeX の新 PDF マネジメントが有効化されている場合は、自動的に + “latex-pdf”モードに切り替わる。ドライバオプションは不要である。 + + PDF 出力のエンジンの場合は、自動的に適切なドライバが選択される のでドライバオプションは不要である。 + `dvipdfmx`: dvipdfmx 用のドライバを指定する。 + `nodvidriver`/`disabled`: 全ての機能を無効化する。 ※この場合 `lenient+` が既定になる。 + + `ignorepdfmanagement`: “latex-pdf”モードへの切替を抑止する。 * `lenient`: サポートしない機能に対するエラーを警告に格下げする。 * `lenient+`: サポートしない機能に対するエラーを完全に抑止する。 * `nolenient`(既定): `lenient(+)` の否定。 * `new-dvipdfmx`: dvipdfmx に対するバージョン検査を省略し、常に最新の - バージョンであると仮定する。 + バージョンであると仮定する。 + ※ドライバオプションが `dvipdfmx` に変更される。 `compress`、`objcompress` はこのパッケージによる抑止を行わないという意味 であり、既に抑止されている場合にそれを再び有効化するものではない。 @@ -72,41 +76,61 @@ bxpdfver パッケージ * `\preservepdfdestinations`: PDF 目的地(PDF destination)の名前の 短縮を抑止し、TeX 文書で指定された名前を用いる。異なる PDF 文書間で のリンクを正常に機能させるために必要である。 + * `\setpdfpkresolution{<解像度>}`: PDF に埋め込まれる PK フォントの + 解像度(dpi 値)を指定する。 ### ドライバ指定に関する補足 \ Drivers (engines) pdfTeX dvipdfmx - Features / LuaTeX / XeTeX others - --------------------------- --------- --------- ------ - \setpdfversion Yes Yes No - \suppresspdfcompression Yes Maybe(*2) No - \suppresspdfobjcompression Yes Maybe(*2) No + Features / LuaTeX / XeTeX latex-pdf + --------------------------- --------- --------- --------- + \setpdfversion Yes Yes Yes + \suppresspdfcompression Yes Maybe(*2) Yes(*4) + \suppresspdfobjcompression Yes Maybe(*2) Yes(*4) \setpdfdecimaldigits Yes Maybe(*2) No \preservepdfdestinations No-op(*1) Maybe(*2) No + \setpdfpkresolution Yes Maybe(*3) No 1. pdfTeX/LuaTeX では PDF 目的地の名前が短縮されるることはない。つまり `\preservepdfdestinations` は常に有効になっていると見なせる。 - 2. これらの機能を使用するためには、(x)dvipdfmx のバージョンが 20160307 - 以上である必要がある。 - - バージョン判定のために kpsewhich と extractbb の起動を利用する - ため、少なくともこれらのプログラムについて、シェルエスケープが - 許可されている必要がある。 - - dvipdfmx のバージョン情報は補助ファイル(.aux)中にキャッシュ - される。このため、何か状況が変わった場合は、一旦補助ファイルを - 削除する必要が生じる。 + 2. (x)dvipdfmx のバージョンが 20160307 以上である必要がある。 + 3. (x)dvipdfmx のバージョンが 20211016 以上である必要がある。 + 4. `\suppresspdfcompression` と `\suppresspdfobjcompression` については + 一方を実行すると他方も自動的に有効になる。l3pdf モジュールで片方のみ + を有効化することはサポートされないからである。 + +dvipdfmx のバージョン判定について: + + - 必要が生じた場合にのみバージョン判定が実行される。 + - `new-dvipdfmx` オプションを指定した場合は、バージョン判定を全て + 省略した上で、最新の dvipdfmx を使用していると見なす。 + - バージョン判定のために kpsewhich と extractbb の起動を利用するため、 + 少なくともこれらのプログラムについて、シェル実行が許可されている + 必要がある。 + - バージョン判定は少し時間がかかるため、dvipdfmx のバージョン情報は + 補助ファイル(.aux)中にキャッシュされる。このため、何か状況が変化 + した場合は、一旦補助ファイルを削除する必要が生じる。 以下のことにも注意されたい。 - * 使用不可能な機能を使おうと試みるとエラーが発生する。 + * 使用不可能な機能を使おうと試みるとエラーが発生する。 + ※`lenient` オプションが指定された場合はエラーが警告に変更され、 + また `lenient+` が指定された場合はエラーも警告も抑止される。 * `dvips` 等の“全く対応していない”若干のドライバオプションを認識 する。この場合、全ての機能の呼出でエラーが発生する。 - * `nodvidriver` は特殊で、これを指定した場合は、どの機能の呼出でも - エラーは発生しないが、全く何の動作も行わない。 + * `nodvidriver` オプションは既定で `lenient+` を指定する。つまり、 + どの機能の呼出でもエラーは発生しないが、全く何の動作も行わない。 更新履歴 -------- + * Version 0.8 ‹2024/08/03› + - カーネルの新 PDF マネジメントが有効な場合にも一部の機能が使える + ようにする(“latex-pdf”モード)。 + * Version 0.7 ‹2024/07/24› + - `\setpdfpkresolution` を(正式に)サポート。(dvipdfmx/XeTeX + でも使用可能になった。) * Version 0.6 ‹2022/04/28› - `lenient+`/`nolenient` オプションを追加。 - 非サポートのドライバでも読込自体はエラーにしない。 diff --git a/Master/texmf-dist/doc/latex/bxpdfver/README.md b/Master/texmf-dist/doc/latex/bxpdfver/README.md index 332b6215f17..1b78b5da1cf 100644 --- a/Master/texmf-dist/doc/latex/bxpdfver/README.md +++ b/Master/texmf-dist/doc/latex/bxpdfver/README.md @@ -44,11 +44,16 @@ The available options are: * `noobjcompress`: Suppresses use of object streams. * `objcompress` (default): Does not suppress use of object streams. * Driver options: As below: + + When the new PDF management of LaTeX is activated, the package + will automatically switch to “latex-pdf” mode. You need not + give driver options. + When using a PDF-output engine, you need not give driver options since the appropriate one is auto-detected. + `dvipdfmx`: Uses dvipdfmx driver. + `nodvidriver`/`disabled`: Disables all functions of the package. NB. This option sets `lenient+` by default. + * `ignorepdfmanagement`: Avoids switching to “latex-pdf” mode, even + when the new PDF management of LaTeX is activated. * `lenient`: Turns the errors for unsupported features into warnings. * `lenient+`: Suppreseses the errors for unsupported features. * `nolenient`: Negation of `lenient(+)`. @@ -72,40 +77,61 @@ when it is already suppressed by other means. * `\preservepdfdestinations`: Stops shortening the PDF destination names and uses the original names given in the LaTeX documents. This is necessary for cross-document links to work correctly. + * `\setpdfpkresolution{<resolution>}`: Sets the resolution (in dpi) + of the PK fonts embedded in the PDF file. ### NOTE ON DRIVERS \ Drivers (engines) pdfTeX dvipdfmx - Features / LuaTeX / XeTeX others - --------------------------- --------- --------- ------ - \setpdfversion Yes Yes No - \suppresspdfcompression Yes Maybe(*2) No - \suppresspdfobjcompression Yes Maybe(*2) No + Features / LuaTeX / XeTeX latex-pdf + --------------------------- --------- --------- --------- + \setpdfversion Yes Yes Yes + \suppresspdfcompression Yes Maybe(*2) Yes(*4) + \suppresspdfobjcompression Yes Maybe(*2) Yes(*4) \setpdfdecimaldigits Yes Maybe(*2) No \preservepdfdestinations No-op(*1) Maybe(*2) No + \setpdfpkresolution Yes Maybe(*3) No 1. In pdfTeX and LuaTeX, PDF destination names are never shortened; that is, it can be thought as if `\preservepdfdestinations` were always in effect. 2. These features are available only when the version of (x)dvipdfmx - is 20160307 or later. Also shell escape must be accepted (with or - without restriction) so that `kpsewhich` and `extractbb` will be - allowed to run, because those programs are used in order to detect - the dvipdfmx version. + is 20160307 or later. + 3. These features are available only when the version of (x)dvipdfmx + is 20211016 or later. + 4. As for '\suppresspdfcompression' and '\suppresspdfobjcompression', + when one of them is executed, the other will be activated. It is + because l3pdf module does not support activating only one of them. + +On the detection of dvipdfmx version: + + * Shell escape must be accepted (with or without restriction) so that + `kpsewhich` and `extractbb` will be allowed to run, because those + programs are used in order to detect the dvipdfmx version. + * The detection process is slow, so the result is cached in the + auxiliary file (`.aux`). When the environment is changed, you need + to delete the auxiliary file. More notices: - * If you try to use unavailable features, an error will occur. + * If you try to use unavailable features, an error will occur. + NB. Option `lenient` turns the errors into warnings, and `lenient+` + completely suppresses the errors. * The package recognizes some “unsupported” driver options such as `dvips`; when such drivers are used, use of any feature will cause an error. - * The use of `nodvidriver` sets `lenient*` by default; use of any + * The use of `nodvidriver` sets `lenient+` by default; use of any feature will do nothing (nor issue an error). REVISION HISTORY ---------------- + * Version 0.8 ‹2024/08/03› + - Support some features even when the new PDF management of the + LaTeX kernel is activated (“latex-pdf” mode). + * Version 0.7 ‹2024/07/24› + - Support (officialy) `\setpdfpkresolution`. * Version 0.6 ‹2022/04/28› - Added the `lenient+` and `nolenient` options. * Version 0.5a ‹2021/02/14› diff --git a/Master/texmf-dist/doc/latex/catppuccinpalette/README.md b/Master/texmf-dist/doc/latex/catppuccinpalette/README.md index 105e5497a4d..4efad071cef 100644 --- a/Master/texmf-dist/doc/latex/catppuccinpalette/README.md +++ b/Master/texmf-dist/doc/latex/catppuccinpalette/README.md @@ -1,28 +1,75 @@ -# Readme for the package catppuccinPalette +<h3 align="center"> + <img src="https://raw.githubusercontent.com/catppuccin/catppuccin/main/assets/logos/exports/1544x1544_circle.png" width="100" alt="Logo"/><br/> + <img src="https://raw.githubusercontent.com/catppuccin/catppuccin/main/assets/misc/transparent.png" height="30" width="0px"/> + Catppuccin for <a href="https://www.latex-project.org/">LaTeX</a> + <img src="https://raw.githubusercontent.com/catppuccin/catppuccin/main/assets/misc/transparent.png" height="30" width="0px"/> +</h3> -Author: Lukas Heindl (`oss.heindl+latex@protonmail.com`). +<p align="center"> + <a href="https://github.com/catppuccin/latex/stargazers"><img src="https://img.shields.io/github/stars/catppuccin/latex?colorA=363a4f&colorB=b7bdf8&style=for-the-badge"></a> + <a href="https://github.com/catppuccin/latex/issues"><img src="https://img.shields.io/github/issues/catppuccin/latex?colorA=363a4f&colorB=f5a97f&style=for-the-badge"></a> + <a href="https://github.com/catppuccin/latex/contributors"><img src="https://img.shields.io/github/contributors/catppuccin/latex?colorA=363a4f&colorB=a6da95&style=for-the-badge"></a> +</p> -CTAN page: [catppuccinPalette](https://ctan.org/pkg/catppuccinpalette) +<p align="center"> + <img src="assets/preview.webp"/> +</p> -## License -The LaTeX package `catppuccinPalette` is distributed under the LPPL 1.3 license. +## Previews -## Description +<details> +<summary>🌻 Latte</summary> +<img src="assets/latte.webp"/> +</details> +<details> +<summary>🪴 Frappé</summary> +<img src="assets/frappe.webp"/> +</details> +<details> +<summary>🌺 Macchiato</summary> +<img src="assets/macchiato.webp"/> +</details> +<details> +<summary>🌿 Mocha</summary> +<img src="assets/mocha.webp"/> +</details> -The LaTeX package `catppuccinPalette` provides new colors for xcolor. +## Usage -## Installation +### Importing the theme file +1. The [catppuccinPalette](https://www.ctan.org/pkg/catppuccinpalette) package is present on CTAN, but probably not included in your TeX Live installation. Follow the steps below to install it manually: + - Shortcut: If you set up your local `texmf` you should be able to simply install by executing `make install` (this installs the package locally for the current user) + - If you don't like installing the package locally for the current user you might also execue `l3build unpack` and move the generated `.sty` file `build/unpacked/catppuccinpalette.sty` to the root directory of your project. + - If you don't have `l3build` available, you can also download the `catppuccinpalette.sty` file from the [latest GitHub release](https://github.com/catppuccin/latex/releases/latest) and move the file to your project root. +2. Import the package by adding `\usepackage[FLAVOR]{catppuccinpalette}`, replacing `FLAVOR` with the flavor of your choice. i.e. `\usepackage[macchiato]{catppuccinpalette}`. Valid options are: mocha (default), latte, frappe, and macchiato. + - If you want the package not only to add color definitions, you can also pass `textcolor=true` and/or `pagecolor=true` to the `catppuccinpalette` package. + - Also note that in the pdf containing the documentation, the available options are described in more detail and also the defined colors are listed and shown. -For a manual installation: +### Color Naming Conventions -* put the files `catppuccinpalette.ins` and `catppuccinpalette.dtx` in the same directory; -* run `latex catppuccinpalette.ins` in that directory. +All [Catppuccin palette colors](https://github.com/catppuccin/catppuccin#-palette), across all flavors, follow the same naming convention. This theme set prefixes all Catppuccin colors with `Ctp`, i.e. `CtpPeach`, or `CtpBlue`. -The file `catppuccinpalette.sty` will be generated. -The file `catppuccinpalette.sty` is the only file necessary to use the latex package `catppuccinPalette`. -You have to put it in the same directory as your document or (best) in a `texmf` tree. +### Examples -Simplified version: +Please refer to the [examples](https://github.com/catppuccin/latex/tree/main/examples) for full demonstrations, with LaTeX sources and their outputs, on theme usage and code highlighting. + +## 💝 Thanks to + +- [Lukas](https://github.com/atticus-sullivan) +- [Brandon](https://github.com/walshyb) + + + +<p align="center"> + <img src="https://raw.githubusercontent.com/catppuccin/catppuccin/main/assets/footers/gray0_ctp_on_line.svg?sanitize=true" /> +</p> + +<p align="center"> + Copyright © 2021-present <a href="https://github.com/catppuccin" target="_blank">Catppuccin Org</a> +</p> + +<p align="center"> + <a href="https://github.com/catppuccin/catppuccin/blob/main/LICENSE"><img src="https://img.shields.io/static/v1.svg?style=for-the-badge&label=License&message=MIT&logoColor=d9e0ee&colorA=363a4f&colorB=b7bdf8"/></a> +</p> -* run `l3build unpack` to generate the `.sty` in `build/unpacked/` diff --git a/Master/texmf-dist/doc/latex/catppuccinpalette/catppuccinpalette.pdf b/Master/texmf-dist/doc/latex/catppuccinpalette/catppuccinpalette.pdf Binary files differindex 8a5e2d9c89f..b66eca9b011 100644 --- a/Master/texmf-dist/doc/latex/catppuccinpalette/catppuccinpalette.pdf +++ b/Master/texmf-dist/doc/latex/catppuccinpalette/catppuccinpalette.pdf diff --git a/Master/texmf-dist/doc/latex/changebar/CATALOG b/Master/texmf-dist/doc/latex/changebar/CATALOG index 50cd35da78a..5483fa9c134 100644 --- a/Master/texmf-dist/doc/latex/changebar/CATALOG +++ b/Master/texmf-dist/doc/latex/changebar/CATALOG @@ -1,7 +1,7 @@ Name: ChangeBar Problems-To: johannes.braams(at)texniek.nl Author: J.L. Braams -Version: 3.7d +Version: 3.7e Description: diff --git a/Master/texmf-dist/doc/latex/changebar/README b/Master/texmf-dist/doc/latex/changebar/README index 2a9c69bad71..bcd9ab0bbb5 100644 --- a/Master/texmf-dist/doc/latex/changebar/README +++ b/Master/texmf-dist/doc/latex/changebar/README @@ -1,6 +1,6 @@ changebar bundle - January 9, 2024 + July 19, 2024 This bundle contains a package that I maintain to add changebars to a LaTeX document. diff --git a/Master/texmf-dist/doc/latex/changebar/changebar.bug b/Master/texmf-dist/doc/latex/changebar/changebar.bug index d6613321501..aa476a2224f 100644 --- a/Master/texmf-dist/doc/latex/changebar/changebar.bug +++ b/Master/texmf-dist/doc/latex/changebar/changebar.bug @@ -219,6 +219,10 @@ % v3.7d JLB: Arash Esbati reported a simlar phenomenon when \nochangebars % is used. Similar solution was needed. % +% v3.7e JLB: Daniel Flipo and Bruno Winckler reported that changebar no longer +% works when \usepackage[french]{babel} is used. This was caused by the +% solution implemented in v3.7b. This time use "/" is chosen as separator. +% % Known problems % - changebars for marginal paragraphs collide with changebars % for the main body of text diff --git a/Master/texmf-dist/doc/latex/changebar/changebar.pdf b/Master/texmf-dist/doc/latex/changebar/changebar.pdf Binary files differindex b313fe1c531..9025ebb6248 100644 --- a/Master/texmf-dist/doc/latex/changebar/changebar.pdf +++ b/Master/texmf-dist/doc/latex/changebar/changebar.pdf diff --git a/Master/texmf-dist/doc/latex/chemformula-ru/chemformula-ru.pdf b/Master/texmf-dist/doc/latex/chemformula-ru/chemformula-ru.pdf Binary files differindex 09126f6cc1c..bed9614116a 100644 --- a/Master/texmf-dist/doc/latex/chemformula-ru/chemformula-ru.pdf +++ b/Master/texmf-dist/doc/latex/chemformula-ru/chemformula-ru.pdf diff --git a/Master/texmf-dist/doc/latex/chemformula-ru/chemformula-ru.tex b/Master/texmf-dist/doc/latex/chemformula-ru/chemformula-ru.tex index 02edcbca417..192da90cb48 100644 --- a/Master/texmf-dist/doc/latex/chemformula-ru/chemformula-ru.tex +++ b/Master/texmf-dist/doc/latex/chemformula-ru/chemformula-ru.tex @@ -3,7 +3,6 @@ \geometry{total={180mm, 267mm}, centering} \usepackage[russian]{babel} -\usepackage{chemformula} \usepackage[ch2Ch,cosh2ch]{chemformula-ru} \usepackage{array,multicol} @@ -11,7 +10,7 @@ \title{The \textsf{chemformula-ru} package} \author{Alexey Kuznetsov} -\date{01.03.2024} +\date{10.07.2024} \maketitle \begin{multicols}{2} @@ -23,9 +22,8 @@ Russian settings of the \textsf{babel} package \textsf{(russianb.ldf)} define th \mbox{}\hfil\verb|$\ch x$|\ $\to\ \Ch x$.\\[.5ex] Loading packages together leads to the error\\[1ex] \mbox{}\hfil\verb|! LaTeX Error: Command \ch already defined.|\\[1ex] -The \textsf{chemformula-ru} package ``neutralizes'' it by making the babel's command undefined. - -The package has two parameters to configure the printing of the hyperbolic cosine in Russian notation:\\[1ex] +The \textsf{chemformula-ru} package loads the \textsf{chemformula} and ``neutralizes'' the error by making the babel's command undefined. +Two it's parameters configure printing of the hyperbolic cosine in Russian notation:\\[1ex] \begin{tabular}{>\sf l @{ ---\quad } p{.75\linewidth}} cosh2ch & overrides the \verb|\cosh| command for printing:\linebreak \verb|$\cosh x$| $\to \cosh x$. \\[1ex] @@ -37,13 +35,12 @@ ch2Ch & defines a new \verb|\Ch| command for printing:\linebreak \mbox{}\hfil\verb|\сh{|\textit{химическая фоормула}\verb|}|\\[.5ex] для верстки химических формул:\\[.5ex] \mbox{}\hfil\verb|\ch{H3PO4}| $\to$ \ch{H3PO4}.\\[.5ex] -Русские настройки пакета \textsf{babel (russianb.ldf)} определяют одноименную команду для печати гиперболического косинуса:\\[-.5ex] +Русские настройки пакета \textsf{babel (russianb.ldf)} определяют одноименную команду для печати гиперболического косинуса:\\[-.85\baselineskip] \mbox{}\hfil\verb|$\ch x$|\ $\to\ \Ch x$.\\[.5ex] Cовместная загрузка пакетов ведет к ошибке\\[1ex] \mbox{}\hfil\verb|! LaTeX Error: Command \ch already defined.|\\[1ex] -Пакет \textsf{chemformula-ru} <<нейтрализует>> ее, делая команду пакета \textsf{babel} неопределенной. - -Пакет имеет два параметра, настраивающих печать гиперболического косинуса в русских нотациях:\\[1ex] +Пакет \textsf{chemformula-ru} загружает \textsf{chemformula} и <<нейтрализует>> ошибку, делая команду пакета \textsf{babel} неопределенной. +Два его параметра настраивают печать гиперболического косинуса в русских нотациях:\\[1ex] \begin{tabular}{>\sf l @{ --- } p{.8\linewidth}} cosh2ch & переопределяет для печати команду \verb|\cosh|:\linebreak \verb|$\cosh x$| $\to \cosh x$. \\[1ex] @@ -52,10 +49,11 @@ ch2Ch & определяет для печати новую команду \verb \end{tabular} \end{multicols} +\thispagestyle{empty} + \noindent\hrulefill \begin{verbatim} - %% Redefine \cosh to print ch. \DeclareOption{cosh2ch}{\def\cosh@ch{% \DeclareRobustCommand\cosh{\mathop{\operator@font ch}\nolimits}}} @@ -64,19 +62,22 @@ ch2Ch & определяет для печати новую команду \verb \DeclareOption{ch2Ch}{\def\ch@Ch{% \DeclareRobustCommand\Ch{\mathop{\operator@font ch}\nolimits}}} +%% Pass all other options to the chemformula package. +\DeclareOption*{\PassOptionsToPackage\CurrentOption{chemformula}} + \ProcessOptions\relax +\RequirePackage{chemformula} + \BeforeBeginEnvironment{document}{ - \IfPackageLoadedTF{chemformula}{ - \IfPackageLoadedWithOptionsTF{babel}{russian}{ - \let\@Chem@Formula\ch \let\ch\undefined - \AtBeginDocument{ \let\ch\@Chem@Formula - \@ifundefined{cosh@ch}{\relax}{\cosh@ch} - \@ifundefined{ch@Ch}{\relax}{\ch@Ch} - } - } { \relax } - } { \relax } -} + \let\@Chem@Formula\ch \let\ch\undefined + \AtBeginDocument{ + \let\ch\@Chem@Formula + \@ifundefined{cosh@ch}{\relax}{\cosh@ch} + @ifundefined{ch@Ch}{\relax}{\ch@Ch} + } } + +\endinput \end{verbatim} \end{document} diff --git a/Master/texmf-dist/doc/latex/circuitikz/changelog.tex b/Master/texmf-dist/doc/latex/circuitikz/changelog.tex index 0806a20b78d..19a5cd01f35 100644 --- a/Master/texmf-dist/doc/latex/circuitikz/changelog.tex +++ b/Master/texmf-dist/doc/latex/circuitikz/changelog.tex @@ -5,6 +5,38 @@ full list of changes. \begin{itemize} \item + Version 1.7.0 (2024-08-03) + + There are no big changes here, but the change to the resistor code + (maybe one of the most used by the package) well deserves a minor + version bump. A couple of new components, and several minor fixes. + + \begin{itemize} + \tightlist + \item + New component: new kind of current tap (suggested by + \href{https://github.com/circuitikz/circuitikz/issues/807}{EEpchi + and Dr4UX on GitHub}) + \item + New arrow tip \texttt{Jack\ Tap} to help drawing jack connectors + (suggested by + \href{https://github.com/circuitikz/circuitikz/issues/806}{Anisio + Rogerio Braga}) + \item + Change the drawing of the thermocouple (suggested by + \href{https://github.com/circuitikz/circuitikz/issues/811}{Dr4UX on + GitHub}) + \item + Change and enhancement to the drawing of the American resistors + (triggered by + \href{https://github.com/circuitikz/circuitikz/issues/814}{Dr4UX on + GitHub}), fixing a long-standing small asymmetry that nobody noticed + \item + Minor adjustment for joins in \texttt{viscoe} component + \item + Minor additions (\texttt{rectjoinfill}) and fixes in documentation + \end{itemize} +\item Version 1.6.9 (2024-05-25) Several new components and a bug fix for a nasty long-standing bug @@ -495,7 +527,7 @@ full list of changes. Robustify some shapes: do not let arrows option pass to the inner drawing (see \href{https://tex.stackexchange.com/a/632084/38080}{here} and - \href{https://matrix.to/\#/!NuxCISwYQJuyWwNsEI:matrix.org/$vQO6luq1F66LJ79dERmaqKI46qMBcjStqYCPi725uZE?via=matrix.org&via=2krueger.de&via=im.f3l.de}{here}) + \href{https://matrix.to/\#/!NuxCISwYQJuyWwNsEI:matrix.org/$vQO6luq1F66LJ79dERmaqKI46qMBcjStqYCPi725uZE?via=matrix.org\&via=2krueger.de\&via=im.f3l.de}{here}) \item Add warning about global draw options in the manual \item diff --git a/Master/texmf-dist/doc/latex/circuitikz/circuitikzmanual.pdf b/Master/texmf-dist/doc/latex/circuitikz/circuitikzmanual.pdf Binary files differindex 9f3d2b57e02..023c265d6ea 100644 --- a/Master/texmf-dist/doc/latex/circuitikz/circuitikzmanual.pdf +++ b/Master/texmf-dist/doc/latex/circuitikz/circuitikzmanual.pdf diff --git a/Master/texmf-dist/doc/latex/circuitikz/circuitikzmanual.tex b/Master/texmf-dist/doc/latex/circuitikz/circuitikzmanual.tex index ac116af09e0..e0fa8032b1d 100644 --- a/Master/texmf-dist/doc/latex/circuitikz/circuitikzmanual.tex +++ b/Master/texmf-dist/doc/latex/circuitikz/circuitikzmanual.tex @@ -2200,6 +2200,83 @@ For the \texttt{photoresistor} and the two ``flavors'' of the light-dependent re \end{tikzpicture} \end{LTXexample} +\begingroup % protect changes to resistors +\newcommand\showjoin[1]{% +\begin{tikzpicture}[scale=4, transform shape] + \clip (0.2,-0.05) rectangle (0.6,0.3); + \draw[ultra thick] (0,0) to[R, resistors/thickness=#1] ++(2,0); +\end{tikzpicture}% +} +\newcommand{\splat}{\begin{center}\ttfamily\scriptsize\begin{tabular}{cccc} + \showjoin{1}&\showjoin{2}&\showjoin{3}&\showjoin{4}\\ + thickness=1 & thickness=2 & thickness=3 & thickness=4 \\ + \end{tabular}\end{center}% +} +\newcommand{\rdivider}[1]{\begin{tikzpicture} + \ctikzset{resistors/thickness=#1} + \draw (0,0) node[ground]{} to[V] ++(0,2) to[R] ++(2,0) + to[R] ++(0,-2) to[short,-*] (0,0); +\end{tikzpicture}\qquad} +\newcommand{\divsplat}[1]{#1\par + \begin{center} + \rdivider{1}\rdivider{2}\rdivider{3}\rdivider{4} +\end{center}} + +\paragraph{Details of American (``zig-zag'') resistors.\label{sec:zigzag-details}} American (zig-zag) resistors have a little joining problem\footnote{Noticed by \href{https://github.com/circuitikz/circuitikz/issues/811}{user Dr4UX on GitHub} and later \href{https://github.com/circuitikz/circuitikz/discussions/814}{discussed here}.} with the leading wires if the thickness is greater than two. In the following drawing you can see the problem when the thickness grows from 1 to 4. + +\splat + +Since \texttt{v1.7.0}, one possibility to correct the problem is to change the type of joining of the zig-zag line, using the key \texttt{resistors/zigzag join}, which is a command that by default is void. For example, the following effect is obtained by using + +\begin{lstlisting}[numbers=none] +\ctikzset{resistors/zigzag hook/.code={\pgfsetroundcap}} +\end{lstlisting} +{\ctikzset{resistors/zigzag hook/.code={\pgfsetroundcap}} +\splat} + +or you can even go full rounded + +\begin{lstlisting}[numbers=none] +\ctikzset{resistors/zigzag hook/.code={\pgfsetroundcap\pgfsetroundjoin}} +\end{lstlisting} +{\ctikzset{resistors/zigzag hook/.code={\pgfsetroundcap\pgfsetroundjoin}} +\splat} + +Another possibility is to add a little horizontal ``stub'' to the shape, with the key \texttt{resistors/zigzag stub} (default \texttt{0}), which will add a first part which is a continuation of the wire: +\begin{lstlisting}[numbers=none] +\ctikzset{resistors/zigzag stub=0.05}% this is relative to the resistor's length +\end{lstlisting} +{\ctikzset{resistors/zigzag stub=0.05} +\splat} + +\dots or you can just combine all of them as you prefer. With the standard join/cap options, the look of the resistors for thickness from 1 to 4 is shown here: + +\ctikzset{american} +\divsplat{Standard drawing of American resistors} +\divsplat{With a 5\% stub: \ctikzset{resistors/zigzag stub=0.05}} +\divsplat{With a 20\% stub: \ctikzset{resistors/zigzag stub=0.2}} + + +\bigskip +Finally, here is the detailed shape with thickness 2 (red=0, blue=0.05, green=0.2), magnified six times: + +\vspace*{2cm}% this vspace fences are needed because the transform canvas wreak havoc with the bbox +\begin{tikzpicture}[transform canvas={scale=6}] + \ctikzset{resistors/zigzag stub=0} + \draw[red] (0,0.2) to [resistor, resistors/thickness=4] ++(2,0); + \ctikzset{resistors/zigzag stub=0.05} + \draw[blue] (0,0.1) to [resistor, resistors/thickness=4] ++(2,0); + \ctikzset{resistors/zigzag stub=0.2} + \draw[green] (0,0) to [resistor, resistors/thickness=4] ++(2,0); + % \draw [very thin](1,0.5) -- (1,-0.5); + % \draw [very thin](0,0) -- ++(2,0); + % \draw [very thin](0,0.1) -- ++(2,0); + % \draw [very thin](0,0.2) -- ++(2,0); +\end{tikzpicture} +\vspace*{2cm} + +\endgroup % changes to resistors stops here + \subsection{Capacitors and inductors: dynamical bipoles} @@ -2852,9 +2929,9 @@ Notice that the size of the double-circle sources (and of the triple-circle one) \end{LTXexample} \paragraph{Waveform symbols.} -Internal symbols of sinusoidal, triangular and square sources are drawn with the same line thickness as the component by default. You can modify this by setting the key \texttt{sources/symbols/thickness} for independent sources and the corresponding \texttt{csource/...} for dependent ones. The value used here is relative to the component (i.e. the circle) value. +Internal symbols of sinusoidal, triangular and square sources are drawn with the same line thickness as the component by default. You can modify this by setting the key \texttt{sources/symbol/thickness} for independent sources and the corresponding \texttt{csource/...} for dependent ones. The value used here is relative to the component (i.e. the circle) value. -Normally the symbol is oriented in the same direction as the line, and rotate rigidly with the component; you can change this orientation using the key \texttt{sources/symbols/rotate} or \texttt{csource/...}. The default value is \texttt{90} which correspond to the ``line'' direction (remember, path components are defined as horizontal ones). +Normally the symbol is oriented in the same direction as the line, and rotate rigidly with the component; you can change this orientation using the key \texttt{sources/symbol/rotate} or \texttt{csource/...}. The default value is \texttt{90} which correspond to the ``line'' direction (remember, path components are defined as horizontal ones). If instead of an angle value you use \texttt{auto}, the symbol will be rotated so that the waveform is always vertical, similar to what happens in instruments: \begin{LTXexample}[varwidth=true] @@ -3019,12 +3096,44 @@ Sometimes it is better to use a shape for instruments which is very different fr \footnotetext{Suggested by \texttt{@nobrl} on GitHub} \circuitdescbip{iloop}{Current loop (symbolic)}{}(left/135/0.2, right/45/0.2, center/-90/0.3, i/30/0.4) \circuitdescbip{iloop2}{Current loop (real)}{}(left/135/0.2, right/-45/0.2, center/-90/0.3, i+/135/0.4, i-/45/0.4) + \circuitdescbip{currtap}{Current tap (probe)\footnotemark}{}(tap/-90/0.2) + \footnotetext{Suggested by \href{https://github.com/circuitikz/circuitikz/issues/807}{user EEpchi on GitHub}.} \end{groupdesc} \subsubsection{Instruments customizations}\label{sec:tweak-instruments} You can change the scale of all the instruments (including the current loops) by setting the key \texttt{instruments/scale} to something different from the default \texttt{1.0}. +\paragraph{Current probes.} +You can change the inner dot in several way, by changing the following keys under the \verb!\ctikzset! key \texttt{bipoles/currtap}: +\begin{center} + \begin{tabular}{>{\ttfamily}l>{\ttfamily}lp{0.7\linewidth}} + \toprule + parameter & default & description \\ + \midrule + thickness & default & Set the thickness of the line (\texttt{default}: do not change the class thickness) \\ + color & default & stroke color: \texttt{default} is the same as the component \\ + dash & default & dash pattern: none means solid line, default means keep the global pattern\footnotemark \\ + fill & default & fill the inner dot; \texttt{default} means use the wire color, \texttt{none} do not fill, other keys must be a valid color \\ + dot size& 0.5 & relative size of the inner dot \\ + \bottomrule + \end{tabular} + \footnotetext{Follows the syntax of the pattern sequence \texttt{\textbackslash pgfsetdash} --- see \TikZ{} manual for details; phase is always zero. Basically you pass pairs of dash-length -- blank-length dimensions, see the examples.} +\end{center} + +\begin{LTXexample}[varwidth=true, basicstyle=\small\ttfamily] +\begin{circuitikz} + \draw (0,2) to[currtap, bipoles/currtap/fill=none, *-] + ++(2,0) to[currtap, bipoles/currtap/.cd, + fill=yellow, color=red, thickness=3, + dash={{1.14pt}{2pt}}] ++(2,0); + \draw (0,0) to[currtap=I, *-, name=ct] ++(2,0) + to[currtap, -*, name=ct2, + bipoles/currtap/dot size=0.3] ++(2,0); + \draw (ct.tap) -- ++(0,-1) (ct2.tap) -- ++(0,-1); +\end{circuitikz} +\end{LTXexample} + \paragraph{Oscilloscope waveform.} You can change the waveform shown in the oscilloscope ``screen''\footnote{Suggested by \href{https://tex.stackexchange.com/q/595062/38080}{Mario Tafur on TeX.SX}}. To change it, you just set the key \texttt{bipoles/oscope/waveform} to one of the available shape. You have available the shapes in the following list (the default is \texttt{ramps}): \begin{LTXexample}[pos=t, basicstyle=\small\ttfamily] @@ -3478,9 +3587,9 @@ While the horizontal line will be drawn with the current path values, you can ch \end{circuitikz} \end{LTXexample} -\subsection{Arrows}\label{sec:arrows} +\subsection{Arrows (fake and real)}\label{sec:arrows} -These are pseudo-arrows used in lot of places in the packages (for transistors, flows, currents, and so on). The first three arrows are magnified by a factor~3 in the boxes below; for the \texttt{trarrow}, the anchor \texttt{tip} is exactly on the tip and \texttt{btip} is slightly receded. +The main arrow shapes in \Circuitikz{} are really shapes, used as pseudo-arrows in lot of places in the packages (for transistors, flows, currents, and so on). The first three arrows are magnified by a factor~3 in the boxes below; for the \texttt{trarrow}, the anchor \texttt{tip} is exactly on the tip and \texttt{btip} is slightly receded. \begin{groupdesc} \circuitdesc[3]{currarrow}{Arrow for current and voltage}{}(center/0/0.2) @@ -3540,6 +3649,30 @@ The arrows are the ones set with the keys \texttt{tunable start arrow} and \text Notice also the need to force a transparency group if you want a semitransparent arrow. +\subsubsection{Arrow tips}\label{sec:arrow-tips} + +In addition to the pseudo-arrows, \Circuitikz{} also adds a couple of ``real'' arrow tips. +The package automatically loads the \texttt{arrows.meta} \TikZ{} library but \emph{not} the deprecated \texttt{arrows} library; in the first versions of the package it used quite a lot the \texttt{latex'} tip, which is not available anymore. To maintain the backward compatibility, the `latexslim` tip has been added, and used by default in several components. This is an old-style arrow tip, with no customization possible. + +The other tip is \texttt{Jack Tap}\footnote{Added after a suggestion from \href{https://github.com/circuitikz/circuitikz/issues/806}{Anisio Rogerio Braga} on GitHub}, which is mainly used to build jack connectors (see section~\ref{sec:jacks}). This is a new-style arrow tip, and accepts the parameter \texttt{length} (default \texttt{0.3 cm}), \texttt{width} (default \texttt{0.15 cm}), and the boolean \texttt{swap}. + + +\begin{LTXexample}[varwidth=true] +\begin{circuitikz} + \draw (0,.25) (0,0) edge[-latexslim] ++(1,0) + ++(0, -0.5) edge[-{Jack Tap[swap]}] ++(1,0) + ++(0, -0.5) edge[-Jack Tap] ++(1,0) + ++(0, -0.5) edge[-{Jack Tap[fill=cyan]}] ++(1,0) + ++(0, -0.5) edge[-{Jack Tap[width=.3cm,fill]}]++(1,0) + ++(0, -0.5) edge[-{Jack Tap[width=.3cm,line join=round, + line cap=round]}, thick] ++(1,0) + ++(0, -0.5) edge[^-^f] ++(1,0) + ++(0, -0.5) edge[vf-v] ++(1,0); +\end{circuitikz} +\end{LTXexample} +You can also have a filled version, by adding the key \texttt{fill} (without arguments\footnote{This usage of the \texttt{fill} key in arrow tips will be added to \TikZ{} in version \texttt{3.1.11}, see \href{https://github.com/pgf-tikz/pgf/pull/1352}{this PR by Henri Menke}; \Circuitikz{} will add it to older versions.}) or \texttt{fill=color} if you want a color different from the stroke ones, and they accept the \texttt{line join} and \texttt{line cap} as most of the standard \TikZ{} arrows. +As you can see, the normal and swapped \texttt{Jack Tap} tips have the shorthands \texttt{v} and \verb|^| (and \texttt{vf} and \verb|^f| for their filled counterparts). Notice that the tips are automatically reversed when they are at the \emph{start} of the path. + \subsection{Terminal shapes}\label{sec:terminals} These are the so-called ``bipole nodes'' shapes, or poles (see section~\ref{sec:bipole-nodes}). These nodes are always filled; the ``open'' versions (starting with an \texttt{o}) are by default filled with the color specified by the key \texttt{open nodes fill} (by default \texttt{white}), but you can override locally it with the \texttt{fill} parameter. @@ -3553,6 +3686,12 @@ These are the so-called ``bipole nodes'' shapes, or poles (see section~\ref{sec: \circuitdesc{osquarepole}{Open square-shape terminal}{} \end{groupdesc} +This is not a pole, but it's used to "fill" nasty corners (look closer, and see ~\ref{sec:line-joins}). + +\begin{groupdesc} + \circuitdesc{rectjoinfill}{Filling square with line width size}{} +\end{groupdesc} + Since version 0.9.0, ``bipole nodes'' shapes have all the standard geographical anchors, so you can do things like these: \begin{LTXexample}[varwidth=true] @@ -3672,6 +3811,33 @@ You can use the \texttt{plug center} anchor to add the IEC ``multiplier'': \end{circuitikz} \end{LTXexample} +\subsubsection{Jack connectors}\label{sec:jacks} + +There are \emph{lots} of different jack connectors symbols --- see the \href{https://github.com/circuitikz/circuitikz/issues/806}{discussion here} for examples. So instead of creating a monster component, it has been decided to add elements to simplify the drawing of such connectors. The first (and for now only) such element is the \texttt{Jack Tap} arrow tip (see section~\ref{sec:arrow-tips}) with its shorthands \texttt{v} and \verb|^|. + +For example, and audio jack can be drawn like this: + +\begin{LTXexample}[pos=t, varwidth=true] +% drawing based on one by Anisio Rogerio Braga +% https://github.com/circuitikz/circuitikz/issues/806 +\newcommand\dx{1.5}\newcommand\dy{1} +\begin{circuitikz} + \draw[-v] (0,\dy/3*4) to[short, o-] ++(\dx,0); + \draw[-Triangle] (0,\dy) node[ocirc]{} -| ++(\dx/3,\dy/3); + \draw[-Triangle] (0,\dy/3*2) node[ocirc]{} -| ++(\dx/3,-\dy/3); + \draw[-^] (0,\dy/3) to[short, o-] ++(2*\dx/3,0); + \draw (0,0.0) to[short, o-] ++(1.75*\dx,0) rectangle ++(0.2,4*\dy/3); +\end{circuitikz}\qquad\qquad +%---% audio jack with an inserted plug +\begin{circuitikz} + \draw[-v] (0,\dy/3*4) to[short, o-] ++(\dx,0.2); + \draw[-Triangle] (0,\dy) node[ocirc]{} -| ++(\dx/3,\dy/3); + \draw[-Triangle] (0,\dy/3*2) node[ocirc]{} -| ++(\dx/3,-\dy/3); + \draw[-^] (0,\dy/3) to[short, o-] ++(2*\dx/3,-0.2); + \draw (0,0.0) to[short, o-] ++(1.75*\dx,0) rectangle ++(0.2,4*\dy/3); +\end{circuitikz} +\end{LTXexample} + \subsection{Block diagram components} \noindent Contributed by Stefan Erhardt. @@ -6596,7 +6762,7 @@ with the parameter \texttt{number inputs} : \end{circuitikz} \end{LTXexample} -You can suppress the drawing of the logic ports input leads by using the boolean key \texttt{logic ports draw input leads} (default \texttt{true}) or, locally, with the style \texttt{no inputs leads} (that can be reverted with \texttt{input leads}), like in the following example. The anchors do not change and you have to take responsibility to make the connection to the ``border''-anchors. +You can suppress the drawing of the logic ports input leads by using the boolean key \texttt{logic ports draw input leads} (default \texttt{true}) or, locally, with the style \texttt{no input leads} (that can be reverted with \texttt{input leads}), like in the following example. The anchors do not change and you have to take responsibility to make the connection to the ``border''-anchors. \begin{LTXexample}[varwidth=true] \begin{circuitikz} @@ -7436,9 +7602,9 @@ External pins' length is controlled by the key \texttt{multipoles/external pins like in chips. In addition, like in logic ports, you can suppress the drawing of the leads by using the boolean key \texttt{logic ports draw input leads} (default \texttt{true}) or, locally, -with the style \texttt{no inputs leads} (that can be reverted with +with the style \texttt{no input leads} (that can be reverted with \texttt{input leads}). -The main difference between setting \texttt{external pins width} to \texttt{0} or using \texttt{no inputs lead} is that in the first case the normal pin anchors and the border anchors will coincide, and in the second case they will not move and stay where they should have been if the leads were drawn. +The main difference between setting \texttt{external pins width} to \texttt{0} or using \texttt{no input lead} is that in the first case the normal pin anchors and the border anchors will coincide, and in the second case they will not move and stay where they should have been if the leads were drawn. You can draw only selected pins and leave out the rest by setting the keys \texttt{multipoles/draw only \emph{side} pins} and the corresponding style @@ -7840,7 +8006,7 @@ You can, if you want, avoid printing the numbers of the pin with \texttt{hide nu \end{LTXexample} -Also, you can suppress the drawing of the pins, by using the style \texttt{no inputs leads} (that can be reverted with \texttt{input leads}). The main difference between setting \texttt{external pins width} to \texttt{0} or using \texttt{no inputs lead} is that in the first case the normal pin anchors and the border anchors will coincide, and in the second case they will not move and stay where they should have been if the leads were drawn. +Also, you can suppress the drawing of the pins, by using the style \texttt{no input leads} (that can be reverted with \texttt{input leads}). The main difference between setting \texttt{external pins width} to \texttt{0} or using \texttt{no input lead} is that in the first case the normal pin anchors and the border anchors will coincide, and in the second case they will not move and stay where they should have been if the leads were drawn. For special use you can suppress the orientation mark with the key \texttt{no topmark} (default \texttt{topmark}). diff --git a/Master/texmf-dist/doc/latex/citation-style-language/CHANGELOG.md b/Master/texmf-dist/doc/latex/citation-style-language/CHANGELOG.md index 60c4ae9e823..04bf7765e7c 100644 --- a/Master/texmf-dist/doc/latex/citation-style-language/CHANGELOG.md +++ b/Master/texmf-dist/doc/latex/citation-style-language/CHANGELOG.md @@ -7,6 +7,29 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +## [0.6.1] - 2024-08-15 + +### Fixed + +- Fix parsing quotation marks ([#71](https://github.com/zepinglee/citeproc-lua/discussions/71)). + +## [0.6.0] - 2024-07-31 + +### Added + +- Add support for multiple bibliographies (`refsection` environment). +- Add global `ref-section` option. + +### Fixed + +- Fix an error of empty locator in citation ([#70](https://github.com/zepinglee/citeproc-lua/discussions/70)). + +## [0.5.1] - 2024-07-10 + +### Fixed + +- Fix a bug in font style flip-flopping with raw code ([#67](https://github.com/zepinglee/citeproc-lua/issues/67)). + ## [0.5.0] - 2024-06-09 ### Added @@ -197,7 +220,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Initial CTAN release. -[Unreleased]: https://github.com/zepinglee/citeproc-lua/compare/v0.5.0...HEAD +[Unreleased]: https://github.com/zepinglee/citeproc-lua/compare/v0.6.1...HEAD +[0.6.1]: https://github.com/zepinglee/citeproc-lua/compare/v0.6.0...v0.6.1 +[0.6.0]: https://github.com/zepinglee/citeproc-lua/compare/v0.5.1...v0.6.0 +[0.5.1]: https://github.com/zepinglee/citeproc-lua/compare/v0.5.0...v0.5.1 [0.5.0]: https://github.com/zepinglee/citeproc-lua/compare/v0.4.9...v0.5.0 [0.4.9]: https://github.com/zepinglee/citeproc-lua/compare/v0.4.8...v0.4.9 [0.4.8]: https://github.com/zepinglee/citeproc-lua/compare/v0.4.7...v0.4.8 diff --git a/Master/texmf-dist/doc/latex/citation-style-language/citation-style-language-doc.pdf b/Master/texmf-dist/doc/latex/citation-style-language/citation-style-language-doc.pdf Binary files differindex 83d520bd1bd..c9d7e0ba523 100644 --- a/Master/texmf-dist/doc/latex/citation-style-language/citation-style-language-doc.pdf +++ b/Master/texmf-dist/doc/latex/citation-style-language/citation-style-language-doc.pdf diff --git a/Master/texmf-dist/doc/latex/citation-style-language/citation-style-language-doc.tex b/Master/texmf-dist/doc/latex/citation-style-language/citation-style-language-doc.tex index c8af8574e16..ae67e2b62f0 100644 --- a/Master/texmf-dist/doc/latex/citation-style-language/citation-style-language-doc.tex +++ b/Master/texmf-dist/doc/latex/citation-style-language/citation-style-language-doc.tex @@ -51,7 +51,7 @@ }% } -\date{2024-06-09 v0.5.0} +\date{2024-08-15 v0.6.1} \maketitle @@ -212,6 +212,24 @@ The locale falls back to ``\opt{en}'' (English) if the attribute is not set. When \pkg{babel} package is loaded, the selected main language is implicitly set as the \opt{locale} for \pkg{citation-style-language}. +\DescribeOption{ref-section} +This option automatically starts a new reference section at the given document +heading such as a chapter or a section. This is equivalent to the +\cs{newrefsection} command. The following choices are available: + +\begin{description} + \item[\opt{none}] Disable this feature (default). + \item[\opt{part}] Start a reference section at every \cs{part} command. + \item[\opt{chapter}] Start a reference section at every \cs{chapter} command. + \item[\opt{chapter+}] Start a reference section at every \cs{chapter} and + every higher level of sectioning, i.e. \cs{part}. + \item[\opt{section}] Start a reference section at every \cs{section} command. + \item[\opt{section+}] Start a reference section at every \cs{section} and + every higher level of sectioning, i.e. \cs{part} and \cs{chapter}. + \item[\opt{subsection}] Start a reference section at every \cs{subsection} command. + \item[\opt{subsection+}] Start a reference section at every \cs{subsection} and every higher level of sectioning, i.e. \cs{part}, \cs{chapter} and \cs{section}. +\end{description} + \DescribeOption{bib-font} Usually, the list of references is printed in the same font style and size as the main text. @@ -509,6 +527,68 @@ Print only the entries assigned to the given category. This option may be used multiple times. +\subsection{Bibliography Sections} + +The \env{refsection} environment is used in the document body to mark a +reference section. +This environment is useful if you want separate, independent +bibliographies and bibliography lists in each chapter, section, or any other +part of a document. +Within a reference section, all cited works are assigned labels which are local +to the environment. Technically, reference sections are completely independent +from document divisions such as \cs{chapter} and \cs{section} even though they +will most likely be used per chapter or section. +See the refsection package option in § 3.1.2.1 for a way to automate this. +Also see § 3.14.3 for usage examples. + +\begin{function}{\begin{refsection}, \end{refsection}} + \begin{syntax} + \cs{begin}\{refsection\} + \cs{begin}\{refsection\}[style = \meta{style-id}, bib-resource = <datafile>, ...] + \end{syntax} +\end{function} + +All citations given outside a \env{refsection} environment are assigned to +the global section. +If \cs{printbibliography} is used within a refsection, it will automatically +select the current section. +Note that \env{refsection} environments may not be nested. +Beginning a new reference section automatically ends the active reference context (see § 3.8.10). +The optional argument is a list of key-value configurations. That following options are available. + + +\DescribeOption{style} +The \opt{style} option specifies the CSL style used in this reference section. +If this is not given, the global style will be used by default which is defined +via package options or \cs{cslsetup}. + +\DescribeOption{bib-resource} +The bibliographic data files are specified with this option. +In case of multiple data files, remember to enclose the file with curly brackets +so that the key-values are correctly parsed +(e.g., \texttt{bib-resource = \{foo.json, bar.bib\}}). +By default the global bib resources are used if no \opt{bib-resource} is given. + +\DescribeOption{locale} +This option sets the locale used in this reference section. +By default the global locale is used. + + +\begin{function}{\newrefsection, \endrefsection} + \begin{syntax} + \cs{newrefsection}[style = \meta{style-id}, bib-resource = <datafile>, ...] + \cs{endrefsection} + \end{syntax} +\end{function} + +The \cs{newrefsection} command is similar to the \env{refsection} environment +except that it is a standalone command rather than an environment. +It automatically ends the previous reference section (if any) and immediately +starts a new one. +The \cs{endrefsection} can terminate the current reference section and restore +to the global section. + + \subsection{Bibliography Headings} \begin{function}{\defbibheading} diff --git a/Master/texmf-dist/doc/latex/cjs-rcs-article/README.md b/Master/texmf-dist/doc/latex/cjs-rcs-article/README.md index 69c983dbb73..aa152dd5fd4 100644 --- a/Master/texmf-dist/doc/latex/cjs-rcs-article/README.md +++ b/Master/texmf-dist/doc/latex/cjs-rcs-article/README.md @@ -16,11 +16,12 @@ compatible with the traditional engine pdfLaTeX. ## Licence LaTeX Project Public License, version 1.3c or (at your option) any -later version. +later version. The documentation is also licensed under CC BY-SA 4.0 +International. ## Version -1.0 (2023-11-29) +1.1a (2024-07-30) ## Author @@ -103,7 +104,7 @@ version history of the bibliographic styles appears in ## Comments or suggestions -The Gitlab [project repository](https://gitlab.com/cjs-rcs/cjs-rcs-article) +The GitLab [project repository](https://gitlab.com/cjs-rcs/cjs-rcs-article) is the best place to report bugs or to propose improvements to the project. @@ -127,11 +128,12 @@ grande partie compatible avec le moteur pdfLaTeX. ## Licence LaTeX Project Public License, version 1.3c ou (à votre choix) toute -version ultérieure. +version ultérieure. La documentation est également publiée sous +licence CC BY-SA 4.0 International. ## Version -1.0 (2023-11-29) +1.1a (2024-07-30) ## Auteur diff --git a/Master/texmf-dist/doc/latex/cjs-rcs-article/cjs-rcs-article-fr.pdf b/Master/texmf-dist/doc/latex/cjs-rcs-article/cjs-rcs-article-fr.pdf Binary files differindex 5ec31c2669c..fd93cf709b1 100644 --- a/Master/texmf-dist/doc/latex/cjs-rcs-article/cjs-rcs-article-fr.pdf +++ b/Master/texmf-dist/doc/latex/cjs-rcs-article/cjs-rcs-article-fr.pdf diff --git a/Master/texmf-dist/doc/latex/cjs-rcs-article/cjs-rcs-article-fr.tex b/Master/texmf-dist/doc/latex/cjs-rcs-article/cjs-rcs-article-fr.tex deleted file mode 100644 index b7f01a64fda..00000000000 --- a/Master/texmf-dist/doc/latex/cjs-rcs-article/cjs-rcs-article-fr.tex +++ /dev/null @@ -1,5 +0,0 @@ -%% Wrapper to set language to French -%% (https://tex.stackexchange.com/a/28646). -\expandafter\newif\csname ifenglish\endcsname -\englishfalse -\input{cjs-rcs-article.dtx} diff --git a/Master/texmf-dist/doc/latex/cjs-rcs-article/cjs-rcs-article.pdf b/Master/texmf-dist/doc/latex/cjs-rcs-article/cjs-rcs-article.pdf Binary files differindex dc76f9053ec..bf7f73c7c41 100644 --- a/Master/texmf-dist/doc/latex/cjs-rcs-article/cjs-rcs-article.pdf +++ b/Master/texmf-dist/doc/latex/cjs-rcs-article/cjs-rcs-article.pdf diff --git a/Master/texmf-dist/doc/latex/cjs-rcs-article/cjs-rcs-bst-en.dbj b/Master/texmf-dist/doc/latex/cjs-rcs-article/cjs-rcs-bst-en.dbj deleted file mode 100644 index 38907626da6..00000000000 --- a/Master/texmf-dist/doc/latex/cjs-rcs-article/cjs-rcs-bst-en.dbj +++ /dev/null @@ -1,611 +0,0 @@ -%% Driver file to produce cjs-rcs-en.bst from cjs-rcs-merlin.mbs -%% Originally generated with makebst, version 4.1 (2003/09/08), -%% on 2023/10/05 at 15:25, then hand edited by Vincent Goulet. -%% -\input docstrip - -\preamble - -Copyright (C) 2023 Statistical Society of Canada | Société -canadienne de statistique - -This file may be distributed and/or modified under the conditions -of the LaTeX Project Public License, either version 1.3c of this -license or (at your option) any later version. The latest version -of this license is in: - - https://www.latex-project.org/lppl.txt - -This work has the LPPL maintenance status `maintained'. - -The Current Maintainer of this work is Vincent Goulet -<vincent.goulet@act.ulaval.ca>. - -This work consists of the master bibliographic style file -cjs-rcs-merlin.mbs, the language definition file cjs-rcs-english.mbs, -the driver file cjs-rcs-en.dbj, and the derived file cjs-rcs-en.bst. - -\endpreamble - -\postamble -End of customized bst file -\endpostamble - -\keepsilent - -\askforoverwritefalse -\def\MBopts{\from{cjs-rcs-merlin.mbs}{% -%EXTERNAL FILES: -%Name of language file: \cfile=cjs-rcs-english.mbs. -%No included files. - head,\MBopta} -\from{cjs-rcs-english.mbs}{\MBopta} -\from{cjs-rcs-merlin.mbs}{tail,\MBopta}} -\def\MBopta{% -%INTERNAL LANGUAGE SUPPORT (if no external language file) -% %: (def) English -% babel,%: Babel -%-------------------- - exlang,%: External language file -%STYLE OF CITATIONS: -% %: (def) Numerical - ay,%: Author-year -% alph,%: Alpha style, Jon90 or JWB90 -% alph,alf-1,%: Alpha style, Jon90 -% alph,alf-f,%: Alpha style, Jones90 -% cite,%: Cite key -%-------------------- -%HTML OUTPUT (if non author-year citations) -% %: (def) Normal LaTeX -% html,%: Hypertext -% html,htlist,%: Hypertext list -% html,htdes,%: Hypertext with keys -%-------------------- -%AUTHOR--YEAR SUPPORT SYSTEM (if author-year citations) - nat,%: Natbib -% %: (def) Older Natbib -% alk,%: Apalike -% har,%: Harvard -% ast,%: Astronomy -% cay,%: Chicago -% nmd,%: Named -% cn,%: Author-date -%-------------------- -%HARVARD EXTENSIONS INCLUDED (if Harvard support selected) -% harnm,%: With Harvard extensions -% %: (def) Older Harvard -%-------------------- -%LANGUAGE FIELD -% %: (def) No language field - lang,%: Add language field -%-------------------- -%ANNOTATIONS: - %: (def) No annotations -% annote,%: Annotations -%-------------------- -%PRESENTATIONS: - %: (def) Do not add presentation type -% pres,%: Add presentation, speaker not highlighted -% pres,pres-bf,%: Presentation, speaker bold face -% pres,pres-it,%: Presentaion, speaker italic -% pres,pres-sc,%: Presentaion, speaker in small caps -%-------------------- -%ORDERING OF REFERENCES (if non-author/year and non-alph) -% %: (def) Alphabetical -% seq-no,%: Citation order -% seq-yr,%: Year ordered -% seq-yrr,%: Reverse year ordered -%-------------------- -%ORDERING OF REFERENCES (if author-year citations) - %: (def) Alphabetical -% seq-lab,%: By label -% seq-labc,%: By label and cite order -% seq-key,%: By label and cite key -% seq-yr,%: Year ordered -% seq-yrr,%: Reverse year ordered -% seq-no,%: Citation order -%-------------------- -%ORDER ON VON PART (if not citation order) - %: (def) Sort on von part -% vonx,%: Sort without von part -%-------------------- -%IGNORE FIRST NAMES (if author-year citations) - %: (def) Respect first names -% xintls,%: Sort on surname only -%-------------------- -%AUTHOR NAMES: -% ed-au,%: Full, surname last -% nm-revf,%: Full, surname first -% nm-init,ed-au,%: Initials + surname - nm-rev,%: Surname + initials -% nm-rv,%: Surname + dotless initials -% nm-rvvc,%: Surname + comma + spaceless initials -% nm-rvx,%: Surname + pure initials -% nm-rvcx,%: Surname + comma + pure initials -% nm-rvv,%: Surname + spaceless initials -% nm-rev1,%: Only first name reversed, initials -% nm-revv1,%: First name reversed, with full names -%-------------------- -%EDITOR NAMES IN COLLECTIONS (if author names reversed) - %: (def) Editor names NOT reversed -% ed-rev,%: Editor names reversed -%-------------------- -%POSITION OF JUNIOR (if author names reversed) - jnrlst,%: Junior comes last -% %: (def) Junior between -%-------------------- -%JUNIOR PART IN THE CITATION (if author-year citations) - %: (def) No `junior' part in the citations -% jnrlab,%: `Junior' in citations -%-------------------- -%PUNCTUATION BETWEEN AUTHOR NAMES: - %: (def) Author names separated by commas -% aunm-semi,%: Names separated by semi-colon -% aunm-sl,%: Names separated by slash -%-------------------- -%ADJACENT REFERENCES WITH REPEATED NAMES: - %: (def) Author/editor names always present -% nmdash,%: Repeated author/editor names replaced by dash -% nmdash,nmd-2,%: Repeated author/editor names replaced by 2 dashes -% nmdash,nmd-3,%: Repeated author/editor names replaced by 3 dashes -%-------------------- -%NUMBER OF AUTHORS IN BIBLIOGRAPHY: - %: (def) All authors -% nmlm,%: Limited authors -%-------------------- -%AUTHORS IN CITATIONS: - %: (def) One author et al -% mcite,%: Some other truncation scheme -%-------------------- -%MAX AUTHORS BEFORE ET AL: (if regular cite not selected) -% mct-1,%: One et al -% mct-2,%: One, Two et al -% mct-3,%: One, Two, Three et al -% mct-4,%: One, Two, Three, Four et al -% mct-5,%: One, Two, Three, Four, Five et al -% mct-6,%: One, Two, Three, Four, Five, Six et al -%-------------------- -%MAX AUTHORS WITHOUT ET AL: (if regular cite not selected) -% mct-x2,%: Two authors without truncating -% mct-x3,%: Three authors -% mct-x4,%: Four authors -% mct-x5,%: Five authors -% mct-x6,%: Six authors -%-------------------- -%TYPEFACE FOR AUTHORS IN LIST OF REFERENCES: - %: (def) Normal font for author names -% nmft,nmft-sc,%: Small caps authors -% nmft,nmft-it,%: Italic authors -% nmft,nmft-bf,%: Bold authors -% nmft,nmft-def,%: User defined author font -%-------------------- -%FONT FOR FIRST NAMES (if non-default font for authors) -% %: (def) First names same font as surnames -% fnm-rm,%: First names in normal font -% fnm-def,%: First names in user defined font -%-------------------- -%EDITOR NAMES IN INCOLLECTION ETC: -% %: (def) Editors incollection normal font -% nmfted,%: Editors incollection like authors -%-------------------- -%FONT FOR `AND' IN LIST: -% %: (def) `And' in author font -% nmand-rm,%: `And' in normal font -%-------------------- -%FONT OF CITATION LABELS IN TEXT (if author-year citations) - %: (def) Cited authors plain -% lab,lab-it,%: Cited authors italic -% lab,lab-sc,%: Cited authors small caps -% lab,lab-bf,%: Cited authors bold -% lab,lab-def,%: User defined citation font -%-------------------- -%FONT FOR `AND' IN CITATIONS (if non-default font for citation lables) -% %: (def) Cited `and' in author font -% and-rm,%: Cited `and' in normal font -%-------------------- -%FONT OF EXTRA LABEL (The extra letter on the year) - %: (def) Extra label plain -% xlab-it,%: Extra label italic -%-------------------- -%LABEL WHEN AUTHORS MISSING (if author-year citations) - keyxyr,%: Year blank when KEY replaces missing author -% %: (def) Year included when KEY replaces missing author -%-------------------- -%MISSING DATE (if author-year citations) -% %: (def) Missing date set to ???? - blkyear,%: Missing date left blank -%-------------------- -%DATE POSITION: -% %: (def) Date at end - dt-beg,%: Date after authors -% dt-jnl,%: Date part of journal spec. -% dt-end,%: Date at very end -%-------------------- -%DATE FORMAT (if non author-year citations) -% %: (def) Plain month and year -% yr-par,%: Date in parentheses -% yr-brk,%: Date in brackets -% yr-col,%: Date preceded by colon -% yr-per,%: Date preceded by period -% yr-com,%: Date preceded by comma -% yr-blk,%: Date preceded by space -%-------------------- -%SUPPRESS MONTH: -% %: (def) Date is month and year -% xmth,%: Date is year only -%-------------------- -%REVERSED DATE (if including month) -% %: (def) Date as month year -% dtrev,%: Date as year month -%-------------------- -%DATE FORMAT (if author-year citations) -% %: (def) Year plain - yr-par,%: Year in parentheses -% yr-brk,%: Year in brackets -% yr-col,%: Year preceded by colon -% yr-per,%: Year preceded by period -% yr-com,%: Date preceded by comma -% yr-blk,%: Year preceded by space -%-------------------- -%INCLUDE MONTHS: - %: (def) Date is year only -% aymth,%: Include month in date -%-------------------- -%REVERSED DATE (if including month) -% %: (def) Date as month year -% dtrev,%: Date as year month -%-------------------- -%DATE PUNCTUATION (if date not at end) -% %: (def) Date with standard block punctuation -% yrp-col,%: Colon after date -% yrp-semi,%: Semi-colon after date - yrp-per,%: Period after date -% yrp-x,%: No punct. after date -%-------------------- -%BLANK AFTER DATE: - %: (def) Space after date -% yrpp-xsp,%: No space after date -%-------------------- -%DATE FONT: - %: (def) Date in normal font -% dtbf,%: Date in bold face -%-------------------- -%TRUNCATE YEAR (if author-year citations) - note-yr,%: Year text full -% %: (def) Year truncated -%-------------------- -%TITLE OF ARTICLE: - %: (def) Title plain -% tit-it,%: Title italic -% tit-qq,qt-s,%: Title and punctuation in single quotes -% tit-qq,%: Title and punctuation in double quotes -% tit-qq,qt-g,%: Title and punctuation in guillemets -% tit-qq,qt-s,qx,%: Title in single quotes -% tit-qq,qx,%: Title in double quotes -% tit-qq,qt-g,qx,%: Title in guillemets -%-------------------- -%COLLECTION/PROCEEDINGS TITLES (if quoted title) -% bt-qq,%: Quote collection and proceedings titles -% %: (def) Collection and proceedings titles not in quotes -%-------------------- -%CAPITALIZATION OF ARTICLE TITLE: - %: (def) Sentence style -% atit-u,%: Title style -%-------------------- -%ARTICLE TITLE PRESENT: - %: (def) Article title present -% jtit-x,%: No article title -%-------------------- -%JOURNAL NAMES: - %: (def) Periods in journal names -% jxper,%: Dotless journal names -%-------------------- -%JOURNAL NAME FONT: - %: (def) Journal name italics -% jttl-rm,%: Journal name normal -%-------------------- -%THESIS TITLE: - %: (def) Thesis titles like books -% thtit-a,%: Thesis title like article -% thtit-x,%: No thesis title -%-------------------- -%TECHNICAL REPORT TITLE: -% %: (def) Tech. report title like articles - trtit-b,%: Tech. report title like books -%-------------------- -%TECHNICAL REPORT NUMBER: - %: (def) Tech. report and number plain -% trnum-it,%: Tech. report and number italic -%-------------------- -%JOURNAL VOLUME: - %: (def) Volume plain -% vol-it,%: Volume italic -% vol-bf,%: Volume bold -% vol-2bf,%: Volume and number bold -%-------------------- -%JOURNAL VOL AND NUMBER: - %: (def) Journal vol(num) -% vnum-sp,%: Journal vol (num) -% vnum-cm,%: Journal vol, num -% vnum-nr,%: Journal vol, no. num -% vnum-h,%: Journal vol, \# number -% vnum-b,%: Journal vol number -% vnum-x,%: Journal vol, without number -%-------------------- -%VOLUME PUNCTUATION: - %: (def) Volume with colon -% volp-sp,%: Volume with colon and space -% volp-semi,%: Volume with semi-colon -% volp-com,%: Volume with comma -% volp-blk,%: Volume with blank -%-------------------- -%YEAR IN JOURNAL SPECIFICATION: - %: (def) Journal year like others -% jdt-v,%: Journal vol(year) -% jdt-vs,%: Journal vol (year) -% jdt-p,%: Year with pages -% jdt-pc,%: Year, comma, pages -%-------------------- -%PAGE NUMBERS: - %: (def) Start and stop page numbers -% jpg-1,%: Only start page number -%-------------------- -%LARGE PAGE NUMBERS: - %: (def) No separators for large page numbers -% pgsep-c,%: Comma inserted over 9999 -% pgsep-s,%: Thin space inserted over 9999 -% pgsep-p,%: Period inserted over 9999 -%-------------------- -%WORD `PAGE' IN ARTICLES: - %: (def) Article pages numbers only -% jwdpg,%: Include `page' in articles -%-------------------- -%POSITION OF PAGES: - %: (def) Pages given mid text -% pp-last,%: Pages at end -%-------------------- -%WORD `VOLUME' IN ARTICLES: - %: (def) Article volume as number only -% jwdvol,%: Include `volume' in articles -%-------------------- -%NUMBER AND SERIES FOR COLLECTIONS: - num-xser,%: Allows number without series -% %: (def) Standard BibTeX -%-------------------- -%POSITION OF NUMBER AND SERIES: -% %: (def) After chapter and pages - numser,%: Just before publisher -%-------------------- -%VOLUME AND SERIES FOR BOOKS/COLLECTIONS: - %: (def) Vol. 23 of Series -% ser-vol,%: Series, vol. 23 -%-------------------- -%POSITION OF VOLUME AND SERIES FOR INCOLLECTIONS: -% %: (def) Series and volume after the editors - ser-ed,%: Series and volume after booktitle -%-------------------- -%JOURNAL NAME PUNCTUATION: - %: (def) Comma after journal -% jnm-x,%: Space after journal -%-------------------- -%BOOK TITLE: - %: (def) Book title italic -% btit-rm,bt-rm,%: Book title plain -%-------------------- -%PAGES IN BOOKS: - %: (def) Pages in book plain -% bkpg-par,%: Pages in book in parentheses -% bkpg-x,%: Pages in book bare -%-------------------- -%TOTAL PAGES OF A BOOK: - %: (def) Total book pages not printed -% pg-bk,%: For book: 345 pages -% pg-bk,pg-pre,%: Total book pages before publisher -%-------------------- -%PUBLISHER ADDRESS: - %: (def) Publisher, address -% add-pub,%: Address: Publisher -%-------------------- -%PUBLISHER IN PARENTHESES: - %: (def) Publisher as normal block -% pub-par,%: Publisher in parentheses -% pub-date,%: Publisher and date in parentheses -% pub-date,pub-xc,%: Publisher and date in parentheses, no comma -% pub-date,pub-xpar,%: Publisher and date without parentheses -% pub-date,pub-xpar,pub-xc,%: Publisher and date, no parentheses, no comma -%-------------------- -%PUBLISHER POSITION: -% %: (def) Publisher after chapter, pages -% pre-pub,%: Publisher before chapter, pages - pre-edn,%: Publisher after edition -%-------------------- -%ISBN NUMBER: - isbn,%: Include ISBN -% %: (def) No ISBN -%-------------------- -%ISSN NUMBER: -% issn,%: Include ISSN - %: (def) No ISSN -%-------------------- -%DOI NUMBER: -% doi,%: Include DOI - url-doi,%: Format DOI as URL //dx.doi.org/doi -% agu-doi,doi,%: Insert DOI AGU style -% %: (def) No DOI -%-------------------- -%`EDITOR' AFTER NAMES (EDITED BOOKS WITHOUT AUTHORS): - %: (def) Word `editor' after name -% edpar,%: `Name (editor),' -% edpar,bkedcap,%: `Name (Editor),' -% edparc,%: `Name, (editor)' -% edparc,bkedcap,%: `Name, (Editor)' -% edparxc,%: `Name (editor)' -% edparxc,bkedcap,%: `Name (Editor)' -%-------------------- -%EDITOR IN COLLECTIONS: - %: (def) Same as for edited book -% edby,%: In booktitle, edited by .. -% edby-par,%: In booktitle (edited by ..) -% edby-parc,%: In booktitle, (edited by ..) -% edby,edbyx,%: In booktitle, editor .. -% edby,edbyw,%: In booktitle, (editor) .. -% edby-par,edbyx,%: In booktitle (editor..) -% edby-parc,edbyx,%: In booktitle, (editor..) -% edby,edbyy,%: In booktitle, .., editor -% edby-par,edbyy,%: In booktitle (.., editor) -%-------------------- -%CAPITALIZE `EDITOR' OR `EDITED BY' (if editor capitalizable) -% %: (def) `(editor,..)' or `(edited by..)' -% edcap,%: `(Editor,..)' or `(Edited by..)' -%-------------------- -%PUNCTUATION BETWEEN SECTIONS (BLOCKS): - %: (def) \newblock after blocks -% blk-com,%: Comma between blocks -% blk-com,com-semi,%: Semi-colon between blocks -% blk-com,com-blank,%: Blanks between blocks -% blk-tit,%: Period after titles of articles, books, etc -% blk-tit,tit-col,%: Colon after titles of articles, books, etc -% blk-tita,%: Period after titles of articles -% blk-tita,tit-col,%: Colon after titles of articles -%-------------------- -%PUNCTUATION BEFORE NOTES (if not using \newblock) -% %: (def) Notes have regular punctuation -% blknt,%: Notes preceded by period -%-------------------- -%PUNCTUATION AFTER AUTHORS: - %: (def) Author block normal -% au-col,%: Author block with colon -%-------------------- -%PUNCTUATION AFTER `IN': - %: (def) Space after `in' -% in-col,%: Colon after `in' -% in-it,%: Italic `in' -% in-col,in-it,%: Italic `in' and colon -% in-x,%: No word `in' -%-------------------- -%`IN' WITH JOURNAL NAMES (if using 'in' with collections) - %: (def) No `in' before journal name -% injnl,%: Add `in' before journal name -%-------------------- -%FINAL PUNCTUATION: - %: (def) Period at very end -% fin-bare,%: No period at end -%-------------------- -%ABBREVIATE WORD `PAGES' (if not using external language file) -% %: (def) `Page(s)' -% pp,%: `Page' abbreviated -% ppx,%: `Page' omitted -%-------------------- -%ABBREVIATE WORD `EDITORS': -% %: (def) `Editor(s)' -% ed,%: `Editor' abbreviated -%-------------------- -%OTHER ABBREVIATIONS: -% %: (def) No abbreviations -% abr,%: Abbreviations -%-------------------- -%ABBREVIATION FOR `EDITION' (if abbreviating words) -% %: (def) `Edition' abbreviated as `edn' -% ednx,%: `Edition' abbreviated as `ed' -%-------------------- -%MONTHS WITH DOTS: -% %: (def) Months with dots -% mth-bare,%: Months without dots -%-------------------- -%EDITION NUMBERS: -% xedn,%: Editions as in database -% %: (def) Write out editions -% ord,%: Numerical editions -%-------------------- -%Reading external language file \cfile=cjs-rcs-english.mbs - english,%: English language -%ABBREVIATE WORD `PAGES' - %: (def) `Page(s)' -% pp,%: `Page' abbreviated -% ppx,%: `Page' omitted -%-------------------- -%ABBREVIATE WORD `EDITORS': - %: (def) `Editor(s)' -% ed,%: `Editor' abbreviated -%-------------------- -%OTHER ABBREVIATIONS: -% %: (def) No abbreviations - abr,%: Abbreviations -%-------------------- -%ABBREVIATION FOR `EDITION' (if abbreviating words) -% %: (def) `Edition' abbreviated as `edn' - ednx,%: `Edition' abbreviated as `ed' -%-------------------- -%MONTHS WITH DOTS: - %: (def) Months with dots -% mth-bare,%: Months without dots -%-------------------- -%EDITION NUMBERS: -% xedn,%: Editions as in database -% %: (def) Write out editions - ord,%: Numerical editions -%-------------------- -%STORED JOURNAL NAMES: - %: (def) Full journal names -% jabr,%: Abbreviated journal names -% jabr,jaa,%: Abbreviated with astronomy shorthands -%-------------------- -%AMPERSAND: - %: (def) Use word `and' -% amper,%: Use ampersand -% varand,%: Use \BIBand -%-------------------- -%COMMA BEFORE `AND': - %: (def) Comma before `and' -% and-xcom,%: No comma before `and' -% and-com,%: Comma even with 2 authors -%-------------------- -%COMMA BEFORE `AND' EVEN FOR COLLECTION EDITORS (if using comma before `and' with authors) -% and-com-ed,%: Comma with 2 editors -% %: (def) Two editors without comma -%-------------------- -%NO `AND' IN REFERENCE LIST: - %: (def) With `and' -% xand,%: No `and' -%-------------------- -%COMMA BEFORE `ET AL': -% %: (def) Comma before `et al' - etal-xc,%: No comma before `et al' -%-------------------- -%FONT OF `ET AL': - %: (def) Plain et al -% etal-it,%: Italic et al -% etal-rm,%: Roman et al -%-------------------- -%ADDITIONAL REVTeX DATA FIELDS: - %: (def) No additional fields -% revdata,eprint,url,url-blk,%: Include REVTeX data fields -%-------------------- -%E-PRINT DATA FIELD: (without REVTeX fields) - %: (def) Do not include eprint field -% eprint,%: Include eprint and archive fields -%-------------------- -%URL ADDRESS: (without REVTeX fields) -% %: (def) No URL - url,url-blk,%: Include URL -% url,url-nt,%: URL as note -% url,url-nl,%: URL on new line -%-------------------- -%REFERENCE COMPONENT TAGS: - %: (def) No reference component tags -% bibinfo,%: Reference component tags -%-------------------- -%EMPHASIS: (affects all so-called italics) - %: (def) Use emphasis -% em-it,%: Use true italics -% em-x,%: No italics -% em-ul,%: Underlining -%-------------------- -%COMPATIBILITY WITH PLAIN TEX: - nfss,%: Use LaTeX commands -% plntx,%: Use only Plain TeX -%-------------------- -,{% - }} -\generate{\file{cjs-rcs-en.bst}{\MBopts}} -\endbatchfile diff --git a/Master/texmf-dist/doc/latex/cjs-rcs-article/cjs-rcs-bst-fr.dbj b/Master/texmf-dist/doc/latex/cjs-rcs-article/cjs-rcs-bst-fr.dbj deleted file mode 100644 index 3ae793cf2bf..00000000000 --- a/Master/texmf-dist/doc/latex/cjs-rcs-article/cjs-rcs-bst-fr.dbj +++ /dev/null @@ -1,603 +0,0 @@ -%% Driver file to produce cjs-rcs-fr.bst from cjs-rcs-merlin.mbs -%% Originally generated with makebst, version 4.1 (2003/09/08), -%% on 2023/10/11 at 12:01, then hand edited by Vincent Goulet. -%% -\input docstrip - -\preamble - -Copyright (C) 2023 Statistical Society of Canada | Société -canadienne de statistique - -This file may be distributed and/or modified under the conditions -of the LaTeX Project Public License, either version 1.3c of this -license or (at your option) any later version. The latest version -of this license is in: - - https://www.latex-project.org/lppl.txt - -This work has the LPPL maintenance status `maintained'. - -The Current Maintainer of this work is Vincent Goulet -<vincent.goulet@act.ulaval.ca>. - -This work consists of the master bibliographic style file -cjs-rcs-merlin.mbs, the language definition file cjs-rcs-french.mbs, -the driver file cjs-rcs-fr.dbj, and the derived file cjs-rcs-fr.bst. - -\endpreamble - -\postamble -End of customized bst file -\endpostamble - -\keepsilent - -\askforoverwritefalse -\def\MBopts{\from{cjs-rcs-merlin.mbs}{% -%EXTERNAL FILES: -%Name of language file: \cfile=cjs-rcs-french.mbs. -%No included files. - head,\MBopta} -\from{cjs-rcs-french.mbs}{\MBopta} -\from{cjs-rcs-merlin.mbs}{tail,\MBopta}} -\def\MBopta{% -%INTERNAL LANGUAGE SUPPORT (if no external language file) -% %: (def) English -% babel,%: Babel -%-------------------- - exlang,%: External language file -%STYLE OF CITATIONS: -% %: (def) Numerical - ay,%: Author-year -% alph,%: Alpha style, Jon90 or JWB90 -% alph,alf-1,%: Alpha style, Jon90 -% alph,alf-f,%: Alpha style, Jones90 -% cite,%: Cite key -%-------------------- -%HTML OUTPUT (if non author-year citations) -% %: (def) Normal LaTeX -% html,%: Hypertext -% html,htlist,%: Hypertext list -% html,htdes,%: Hypertext with keys -%-------------------- -%AUTHOR--YEAR SUPPORT SYSTEM (if author-year citations) - nat,%: Natbib -% %: (def) Older Natbib -% alk,%: Apalike -% har,%: Harvard -% ast,%: Astronomy -% cay,%: Chicago -% nmd,%: Named -% cn,%: Author-date -%-------------------- -%HARVARD EXTENSIONS INCLUDED (if Harvard support selected) -% harnm,%: With Harvard extensions -% %: (def) Older Harvard -%-------------------- -%LANGUAGE FIELD -% %: (def) No language field - lang,%: Add language field -%-------------------- -%ANNOTATIONS: - %: (def) No annotations -% annote,%: Annotations -%-------------------- -%PRESENTATIONS: - %: (def) Do not add presentation type -% pres,%: Add presentation, speaker not highlighted -% pres,pres-bf,%: Presentation, speaker bold face -% pres,pres-it,%: Presentaion, speaker italic -% pres,pres-sc,%: Presentaion, speaker in small caps -%-------------------- -%ORDERING OF REFERENCES (if non-author/year and non-alph) -% %: (def) Alphabetical -% seq-no,%: Citation order -% seq-yr,%: Year ordered -% seq-yrr,%: Reverse year ordered -%-------------------- -%ORDERING OF REFERENCES (if author-year citations) - %: (def) Alphabetical -% seq-lab,%: By label -% seq-labc,%: By label and cite order -% seq-key,%: By label and cite key -% seq-yr,%: Year ordered -% seq-yrr,%: Reverse year ordered -% seq-no,%: Citation order -%-------------------- -%ORDER ON VON PART (if not citation order) -% %: (def) Sort on von part - vonx,%: Sort without von part -%-------------------- -%IGNORE FIRST NAMES (if author-year citations) - %: (def) Respect first names -% xintls,%: Sort on surname only -%-------------------- -%AUTHOR NAMES: -% ed-au,%: Full, surname last -% nm-revf,%: Full, surname first -% nm-init,ed-au,%: Initials + surname -% nm-rev,%: Surname + initials -% nm-rv,%: Surname + dotless initials -% nm-rvvc,%: Surname + comma + spaceless initials -% nm-rvx,%: Surname + pure initials -% nm-rvcx,%: Surname + comma + pure initials -% nm-rvv,%: Surname + spaceless initials - nm-rev1,%: Only first name reversed, initials -% nm-revv1,%: First name reversed, with full names -%-------------------- -%EDITOR NAMES IN COLLECTIONS (if author names reversed) - %: (def) Editor names NOT reversed -% ed-rev,%: Editor names reversed -%-------------------- -%POSITION OF JUNIOR (if author names reversed) - jnrlst,%: Junior comes last -% %: (def) Junior between -%-------------------- -%JUNIOR PART IN THE CITATION (if author-year citations) - %: (def) No `junior' part in the citations -% jnrlab,%: `Junior' in citations -%-------------------- -%PUNCTUATION BETWEEN AUTHOR NAMES: - %: (def) Author names separated by commas -% aunm-semi,%: Names separated by semi-colon -% aunm-sl,%: Names separated by slash -%-------------------- -%ADJACENT REFERENCES WITH REPEATED NAMES: - %: (def) Author/editor names always present -% nmdash,%: Repeated author/editor names replaced by dash -% nmdash,nmd-2,%: Repeated author/editor names replaced by 2 dashes -% nmdash,nmd-3,%: Repeated author/editor names replaced by 3 dashes -%-------------------- -%NUMBER OF AUTHORS IN BIBLIOGRAPHY: - %: (def) All authors -% nmlm,%: Limited authors -%-------------------- -%AUTHORS IN CITATIONS: - %: (def) One author et al -% mcite,%: Some other truncation scheme -%-------------------- -%MAX AUTHORS BEFORE ET AL: (if regular cite not selected) -% mct-1,%: One et al -% mct-2,%: One, Two et al -% mct-3,%: One, Two, Three et al -% mct-4,%: One, Two, Three, Four et al -% mct-5,%: One, Two, Three, Four, Five et al -% mct-6,%: One, Two, Three, Four, Five, Six et al -%-------------------- -%MAX AUTHORS WITHOUT ET AL: (if regular cite not selected) -% mct-x2,%: Two authors without truncating -% mct-x3,%: Three authors -% mct-x4,%: Four authors -% mct-x5,%: Five authors -% mct-x6,%: Six authors -%-------------------- -%TYPEFACE FOR AUTHORS IN LIST OF REFERENCES: - %: (def) Normal font for author names -% nmft,nmft-sc,%: Small caps authors -% nmft,nmft-it,%: Italic authors -% nmft,nmft-bf,%: Bold authors -% nmft,nmft-def,%: User defined author font -%-------------------- -%FONT FOR FIRST NAMES (if non-default font for authors) -% %: (def) First names same font as surnames -% fnm-rm,%: First names in normal font -% fnm-def,%: First names in user defined font -%-------------------- -%EDITOR NAMES IN INCOLLECTION ETC: -% %: (def) Editors incollection normal font -% nmfted,%: Editors incollection like authors -%-------------------- -%FONT FOR `AND' IN LIST: -% %: (def) `And' in author font -% nmand-rm,%: `And' in normal font -%-------------------- -%FONT OF CITATION LABELS IN TEXT (if author-year citations) - %: (def) Cited authors plain -% lab,lab-it,%: Cited authors italic -% lab,lab-sc,%: Cited authors small caps -% lab,lab-bf,%: Cited authors bold -% lab,lab-def,%: User defined citation font -%-------------------- -%FONT FOR `AND' IN CITATIONS (if non-default font for citation lables) -% %: (def) Cited `and' in author font -% and-rm,%: Cited `and' in normal font -%-------------------- -%FONT OF EXTRA LABEL (The extra letter on the year) - %: (def) Extra label plain -% xlab-it,%: Extra label italic -%-------------------- -%LABEL WHEN AUTHORS MISSING (if author-year citations) - keyxyr,%: Year blank when KEY replaces missing author -% %: (def) Year included when KEY replaces missing author -%-------------------- -%MISSING DATE (if author-year citations) -% %: (def) Missing date set to ???? - blkyear,%: Missing date left blank -%-------------------- -%DATE POSITION: -% %: (def) Date at end - dt-beg,%: Date after authors -% dt-jnl,%: Date part of journal spec. -% dt-end,%: Date at very end -%-------------------- -%DATE FORMAT (if non author-year citations) -% %: (def) Plain month and year -% yr-par,%: Date in parentheses -% yr-brk,%: Date in brackets -% yr-col,%: Date preceded by colon -% yr-per,%: Date preceded by period -% yr-com,%: Date preceded by comma -% yr-blk,%: Date preceded by space -%-------------------- -%SUPPRESS MONTH: -% %: (def) Date is month and year -% xmth,%: Date is year only -%-------------------- -%REVERSED DATE (if including month) -% %: (def) Date as month year -% dtrev,%: Date as year month -%-------------------- -%DATE FORMAT (if author-year citations) -% %: (def) Year plain -% yr-par,%: Year in parentheses -% yr-brk,%: Year in brackets -% yr-col,%: Year preceded by colon - yr-per,%: Year preceded by period -% yr-com,%: Date preceded by comma -% yr-blk,%: Year preceded by space -%-------------------- -%INCLUDE MONTHS: - %: (def) Date is year only -% aymth,%: Include month in date -%-------------------- -%REVERSED DATE (if including month) -% %: (def) Date as month year -% dtrev,%: Date as year month -%-------------------- -%DATE PUNCTUATION (if date not at end) - %: (def) Date with standard block punctuation -% yrp-col,%: Colon after date -% yrp-semi,%: Semi-colon after date -% yrp-per,%: Period after date -% yrp-x,%: No punct. after date -%-------------------- -%BLANK AFTER DATE: - %: (def) Space after date -% yrpp-xsp,%: No space after date -%-------------------- -%DATE FONT: - %: (def) Date in normal font -% dtbf,%: Date in bold face -%-------------------- -%TRUNCATE YEAR (if author-year citations) - note-yr,%: Year text full -% %: (def) Year truncated -%-------------------- -%TITLE OF ARTICLE: -% %: (def) Title plain -% tit-it,%: Title italic -% tit-qq,qt-s,%: Title and punctuation in single quotes -% tit-qq,%: Title and punctuation in double quotes -% tit-qq,qt-g,%: Title and punctuation in guillemets -% tit-qq,qt-s,qx,%: Title in single quotes -% tit-qq,qx,%: Title in double quotes - tit-qq,qt-g,qx,%: Title in guillemets -%-------------------- -%COLLECTION/PROCEEDINGS TITLES (if quoted title) -% bt-qq,%: Quote collection and proceedings titles - %: (def) Collection and proceedings titles not in quotes -%-------------------- -%CAPITALIZATION OF ARTICLE TITLE: - %: (def) Sentence style -% atit-u,%: Title style -%-------------------- -%ARTICLE TITLE PRESENT: - %: (def) Article title present -% jtit-x,%: No article title -%-------------------- -%JOURNAL NAMES: - %: (def) Periods in journal names -% jxper,%: Dotless journal names -%-------------------- -%JOURNAL NAME FONT: - %: (def) Journal name italics -% jttl-rm,%: Journal name normal -%-------------------- -%THESIS TITLE: - %: (def) Thesis titles like books -% thtit-a,%: Thesis title like article -% thtit-x,%: No thesis title -%-------------------- -%TECHNICAL REPORT TITLE: -% %: (def) Tech. report title like articles - trtit-b,%: Tech. report title like books -%-------------------- -%TECHNICAL REPORT NUMBER: - %: (def) Tech. report and number plain -% trnum-it,%: Tech. report and number italic -%-------------------- -%JOURNAL VOLUME: - %: (def) Volume plain -% vol-it,%: Volume italic -% vol-bf,%: Volume bold -% vol-2bf,%: Volume and number bold -%-------------------- -%JOURNAL VOL AND NUMBER: -% %: (def) Journal vol(num) -% vnum-sp,%: Journal vol (num) -% vnum-cm,%: Journal vol, num - vnum-nr,%: Journal vol, no. num -% vnum-h,%: Journal vol, \# number -% vnum-b,%: Journal vol number -% vnum-x,%: Journal vol, without number -%-------------------- -%VOLUME PUNCTUATION: -% %: (def) Volume with colon -% volp-sp,%: Volume with colon and space -% volp-semi,%: Volume with semi-colon - volp-com,%: Volume with comma -% volp-blk,%: Volume with blank -%-------------------- -%YEAR IN JOURNAL SPECIFICATION: - %: (def) Journal year like others -% jdt-v,%: Journal vol(year) -% jdt-vs,%: Journal vol (year) -% jdt-p,%: Year with pages -% jdt-pc,%: Year, comma, pages -%-------------------- -%PAGE NUMBERS: - %: (def) Start and stop page numbers -% jpg-1,%: Only start page number -%-------------------- -%LARGE PAGE NUMBERS: -% %: (def) No separators for large page numbers -% pgsep-c,%: Comma inserted over 9999 - pgsep-s,%: Thin space inserted over 9999 -% pgsep-p,%: Period inserted over 9999 -%-------------------- -%WORD `PAGE' IN ARTICLES: -% %: (def) Article pages numbers only - jwdpg,%: Include `page' in articles -%-------------------- -%POSITION OF PAGES: - %: (def) Pages given mid text -% pp-last,%: Pages at end -%-------------------- -%WORD `VOLUME' IN ARTICLES: -% %: (def) Article volume as number only - jwdvol,%: Include `volume' in articles -%-------------------- -%NUMBER AND SERIES FOR COLLECTIONS: - num-xser,%: Allows number without series -% %: (def) Standard BibTeX -%-------------------- -%POSITION OF NUMBER AND SERIES: -% %: (def) After chapter and pages - numser,%: Just before publisher -%-------------------- -%VOLUME AND SERIES FOR BOOKS/COLLECTIONS: -% %: (def) Vol. 23 of Series - ser-vol,%: Series, vol. 23 -%-------------------- -%POSITION OF VOLUME AND SERIES FOR INCOLLECTIONS: -% %: (def) Series and volume after the editors - ser-ed,%: Series and volume after booktitle -%-------------------- -%JOURNAL NAME PUNCTUATION: - %: (def) Comma after journal -% jnm-x,%: Space after journal -%-------------------- -%BOOK TITLE: - %: (def) Book title italic -% btit-rm,bt-rm,%: Book title plain -%-------------------- -%PAGES IN BOOKS: - %: (def) Pages in book plain -% bkpg-par,%: Pages in book in parentheses -% bkpg-x,%: Pages in book bare -%-------------------- -%TOTAL PAGES OF A BOOK: -% %: (def) Total book pages not printed - pg-bk,%: For book: 345 pages -% pg-bk,pg-pre,%: Total book pages before publisher -%-------------------- -%PUBLISHER ADDRESS: - %: (def) Publisher, address -% add-pub,%: Address: Publisher -%-------------------- -%PUBLISHER IN PARENTHESES: - %: (def) Publisher as normal block -% pub-par,%: Publisher in parentheses -% pub-date,%: Publisher and date in parentheses -% pub-date,pub-xc,%: Publisher and date in parentheses, no comma -% pub-date,pub-xpar,%: Publisher and date without parentheses -% pub-date,pub-xpar,pub-xc,%: Publisher and date, no parentheses, no comma -%-------------------- -%PUBLISHER POSITION: -% %: (def) Publisher after chapter, pages - pre-pub,%: Publisher before chapter, pages - pre-edn,%: Publisher after edition -%-------------------- -%ISBN NUMBER: - isbn,%: Include ISBN -% %: (def) No ISBN -%-------------------- -%ISSN NUMBER: -% issn,%: Include ISSN - %: (def) No ISSN -%-------------------- -%DOI NUMBER: -% doi,%: Include DOI - url-doi,%: Format DOI as URL //doi.org/doi -% agu-doi,doi,%: Insert DOI AGU style -% %: (def) No DOI -%-------------------- -%`EDITOR' AFTER NAMES (EDITED BOOKS WITHOUT AUTHORS): -% %: (def) Word `editor' after name -% edpar,%: `Name (editor),' -% edpar,bkedcap,%: `Name (Editor),' -% edparc,%: `Name, (editor)' -% edparc,bkedcap,%: `Name, (Editor)' - edparxc,%: `Name (editor)' -% edparxc,bkedcap,%: `Name (Editor)' -%-------------------- -%EDITOR IN COLLECTIONS: -% %: (def) Same as for edited book - edby,%: In booktitle, edited by .. -% edby-par,%: In booktitle (edited by ..) -% edby-parc,%: In booktitle, (edited by ..) -% edby,edbyx,%: In booktitle, editor .. -% edby,edbyw,%: In booktitle, (editor) .. -% edby-par,edbyx,%: In booktitle (editor..) -% edby-parc,edbyx,%: In booktitle, (editor..) -% edby,edbyy,%: In booktitle, .., editor -% edby-par,edbyy,%: In booktitle (.., editor) -%-------------------- -%CAPITALIZE `EDITOR' OR `EDITED BY' (if editor capitalizable) -% %: (def) `(editor,..)' or `(edited by..)' -% edcap,%: `(Editor,..)' or `(Edited by..)' -%-------------------- -%PUNCTUATION BETWEEN SECTIONS (BLOCKS): -% %: (def) \newblock after blocks - blk-com,%: Comma between blocks -% blk-com,com-semi,%: Semi-colon between blocks -% blk-com,com-blank,%: Blanks between blocks -% blk-tit,%: Period after titles of articles, books, etc -% blk-tit,tit-col,%: Colon after titles of articles, books, etc -% blk-tita,%: Period after titles of articles -% blk-tita,tit-col,%: Colon after titles of articles -%-------------------- -%PUNCTUATION BEFORE NOTES (if not using \newblock) -% %: (def) Notes have regular punctuation - blknt,%: Notes preceded by period -%-------------------- -%PUNCTUATION AFTER AUTHORS: - %: (def) Author block normal -% au-col,%: Author block with colon -%-------------------- -%PUNCTUATION AFTER `IN': - %: (def) Space after `in' -% in-col,%: Colon after `in' -% in-it,%: Italic `in' -% in-col,in-it,%: Italic `in' and colon -% in-x,%: No word `in' -%-------------------- -%`IN' WITH JOURNAL NAMES (if using 'in' with collections) - %: (def) No `in' before journal name -% injnl,%: Add `in' before journal name -%-------------------- -%FINAL PUNCTUATION: - %: (def) Period at very end -% fin-bare,%: No period at end -%-------------------- -%ABBREVIATE WORD `PAGES' (if not using external language file) -% %: (def) `Page(s)' -% pp,%: `Page' abbreviated -% ppx,%: `Page' omitted -%-------------------- -%ABBREVIATE WORD `EDITORS': -% %: (def) `Editor(s)' -% ed,%: `Editor' abbreviated -%-------------------- -%OTHER ABBREVIATIONS: -% %: (def) No abbreviations -% abr,%: Abbreviations -%-------------------- -%ABBREVIATION FOR `EDITION' (if abbreviating words) -% %: (def) `Edition' abbreviated as `edn' -% ednx,%: `Edition' abbreviated as `ed' -%-------------------- -%MONTHS WITH DOTS: -% %: (def) Months with dots -% mth-bare,%: Months without dots -%-------------------- -%EDITION NUMBERS: -% xedn,%: Editions as in database -% %: (def) Write out editions -% ord,%: Numerical editions -%-------------------- -%Reading external language file \cfile=cjs-rcs-french.mbs - french,%: French language -%ABBREVIATE WORD `PAGES': -% %: (def) `Page(s)' - pp,%: `Page' abbreviated -% ppx,%: `Page' omitted -%-------------------- -%ABBREVIATE WORD `EDITEUR: -% %: (def) `\'Editeur(s)' - ed,%: `\'Editeur' abbreviated -%-------------------- -%OTHER ABBREVIATIONS: -% %: (def) No abbreviations - abr,%: Abbreviations -%-------------------- -%EDITION NUMBERS: -% xedn,%: Editions as in database -% %: (def) Write out editions - ord,%: Numerical editions -%-------------------- -%STORED JOURNAL NAMES: - %: (def) Full journal names -% jabr,%: Abbreviated journal names -% jabr,jaa,%: Abbreviated with astronomy shorthands -%-------------------- -%AMPERSAND: - %: (def) Use word `and' -% amper,%: Use ampersand -% varand,%: Use \BIBand -%-------------------- -%COMMA BEFORE `AND': -% %: (def) Comma before `and' - and-xcom,%: No comma before `and' -% and-com,%: Comma even with 2 authors -%-------------------- -%COMMA BEFORE `AND' EVEN FOR COLLECTION EDITORS (if using comma before `and' with authors) -% and-com-ed,%: Comma with 2 editors -% %: (def) Two editors without comma -%-------------------- -%NO `AND' IN REFERENCE LIST: - %: (def) With `and' -% xand,%: No `and' -%-------------------- -%COMMA BEFORE `ET AL': -% %: (def) Comma before `et al' - etal-xc,%: No comma before `et al' -%-------------------- -%FONT OF `ET AL': - %: (def) Plain et al -% etal-it,%: Italic et al -% etal-rm,%: Roman et al -%-------------------- -%ADDITIONAL REVTeX DATA FIELDS: - %: (def) No additional fields -% revdata,eprint,url,url-blk,%: Include REVTeX data fields -%-------------------- -%E-PRINT DATA FIELD: (without REVTeX fields) - %: (def) Do not include eprint field -% eprint,%: Include eprint and archive fields -%-------------------- -%URL ADDRESS: (without REVTeX fields) -% %: (def) No URL - url,url-blk,%: Include URL -% url,url-nt,%: URL as note -% url,url-nl,%: URL on new line -%-------------------- -%REFERENCE COMPONENT TAGS: - %: (def) No reference component tags -% bibinfo,%: Reference component tags -%-------------------- -%EMPHASIS: (affects all so-called italics) - %: (def) Use emphasis -% em-it,%: Use true italics -% em-x,%: No italics -% em-ul,%: Underlining -%-------------------- -%COMPATIBILITY WITH PLAIN TEX: - nfss,%: Use LaTeX commands -% plntx,%: Use only Plain TeX -%-------------------- -,{% - }} -\generate{\file{cjs-rcs-fr.bst}{\MBopts}} -\endbatchfile diff --git a/Master/texmf-dist/doc/latex/cjs-rcs-article/cjs-rcs-class.dbj b/Master/texmf-dist/doc/latex/cjs-rcs-article/cjs-rcs-class.dbj deleted file mode 100644 index c987b1e6a7d..00000000000 --- a/Master/texmf-dist/doc/latex/cjs-rcs-article/cjs-rcs-class.dbj +++ /dev/null @@ -1,39 +0,0 @@ -\input docstrip.tex -\keepsilent -\askforoverwritefalse -\nopostamble -\preamble - -This is a generated file. - -Copyright (C) 2023 Statistical Society of Canada | Société -canadienne de statistique - -This file may be distributed and/or modified under the conditions -of the LaTeX Project Public License, either version 1.3c of this -license or (at your option) any later version. The latest version -of this license is in: - - https://www.latex-project.org/lppl.txt - -and version 1.3c or later is part of all distributions of LaTeX -version 2006/05/20 or later. - -This work has the LPPL maintenance status `maintained'. - -The Current Maintainer of this work is Vincent Goulet -<vincent.goulet@act.ulaval.ca>. - -This work consists of the file cjs-rcs-article.dtx and the derived -files cjs-rcs-article.cls, cjs-rcs-article-fr.tex, cjs-template.tex -and rcs-gabarit.tex. - -\endpreamble - -\generate{ - \file{cjs-rcs-article.cls}{\from{cjs-rcs-article.dtx}{class}} - \file{cjs-rcs-article-fr.tex}{\nopreamble\from{cjs-rcs-article.dtx}{fr-doc}} - \file{cjs-template.tex}{\nopreamble\from{cjs-rcs-article.dtx}{template,en}} - \file{rcs-gabarit.tex}{\nopreamble\from{cjs-rcs-article.dtx}{template,fr}} -} -\endbatchfile diff --git a/Master/texmf-dist/doc/latex/cjs-rcs-article/cjs-rcs-english.mbs b/Master/texmf-dist/doc/latex/cjs-rcs-article/cjs-rcs-english.mbs deleted file mode 100644 index e786d500bde..00000000000 --- a/Master/texmf-dist/doc/latex/cjs-rcs-article/cjs-rcs-english.mbs +++ /dev/null @@ -1,420 +0,0 @@ -% \iffalse meta-comment -*- mode: doctex -*- -% -% English language definition file of the master bibliography style -% for The Canadian Journal of Statistics | La revue canadienne de -% statistique -% -% Copyright (C) 2023 Statistical Society of Canada | Société -% canadienne de statistique -% -% This file may be distributed and/or modified under the conditions -% of the LaTeX Project Public License, either version 1.3c of this -% license or (at your option) any later version. The latest version -% of this license is in: -% -% https://www.latex-project.org/lppl.txt -% -% This work has the LPPL maintenance status `maintained'. -% -% The Current Maintainer of this work is Vincent Goulet -% <vincent.goulet@act.ulaval.ca>. -% -% This work derives from english.mbs, part of the custom-bib -% collection, a contribution to the LaTeX2e system. -% Copyright 1994-2002 Patrick W Daly -% Max-Planck-Institut f\"ur Sonnensystemforschung -% Max-Planck-Str. 2 -% D-37191 Katlenburg-Lindau -% Germany -% E-mail: daly@mps.mpg.de -% - %------------------------------------------------------------------- - % Begin module: -%\fi - % \ProvidesFile{cjs-rcs-english.mbs}[2023/11/29 v1.0 (VG, PWD)] -%\iffalse -%<*a&!a> -% The following ensures that the driver part is not seen by makebst -% The driver part must not contain any \end other than \end{document} ! -\ifx\endoptions\undefined\let\tempx=\relax\else - \long\def\tempx#1\end#2{}\fi\tempx -%</a&!a> -%<*driver> -\NeedsTeXFormat{LaTeX2e}% -\documentclass[nocjs,x11names,french,english]{cjs-rcs-article} - - %% Loading doc.sty creates some conflicts with the class and memoir. We - %% need to: - %% - %% - keep a copy of the class' \maketitle command; - %% - undefine the 'glossary' environment created by memoir; - %% - restore the standard LaTeX commands for the glossary that - %% doc.sty relies upon. - \let\makeCJStitle\maketitle % keep class definition - \let\theglossary\relax % avoid conflict with doc.sty - \let\endtheglossary\relax % avoid conflict with doc.sty - \makeatletter - \def\makeglossary{% - \newwrite\@glossaryfile - \immediate\openout\@glossaryfile=\jobname.glo - \def\glossary{\@bsphack\begingroup - \@sanitize - \@wrglossary}\typeout - {Writing glossary file \jobname.glo }% - \let\makeglossary\@empty - } - \@onlypreamble\makeglossary - \def\@wrglossary#1{% - \protected@write\@glossaryfile{}% - {\string\glossaryentry{#1}{\thepage}}% - \endgroup - \@esphack} - \def\glossary{\@bsphack\begingroup\@sanitize\@index} - \@twosidefalse\@mparswitchfalse % turn off twoside option - \makeatother - \usepackage{doc} - \def\changes#1#2#3{\glossary{#1>#3}} % simplified - \DisableCrossrefs - \CodelineNumbered - \RecordChanges - \OnlyDescription - \DontCheckModules - - \AtEndPreamble{% - \hypersetup{% - pdfauthor = {Statistical Society of Canada}, - pdftitle = {French language definition file cjs-rcs-french.mbs}}} - - %% Configuration of the glossary - \addto\extrasenglish{% - \def\glossaryname{Version history}} - \GlossaryPrologue{\section*{\glossaryname}% - \addcontentsline{toc}{section}{\glossaryname}} - \setlength{\GlossaryMin}{5cm} - - %% Additional semantic typesetting - \newcommand*\class[1]{\textsf{#1}} - \newcommand*\dtx{\textsf{docstrip}} - - %% Name of the journal - \makeatletter - \newcommand*\TheCJS{\@ifstar{\emph{The Journal}}{\emph{\CJS@journalname@en}}} - \newcommand*\LaRevue{\@ifstar{\emph{La revue}}{\emph{\CJS@journalname@fr}}} - \newcommand*\CJSclass{\class{cjs-rcs-article}} - \newcommand*\CJSbsten{\texttt{cjs-rcs-en.bst}} - \newcommand*\CJSbstfr{\texttt{cjs-rcs-fr.bst}} - \makeatother - - %% Redefine \year using information from \filedate instead of using - %% compilation time - \def\parsedate#1/#2/#3\relax{\def\year{#1}} - - \MakeShortVerb{\|} - -\begin{document} - \DocInput{cjs-rcs-english.mbs} -\end{document} -%</driver> -% end of meta-comment \fi -% \GetFileInfo{cjs-rcs-english.mbs} -% \expandafter\parsedate\filedate\relax -% -% \changes{0.9}{2023-10-14}{Initial version based on version 4.2 of -% \texttt{english.mbs} from \textbf{custom-bib}.} -% \changes{0.93}{2023-11-06}{Add a prefix v in the version number like -% the main file.} -% \changes{1.0}{2023-11-29}{First official release distributed through -% CTAN.} -% -% \title[English language definition file \filename]{% -% English language definition file \\ -% of the master bibliographic style file \\ -% for \TheCJS} -% \author{Statistical Society of Canada} -% \affil{Developed by Vincent Goulet, Université Laval} -% -% \begin{englishabstract} -% The list of references in {\TheCJS} is typeset using the -% bibliographic styles {\CJSbsten} for articles in English and -% {\CJSbstfr} for articles in French. These styles are created using -% the program \texttt{makebst} from the master bibliographic file -% \texttt{cjs-rcs-merlin.mbs}, and the language definition files -% \texttt{cjs-rcs-english.mbs} and \texttt{cjs-rcs-french.mbs}. -% \end{englishabstract} -% \begin{frenchabstract} -% La liste des références dans {\LaRevue} est composée avec les -% style de bibliographie {\CJSbstfr} pour les articles en français -% et {\CJSbsten} pour les articles en anglais. Ceux-ci sont générés -% par le programme \texttt{makebst} à partir du fichier maitre -% \texttt{cjs-rcs-merlin.mbs} et des fichiers de localisation -% \texttt{cjs-rcs-english.mbs} et \texttt{cjs-rcs-french.mbs}. -% \end{frenchabstract} -% -% ^^A abusing the 'classification' environment. The final period is -% ^^A added by the environment. -% \begin{classification}[Version] -% \item[] This is the documentation for the file \code{\filename} -% {\fileversion}, dated {\filedate} -% \end{classification} -% -% \licence{{\year}, Statistical Society of Canada~{\textbar}~Société -% canadienne de statistique} -% -% \makeCJStitle -% -% \section{Introduction} -% -% This file is to be used as a language definition file with the -% master bibliographic file for {\TheCJS}. The language it defines is -% English. -% -% This is not a self-sufficient \texttt{.mbs} file, but rather may -% be used together with one that contains language support via -% external definition files. -% -% See the documentation for \texttt{makebst} for formatting details. -% -% \section{The Menu Information} -% -% All the menu information is nested between \dtx{} guard options -% |%<*options>| \dots\ |%</options>|, and the last command is -% |\endoptions|. The rest of the file is nested between |%<*!options&!driver>| -% \dots\ |%</!options&!driver>| in order to exclude it if \dtx{} is used to -% extract only the menu information or the documentation driver. -% -% \begin{macrocode} -%<*options> -\mes{^^JOptions for ENGLISH} -\wr{\spsp\spsp english,\pc: English language} - -\beginoptiongroup{ABBREVIATE WORD `PAGES'}{} -\optdef{*}{}{`Page(s)'}{(no abbreviation)} -\optdef{a}{pp}{`Page' abbreviated}{as p. or pp.} -\optdef{x}{ppx}{`Page' omitted}{} -\getans -\endoptiongroup -\beginoptiongroup{ABBREVIATE WORD `EDITORS':}{} -\optdef{*}{}{`Editor(s)'}{(no abbreviation)} -\optdef{a}{ed}{`Editor' abbreviated}{as ed. or eds.} -\getans -\endoptiongroup -\beginoptiongroup{OTHER ABBREVIATIONS:}{} -\optdef{*}{}{No abbreviations}{of volume, edition, chapter, etc} -\optdef{a}{abr}{Abbreviations}{of such words} -\getans -\endoptiongroup -\beginoptiongroup{ABBREVIATION FOR `EDITION' - (if abbreviating words)} - {\if\ans a*\fi}% -\optdef{*}{}{`Edition' abbreviated as `edn'}{} -\optdef{a}{ednx}{`Edition' abbreviated as `ed'}{} -\getans -\beginoptiongroup{MONTHS WITH DOTS:}{} -\optdef{*}{}{Months with dots}{as Jan.} -\optdef{x}{mth-bare}{Months without dots}{as Feb Mar} -\getans -\endoptiongroup -\endoptiongroup -\beginoptiongroup{EDITION NUMBERS:}{} -\optdef{*}{xedn}{Editions as in database}{saving much processing memory} -\optdef{w}{}{Write out editions}{as first, second, third, etc} -\optdef{n}{ord}{Numerical editions}{as 1st, 2nd, 3rd, etc} -\getans -\endoptiongroup -\endoptions -%</options> -% \end{macrocode} -% -% \StopEventually{\PrintChanges} -% -% \section{The Coding} -% \begin{macrocode} -%<*!options&!driver> - - % The language selected here is ENGLISH -FUNCTION {bbl.and} -{ "and"} - -FUNCTION {bbl.etal} -{ "et~al." } - -FUNCTION {bbl.editors} -%<!ed>{ "editors" } -%<ed>{ "eds." } - -FUNCTION {bbl.editor} -%<!ed>{ "editor" } -%<ed>{ "ed." } - -FUNCTION {bbl.edby} -{ "edited by" } - -FUNCTION {bbl.edition} -%<!abr>{ "edition" } -%<abr&!ednx>{ "edn." } -%<abr&ednx>{ "ed." } - -FUNCTION {bbl.volume} -%<!abr>{ "volume" } -%<abr>{ "vol." } - -FUNCTION {bbl.of} -{ "of" } - -FUNCTION {bbl.number} -%<!abr>{ "number" } -%<abr>{ "no." } - -FUNCTION {bbl.nr} -{ "no." } - -FUNCTION {bbl.in} -{ "in" } - -FUNCTION {bbl.pages} -%<!pp&!ppx>{ "pages" } -%<pp>{ "pp." } -%<!pp&ppx>{ "" } - -FUNCTION {bbl.page} -%<!pp&!ppx>{ "page" } -%<pp>{ "p." } -%<!pp&ppx>{ "" } - -%<*revdata> -FUNCTION {bbl.eidpp} -{ "pages" } - -%</revdata> -FUNCTION {bbl.chapter} -%<!abr>{ "chapter" } -%<abr>{ "chap." } - -FUNCTION {bbl.techrep} -%<!abr>{ "Technical Report" } -%<abr>{ "Tech. Rep." } - -FUNCTION {bbl.mthesis} -{ "Master's thesis" } - -FUNCTION {bbl.phdthesis} -{ "Ph.D. thesis" } - -%<*!xedn> -FUNCTION {bbl.first} -%<!ord>{ "First" } -%<ord>{ "1st" } - -FUNCTION {bbl.second} -%<!ord>{ "Second" } -%<ord>{ "2nd" } - -FUNCTION {bbl.third} -%<!ord>{ "Third" } -%<ord>{ "3rd" } - -FUNCTION {bbl.fourth} -%<!ord>{ "Fourth" } -%<ord>{ "4th" } - -FUNCTION {bbl.fifth} -%<!ord>{ "Fifth" } -%<ord>{ "5th" } - -FUNCTION {bbl.st} -{ "st" } - -FUNCTION {bbl.nd} -{ "nd" } - -FUNCTION {bbl.rd} -{ "rd" } - -FUNCTION {bbl.th} -{ "th" } -% \end{macrocode} -% This function adds English endings for ordinals 1, 2, 3. However, if -% the second last digit is 1, then the ending is `th' for all last digits. -% So far, all other languages included do not have this problem, and it is -% sufficient to add the \textsl{th} equivalent. This might change with further -% languages. -% -% \begin{macrocode} -FUNCTION {eng.ord} -{ duplicate$ "1" swap$ * - #-2 #1 substring$ "1" = - { bbl.th * } - { duplicate$ #-1 #1 substring$ - duplicate$ "1" = - { pop$ bbl.st * } - { duplicate$ "2" = - { pop$ bbl.nd * } - { "3" = - { bbl.rd * } - { bbl.th * } - if$ - } - if$ - } - if$ - } - if$ -} - -%</!xedn> -%<*!abr> -MACRO {jan} {"January"} - -MACRO {feb} {"February"} - -MACRO {mar} {"March"} - -MACRO {apr} {"April"} - -MACRO {may} {"May"} - -MACRO {jun} {"June"} - -MACRO {jul} {"July"} - -MACRO {aug} {"August"} - -MACRO {sep} {"September"} - -MACRO {oct} {"October"} - -MACRO {nov} {"November"} - -MACRO {dec} {"December"} - -%</!abr> -%<*abr> -MACRO {jan} {"Jan."} - -MACRO {feb} {"Feb."} - -MACRO {mar} {"Mar."} - -MACRO {apr} {"Apr."} - -MACRO {may} {"May"} - -MACRO {jun} {"Jun."} - -MACRO {jul} {"Jul."} - -MACRO {aug} {"Aug."} - -MACRO {sep} {"Sep."} - -MACRO {oct} {"Oct."} - -MACRO {nov} {"Nov."} - -MACRO {dec} {"Dec."} - -%</abr> -%</!options&!driver> - % End module: cjs-rcs-english.mbs -% \end{macrocode} -% \Finale diff --git a/Master/texmf-dist/doc/latex/cjs-rcs-article/cjs-rcs-french.mbs b/Master/texmf-dist/doc/latex/cjs-rcs-article/cjs-rcs-french.mbs deleted file mode 100644 index eb60ab8a202..00000000000 --- a/Master/texmf-dist/doc/latex/cjs-rcs-article/cjs-rcs-french.mbs +++ /dev/null @@ -1,370 +0,0 @@ -% \iffalse meta-comment -*- mode: doctex -*- -% -% French language definition file of the master bibliography style for -% The Canadian Journal of Statistics | La revue canadienne de -% statistique -% -% Copyright (C) 2023 Statistical Society of Canada | Société -% canadienne de statistique -% -% This file may be distributed and/or modified under the conditions -% of the LaTeX Project Public License, either version 1.3c of this -% license or (at your option) any later version. The latest version -% of this license is in: -% -% https://www.latex-project.org/lppl.txt -% -% This work has the LPPL maintenance status `maintained'. -% -% The Current Maintainer of this work is Vincent Goulet -% <vincent.goulet@act.ulaval.ca>. -% -% This work derives from french.mbs, part of the custom-bib -% collection, a contribution to the LaTeX2e system. -% Copyright 1994-2002 Patrick W Daly -% Max-Planck-Institut f\"ur Sonnensystemforschung -% Max-Planck-Str. 2 -% D-37191 Katlenburg-Lindau -% Germany -% E-mail: daly@mps.mpg.de -% - %------------------------------------------------------------------- - % Begin module: -%\fi - % \ProvidesFile{cjs-rcs-french.mbs}[2023/11/29 v1.0 (VG, PWD)] -%\iffalse -%<*a&!a> -% The following ensures that the driver part is not seen by makebst -% The driver part must not contain any \end other than \end{document} ! -\ifx\endoptions\undefined\let\tempx=\relax\else - \long\def\tempx#1\end#2{}\fi\tempx -%</a&!a> -%<*driver> -\NeedsTeXFormat{LaTeX2e}% -\documentclass[nocjs,x11names,french,english]{cjs-rcs-article} - - %% Loading doc.sty creates some conflicts with the class and memoir. We - %% need to: - %% - %% - keep a copy of the class' \maketitle command; - %% - undefine the 'glossary' environment created by memoir; - %% - restore the standard LaTeX commands for the glossary that - %% doc.sty relies upon. - \let\makeCJStitle\maketitle % keep class definition - \let\theglossary\relax % avoid conflict with doc.sty - \let\endtheglossary\relax % avoid conflict with doc.sty - \makeatletter - \def\makeglossary{% - \newwrite\@glossaryfile - \immediate\openout\@glossaryfile=\jobname.glo - \def\glossary{\@bsphack\begingroup - \@sanitize - \@wrglossary}\typeout - {Writing glossary file \jobname.glo }% - \let\makeglossary\@empty - } - \@onlypreamble\makeglossary - \def\@wrglossary#1{% - \protected@write\@glossaryfile{}% - {\string\glossaryentry{#1}{\thepage}}% - \endgroup - \@esphack} - \def\glossary{\@bsphack\begingroup\@sanitize\@index} - \@twosidefalse\@mparswitchfalse % turn off twoside option - \makeatother - \usepackage{doc} - \def\changes#1#2#3{\glossary{#1>#3}} % simplified - \DisableCrossrefs - \CodelineNumbered - \RecordChanges - \OnlyDescription - \DontCheckModules - - \AtEndPreamble{% - \hypersetup{% - pdfauthor = {Statistical Society of Canada}, - pdftitle = {French language definition file cjs-rcs-french.mbs}}} - - %% Configuration of the glossary - \addto\extrasenglish{% - \def\glossaryname{Version history}} - \GlossaryPrologue{\section*{\glossaryname}% - \addcontentsline{toc}{section}{\glossaryname}} - \setlength{\GlossaryMin}{5cm} - - %% Additional semantic typesetting - \newcommand*\class[1]{\textsf{#1}} - \newcommand*\dtx{\textsf{docstrip}} - - %% Name of the journal - \makeatletter - \newcommand*\TheCJS{\@ifstar{\emph{The Journal}}{\emph{\CJS@journalname@en}}} - \newcommand*\LaRevue{\@ifstar{\emph{La revue}}{\emph{\CJS@journalname@fr}}} - \newcommand*\CJSclass{\class{cjs-rcs-article}} - \newcommand*\CJSbsten{\texttt{cjs-rcs-en.bst}} - \newcommand*\CJSbstfr{\texttt{cjs-rcs-fr.bst}} - \makeatother - - %% Redefine \year using information from \filedate instead of using - %% compilation time - \def\parsedate#1/#2/#3\relax{\def\year{#1}} - - \MakeShortVerb{\|} - -\begin{document} - \DocInput{cjs-rcs-french.mbs} -\end{document} -%</driver> -% end of meta-comment \fi -% \GetFileInfo{cjs-rcs-french.mbs} -% \expandafter\parsedate\filedate\relax -% -% \changes{0.9}{2023-10-14}{Initial version based on version 4.2 of -% \texttt{french.mbs} from \textbf{custom-bib}.} -% \changes{0.93}{2023-11-06}{Add a prefix v in the version number like -% the main file.} -% \changes{1.0}{2023-11-29}{First official release distributed through -% CTAN.} -% -% \title[French language definition file \filename]{% -% French language definition file \\ -% of the master bibliographic style file \\ -% for \TheCJS} -% \author{Statistical Society of Canada} -% \affil{Developed by Vincent Goulet, Université Laval} -% -% \begin{englishabstract} -% The list of references in {\TheCJS} is typeset using the -% bibliographic styles {\CJSbsten} for articles in English and -% {\CJSbstfr} for articles in French. These styles are created using -% the program \texttt{makebst} from the master bibliographic file -% \texttt{cjs-rcs-merlin.mbs}, and the language definition files -% \texttt{cjs-rcs-english.mbs} and \texttt{cjs-rcs-french.mbs}. -% \end{englishabstract} -% \begin{frenchabstract} -% La liste des références dans {\LaRevue} est composée avec les -% style de bibliographie {\CJSbstfr} pour les articles en français -% et {\CJSbsten} pour les articles en anglais. Ceux-ci sont générés -% par le programme \texttt{makebst} à partir du fichier maitre -% \texttt{cjs-rcs-merlin.mbs} et des fichiers de localisation -% \texttt{cjs-rcs-english.mbs} et \texttt{cjs-rcs-french.mbs}. -% \end{frenchabstract} -% -% ^^A abusing the 'classification' environment. The final period is -% ^^A added by the environment. -% \begin{classification}[Version] -% \item[] This is the documentation for the file \code{\filename} -% {\fileversion}, dated {\filedate} -% \end{classification} -% -% \licence{{\year}, Statistical Society of Canada~{\textbar}~Société -% canadienne de statistique} -% -% \makeCJStitle -% -% \section{Introduction} -% -% This file is to be used as a language definition file with the -% master bibliographic file for {\TheCJS}. The language it defines is -% French. -% -% This is not a self-sufficient \texttt{.mbs} file, but rather may -% be used together with one that contains language support via -% external definition files. -% -% See the documentation for \texttt{makebst} for formatting details. -% -% \section{The Menu Information} -% -% All the menu information is nested between \dtx{} guard options -% |%<*options>| \dots\ |%</options>|, and the last command is -% |\endoptions|. The rest of the file is nested between |%<*!options&!driver>| -% \dots\ |%</!options&!driver>| in order to exclude it if \dtx{} is used to -% extract only the menu information or the documentation driver. -% -% \begin{macrocode} -%<*options> -\mes{^^JOptions for FRENCH} -\wr{\spsp\spsp french,\pc: French language} - -\beginoptiongroup{ABBREVIATE WORD `PAGES':}{} -\optdef{*}{}{`Page(s)'}{(no abbreviation)} -\optdef{a}{pp}{`Page' abbreviated}{as p. or pp.} -\optdef{x}{ppx}{`Page' omitted}{} -\getans -\endoptiongroup -\beginoptiongroup{ABBREVIATE WORD `EDITEUR:}{} -\optdef{*}{}{`\string\'Editeur(s)'}{(no abbreviation)} -\optdef{a}{ed}{`\string\'Editeur' abbreviated}{as \string\'Ed.} -\getans -\endoptiongroup -\beginoptiongroup{OTHER ABBREVIATIONS:}{} -\optdef{*}{}{No abbreviations}{of Tome, \string\'edition, chapitre} -\optdef{a}{abr}{Abbreviations}{of such words} -\getans -\endoptiongroup -\beginoptiongroup{EDITION NUMBERS:}{} -\optdef{*}{xedn}{Editions as in database}{saving much processing memory} -\optdef{w}{}{Write out editions}{as premi\string\`ere, deuxi\string\`eme,...} -\optdef{n}{ord}{Numerical editions}{as 1re, 2e, 3e, etc} -\getans -\endoptiongroup -\endoptions -%</options> -% \end{macrocode} -% -% \StopEventually{\PrintChanges} -% -% \section{The Coding} -% \begin{macrocode} -%<*!options&!driver> - - % The language selected here is FRENCH -FUNCTION {bbl.and} -{ "et"} - -FUNCTION {bbl.etal} -{ "et~collab." } - -FUNCTION {bbl.editors} -%<!ed>{ "directeurs" } -%<ed>{ "dir." } - -FUNCTION {bbl.editor} -%<!ed>{ "directeur" } -%<ed>{ "dir." } - -FUNCTION {bbl.edby} -{ "sous la direction de" } - -FUNCTION {bbl.edition} -%<!abr>{ "\'edition" } -%<abr>{ "\'ed." } - -FUNCTION {bbl.volume} -%<!abr>{ "volume" } -%<abr>{ "vol." } - -FUNCTION {bbl.of} -{ "de" } - -FUNCTION {bbl.number} -%<!abr>{ "num\'ero" } -%<abr>{ "{\no}" } - -FUNCTION {bbl.nr} -{ "{\no}" } - -FUNCTION {bbl.in} -{ "dans" } - -FUNCTION {bbl.pages} -%<!pp&!ppx>{ "pages" } -%<pp>{ "p." } -%<!pp&ppx>{ "" } - -FUNCTION {bbl.page} -%<!pp&!ppx>{ "page" } -%<pp>{ "p." } -%<!pp&ppx>{ "" } - -%<*revdata> -FUNCTION {bbl.eidpp} -{ "pages" } - -%</revdata> -FUNCTION {bbl.chapter} -%<!abr>{ "chapitre" } -%<abr>{ "chap." } - -FUNCTION {bbl.techrep} -%<!abr>{ "rapport technique" } -%<abr>{ "rapport technique" } - -FUNCTION {bbl.mthesis} -{ "m\'emoire de ma\^itrise" } - -FUNCTION {bbl.phdthesis} -{ "th\`ese de doctorat" } - -%<*!xedn> -FUNCTION {bbl.first} -%<!ord>{ "Premi\`ere" } -%<ord>{ "1{\iere}" } - -FUNCTION {bbl.second} -%<!ord>{ "Deuxi\`eme" } -%<ord>{ "2{\ieme}" } - -FUNCTION {bbl.third} -%<!ord>{ "Troisi\`eme" } -%<ord>{ "3{\ieme}" } - -FUNCTION {bbl.fourth} -%<!ord>{ "Quatri\`eme" } -%<ord>{ "4{\ieme}" } - -FUNCTION {bbl.fifth} -%<!ord>{ "Cinqui\`eme" } -%<ord>{ "5{\ieme}" } - -FUNCTION {bbl.th} -{ "{\ieme}" } - -%</!xedn> -%<*!abr> -MACRO {jan} {"janvier"} - -MACRO {feb} {"f\'evrier"} - -MACRO {mar} {"mars"} - -MACRO {apr} {"avril"} - -MACRO {may} {"mai"} - -MACRO {jun} {"juin"} - -MACRO {jul} {"juillet"} - -MACRO {aug} {"ao\^ut"} - -MACRO {sep} {"septembre"} - -MACRO {oct} {"octobre"} - -MACRO {nov} {"novembre"} - -MACRO {dec} {"d\'ecembre"} - -%</!abr> -%<*abr> -MACRO {jan} {"jan."} - -MACRO {feb} {"f\'ev."} - -MACRO {mar} {"mars"} - -MACRO {apr} {"avr."} - -MACRO {may} {"mai"} - -MACRO {jun} {"juin"} - -MACRO {jul} {"juil."} - -MACRO {aug} {"ao\^ut"} - -MACRO {sep} {"sept."} - -MACRO {oct} {"oct."} - -MACRO {nov} {"nov."} - -MACRO {dec} {"d\'ec."} - -%</abr> -%</!options&!driver> - % End module: cjs-rcs-french.mbs -% \end{macrocode} -% \Finale diff --git a/Master/texmf-dist/doc/latex/cjs-rcs-article/cjs-rcs-merlin.mbs b/Master/texmf-dist/doc/latex/cjs-rcs-article/cjs-rcs-merlin.mbs deleted file mode 100644 index 10c84b1ff69..00000000000 --- a/Master/texmf-dist/doc/latex/cjs-rcs-article/cjs-rcs-merlin.mbs +++ /dev/null @@ -1,8009 +0,0 @@ -% \iffalse meta-comment -*- mode: doctex -*- -% -% Master bibliography style for The Canadian Journal of Statistics | -% La revue canadienne de statistique -% -% Copyright (C) 2023 Statistical Society of Canada | Société -% canadienne de statistique -% -% This file may be distributed and/or modified under the conditions -% of the LaTeX Project Public License, either version 1.3c of this -% license or (at your option) any later version. The latest version -% of this license is in: -% -% https://www.latex-project.org/lppl.txt -% -% This work has the LPPL maintenance status `maintained'. -% -% The Current Maintainer of this work is Vincent Goulet -% <vincent.goulet@act.ulaval.ca>. -% -% This work derives from merlin.mbs, part of the custom-bib -% collection, a contribution to the LaTeX2e system. -% Copyright 1994-2011 Patrick W Daly -% Max-Planck-Institut f\"ur Sonnensystemforschung -% Max-Planck-Str. 2 -% D-37191 Katlenburg-Lindau -% Germany -% E-mail: daly@mps.mpg.de -% -%<*!tail> -% (The following notice appears in bst files generated from this file) - % ------------------------------------------------------------------- - % Name and version information of the main mbs file: -%\fi - % \ProvidesFile{cjs-rcs-merlin.mbs}[2023/11/29 v1.0 (VG, PWD, AO, DPC)] -%\iffalse -%</!tail> -%<*a&!a> -% The following ensures that the driver part is not seen by makebst -% The driver part must not contain any \end other than \end{document} ! -\ifx\endoptions\undefined\let\tempx=\relax\else - \long\def\tempx#1\end#2{}\fi\tempx -%</a&!a> -%<*driver> -\NeedsTeXFormat{LaTeX2e}% -\documentclass[nocjs,x11names,french,english]{cjs-rcs-article} - \usepackage{metalogo} - \setlrmarginsandblock{40mm}{30mm}{*} % increase left margin - \checkandfixthelayout - - %% Loading doc.sty creates some conflicts with the class and memoir. We - %% need to: - %% - %% - keep a copy of the class' \maketitle command; - %% - undefine the 'glossary' environment created by memoir; - %% - restore the standard LaTeX commands for the glossary that - %% doc.sty relies upon. - \let\makeCJStitle\maketitle % keep class definition - \let\theglossary\relax % avoid conflict with doc.sty - \let\endtheglossary\relax % avoid conflict with doc.sty - \makeatletter - \def\makeglossary{% - \newwrite\@glossaryfile - \immediate\openout\@glossaryfile=\jobname.glo - \def\glossary{\@bsphack\begingroup - \@sanitize - \@wrglossary}\typeout - {Writing glossary file \jobname.glo }% - \let\makeglossary\@empty - } - \@onlypreamble\makeglossary - \def\@wrglossary#1{% - \protected@write\@glossaryfile{}% - {\string\glossaryentry{#1}{\thepage}}% - \endgroup - \@esphack} - \def\glossary{\@bsphack\begingroup\@sanitize\@index} - \@twosidefalse\@mparswitchfalse % turn off twoside option - \makeatother - \usepackage{doc} - \def\changes#1#2#3{\glossary{#1>#3}} % simplified - \DisableCrossrefs - \CodelineNumbered - \RecordChanges - \OnlyDescription - \DontCheckModules - - \AtEndPreamble{% - \hypersetup{% - pdfauthor = {Statistical Society of Canada}, - pdftitle = {Master bibliographic style cjs-rcs-merlin.mbs}}} - - %% Configuration of the glossary - \addto\extrasenglish{% - \def\glossaryname{Version history}} - \GlossaryPrologue{\section*{\glossaryname}% - \addcontentsline{toc}{section}{\glossaryname}} - \setlength{\GlossaryMin}{5cm} - - %% Additional semantic typesetting - \newcommand*\class[1]{\textsf{#1}} - \newcommand*\btx{\textsc{Bib}\TeX} - \newcommand*\dtx{\textsf{docstrip}} - - %% Name of the journal - \makeatletter - \newcommand*\TheCJS{\@ifstar{\emph{The Journal}}{\emph{\CJS@journalname@en}}} - \newcommand*\LaRevue{\@ifstar{\emph{La revue}}{\emph{\CJS@journalname@fr}}} - \newcommand*\CJSclass{\class{cjs-rcs-article}} - \newcommand*\CJSbsten{\texttt{cjs-rcs-en.bst}} - \newcommand*\CJSbstfr{\texttt{cjs-rcs-fr.bst}} - \makeatother - - %% Redefine \year using information from \filedate instead of using - %% compilation time - \def\parsedate#1/#2/#3\relax{\def\year{#1}} - - \MakeShortVerb{\|} - -\begin{document} - \DocInput{cjs-rcs-merlin.mbs} -\end{document} -%</driver> -% end of meta-comment \fi -% \GetFileInfo{cjs-rcs-merlin.mbs} -% \expandafter\parsedate\filedate\relax -% -% \changes{0.9}{2023-10-14}{Initial version based on version 4.33 of -% \texttt{merlin.mbs}.} -% \changes{0.92}{2023-10-27}{Relegate the \texttt{makebst} menu -% information to the complete documentation.} -% \changes{0.93}{2023-11-06}{Add a prefix v in the version number like -% the main file.} -% \changes{1.0}{2023-11-29}{First official release distributed through -% CTAN.} -% -% \title[Master bibliographic style file \filename]{% -% Master bibliographic style file \\ -% of \TheCJS} -% \author{Statistical Society of Canada} -% \affil{Developed by Vincent Goulet, Université Laval} -% -% \begin{englishabstract} -% The list of references in {\TheCJS} is typeset using the -% bibliographic styles {\CJSbsten} for articles in English and -% {\CJSbstfr} for articles in French. These styles are created using -% the program \texttt{makebst} from the master bibliographic file -% \texttt{cjs-rcs-merlin.mbs}, and the language definition files -% \texttt{cjs-rcs-english.mbs} and \texttt{cjs-rcs-french.mbs}. -% \end{englishabstract} -% \begin{frenchabstract} -% La liste des références dans {\LaRevue} est composée avec les -% style de bibliographie {\CJSbstfr} pour les articles en français -% et {\CJSbsten} pour les articles en anglais. Ceux-ci sont générés -% par le programme \texttt{makebst} à partir du fichier maitre -% \texttt{cjs-rcs-merlin.mbs} et des fichiers de localisation -% \texttt{cjs-rcs-english.mbs} et \texttt{cjs-rcs-french.mbs}. -% \end{frenchabstract} -% -% ^^A abusing the 'classification' environment. The final period is -% ^^A added by the environment. -% \begin{classification}[Version] -% \item[] This is the documentation for the file \code{\filename} -% {\fileversion}, dated {\filedate} -% \end{classification} -% -% \licence{{\year}, Statistical Society of Canada~{\textbar}~Société -% canadienne de statistique} -% -% \makeCJStitle -% -% \section{Introduction} -% -% The class {\CJSclass} typesets manuscripts immediately in accordance -% with the presentation rules of {\TheCJS}. The class uses its own -% bibliographic styles: {\CJSbsten} for articles in English, and -% {\CJSbstfr} for articles in French. The style {\CJSbsten} could best -% be described as ``not unlike \code{apalike}'', whereas {\CJSbstfr} -% is closely derived from the style \code{francais} provided by the -% package % -% \href{https://ctan.org/pkg/francais-bst}{\pkg{francais-bst}}. -% -% The styles were originally generated using the program -% \code{makebst} by Patrick W.~Daly. The master bibliographic style -% and the language definition files are heavily based on their -% counterparts of the package % -% \href{https://ctan.org/pkg/custom-bib}{\pkg{custom-bib}}, % -% namely \code{merlin.mbs}, \code{english.mbs}, and \code{french.mbs}. -% -% \section{Generation of the bibliographic styles} -% \label{sec:generation} -% -% The English style {\CJSbsten} is produced from this master -% bibliographic style file and the language definition file -% \code{cjs-rcs-english.mbs} by running the driver -% \code{cjs-rcs-bst-en.dbj} through {\LaTeX}: -% \begin{quote} -% \code{latex cjs-rcs-bst-en.dbj} -% \end{quote} -% The French style {\CJSbstfr} is produced similarly using the driver -% \code{cjs-rcs-bst-fr.dbj}: -% \begin{quote} -% \code{latex cjs-rcs-bst-fr.dbj} -% \end{quote} -% -% \section{Changes compared to \texorpdfstring{\code{merlin.mbs}}{merlin.mbs}} -% \label{sec:changes} -% -% The master bibliographic style \code{\filename} introduces the following -% changes compared to \code{merlin.mbs}. -% -% \begin{enumerate} -% \item The function \code{format.url} is reworked to provide a -% cleaner URL for digital object identifiers (DOIs). The -% \code{merlin.mbs} definition would generate a DOI of the form -% \begin{quote} -% URL \texttt{http://dx.doi.org/\meta{doi}} -% \end{quote} -% The revised definition instead generates the simpler string -% \begin{quote} -% doi: \meta{doi} -% \end{quote} -% When the package \pkg{hyperref} is loaded, \meta{doi} is a -% hyperlink to the now recommended URL -% \code{https://doi.org/\meta{doi}}. This behaviour relies on a -% command \cmd{\urldoi} provided in the \texttt{.bbl} file. If -% needed, this command may be redefined by the user. -% \item The command \cmd{\urlprefix} is empty. Again, this may be -% redefined by the user. -% \item The quotes «~» are typeset by the macro \cmd{\frquote} of -% \pkg{babel-french} (version $\geq$ 3.1), rather than by the custom -% commands \cmd{\guillemotleft} and \cmd{\guillemotright}. -% \item The \code{makebst} menu information is only included in the -% complete documentation. The latter is obtained by commenting out -% the command \cmd{\OnlyDescription} in \code{\filename} and -% compiling the file with {pdf\LaTeX} or {\XeLaTeX}. -% \end{enumerate} -% -% \StopEventually{\PrintChanges} -% -% \begin{quote} -% \itshape From this point on, the documentation is taken without -% modification from \code{merlin.mbs} by Patrick W.~Daly, but for -% minute details such as filenames. -% \end{quote} -% -% \section{The Menu Information}\label{sec:menu} -% -% Here I describe the options and menu information for this particular -% master file \texttt{\filename}. To construct a \dtx{} driver file -% to generate a desired \texttt{.bst} file, simply process \texttt{makebst.tex} -% with \TeX\ or \LaTeX, and give -% \begin{quote}\code{\filename}\end{quote} -% when prompted for the name of the master file. Then answer the questions -% in the menus that follow. The menu information is extracted from here. -% -% All the menu information is nested between \dtx{} guard options -% |%<*options>| \dots\ |%</options>|, and the last command is -% |\endoptions|. The rest of the file is nested between -% \begin{quote} -% |%<*!options&!driver&!bblbst>| \dots\ |</!options&!driver&!bblbst>| -% \end{quote} -% in order to exclude it if \dtx{} is used to -% extract the menu information, the documentation driver, or the -% \texttt{babelbst.tex} file. -% -% The main coding is divided into two sections, the \emph{head} and -% \emph{tail}; in between come any external language or journal name -% support files. The head part is marked with the \dtx{} guard option -% |<!tail>| and the tail with |<!head>|. This roundabout means of -% doing things makes it possible to process \texttt{\filename} with -% \texttt{.dbj} files that were generated for the older -% \texttt{genbst.mbs} file by simply changing the name of the source -% file. If both \texttt{head} and \texttt{tail} (and \texttt{exlang}) -% options are omitted, as they are in the older \texttt{.dbj} files, -% \texttt{\filename} is processed completely in one pass. To include -% external files, two passes are needed, one for each part, with the -% external file(s) coming in between. -% -% Note too that if the internal language commands are taken (i.e., if -% \texttt{exlang} option is not given) then the default language is -% English, which is tested for as |<!babel>|. This too permits the simple -% update of older \texttt{.dbj}, at least for English. -% -% \subsection*{Selecting Language} -% Explicit words in the bibliography style, such as \textsl{and}, -% \textsl{editor}, etc., -% are represented by functions \texttt{bbl.and}, \texttt{bbl.editor}, and so on. -% By default these functions translate to the normal English text, but -% other languages are also possible. -% -% The definitions of these functions for other languages are contained in -% external files. At this point, we can make use of features in -% \texttt{makebst} (version~3.0 or later) to ask for the name of such a -% definition file, and store it in |\cfile|. If no external file is -% specified, then the internal definitions are taken, for which there are -% two possibilities: English or \LaTeX{} commands (Babel). -% -% The commands |\MBswitch|, |\mes|, |\MBaskfile|, |\wr|, |\pc|, |\spsp| are -% defined in \texttt{makebst.tex}. -% -% If |\MBswitch| does not exist, then the version of \texttt{makebst} -% cannot support external files. -% -% \begin{macrocode} -%<*options> -\expandafter\ifx\csname beginoptiongroup\endcsname\relax - \mes{^^J******************^^J% - !!!!!! VERSION CLASH !!!!!!!!!^^J% - This mbs file requires makebst version 4.0 or more^^J% - You must update makebst to run it with this mbs file^^J% - No docstrip batch file can be produced on this run^^J% - ******************} - \let\temp\endinput\else\let\temp\relax\fi\temp - -\newif\ifnumerical -\newif\ifmytemp -\mes{<<< For more information about the meanings of^^J% - <<< the various options, see the section on ^^J% - <<< Menu Information in the .mbs file documentation.} - -\umes{EXTERNAL FILES:} -\expandafter\ifx\csname MBswitch\endcsname\relax - \mes{^^J**************^^J% - Makebst version is less than 3.0^^J% - Cannot add external file for language definition^^J% - **************} - \umes{No included files.}% - \def\cfile{}\def\jfile{}% -\else - \MBaskfile{^^JName of language definition file}(\mroot.\mext)i\cfile - \edef\ctemp{\mroot.\mext} - \ifx\ctemp\cfile\def\cfile{}\fi - \umes{Name of language file: \string\cfile=\cfile.}% -% \end{macrocode} -% -% A second type of external file that can be added is one containing names -% of journals that are to be prestored into the \texttt{.bst} file. -% Several file names are allowed here, with the root names separated by -% commas, and with the common extension added at the end. To assist later -% parsing of the names, an additional comma is added before the extension. -% -% Note that in this case |\MBaskfile| treats the file(s) as output, i.e., -% it does not check if the file(s) actually exist. -% -% The macro |\Mgetnext| allows the root names to be extracted from the -% list of file names. -% \begin{macrocode} - \def\jfile{} - \ask{\yn}{^^JInclude file(s) for extra journal names? (NO)} - \mytempfalse - \if!\yn!\else\if\yn n\else\if\yn N\else\mytemptrue\fi\fi\fi - \ifmytemp - \MBaskfile{^^JFile to include}(physjour,geojour,photjour.mbs)o\jfile - \edef\jfile{\froot,.\fext} - \umes{Name of included files: \string\jfile=\jfile.}% - \else - \umes{No included files.}% - \fi -\fi%MBswitch -\def\Mgetnext#1,#2.#3??{\def\froot{#1}\def\Mrest{#2}\def\fext{#3}} -% \end{macrocode} -% -% If no external files are specified, then both |\cfile| and |\jfile| are -% empty. In this case, do \emph{not} set the options \texttt{head} and -% \texttt{tail}, which control the \dtx{} passes through -% \texttt{filename}. Now only one pass is made. -% -% If there is an external definition file, or an external list of -% journal names, then some extra text must be -% written to fit in with that already written by \texttt{makebst}. This is -% explained in that documentation. The |\MBswitch| command turns the curly -% braces |{..}| into normal characters, and the parentheses |(..)| take on -% their grouping functionality. This permits unbalanced braces to be -% written to the output file. -% -% \begin{macrocode} -\if!\cfile\jfile!\else - \begingroup\MBswitch - \wr(\spsp head,\string\MBopta}) - \if!\cfile!\else - \wr(\string\from{\cfile}{\string\MBopta}) - \fi - \if!\jfile!\else - \let\jxfile\jfile - \loop -% \end{macrocode} -% -% Parse the list of journal name files, adding a new |\from| for each one. -% -% \begin{macrocode} - \expandafter\Mgetnext\jxfile?? - \wr(\string\from{\froot.\fext}{\string\MBopta}) - \edef\jxfile(\Mrest.\fext) - \if!\Mrest!\def\Mtst(1)\else\def\Mtst()\fi - \if!\Mtst! - \repeat - \fi - \wr(\string\from{\mroot.\mext}{tail,\string\MBopta}}) - \wr(\string\def\string\MBopta{\pc) - \endgroup -\fi -% \end{macrocode} -% -% Ask whether there is a need for -% explicit English words or \LaTeX{} commands whose definitions are -% to be found in the file \texttt{babelbst.tex}. -% -% \begin{macrocode} -\beginoptiongroup{INTERNAL LANGUAGE SUPPORT - (if no external language file)}% - {\if!\cfile!\relax*\fi}% -\optdef{*}{}{English}{words used explicitly} -\optdef{b}{babel}{Babel} - {(words replaced by commands defined in babelbst.tex)} -\getans -\endoptiongroup -\if!\cfile!\relax\else -\wr{\spsp\spsp exlang,\pc: External language file} -\fi -% \end{macrocode} -% -% \subsection*{Author--year or numerical} -% The first question is whether a numerical or author--year citation -% style is to be used. If the latter, the supporting system is my -% \code{natbib.sty}, which expects |\bibitem| to have an optional -% argument containing the short form of the authors, plus year in -% parentheses. E.g., -% \begin{quote} -% |\bibitem[Daly et al.(1990)]{key}...| -% \end{quote} -% There is now a newer version of \texttt{natbib.sty} (v5.3) that -% supports an optional full author list too, as -% \begin{quote} -% |\bibitem[Daly et al.(1990)Daly, Keppler, and Williams]{key}...| -% \end{quote} -% Other systems are also supported, such as the Harvard family of -% bibliography styles (with \texttt{harvard.sty}), which have entries in the -% form -% \begin{quote} -% |\harvarditem[Daly et al.]{Daly, Keppler,|\\ -% | and Williams}{1990}{key}...| -% \end{quote} -% or the astronomy family (with \texttt{astron.sty}) with entries like -% \begin{quote} -% |\bibitem[\protect\astroncite{Daly et al.}{1990}]{key}...| -% \end{quote} -% or the Chicago family (with \texttt{chicago.sty}) with entries like -% \begin{quote} -% |\bibitem[\protect\citeautheryear{Daly, Keppler, and|\\ -% | Williams}{Daly et al.}{1990}]{key}...| -% \end{quote} -% or the `named' variant of Chicago (with \texttt{named.sty}) with entries like -% \begin{quote} -% |\bibitem[\protect\citeauthoryear{Daly et al.}{1990}]{key}...| -% \end{quote} -% or the so-called ``author--date'' group (with \texttt{authordate1-4.sty}) -% with entries of the form -% \begin{quote} -% |\bibitem[\protect\citename{Daly et al.}1990]{key}...| -% \end{quote} -% Finally, there is the \texttt{apalike} format of Oren Patashnik, for use -% with \texttt{apalike.sty} that has entries of the form -% \begin{quote} -% |\bibitem[Daly et al., 1990]{key}...| -% \end{quote} -% -% In addition to numerical or author--year citation styles, there is also a -% \texttt{cite} style available in which the label is the same as the cite -% key. This is for listing entire contents of databases with the cite key -% visible. -% -% A flag |\ifnumerical| is established because some of the following menu -% features depend on which system is to be used. -% -% The \texttt{alph} option produces labels as in \texttt{alpha.bst}; options -% \texttt{alf-1} and \texttt{alf-f} modify these. Standard is: first three -% letters of the single author (Dal90 for Daly, 1990) and first letters of -% first three authors (DK90 for Daly and Kopka, 1990). Alternatives are first -% three letters of the first author, no matter how many authors there are, and -% full name of first author. -% \begin{macrocode} -\beginoptiongroup{STYLE OF CITATIONS:}{} -\optdef{*}{}{Numerical}{as in standard LaTeX} -\optdef{a}{ay}{Author-year}{with some non-standard interface} -\optdef{b}{alph}{Alpha style, Jon90 or JWB90}{for single or multiple authors} -\optdef{o}{alph,alf-1}{Alpha style, Jon90}{even for multiple authors} -\optdef{f}{alph,alf-f}{Alpha style, Jones90}{(full name of first author)} -\optdef{c}{cite}{Cite key}{(special for listing contents of bib file)} -\getans -\endoptiongroup -\if\ans a\numericalfalse\else\numericaltrue\fi -\if\ans b\mytempfalse \else\mytemptrue \fi -\beginoptiongroup{HTML OUTPUT - (if non author-year citations)} - {\ifnumerical*\fi} -\optdef{*}{}{Normal LaTeX}{output} -\optdef{h}{html}{Hypertext}{output, in HTML code, in paragraphs} -\optdef{n}{html,htlist}{Hypertext list}{with sequence numbers} -\optdef{k}{html,htdes}{Hypertext with keys}{for viewing databases} -\getans -\endoptiongroup -\beginoptiongroup{AUTHOR--YEAR SUPPORT SYSTEM - (if author-year citations)} - {\ifnumerical\else*\fi} -\optdef{*}{nat}{Natbib}{for use with natbib v5.3 or later} -\optdef{o}{}{Older Natbib}{without full authors citations} -\optdef{l}{alk}{Apalike}{for use with apalike.sty} -\optdef{h}{har}{Harvard}{system with harvard.sty} -\optdef{a}{ast}{Astronomy}{system with astron.sty} -\optdef{c}{cay}{Chicago}{system with chicago.sty} -\optdef{n}{nmd}{Named}{system with named.sty} -\optdef{d}{cn}{Author-date}{system with authordate1-4.sty} -\getans -% \end{macrocode} -% The \texttt{harvard} family has been extended for \LaTeXe, and the new -% \texttt{.bst} files allow the word \textsl{and} and the brackets around years -% to be variable with commands. These features may be added too. -% The URL field used to be exclusively part of Harvard, but now exists -% independently of it too. -% -% \begin{macrocode} -\beginoptiongroup{HARVARD EXTENSIONS INCLUDED - (if Harvard support selected)} - {\if\ans h*\fi}% -\optdef{*}{harnm}{With Harvard extensions}{for LaTeX2e version of harvard.sty} -\optdef{n}{}{Older Harvard}{style, for LaTeX 2.09} -\getans -\endoptiongroup -\endoptiongroup -% \end{macrocode} -% -% \subsection*{Language switching} -% A \texttt{language} field can be present to specify the original language of -% the reference; with \verb!\setlanguage!, the hyphenation patterns are set for -% setting the title in that language. -% \begin{macrocode} -\beginoptiongroup{LANGUAGE FIELD}{} -\optdef{*}{}{No language field}{} -\optdef{l}{lang}{Add language field}{to switch hyphenation patterns temporarily} -\getans -\endoptiongroup -% \end{macrocode} -% -% \subsection*{Annotations} -% Annotations to a reference are additional information not normally printed -% out in the list of references. They are used for listing databases. -% The coding here was offered by Soren Dayton. -% \begin{macrocode} -\beginoptiongroup{ANNOTATIONS:}{} -\optdef{*}{}{No annotations}{will be recognized} -\optdef{a}{annote}{Annotations}{in annote field or in .tex file of citekey name} -\getans -\endoptiongroup -% \end{macrocode} -% -% \subsection*{Presentations} -% Presentations are talks at meetings, oral or poster, that are not otherwise -% published. The author making the presentation is indicated with the \texttt{key} -% entry, which is the speaker's number within the author list. The font used -% to highlight the speaker is either bold or italics, depending on the secondary -% option, otherwise not highlighted. -% \begin{macrocode} -\beginoptiongroup{PRESENTATIONS:}{} -\optdef{*}{}{Do not add presentation type}{for conference talks} -\optdef{p}{pres}{Add presentation, speaker not highlighted}{} -\optdef{b}{pres,pres-bf}{Presentation, speaker bold face}{} -\optdef{i}{pres,pres-it}{Presentaion, speaker italic}{} -\optdef{c}{pres,pres-sc}{Presentaion, speaker in small caps}{} -\getans -\endoptiongroup -% \end{macrocode} -% -% \subsection*{Ordering of the listed references} -% Choices here depend on citation style. The default in both cases is -% alphabetical order of all authors. For numerical style, one may also -% choose an unsorted order, which means the order is the same as the original -% citations. This corresponds to \texttt{unsrt.bst}. Order of citation is -% also offered for author--year for \texttt{natbib}-type styles that can -% also be used for numerical listings. -% -% Another possibility is to order first by year, then authors. This too only -% makes sense for numerical citations. However, it is offered for author--year -% in the event that a \texttt{natbib}-type style is used for numerical -% listings. -% -% For the alpha style, the ordering is by label only, so no option is -% offered here (|\ifnumerical| is \meta{true} and |\ifmytemp| is \meta{false}). -% -% For author--year, the second choice is by label. (The label is the -% optional |\bibitem| argument, and is what is printed in place of the -% |\cite| command.) With this option, all the papers with the same first -% author are ordered so that the one-author papers come first, followed by -% the two-author papers, followed by the multiple-author papers. This is a -% more sensible system for author--year citations, and is demanded by some -% journals (like JGR). -% -% One problem that can arise here is when two or more references have the -% same set of authors and year; normally they are then ordered by the -% title, ignoring initial words like \textsl{the} and \textsl{a}, with the -% letters a, b, -% c, \dots, added to the year. This can mean that a set of references with -% a natural sequence will be put into a different order. An alternative is -% to order them by the citation keyword instead of by title. This of course -% assumes that the keywords in this case reflect that natural sequence. -% \begin{macrocode} -\let\ans\relax -\beginoptiongroup{ORDERING OF REFERENCES - (if non-author/year and non-alph)} - {\ifnumerical\ifmytemp*\fi\fi}% -\optdef{*}{}{Alphabetical}{by all authors} -\optdef{c}{seq-no}{Citation order}{(unsorted, like unsrt.bst)} -\optdef{d}{seq-yr}{Year ordered}{and then by authors} -\optdef{r}{seq-yrr}{Reverse year ordered}{and then by authors} -\getans -\endoptiongroup -% -\beginoptiongroup{ORDERING OF REFERENCES - (if author-year citations)} - {\ifnumerical\else*\fi}% -\optdef{*}{}{Alphabetical}{by all authors} -\optdef{l}{seq-lab}{By label}% - {(Jones before Jones and James before Jones et al)} -\optdef{m}{seq-labc}{By label and cite order}% - {(like above but all Jones et al ordered as cited)} -\optdef{k}{seq-key}{By label and cite key}{instead of label and title, as above} -\optdef{d}{seq-yr}{Year ordered}{and then by authors (for publication lists)} -\optdef{r}{seq-yrr}{Reverse year ordered}{and then by authors (most recent first)} -\optdef{c}{seq-no}{Citation order}{(unsorted, only meaningful for numericals)} -\getans -\endoptiongroup -% \end{macrocode} -% The standard \btx\ styles consider the \emph{von} part of the name to be a -% fixed part of the surname. European usage tends to alphabetize ignoring these -% honorifics. -% \begin{macrocode} -\beginoptiongroup{ORDER ON VON PART - (if not citation order)} - {\if\ans c\else*\fi}% -\optdef{*}{}{Sort on von part}{(de la Maire before Defoe)} -\optdef{x}{vonx}{Sort without von part}{(de la Maire after Mahone)} -\getans -\endoptiongroup -% \end{macrocode} -% -% Sorting normally treats authors with the same surname but different initials -% or first name separately; but a strict ordering by cite label would lump all -% Smiths together. -% \begin{macrocode} -\beginoptiongroup{IGNORE FIRST NAMES (if author-year citations)} - {\ifnumerical\else*\fi}% -\optdef{*}{}{Respect first names}{or initials, treat as different authors} -\optdef{x}{xintls}{Sort on surname only}{and treat all Smiths as one} -\getans -\endoptiongroup -% \end{macrocode} -% -% \subsection*{Formatting author names} -% The default is that the full names of the authors are listed, given names -% first, unabbreviated. Of course, if only the initials have been given in -% the \texttt{.bib} file, then that is all that can appear in the list. Other -% possibilities are to use initials (even if full names in the \texttt{.bib} -% file) either before or after the surnames. A specialty of the journals of -% the American Geophysical Union is to have only the first name with -% reversed initials. -% -% If the reference is part of a larger work with editors, then the editor -% names appear later in the reference text, usually as ``edited by \dots'' -% or as ``\emph{names} (editors)''. In these cases, the editor names are -% not usually reversed (surname first) even if the authors' names are. -% An option is provided to format such editor names exactly as the authors'. -% \begin{macrocode} -\beginoptiongroup{AUTHOR NAMES:}{} -\optdef{*}{ed-au}{Full, surname last}{(John Frederick Smith)} -\optdef{f}{nm-revf}{Full, surname first}{(Smith, John Frederick)} -\optdef{i}{nm-init,ed-au}{Initials + surname}{(J. F. Smith)} -\optdef{r}{nm-rev}{Surname + initials}{(Smith, J. F.)} -\optdef{s}{nm-rv}{Surname + dotless initials}{(Smith J F)} -\optdef{w}{nm-rvvc}{Surname + comma + spaceless initials}{(Smith, J.F.)} -\optdef{x}{nm-rvx}{Surname + pure initials}{(Smith JF)} -\optdef{y}{nm-rvcx}{Surname + comma + pure initials}{(Smith, JF)} -\optdef{z}{nm-rvv}{Surname + spaceless initials}{(Smith J.F.)} -\optdef{a}{nm-rev1}{Only first name reversed, initials}% - {(AGU style: Smith, J. F., H. K. Jones)} -\optdef{b}{nm-revv1}{First name reversed, with full names}% - {(Smith, John Fred, Harry Kab Jones)} -\getans -\endoptiongroup -\mytempfalse -\if\ans f\mytemptrue\fi -\if\ans r\mytemptrue\fi -\if\ans s\mytemptrue\fi -\if\ans x\mytemptrue\fi -\if\ans y\mytemptrue\fi -\if\ans a\mytemptrue\fi -\if\ans b\mytemptrue\fi -\beginoptiongroup{EDITOR NAMES IN COLLECTIONS - (if author names reversed)} - {\ifmytemp*\fi} -\if\ans r -\optdef{*}{}{Editor names NOT reversed}{as edited by J. J. Smith} -\fi -\if\ans s -\optdef{*}{}{Editor names NOT reversed}{as edited by J J Smith} -\fi -\if\ans a -\optdef{*}{}{Editor names NOT reversed}{as edited by J. J. Smith} -\fi -\if\ans x -\optdef{*}{}{Editor names NOT reversed}{as edited by JJ Smith} -\fi -\if\ans f -\optdef{*}{}{Editor names NOT reversed}{as edited by John James Smith} -\fi -\if\ans y -\optdef{*}{}{Editor names NOT reversed}{as edited by J.J. Smith} -\fi -\if\ans b -\optdef{*}{}{Editor names NOT reversed}{as edited by John James Smith} -\fi -\optdef{r}{ed-rev}{Editor names reversed}{just like authors'} -\getans -\beginoptiongroup{POSITION OF JUNIOR - (if author names reversed)} - {} -\optdef{*}{jnrlst}{Junior comes last}{as Smith, John, Jr.} -\optdef{m}{}{Junior between}{as Smith, Jr., John} -\getans -\endoptiongroup -\endoptiongroup - -\beginoptiongroup{JUNIOR PART IN THE CITATION - (if author-year citations)} - {\ifnumerical\else*\fi}% -\optdef{*}{}{No `junior' part in the citations}{but in the ref listing} -\optdef{j}{jnrlab}{`Junior' in citations}{as well as in ref listing} -\getans -\endoptiongroup - -\beginoptiongroup{PUNCTUATION BETWEEN AUTHOR NAMES:}{} -\optdef{*}{}{Author names separated by commas}{} -\optdef{s}{aunm-semi}{Names separated by semi-colon}{} -\optdef{h}{aunm-sl}{Names separated by slash}{/} -\getans -\endoptiongroup - -\beginoptiongroup{ADJACENT REFERENCES WITH REPEATED NAMES:}{} -\optdef{*}{}{Author/editor names always present}{} -\optdef{d}{nmdash}{Repeated author/editor names replaced by dash}{} -\optdef{2}{nmdash,nmd-2}{Repeated author/editor names replaced by 2 dashes}{} -\optdef{3}{nmdash,nmd-3}{Repeated author/editor names replaced by 3 dashes}{} -\getans -\endoptiongroup -% \end{macrocode} -% -% \subsection*{Number of authors} -% Normally the complete list of authors as given in the \texttt{.bib} file is -% presented in the reference list. However, some journals prefer to limit -% them to a maximum. If there are more than this maximum number of author -% names, then a minimum number plus \textsl{et al.} are listed. -% -% Because no test for consistency of the numbers is carried out in the -% \texttt{.bst} file itself (it might be possible, but I found it too complex), -% this is done here. -% \begin{macrocode} -\beginoptiongroup{NUMBER OF AUTHORS IN BIBLIOGRAPHY:}{} -\optdef{*}{}{All authors}{included in listing} -\optdef{l}{nmlm}{Limited authors}{(et al replaces missing names)} -\getans -\endoptiongroup -\if\ans l -\loop - \ask{\num}{Maximum number of authors (1-99)} - \ifnum\num>99\relax - \mes{*** Must be between 1 and 99} -\repeat -\def\parsenum#1#2{\if#2\relax\wr{\spsp\spsp x#1,\pc: Maximum of #1\space authors} - \else\wr{\spsp\spsp x#10,x#2,\pc: Maximum of #1#2\space authors}\fi} -\expandafter\parsenum\num\relax -\mes{\spsp You have selected maximum \num\space authors} -\edef\numx{\num} -\loop - \ask{\num}{Minimum number (before et al given) (1-\numx)} - \ifnum\num>\numx - \mes{*** Must be between 1 and \numx} -\repeat -\def\parsenum#1#2{\if#2\relax\wr{\spsp\spsp m#1,\pc: Minimum of #1\space authors} - \else\wr{\spsp\spsp m#10,m#2,\pc: Minimum of #1#2\space authors}\fi} -\expandafter\parsenum\num\relax -\mes{\spsp You have selected minimum \num\space authors} -\fi - -% \end{macrocode} -% -% Something that I finally added after being asked many times, is to allow for -% more than one name in the citation before inserting \textsl{et~al.} -% to allow more than 2 authors before truncating -% \begin{macrocode} -\beginoptiongroup{AUTHORS IN CITATIONS:}{} -\optdef{*}{}{One author et al}{for three or more authors} -\optdef{m}{mcite}{Some other truncation scheme}{} -\getans -\endoptiongroup -\mytempfalse -\if\ans m\mytemptrue\fi -\beginoptiongroup{MAX AUTHORS BEFORE ET AL: - (if regular cite not selected)} - {\ifmytemp*\fi}% -\optdef{*}{mct-1}{One et al}{} -\optdef{2}{mct-2}{One, Two et al}{} -\optdef{3}{mct-3}{One, Two, Three et al}{} -\optdef{4}{mct-4}{One, Two, Three, Four et al}{} -\optdef{5}{mct-5}{One, Two, Three, Four, Five et al}{} -\optdef{6}{mct-6}{One, Two, Three, Four, Five, Six et al}{} -\getans -\endoptiongroup -\beginoptiongroup{MAX AUTHORS WITHOUT ET AL: - (if regular cite not selected)} - {\ifmytemp*\fi}% -\optdef{*}{mct-x2}{Two authors without truncating}{} -\optdef{3}{mct-x3}{Three authors}{without truncating} -\optdef{4}{mct-x4}{Four authors}{without truncating} -\optdef{5}{mct-x5}{Five authors}{without truncating} -\optdef{6}{mct-x6}{Six authors}{without truncating} -\getans -\endoptiongroup -% \end{macrocode} -% -% \subsection*{Typeface of names} -% The author names in the list of references normally appear in the current -% typeface. This may be changed to small caps, bold, or italics. -% -% Alternatively, the surnames only can be formatted, with the first names in the -% regular font. One can also specify that the words `and' and `et~al.'\ should be -% in the regular font, or that `et~al.'\ be italic. -% -% Another possibility is that the names be put into a command |\bibnamefont{..}|, -% which must be defined in the \LaTeX\ document. By default, this command does -% not format its argument. There is also a |\bibfnamefont| command for the first -% names, to be user-defined. -% -% Editor names in a collection or in a book will not normally have these -% fonts applied to them; this may be additionally selected. -% -% \begin{macrocode} -\beginoptiongroup{TYPEFACE FOR AUTHORS IN LIST OF REFERENCES:}{} -\optdef{*}{}{Normal font for author names}{} -\optdef{s}{nmft,nmft-sc}{Small caps authors}{(\string\sc)} -\optdef{i}{nmft,nmft-it}{Italic authors}{(\string\it\space or \string\em)} -\optdef{b}{nmft,nmft-bf}{Bold authors}{(\string\bf)} -\optdef{u}{nmft,nmft-def}{User defined author font}{(\string\bibnamefont)} -\getans -\endoptiongroup -\mytempfalse -\if\ans i\mytemptrue\fi -\if\ans s\mytemptrue\fi -\if\ans b\mytemptrue\fi -\if\ans u\mytemptrue\fi -\beginoptiongroup{FONT FOR FIRST NAMES - (if non-default font for authors)} - {\ifmytemp*\fi}% -\optdef{*}{}{First names same font as surnames}{} -\optdef{r}{fnm-rm}{First names in normal font}{} -\optdef{u}{fnm-def}{First names in user defined font}{(\string\bibfnamefont)} -\getans -\beginoptiongroup{EDITOR NAMES IN INCOLLECTION ETC:}{} -\optdef{*}{}{Editors incollection normal font}{} -\optdef{a}{nmfted}{Editors incollection like authors}{font} -\getans -\endoptiongroup - -\beginoptiongroup{FONT FOR `AND' IN LIST:}{} -\optdef{*}{}{`And' in author font}{(JONES AND JAMES)} -\optdef{r}{nmand-rm}{`And' in normal font}{(JONES and JAMES)} -\getans -\endoptiongroup -\endoptiongroup -% \end{macrocode} -% -% \subsection*{Names in Citation label} -% This applies to author--year style only. The label is the text written -% by the |\cite| command, and for author--year style, this is something like -% `Daly et al.\ (1990b)'. One may select italics for the authors and for the -% extra label attached to the year. The year always remains plain. -% -% This parallels the font selection for the names in the list of references -% except that there no choice for the first names, since only surnames -% are used in the labels. A user-defined |\citefontname| may also -% be selected, but this \emph{must} be defined by the user since there -% will be no default definition for it. -% -% If a font is selected for the cited authors, then the word `and' may be -% optionally put in the normal font. -% -% It is not possible to select the type of brackets for the year, since -% this is determined by the \LaTeX{} style option that manages the -% author--year citations. This is not standard \LaTeX, so that there are a -% number of private style files for achieving this. -% \begin{macrocode} -\beginoptiongroup{FONT OF CITATION LABELS IN TEXT - (if author-year citations)} - {\ifnumerical\else*\fi}% -\optdef{*}{}{Cited authors plain}{as result of \string\cite\space command} -\optdef{i}{lab,lab-it}{Cited authors italic}{} -\optdef{s}{lab,lab-sc}{Cited authors small caps}{} -\optdef{b}{lab,lab-bf}{Cited authors bold}{} -\optdef{u}{lab,lab-def}{User defined citation font}{(\string\citenamefont)} -\getans - -\mytempfalse -\if\ans i\mytemptrue\fi -\if\ans s\mytemptrue\fi -\if\ans b\mytemptrue\fi -\if\ans u\mytemptrue\fi -\beginoptiongroup{FONT FOR `AND' IN CITATIONS - (if non-default font for citation lables)} - {\ifmytemp*\fi}% -\optdef{*}{}{Cited `and' in author font}{} -\optdef{r}{and-rm}{Cited `and' in normal font}{} -\getans -\endoptiongroup -\beginoptiongroup{FONT OF EXTRA LABEL - (The extra letter on the year)}{} -\optdef{*}{}{Extra label plain}{} -\optdef{i}{xlab-it}{Extra label italic}{} -\getans -\endoptiongroup -\endoptiongroup -% \end{macrocode} -% -% \subsection*{Label for missing author names} -% -% If the author and/or editor is missing, the standard \texttt{.bst} files -% use the \texttt{key} field in place of the names for purposes of ordering the -% entries. -% -% For author--year styles, the \texttt{key} field is even inserted in the -% reference list and in the label in place of the authors. Optionally, one can -% suppress the year in this case, which causes \texttt{natbib} (version~7) -% to print only that key text as a code designation for the work. Thus if -% \texttt{KEY = "CS1-345"} and there are no authors, then |\citep| produces -% (CS1-345) and |\citet| simply CS1-345. That is, they behave like -% |\citeauthor|. If \texttt{natbib} did not recognize the blank year, one would -% get (CS1-345, ) and CS1-345 (). (Earlier versions of \texttt{natbib} crash on -% a blank year.) -% \begin{macrocode} -\beginoptiongroup{LABEL WHEN AUTHORS MISSING - (if author-year citations)} - {\ifnumerical\else*\fi}% -\optdef{*}{keyxyr}{Year blank when KEY replaces missing author}{(for natbib 7.0)} -\optdef{y}{}{Year included when KEY replaces missing author}{} -\getans -\endoptiongroup -% \end{macrocode} -% -% \subsection*{Missing date} -% A missing date can be set to ???? or simply left blank. In the latter case, -% \texttt{natbib} version~7 will print only the authors without any year -% punctuation or brackets. -% -% \begin{macrocode} -\beginoptiongroup{MISSING DATE - (if author-year citations)} - {\ifnumerical\else*\fi}% -\optdef{*}{}{Missing date set to ????}{in label and text} -\optdef{b}{blkyear}{Missing date left blank}{} -\getans -\endoptiongroup -% \end{macrocode} -% -% \subsection*{Position of date} -% This applies to author--year style only. It makes sense to put the date -% immediately after the author list, since the two items (author and year) -% are the identifiers of the reference. Default position is at the -% end of the references, before any notes. It is also possible to place -% it even after the notes. -% -% Medical journals have a system where the date is part of the journal -% specification, as Lancet 1994;45(2):34--40. Otherwise the date appears at -% the end. -% \begin{macrocode} -\beginoptiongroup{DATE POSITION:}{} -\optdef{*}{}{Date at end}{} -\optdef{b}{dt-beg}{Date after authors}{} -\optdef{j}{dt-jnl}{Date part of journal spec.}{(as 1994;45:34-40) else at end} -\optdef{e}{dt-end}{Date at very end}{after any notes} -\getans -\endoptiongroup -\if\ans b\mytemptrue\else\if\ans j\mytemptrue\else\mytempfalse\fi\fi -% \end{macrocode} -% -% \subsection*{Format of date} -% The year may be enclosed in parentheses, brackets, or preceded by a -% colon. If none of these are selected, the date (month plus year) appears. -% For author--year, the date normally consists only of the year, no month, -% but this may be overridden. -% -% If the date comes just after the authors, then one might want special -% punctuation following it, like a colon, or space only. The latter is -% probably desirable if the date is brackets or parentheses. -% -% The date can even be put into bold face. -% \begin{macrocode} -\beginoptiongroup{DATE FORMAT - (if non author-year citations)} - {\ifnumerical*\fi}% -\optdef{*}{}{Plain month and year}{without any brackets} -\optdef{p}{yr-par}{Date in parentheses}{as (May 1993)} -\optdef{b}{yr-brk}{Date in brackets}{as [May 1993]} -\optdef{c}{yr-col}{Date preceded by colon}{as `: May 1993'} -\optdef{d}{yr-per}{Date preceded by period}{as `. May 1993'} -\optdef{m}{yr-com}{Date preceded by comma}{as `, May 1993'} -\optdef{s}{yr-blk}{Date preceded by space}{only, as ` May 1993'} -\getans -\beginoptiongroup{SUPPRESS MONTH:}{} -\optdef{*}{}{Date is month and year}{} -\optdef{x}{xmth}{Date is year only}{} -\getans -\endoptiongroup -\beginoptiongroup{REVERSED DATE - (if including month)} - {\if\ans x\else*\fi}% -\optdef{*}{}{Date as month year}{} -\optdef{r}{dtrev}{Date as year month}{} -\getans -\endoptiongroup -\endoptiongroup - -\beginoptiongroup{DATE FORMAT - (if author-year citations)} - {\ifnumerical\else*\fi}% -\optdef{*}{}{Year plain}{without any brackets} -\optdef{p}{yr-par}{Year in parentheses}{as (1993)} -\optdef{b}{yr-brk}{Year in brackets}{as [1993]} -\optdef{c}{yr-col}{Year preceded by colon}{as `: 1993'} -\optdef{d}{yr-per}{Year preceded by period}{as `. 1993'} -\optdef{m}{yr-com}{Date preceded by comma}{as `, 1993'} -\optdef{s}{yr-blk}{Year preceded by space}{only, as ` 1993'} -\getans -\beginoptiongroup{INCLUDE MONTHS:}{} -\optdef{*}{}{Date is year only}{without the month} -\optdef{m}{aymth}{Include month in date}{} -\getans -\endoptiongroup -\beginoptiongroup{REVERSED DATE - (if including month)} - {\if\ans m*\fi}% -\optdef{*}{}{Date as month year}{} -\optdef{r}{dtrev}{Date as year month}{} -\getans -\endoptiongroup -\endoptiongroup - -\beginoptiongroup{DATE PUNCTUATION - (if date not at end)} - {\ifmytemp*\fi}% -\optdef{*}{}{Date with standard block punctuation}{(comma or period)} -\optdef{c}{yrp-col}{Colon after date}{as 1994:} -\optdef{s}{yrp-semi}{Semi-colon after date}{as 1994;} -\optdef{p}{yrp-per}{Period after date}{even when blocks use commas} -\optdef{x}{yrp-x}{No punct. after date}{} -\getans -\beginoptiongroup{BLANK AFTER DATE:}{} -\optdef{*}{}{Space after date}{and punctuation} -\optdef{x}{yrpp-xsp}{No space after date}{as 1994:45} -\getans -\endoptiongroup -\endoptiongroup -\beginoptiongroup{DATE FONT:}{} -\optdef{*}{}{Date in normal font}{} -\optdef{b}{dtbf}{Date in bold face}{} -\getans -\endoptiongroup -% \end{macrocode} -% -% Normally in author--year citations, the \texttt{year} entry is truncated -% to the last 4 characters, which should be the 4 digits of the year. Some -% users have requested the possibility of suppressing this truncation so -% that they may put text in the \texttt{year} field, such as ``in press.'' -% Another use for it is when years are given as ``1968--72''. Actually, -% I have no idea why the year should be truncated at all. -% \begin{macrocode} -\beginoptiongroup{TRUNCATE YEAR - (if author-year citations)} - {\ifnumerical\else*\fi}% -\optdef{*}{note-yr}{Year text full}{as 1990--1993 or `in press'} -\optdef{t}{}{Year truncated}{to last 4 digits} -\getans -\endoptiongroup -% \end{macrocode} -% -% \subsection*{Article title in journal} -% The title of an article in a journal or in a collection (a book, or -% conference proceedings) may appear plain, in italics, within single -% or double quotes or even in guillemets. The last is best with T1 coding; a -% poor man's version for OT1 is provided; \LaTeXe\ is required in both cases. -% -% Furthermore, it may have sentence capitalization (first -% word and word following colon) or be capitalized as in the \texttt{.bib} file -% entry. That is why it is recommended to capitalize the entry text as it -% should appear when fully capitalized, putting words that are always -% capitalized in braces. Example: -% \begin{quote} -% |TITLE="The Results of the {Giotto} Mission"| -% \end{quote} -% which produces either ``The results of the Giotto mission'' or ``The -% Results of the Giotto Mission'', depending on option. -% -% Additionally, the article titles may be fully suppressed. -% \begin{macrocode} -\beginoptiongroup{TITLE OF ARTICLE:}{} -\optdef{*}{}{Title plain}{with no special font} -\optdef{i}{tit-it}{Title italic}{(\string\em)} -\optdef{q}{tit-qq,qt-s}{Title and punctuation in single quotes}{(`Title,' ..)} -\optdef{d}{tit-qq}{Title and punctuation in double quotes}{(``Title,'' ..)} -\optdef{g}{tit-qq,qt-g}{Title and punctuation in guillemets}{(<<Title,>> ..)} -\optdef{x}{tit-qq,qt-s,qx}{Title in single quotes}{(`Title', ..)} -\optdef{y}{tit-qq,qx}{Title in double quotes}{(``Title'', ..)} -\optdef{z}{tit-qq,qt-g,qx}{Title in guillemets}{(<<Title>>, ..)} -\getans -\endoptiongroup -\mytempfalse -\if\ans q\mytemptrue\fi -\if\ans d\mytemptrue\fi -\if\ans g\mytemptrue\fi -\if\ans x\mytemptrue\fi -\if\ans y\mytemptrue\fi -\if\ans z\mytemptrue\fi -\beginoptiongroup{COLLECTION/PROCEEDINGS TITLES - (if quoted title)} - {\ifmytemp*\fi}% -\optdef{*}{bt-qq}{Quote collection and proceedings titles}{too} -\optdef{x}{}{Collection and proceedings titles not in quotes}{} -\getans -\endoptiongroup -\beginoptiongroup{CAPITALIZATION OF ARTICLE TITLE:}{} -\optdef{*}{}{Sentence style}{(capitalize first word and those in braces)} -\optdef{t}{atit-u}{Title style}{(just as in bib entry)} -\getans -\endoptiongroup - -\beginoptiongroup{ARTICLE TITLE PRESENT:}{} -\optdef{*}{}{Article title present}{in journals and proceedings} -\optdef{x}{jtit-x}{No article title}{} -\getans -\endoptiongroup -% \end{macrocode} -% -% \subsection*{Journal names} -% Abbreviated journal names normally contain periods; the periods may be -% removed with this option. In fact, only letters, numbers, and spacing are -% retained. -% \begin{macrocode} -\beginoptiongroup{JOURNAL NAMES:}{} -\optdef{*}{}{Periods in journal names}{are retained, as `Phys. Rev.'} -\optdef{x}{jxper}{Dotless journal names}{as `Phys Rev'} -\getans -\endoptiongroup -% \end{macrocode} -% Journal name is normally printed in italics; can be left in normal font. -% \begin{macrocode} -\beginoptiongroup{JOURNAL NAME FONT:}{} -\optdef{*}{}{Journal name italics}{} -\optdef{r}{jttl-rm}{Journal name normal}{font} -\getans -\endoptiongroup -% \end{macrocode} -% -% \subsection*{Title of Theses and Technical Reports} -% The title of a these (PhD or Master's) is normally treated the same -% as that of a book. Optionally, it may be formatted like that of -% an article. -% -% The title of a technical report is normally treated the same as that -% of an article. Optionally, it may be formatted like that of a book. -% -% \begin{macrocode} -\beginoptiongroup{THESIS TITLE:}{} -\optdef{*}{}{Thesis titles like books}{} -\optdef{a}{thtit-a}{Thesis title like article}{} -\optdef{x}{thtit-x}{No thesis title}{} -\getans -\endoptiongroup - -\beginoptiongroup{TECHNICAL REPORT TITLE:}{} -\optdef{*}{}{Tech. report title like articles}{} -\optdef{b}{trtit-b}{Tech. report title like books}{} -\getans -\endoptiongroup - -\beginoptiongroup{TECHNICAL REPORT NUMBER:}{} -\optdef{*}{}{Tech. report and number plain}{as `Tech. Rep. 123'} -\optdef{i}{trnum-it}{Tech. report and number italic}% - {as `{\string\it\space Tech. Rep. 123'}} -\getans -\endoptiongroup -% \end{macrocode} -% -% \subsection*{Journal reference} -% Great diversity of opinion exists as to how a journal reference is to be -% formatted. It consists of a volume, possibly a number, and page limits. -% The number is really only necessary if the page numbers within one volume -% start at 1 for each physical `number'. Since journals are often bound -% together in one volume later, it makes more sense to number the pages -% continuously through the whole volume. -% -% I am only aware of one journal that used to reset the pagination for each -% `number', in which case the number was part of the page designation. -% I had erroneously provided an option \texttt{vnum-pg} to achieve this, but I -% now realize that instead, for this one journal, the database entries must -% contain \texttt{pages="(2)33--2(55)"}. This option has been removed at -% version 3.84. -% -% A number of styles for journal specifications are -% \begin{quote} -% \begin{tabular}{l@{\qquad}l} -% 21(2):33--55 & 21, no.\ 2: 33--55\\ -% \textbf{21}(2):33--55 & \textbf{21}, \#2, 33--55\\ -% \textit{21}(2), 33--55 & \textit{21} (2); 33--55 \\ -% 21(2) (1995) 33--55 & 21(1995), 33-55\\ -% 21(2) 33--55 & vol.~21 (2), pp.~33--55 -% \end{tabular} -% \end{quote} -% -% Here both start and stop page numbers have been given; often only the -% start page is wanted. -% -% It is also possible to include the year as part of the journal specification, -% in which case the year is always in parentheses, attached snugly or with space -% to the volume, or preceding the pages. -% -% \begin{macrocode} -\beginoptiongroup{JOURNAL VOLUME:}{} -\optdef{*}{}{Volume plain}{as vol(num)} -\optdef{i}{vol-it}{Volume italic}{as {\string\em\space vol}(num)} -\optdef{b}{vol-bf}{Volume bold}{as {\string\bf\space vol}(num)} -\optdef{d}{vol-2bf}{Volume and number bold}{as {\string\bf\space vol(num)}} -\getans -\endoptiongroup -% \end{macrocode} -% -% The form of the `number' is also given: in parentheses, with `no.', -% with \#, or omitted. The \texttt{vnum-b} option is meant to be used -% with \texttt{jdt-v} and \texttt{jdt-vs} but could be used alone. -% \begin{macrocode} -\beginoptiongroup{JOURNAL VOL AND NUMBER:}{} -\optdef{*}{}{Journal vol(num)}{as 34(2)} -\optdef{s}{vnum-sp}{Journal vol (num)}{as 34 (2)} -\optdef{c}{vnum-cm}{Journal vol, num}{as 34, 2} -\optdef{n}{vnum-nr}{Journal vol, no. num}{as 34, no. 2} -\optdef{h}{vnum-h}{Journal vol, \string\# number}{as 34, \string\#2} -\optdef{b}{vnum-b}{Journal vol number}{as 34 2} -\optdef{x}{vnum-x}{Journal vol, without number}{as 34} -\getans -\endoptiongroup - -\beginoptiongroup{VOLUME PUNCTUATION:}{} -\optdef{*}{}{Volume with colon}{as vol(num):ppp} -\optdef{s}{volp-sp}{Volume with colon and space}{as vol(num): ppp} -\optdef{h}{volp-semi}{Volume with semi-colon}{as vol(num); ppp} -\optdef{c}{volp-com}{Volume with comma}{as vol(num), ppp} -\optdef{b}{volp-blk}{Volume with blank}{as vol(num) ppp} -\getans -\endoptiongroup - -\beginoptiongroup{YEAR IN JOURNAL SPECIFICATION:}{} -\optdef{*}{}{Journal year like others}{as given by date position} -\optdef{v}{jdt-v}{Journal vol(year)}{as 34(1995)} -\optdef{s}{jdt-vs}{Journal vol (year)}{as 34 (1995)} -\optdef{p}{jdt-p}{Year with pages}{as 34(2), (1995) 1345--1387} -\optdef{c}{jdt-pc}{Year, comma, pages}{as 34(2), (1995), 1345--1387} -\getans -\endoptiongroup - -\beginoptiongroup{PAGE NUMBERS:}{} -\optdef{*}{}{Start and stop page numbers}{given} -\optdef{f}{jpg-1}{Only start page number}{} -\getans -\endoptiongroup - -\beginoptiongroup{LARGE PAGE NUMBERS:}{} -\optdef{*}{}{No separators for large page numbers}{} -\optdef{c}{pgsep-c}{Comma inserted over 9999}{as 11,234} -\optdef{s}{pgsep-s}{Thin space inserted over 9999}{as 11 234} -\optdef{p}{pgsep-p}{Period inserted over 9999}{as 11.234} -\getans -\endoptiongroup - -\beginoptiongroup{WORD `PAGE' IN ARTICLES:}{} -\optdef{*}{}{Article pages numbers only}{as 234-256} -\optdef{p}{jwdpg}{Include `page' in articles}{as pp. 234--256} -\getans -\endoptiongroup -% \end{macrocode} -% -% Some journals want page numbers at the end, even for books, proceedings, as -% well as for journals. -% \begin{macrocode} -\beginoptiongroup{POSITION OF PAGES:}{} -\optdef{*}{}{Pages given mid text}{as is normal} -\optdef{e}{pp-last}{Pages at end}{but before any notes} -\getans -\endoptiongroup - -\beginoptiongroup{WORD `VOLUME' IN ARTICLES:}{} -\optdef{*}{}{Article volume as number only}{as 21} -\optdef{p}{jwdvol}{Include `volume' in articles}{as vol. 21} -\getans -\endoptiongroup -% \end{macrocode} -% -% Fiddle with the format and location of the number/series for collections and -% inproceedings. -% \begin{macrocode} -\beginoptiongroup{NUMBER AND SERIES FOR COLLECTIONS:}{} -\optdef{*}{num-xser}{Allows number without series}{and suppresses word "number"} -\optdef{s}{}{Standard BibTeX}{as: "number 123 in Total Works"; error if number and no series} -\getans -\endoptiongroup - -\beginoptiongroup{POSITION OF NUMBER AND SERIES:}{} -\optdef{*}{}{After chapter and pages}{as in standard BibTeX} -\optdef{t}{numser}{Just before publisher}{or organization} -\getans -\endoptiongroup -% \end{macrocode} -% -% Fiddle with the format and location of series and volume with books and collections. -% \begin{macrocode} -\beginoptiongroup{VOLUME AND SERIES FOR BOOKS/COLLECTIONS:}{} -\optdef{*}{}{Vol. 23 of Series}{as in standard BibTeX} -\optdef{s}{ser-vol}{Series, vol. 23}{} -\getans -\endoptiongroup - -\beginoptiongroup{POSITION OF VOLUME AND SERIES FOR INCOLLECTIONS:}{} -\optdef{*}{}{Series and volume after the editors}{} -\optdef{e}{ser-ed}{Series and volume after booktitle}{and before editors} -\getans -\endoptiongroup -% \end{macrocode} -% -% It is possible to decide whether the journal name should be -% separated from the following specifications with a blank or comma. -% \begin{macrocode} -\beginoptiongroup{JOURNAL NAME PUNCTUATION:}{} -\optdef{*}{}{Comma after journal}{name} -\optdef{x}{jnm-x}{Space after journal}{name} -\getans -\endoptiongroup -% \end{macrocode} -% -% \subsection*{Books} -% The title of a book (as opposed to an article in a book or journal) is -% normally italicized. This may be set to the regular font. -% -% The page numbers in books may be set in parentheses, as (pp.\ 345--350). -% \begin{macrocode} -\beginoptiongroup{BOOK TITLE:}{} -\optdef{*}{}{Book title italic}{(\string\em)} -\optdef{p}{btit-rm,bt-rm}{Book title plain}{(no font command)} -\getans -\endoptiongroup - -\beginoptiongroup{PAGES IN BOOKS:}{} -\optdef{*}{}{Pages in book plain}{as pp. 50-55} -\optdef{p}{bkpg-par}{Pages in book in parentheses}{as (pp. 50-55)} -\optdef{x}{bkpg-x}{Pages in book bare}{as 50-55} -\getans -\endoptiongroup -\beginoptiongroup{TOTAL PAGES OF A BOOK:}{} -\optdef{*}{}{Total book pages not printed}{} -\optdef{p}{pg-bk}{For book: 345 pages}{or pp.} -\optdef{a}{pg-bk,pg-pre}{Total book pages before publisher}{} -\getans -\endoptiongroup -% \end{macrocode} -% Some psychology journals wish to have the publisher's address preceding -% the name, separated by colon, as -% \begin{quote}New York: Wiley and Sons\end{quote} -% -% Some journals (e.g.\ Nature) put publisher in parentheses with date, -% as (Wiley and Sons, New York, 1983). These normally put the date in -% parentheses at the end anyway, so this is a merging of the two sets of -% parentheses. -% \begin{macrocode} -\beginoptiongroup{PUBLISHER ADDRESS:}{} -\optdef{*}{}{Publisher, address}{as Harcourt, New York} -\optdef{a}{add-pub}{Address: Publisher}{as New York: Harcourt} -\getans -\endoptiongroup - -\beginoptiongroup{PUBLISHER IN PARENTHESES:}{} -\optdef{*}{}{Publisher as normal block}{without parentheses} -\optdef{p}{pub-par}{Publisher in parentheses}{} -\optdef{d}{pub-date}{Publisher and date in parentheses}{(Oxford, 1994)} -\optdef{c}{pub-date,pub-xc}{Publisher and date in parentheses, no comma}{(Oxford 1994)} -\optdef{f}{pub-date,pub-xpar}{Publisher and date without parentheses}{Oxford, 1994} -\optdef{k}{pub-date,pub-xpar,pub-xc}{Publisher and date, no parentheses, no comma}{Oxford 1994} -\getans -\endoptiongroup - -\beginoptiongroup{PUBLISHER POSITION:}{} -\optdef{*}{}{Publisher after chapter, pages}{} -\optdef{p}{pre-pub}{Publisher before chapter, pages}{} -\optdef{e}{pre-edn}{Publisher after edition}{} -\getans -\endoptiongroup -% \end{macrocode} -% -% \subsection*{ISBN, ISSN, DOI numbers} -% Books normally possess an ISBN number. This may be included as an -% optional entry for \texttt{book}, \texttt{inbook}, \texttt{booklet}, -% \texttt{incollection}, \texttt{proceedings}, \texttt{inproceedings}. -% However, it should be suppressed for \texttt{inbook} etc.\ when -% there is a crossref to another book with the ISBN number. -% -% Periodicals contain an ISSN number. Add this to \texttt{article}, or -% course, but also to \texttt{inproceedings} and \texttt{proceedings}, since -% they are sometimes printed in a periodical. -% -% Journal articles that appear online are given a DOI number, something more -% robust than a URL that can change as machines are upgraded. -% The American Geophysical Union (AGU) uses the DOI as part of the -% page number substitution for electronic journals, placing the number -% where the pages would normally appear. -% \begin{macrocode} -\beginoptiongroup{ISBN NUMBER:}{} -\optdef{*}{isbn}{Include ISBN}{for books, booklets, etc.} -\optdef{x}{}{No ISBN}{} -\getans -\endoptiongroup - -\beginoptiongroup{ISSN NUMBER:}{} -\optdef{*}{issn}{Include ISSN}{for periodicals} -\optdef{x}{}{No ISSN}{} -\getans -\endoptiongroup - -\beginoptiongroup{DOI NUMBER:}{} -\optdef{*}{doi}{Include DOI}{as "doi: number"} -\optdef{u}{url-doi}{Format DOI as URL //doi.org/doi}{(must give url options!)} -\optdef{a}{agu-doi,doi}{Insert DOI AGU style}{as part of page number} -\optdef{x}{}{No DOI}{} -\getans -\endoptiongroup -% \end{macrocode} -% -% \subsection*{Editor of book without author} -% -% This is normally -% \begin{quote} -% J. K. James, editor -% \end{quote} -% but may also be -% \begin{quote} -% J. K. James, (editor)\\ -% J. K. James (editor), -% \end{quote} -% Alternatively, the word \textsl{editor} may be capitalized and/or -% abbreviated. -% -% \begin{macrocode} -\beginoptiongroup{`EDITOR' AFTER NAMES (EDITED BOOKS WITHOUT AUTHORS):}{} -\optdef{*}{}{Word `editor' after name}{} -\optdef{a}{edpar}{`Name (editor),'}{in parentheses, after name, comma after} -\optdef{b}{edpar,bkedcap}{`Name (Editor),'}{as above, editor upper case} -\optdef{c}{edparc}{`Name, (editor)'}{in parentheses, after name, comma between} -\optdef{d}{edparc,bkedcap}{`Name, (Editor)'}{as above, editor upper case} -\optdef{e}{edparxc}{`Name (editor)'}{in parentheses, after name, no commas} -\optdef{f}{edparxc,bkedcap}{`Name (Editor)'}{as above, editor upper case} -\getans -\endoptiongroup -% \end{macrocode} -% -% \subsection*{Edited by} -% For an article within an edited collection, the normal form is -% \begin{quote} -% In J. K. James, editor, \emph{Title of Collection} \dots -% \end{quote} -% Alternative forms are -% \begin{quote} -% In J. K. James (editor), \emph{Title} \dots\\ -% In \emph{Title}, edited by J. K. James \dots\\ -% In \emph{Title} (Edited by J. K. James) \dots -% \end{quote} -% If none of the \texttt{edby} variations is used, then the same system is -% used as for edited books, i.e. \texttt{edpar} applies. -% \begin{macrocode} -\beginoptiongroup{EDITOR IN COLLECTIONS:}{} -\optdef{*}{}{Same as for edited book}{(names before booktitle)} -\optdef{b}{edby}{In booktitle, edited by .. }{(where .. is names)} -\optdef{p}{edby-par}{In booktitle (edited by ..)}{} -\optdef{c}{edby-parc}{In booktitle, (edited by ..)}{} -\optdef{e}{edby,edbyx}{In booktitle, editor ..}{} -\optdef{f}{edby,edbyw}{In booktitle, (editor) ..}{} -\optdef{k}{edby-par,edbyx}{In booktitle (editor..)}{} -\optdef{g}{edby-parc,edbyx}{In booktitle, (editor..)}{} -\optdef{j}{edby,edbyy}{In booktitle, .., editor}{} -\optdef{m}{edby-par,edbyy}{In booktitle (.., editor)}{} -\getans -\endoptiongroup -\mytempfalse -\if\ans p\mytemptrue\fi -\if\ans k\mytemptrue\fi -\if\ans c\mytemptrue\fi -\if\ans f\mytemptrue\fi -\beginoptiongroup{CAPITALIZE `EDITOR' OR `EDITED BY' - (if editor capitalizable)} - {\ifmytemp*\fi}% -\optdef{*}{}{`(editor,..)' or `(edited by..)'}{in lower case} -\optdef{c}{edcap}{`(Editor,..)' or `(Edited by..)'}{in upper case} -\getans -\endoptiongroup -% \end{macrocode} -% -% \subsection*{Block punctuation} -% Blocks are logical sections of the reference specification, such as the -% author block, the journal block, editor block, etc. These are normally -% separated by periods, but alternatively a comma may be used. Another -% choice is to use commas except after titles where a period is given. -% -% \LaTeX\ offers an \texttt{openbib} option, which means that the blocks -% are not only new sentences, but new lines as well. This can only -% function when the default option here is taken, for then the command -% |\newblock| is placed between the blocks. This command is normally -% defined to do nothing, but \LaTeX\ redefines it to issue a new line -% when open bibliographies are wanted. -% \begin{macrocode} -\beginoptiongroup{PUNCTUATION BETWEEN SECTIONS (BLOCKS):}{} -\optdef{*}{}{\string\newblock\space after blocks} - {(periods or new lines with openbib option)} -\optdef{c}{blk-com}{Comma between blocks}{} -\optdef{s}{blk-com,com-semi}{Semi-colon between blocks}{} -\optdef{b}{blk-com,com-blank}{Blanks between blocks}{} -\optdef{t}{blk-tit}{Period after titles of articles, books, etc}{else commas} -\optdef{u}{blk-tit,tit-col}{Colon after titles of articles, books, etc}{else commas} -\optdef{a}{blk-tita}{Period after titles of articles}{else commas} -\optdef{d}{blk-tita,tit-col}{Colon after titles of articles}{else commas} -\getans -\endoptiongroup -\mytempfalse -\if\ans c\mytemptrue\fi -\if\ans s\mytemptrue\fi -\if\ans b\mytemptrue\fi -\if\ans t\mytemptrue\fi -\if\ans a\mytemptrue\fi -\beginoptiongroup{PUNCTUATION BEFORE NOTES - (if not using \string\newblock)} - {\ifmytemp*\fi}% -\optdef{*}{}{Notes have regular punctuation}{like all other blocks} -\optdef{p}{blknt}{Notes preceded by period}{} -\getans -\endoptiongroup -\beginoptiongroup{PUNCTUATION AFTER AUTHORS:}{} -\optdef{*}{}{Author block normal}{with regular block punctuation} -\optdef{c}{au-col}{Author block with colon}{} -\getans -\endoptiongroup -% \end{macrocode} -% -% \subsection*{\textsl{In} with colon} -% When referring to works in a collection, one begins the block describing -% that collection with \textsl{In}. Optionally, one may add a colon. -% \begin{macrocode} -\beginoptiongroup{PUNCTUATION AFTER `IN':}{} -\optdef{*}{}{Space after `in'}{for incollection or inproceedings} -\optdef{c}{in-col}{Colon after `in'}{(as `In: ...')} -\optdef{i}{in-it}{Italic `in'}{and space} -\optdef{d}{in-col,in-it}{Italic `in' and colon}{} -\optdef{x}{in-x}{No word `in'}{for edited works} -\getans -\endoptiongroup -\beginoptiongroup{`IN' WITH JOURNAL NAMES - (if using 'in' with collections)} - {\if\ans x\else*\fi} -\optdef{*}{}{No `in' before journal name}{} -\optdef{i}{injnl}{Add `in' before journal name}{in style for incollection} -\getans -\endoptiongroup -% \end{macrocode} -% -% \subsection*{Final punctuation} -% The punctuation at the end of the reference is normally a period. This -% may be suppressed. -% \begin{macrocode} -\beginoptiongroup{FINAL PUNCTUATION:}{} -\optdef{*}{}{Period at very end}{of the listed reference} -\optdef{x}{fin-bare}{No period at end}{} -\getans -\endoptiongroup -% \end{macrocode} -% -% \subsection*{Abbreviations} -% A number of words may be abbreviated: pages, editors, volume, chapter, -% and so on. The first two may be independently set to abbreviation, the -% rest with a single option. -% -% Additionally, the edition numbers may be -% output as words (first, second, etc.) or as numbers (1st, 2nd, etc.). -% (Recall that the input in the \texttt{.bib} file is always as English -% words.) -% \begin{macrocode} -\beginoptiongroup{ABBREVIATE WORD `PAGES' - (if not using external language file)} - {\if!\cfile!\relax*\fi}% -\optdef{*}{}{`Page(s)'}{(no abbreviation)} -\optdef{a}{pp}{`Page' abbreviated}{as p. or pp.} -\optdef{x}{ppx}{`Page' omitted}{} -\getans -\beginoptiongroup{ABBREVIATE WORD `EDITORS':}{} -\optdef{*}{}{`Editor(s)'}{(no abbreviation)} -\optdef{a}{ed}{`Editor' abbreviated}{as ed. or eds.} -\getans -\endoptiongroup - -\beginoptiongroup{OTHER ABBREVIATIONS:}{} -\optdef{*}{}{No abbreviations}{of volume, edition, chapter, etc} -\optdef{a}{abr}{Abbreviations}{of such words} -\getans -\endoptiongroup -\beginoptiongroup{ABBREVIATION FOR `EDITION' - (if abbreviating words)} - {\if\ans a*\fi}% -\optdef{*}{}{`Edition' abbreviated as `edn'}{} -\optdef{a}{ednx}{`Edition' abbreviated as `ed'}{} -\getans -\beginoptiongroup{MONTHS WITH DOTS:}{} -\optdef{*}{}{Months with dots}{as Jan.} -\optdef{x}{mth-bare}{Months without dots}{as Feb Mar} -\getans -\endoptiongroup -\endoptiongroup -\beginoptiongroup{EDITION NUMBERS:}{} -\optdef{*}{xedn}{Editions as in database}{saving much processing memory} -\optdef{w}{}{Write out editions}{as first, second, third, etc} -\optdef{n}{ord}{Numerical editions}{as 1st, 2nd, 3rd, etc} -\getans -\endoptiongroup -\endoptiongroup -% \end{macrocode} -% -% The above choices about abbreviations are made only if the internal -% languages are taken (English or \texttt{babel}). For an external language -% definition file, these choices, along with possible other ones, are made -% in the external file, which is read in at this point. -% \begin{macrocode} -\umes{Reading external language file \string\cfile=\cfile}% -\if!\cfile!\relax\else - \input\cfile -\fi -% \end{macrocode} -% -% This file contains the standard set of stored journal names present in -% the basic bibliography style files. If other files containing journal -% names are to be included, they may only contain the options \texttt{jabr} -% or \texttt{jaa} since these options are selected here. No option -% menus from the journal-name files will be read in. -% \begin{macrocode} -\beginoptiongroup{STORED JOURNAL NAMES:}{} -\optdef{*}{}{Full journal names}{for prestored journals} -\optdef{a}{jabr}{Abbreviated journal names}{} -\optdef{s}{jabr,jaa}{Abbreviated with astronomy shorthands}{like ApJ and AJ} -\getans -\endoptiongroup -% \end{macrocode} -% -% \subsection*{Variations on \textsl{and}} -% It is possible to replace the word \textsl{and} with an ampersand \&, and to -% specify whether a comma is to precede \textsl{and} in a list of more than two -% names. -% -% A variable \textsl{and} may be provided for with the command |\BIBand| -% in place of the word. In this case, the command must be defined in the -% document file or some other package called. (This is intended for situations -% where an ampersand is wanted in parenthetical citations, but the word in -% textual ones.) -% -% \begin{macrocode} -\beginoptiongroup{AMPERSAND:}{} -\optdef{*}{}{Use word `and'}{in author lists} -\optdef{a}{amper}{Use ampersand}{in place of `and'} -\optdef{v}{varand}{Use \string\BIBand}{in place of `and'} -\getans -\endoptiongroup - -\beginoptiongroup{COMMA BEFORE `AND':}{} -\optdef{*}{}{Comma before `and'}{as `Tom, Dick, and Harry'} -\optdef{n}{and-xcom}{No comma before `and'}{as `Tom, Dick and Harry'} -\optdef{c}{and-com}{Comma even with 2 authors}{as `Tom, and Harry'} -\getans -\endoptiongroup -\beginoptiongroup{COMMA BEFORE `AND' EVEN FOR COLLECTION EDITORS - (if using comma before `and' with authors)} - {\if\ans c*\fi}% -\optdef{*}{and-com-ed}{Comma with 2 editors}{in collections} -\optdef{x}{}{Two editors without comma}{as `Tom and Harry'} -\getans -\endoptiongroup -\beginoptiongroup{NO `AND' IN REFERENCE LIST:}{} -\optdef{*}{}{With `and'}{before last author in reference list} -\optdef{x}{xand}{No `and'}{as `Tom, Dick, Harry'} -\getans -\endoptiongroup - -\beginoptiongroup{COMMA BEFORE `ET AL':}{} -\optdef{*}{}{Comma before `et al'}{in reference list} -\optdef{x}{etal-xc}{No comma before `et al'}{} -\getans -\endoptiongroup -% \end{macrocode} -% -% \subsection*{Font of \textsl{et al}} -% One can chose that \textsl{et~al.}\ be put into italics. -% Or, if the authors are in a different font from the regular one, the -% \textsl{et~al.}\ can still be Roman. -% \begin{macrocode} -\beginoptiongroup{FONT OF `ET AL':}{} -\optdef{*}{}{Plain et al}{} -\optdef{i}{etal-it}{Italic et al}{} -\optdef{r}{etal-rm}{Roman et al}{even when authors something else} -\getans -\endoptiongroup -% \end{macrocode} -% -% \subsection*{Additional Data Fields}\label{sec:revtex} -% The American Physical Society's REV\TeX\ package contains \btx\ support -% with a \texttt{bst} file generated from a variant of -% \texttt{\filename}. The extra fields are also available here. -% \begin{itemize} -% \item \textbf{collaboration}: A collaboration name associated with a -% reference. -% \item \textbf{eprint}: The e-print citation for the reference (Los Alamos -% or otherwise). E-print numbers can be turned into hyperlinks to the -% online article. The output is\\ -% \hspace*{2em}|\eprint{|\textit{eprint-spec}|}| -% \item \textbf{archive}: is an optional argument for |\eprint|, as\\ -% \hspace*{2em}|\eprint[|\textit{archive-des}|]{|\textit{eprint-spec}|}|\\ -% The \textit{archive-des} is some code such as \texttt{arXiv} that is -% translated to a base URL by a class or package file. The default definition -% of |\eprint| ignores \textit{archive-des} and prints \textit{eprint-spec} -% as a URL. -% \item \textbf{url}: A URL associated with the reference. Can be turned -% into a hyperlink. -% \end{itemize} -% -% A collaboration appears as part of the author list and the other two -% appear at the end of the citaton. The URL field can be selected -% independently of this option. -% -% In addition there are new fields for journals like Phys.\ Rev.~D that -% no longer use page numbers. -% \begin{itemize} -% \item \textbf{eid}: Electronic article identifier. -% \item \textbf{numpages}: Number of pages in an article. For use in -% conjunction with the \textbf{eid} field when page counts are -% desired. Deprecated when submitting to Phys.\ Rev. -% -% The \texttt{eprint} (with \texttt{archive}) and \texttt{url} fields may be -% included independently of the other REV\TeX\ fields. -% -% The \texttt{eid} field is now always included, although it is optional for -% the bibliography entries. This electronic identifier is a replacement for the -% page number in electronic journals: it is the sequence number in the printed -% volume. If present, it will be used in place of the page number. -% -% \end{itemize} -% -% \begin{macrocode} -\beginoptiongroup{ADDITIONAL REVTeX DATA FIELDS:}{} -\optdef{*}{}{No additional fields}{for REVTeX} -\optdef{r}{revdata,eprint,url,url-blk}{Include REVTeX data fields} - {collaboration, eid, eprint, archive, numpages, url} -\getans -\mytemptrue -\if\ans r\mytempfalse\fi -\beginoptiongroup{E-PRINT DATA FIELD: -(without REVTeX fields)} -{\ifmytemp*\fi} -\optdef{*}{}{Do not include eprint field}{} -\optdef{e}{eprint}{Include eprint and archive fields}{for electronic publications} -\getans -\endoptiongroup -% \end{macrocode} -% -% \subsection*{URL address} -% For electronic documents with an Internet address, add a URL entry. -% Harvard already has this, but here it is done for all styles. -% The URL text will be set with the \verb!\url! command in the \texttt{url} -% package by Donald Arseneau. This package must be loaded for the command -% to work right. It allows line breaks at punctuations. Otherwise, -% \verb!\texttt! is used instead, with no line breaks. The URL text is preceded -% by \verb!\urlprefix! which defaults to ``URL '' but may be redefined by the -% user to be whatever s/he wants. The final space must be included. -% -% Note: selecting the REV\TeX\ fields automatically includes this, so the -% offer only is made if REV\TeX\ has been rejected. -% -% \begin{macrocode} -\beginoptiongroup{URL ADDRESS: -(without REVTeX fields)}{\ifmytemp*\fi} -\optdef{*}{}{No URL}{for electronic (Internet) documents} -\optdef{u}{url,url-blk}{Include URL}{as regular item block} -\optdef{n}{url,url-nt}{URL as note}{} -\optdef{l}{url,url-nl}{URL on new line}{after rest of reference} -\getans -\endoptiongroup -\endoptiongroup -% \end{macrocode} -% -% \subsection*{Reference Component Tagging} -% If reference component tagging is enabled, we -% apply tags like |\bibinfo| and |\eprint| to the fields of data -% in the content of the |\bibitem| statement. We also ensure that -% these commands have a default meaning within the scope of the |thebibliography| -% environment. The default definitions simply print the field and ignore the -% tag. However, other programs or packages might make use of the tag -% information to separate authors from title, for example. -% -% \begin{macrocode} -\beginoptiongroup{REFERENCE COMPONENT TAGS:}{} -\optdef{*}{}{No reference component tags} - {in the \string\bibitem\space entries} -\optdef{b}{bibinfo}{Reference component tags} - {like \string\bibinfo\space in the content of \string\bibitem} -\getans -\endoptiongroup -% \end{macrocode} -% -% \subsection*{Define emphasis} -% In everything that been mentioned so far, italicization should be -% understood to mean `emphasize' in the \LaTeX{} sense. This means that the -% command |\em| is used. This is not the same as |\it|, which is always -% italics. Rather, with |\em|, the font style switches between |\rm| and -% |\it| depending on the context. Here one may choose to true italics, or -% to switch off italics altogether. -% \begin{macrocode} -\beginoptiongroup{EMPHASIS: - (affects all so-called italics)}{} -\optdef{*}{}{Use emphasis}{ie, \string\em, allows font switching} -\optdef{i}{em-it}{Use true italics}{ie, \string\it, absolute italics} -\optdef{x}{em-x}{No italics}{at all} -\optdef{u}{em-ul}{Underlining}{in place of italics, best with ulem package} -\getans -\endoptiongroup -% \end{macrocode} -% -% \subsection*{Plain \TeX\ compatibility} -% Bold face, italics, and emphasis are made with the \LaTeXe\ commands, -% which makes them incompatible with the obsolete \LaTeX2.09, and with -% Plain \TeX. There are also some extra testing for existing commands -% that best work with \LaTeXe\ syntax. -% -% If the bibliography style file is to be fully compatible with Plain \TeX, -% do not select the option \texttt{nfss} but do take \texttt{plntx}. -% \begin{macrocode} -\beginoptiongroup{COMPATIBILITY WITH PLAIN TEX:}{} -\optdef{*}{nfss}{Use LaTeX commands}{which may not work with Plain TeX} -\optdef{t}{plntx}{Use only Plain TeX}{commands for fonts and testing} -\getans -\endoptiongroup -% \end{macrocode} -% -% Terminate the options list. If a language definition file has been called, -% then we have a closing brace too many, so add another dummy opening brace. -% \begin{macrocode} -\if!\cfile\jfile!\else -\begingroup\MBswitch -\wr(,{\pc) -\endgroup -\fi - -\endoptions -%</options> -% \end{macrocode} -% -% \section{The Bibliographic Coding} -% -% \begin{macrocode} -%<*!options&!driver&!bblbst> -%<*!tail> - % For use with BibTeX version 0.99a or later - % ------------------------------------------------------------------- -%<*(!nmft&(nmft-it|nmft-sc|nmft-bf|nmft-def))|(!lab&(lab-it|lab-bf|lab-sc|lab-def))> - % WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING - % The input dbj file contains one of the options -%<nmft-it|nmft-sc|nmft-bf|nmft-def> % nmft-it, nmft-bf, nmft-sc, or nmft-def -%<lab-it|lab-sc|lab-bf|lab-def> % lab-it, lab-bf, lab-sc, or lab-def - % without the corresponding general option(s): -%<nmft-it|nmft-sc|nmft-bf|nmft-def> % nmft -%<lab-it|lab-sc|lab-bf|lab-def> % lab - % (You may be using an older dbj with a newer version of merlin.mbs) - % Please edit your dbj file to add the general option(s) and reprocess. - % -%</(!nmft&(nmft-it|nmft-sc|nmft-bf|nmft-def))|(!lab&(lab-it|lab-bf|lab-sc|lab-def))> -%<*!exlang> -%<!babel> % This bibliography style file is intended for texts in ENGLISH -%<*babel> - % This bibliography style file requires a file named babelbst.tex - % containing the definitions of word commands like \bbleditor, etc. -%</babel> -%</!exlang> -%<*exlang> - % This bibliography style file is intended for texts in -%<bahasa> % BAHASA -%<brazilian> % BRAZILIAN -%<catalan> % CATALAN -%<croatian> % CROATIAN -%<czech> % CZECH -%<danish> % DANISH -%<dansk> % DANSK -%<dutch> % DUTCH -%<english> % ENGLISH -%<esperanto> % ESPERANTO -%<finnish> % FINNISH -%<french> % FRENCH -%<galacian> % GALACIAN -%<german> % GERMAN -%<hungarian> % HUNGARIAN -%<italian> % ITALIAN -%<norwegian> % NORWEGIAN -%<norsk> % NORWEGIAN -%<polski> % POLISH -%<polish> % POLISH -%<portuguese> % PORTUGUESE -%<romanian> % ROMANIAN -%<russian> % RUSSIAN -%<slovak> % SLOVAK -%<slovenian> % SLOVENIAN -%<slovene> % SLOVENIAN -%<spanish> % SPANISH -%<swedish> % SWEDISH -%<turkish> % TURKISH -%</exlang> -%<*!html> -%<*ay> - % This is an author-year citation style bibliography. As such, it is - % non-standard LaTeX, and requires a special package file to function properly. - % Such a package is natbib.sty by Patrick W. Daly -%<*alk> - % or: apalike.sty by Oren Patashnik - % The form of the \bibitem entries is - % \bibitem[Jones et al., 1990]{key}... -%</alk> -%<*!(har|ast|alk|cay|nmd|cn)> - % The form of the \bibitem entries is - % \bibitem[Jones et al.(1990)]{key}... -%<nat> % \bibitem[Jones et al.(1990)Jones, Baker, and Smith]{key}... - % The essential feature is that the label (the part in brackets) consists - % of the author names, as they should appear in the citation, with the year - % in parentheses following. There must be no space before the opening - % parenthesis! -%<nat> % With natbib v5.3, a full list of authors may also follow the year. - % In natbib.sty, it is possible to define the type of enclosures that is - % really wanted (brackets or parentheses), but in either case, there must - % be parentheses in the label. - % The \cite command functions as follows: - % \citet{key} ==>> Jones et al. (1990) -%<nat> % \citet*{key} ==>> Jones, Baker, and Smith (1990) - % \citep{key} ==>> (Jones et al., 1990) -%<nat> % \citep*{key} ==>> (Jones, Baker, and Smith, 1990) - % \citep[chap. 2]{key} ==>> (Jones et al., 1990, chap. 2) - % \citep[e.g.][]{key} ==>> (e.g. Jones et al., 1990) - % \citep[e.g.][p. 32]{key} ==>> (e.g. Jones et al., 1990, p. 32) - % \citeauthor{key} ==>> Jones et al. -%<nat> % \citeauthor*{key} ==>> Jones, Baker, and Smith - % \citeyear{key} ==>> 1990 -%</!(har|ast|alk|cay|nmd|cn)> -%<*har> - % or: harvard.sty by Peter Williams and Thorsten Schnier -%<harnm> % (needs natbib v5.3 or harvard v2.0.3) - % The form of the bibitem entries is - % \harvarditem[Jones et al.]{Jones, Baker, and Smith}{1990}{key}... -%</har> -%<*cay> - % or: chicago.sty - % The form of the bibitem entries is - % \bibitem[\protect\citeauthoryear{Jones, Baker, and Smith} - % {Jones et al.}{1990}{key}... -%</cay> -%<*nmd> - % or: named.sty - % The form of the bibitem entries is - % \bibitem[\protect\citeauthoryear{Jones et al.}{1990}]{key}... -%</nmd> -%<*ast> - % or: astron.sty - % The form of the bibitem entries is - % \bibitem[\protect\astroncite{Jones et al.}{1990}]{key}... -%</ast> -%<*cn> - % or: authordate1-4.sty - % The form of the bibitem entries is - % \bibitem[\protect\citename{Jones et al.}1990]{key}... -%</cn> -%</ay> -%<*!ay> -%<*!alph&!cite> - % This is a numerical citation style, and as such is standard LaTeX. -%</!alph&!cite> -%<*alph> - % This is a labelled citation style similar to the standard alpha.bst, - % where labels are of the form Dal90 or DBK89. -%</alph> -%<*cite&!alph> - % This is a special pseudo-numerical bibliography style, intended to be - % used to list all the entries in a bib database -%</cite&!alph> - % It requires no extra package to interface to the main text. - % The form of the \bibitem entries is -%<!alph&!cite> % \bibitem{key}... -%<alph> % \bibitem[label]{key}... -%<!alph&cite> % \bibitem[key]{key}... -%<*!cite|alph> - % Usage of \cite is as follows: -%<*!alph&!cite> - % \cite{key} ==>> [#] - % \cite[chap. 2]{key} ==>> [#, chap. 2] - % where # is a number determined by the ordering in the reference list. -%</!alph&!cite> -%<*alph> - % \cite{key} ==>> [label] - % \cite[chap. 2]{key} ==>> [label, chap. 2] - % The order in the reference list is by label. -%</alph> -%<*seq-no&!alph> - % The order in the reference list is that by which the works were originally - % cited in the text, or that in the database. -%</seq-no&!alph> -%<*!seq-no&!alph> - % The order in the reference list is alphabetical by authors. -%</!seq-no&!alph> -%</!cite|alph> -%</!ay> -%</!html> -%<*html> - % This bibliographic style file produces HTML output instead of LaTeX. - % The LaTeX special characters are not translated, so that the output - % (which has the .bbl ending still) will have to be further massaged, - % and renamed with .html or .htm. The title and heading may also need - % to be revised. - % -%<htlist&!htdes> % The output is a numbered list. -%<htdes> % The output is an unnumbered list with the keys printed -%<htdes> % before each entry. -%<!htlist&!htdes> % The output is lists each entry as one paragraph. -%</html> - % ------------------------------------------------------------------- - -% \end{macrocode} -% -% \begin{macro}{`ENTRY'} -% The new \texttt{harvard.sty} of \LaTeXe{} includes an entry URL, or -% rather it is included in the new \texttt{.bst} files for it. Add it -% here too, but only for option \texttt{harnm}. -% -% Books normally have an ISBN number. -% This entry is (optionally) included, modelled after that in -% \texttt{xbtxbst.doc}. -% \begin{macrocode} -ENTRY - { address -%<annote> annote -%<eprint> archive - author - booktitle - chapter -%<revdata> collaboration -%<doi|url-doi> doi - edition - editor - eid -%<eprint> eprint - howpublished - institution -%<isbn> isbn -%<issn> issn - journal - key -%<lang> language - month - note - number -%<revdata> numpages - organization - pages - publisher - school - series - title - type -%<url|harnm|revdata> url - volume - year - } - {} -%<!ay&!alph> { label } -%<!ay&alph> { label extra.label sort.label } -%<ay> { label extra.label sort.label short.list } -% \end{macrocode} -% \end{macro} -% -% \begin{macrocode} -INTEGERS { output.state before.all mid.sentence after.sentence after.block } -% \end{macrocode} -% -% \begin{macro}{`init.state.consts'} -% \begin{macrocode} -FUNCTION {init.state.consts} -{ #0 'before.all := - #1 'mid.sentence := - #2 'after.sentence := - #3 'after.block := -} -% \end{macrocode} -% \end{macro} -% -% |s| and |t| are general-purpose scratch registers whose value does not persist -% past the end of a function. They also do not appear to be used to communicate -% between functions or to be clobbered within a sub-function call. Hopefully. -% \begin{macrocode} -STRINGS { s t} -% \end{macrocode} -% -% \begin{macro}{`output.nonnull'} -% \begin{macrocode} -FUNCTION {output.nonnull} -{ 's := - output.state mid.sentence = -%<!blk-com|(!com-semi&!com-blank)> { ", " * write$ } -%<blk-com&com-semi> { "; " * write$ } -%<blk-com&!com-semi&com-blank> { " " * write$ } - { output.state after.block = - { add.period$ write$ - newline$ -%<!html> "\newblock " write$ - } - { output.state before.all = - 'write$ - { add.period$ " " * write$ } - if$ - } - if$ - mid.sentence 'output.state := - } - if$ - s -} -% \end{macrocode} -% \end{macro} -% -% \begin{macro}{`output'} -% \begin{macrocode} -FUNCTION {output} -{ duplicate$ empty$ - 'pop$ - 'output.nonnull - if$ -} -% \end{macrocode} -% \end{macro} -% -% \begin{macro}{`output.check'} -% \begin{macrocode} -FUNCTION {output.check} -{ 't := - duplicate$ empty$ - { pop$ "empty " t * " in " * cite$ * warning$ } - 'output.nonnull - if$ -} -% \end{macrocode} -% \end{macro} -% -% \begin{macro}{`fin.entry'} -% I have often been asked to add an annotation function. This suggestion is -% from Soren Dayton; it inputs a file with the same name as the cite key, or -% uses the text in the \texttt{annote} field. It will only work with \LaTeXe. -% \begin{macrocode} -FUNCTION {fin.entry} -%<*!fin-bare> -{ add.period$ - write$ -%</!fin-bare> -%<*fin-bare> -{ duplicate$ empty$ - 'pop$ - 'write$ - if$ -%</fin-bare> -%<html&htdes> "</dd>" write$ -%<html&!htdes&htlist> "</li>" write$ -%<html&!htdes&!htlist> "</p>" write$ - newline$ -%<*annote> -%<*!html> - annote missing$ - { "\bibAnnoteFile{" cite$ * "}" * write$ newline$ } - { "\bibAnnote{" cite$ * "}{" * annote * "}" * write$ newline$ - } - if$ -%</!html> -%<*html> - "<blockquote><strong>Key:</strong> " - cite$ * write$ - annote missing$ - { newline$ } - { "<br><strong>Annotation:</strong>" write$ newline$ - annote write$ newline$ - } - if$ - "</blockquote>" write$ newline$ -%</html> -%</annote> -} - -% \end{macrocode} -% \end{macro} -% -% \begin{macro}{`new.block'} -% \begin{macrocode} -FUNCTION {new.block} -{ output.state before.all = - 'skip$ - { after.block 'output.state := } - if$ -} -% \end{macrocode} -% \end{macro} -% -% \begin{macro}{`new.sentence'} -% \begin{macrocode} -FUNCTION {new.sentence} -{ output.state after.block = - 'skip$ - { output.state before.all = - 'skip$ - { after.sentence 'output.state := } - if$ - } - if$ -} -% \end{macrocode} -% \end{macro} -% -% \begin{macro}{`add.blank'} -% When text is printed with \texttt{output} or -% \texttt{output.check}, the \texttt{output.state} is set such that -% a comma will precede the next output text. For special effects, we want to -% suppress this comma, inserting a blank instead. Hence the -% \texttt{output.state} is changed to \texttt{before.all}, meaning no -% punctuation is to be inserted. -% \begin{macrocode} -FUNCTION {add.blank} -{ " " * before.all 'output.state := -} - -% \end{macrocode} -% \end{macro} -% -% \begin{macro}{`add.colon'} -% \begin{macrocode} -%<*au-col|tit-col> -FUNCTION {add.colon} -{ duplicate$ empty$ - 'skip$ - { ":" * add.blank } - if$ -} - -%</au-col|tit-col> -% \end{macrocode} -% \end{macro} -% -% \begin{macro}{`no.blank.or.punct'} -% Another frill is to suppresss both blanks and punctuation. The |\hspace| -% permits a line break at this point. -% \begin{macrocode} -%<*yrpp-xsp> -FUNCTION {no.blank.or.punct} -%<*!html> -{ "\hspace{0pt}" * before.all 'output.state := -} -%</!html> -%<html>{ before.all 'output.state := } - -%</yrpp-xsp> -% \end{macrocode} -% \end{macro} -% -% \begin{macro}{`date.block'} -% The \texttt{date.block} function is used for special punctuating effects -% after the date. -% \begin{macrocode} -FUNCTION {date.block} -{ -%<*!yrp-x> -%<yrp-col> ":" * -%<*!yrp-col> -%<yrp-semi> ";" * -%<*!yrp-semi> -%<!blk-com&!blk-tit&!blk-tita> new.block -%<(blk-com|blk-tit|blk-tita)&!yrp-per> skip$ -%<(blk-com|blk-tit|blk-tita)&yrp-per> new.sentence -%</!yrp-semi> -%</!yrp-col> -%</!yrp-x> -%<*yrp-x|yrp-col|yrp-semi> -%<!yrpp-xsp> add.blank -%<yrpp-xsp> no.blank.or.punct -%</yrp-x|yrp-col|yrp-semi> -} - -% \end{macrocode} -% \end{macro} -% -% \begin{macro}{`not'} -% \begin{macrocode} -FUNCTION {not} -{ { #0 } - { #1 } - if$ -} -% \end{macrocode} -% \end{macro} -% -% \begin{macro}{`and'} -% \begin{macrocode} -FUNCTION {and} -{ 'skip$ - { pop$ #0 } - if$ -} -% \end{macrocode} -% \end{macro} -% -% \begin{macro}{`or'} -% \begin{macrocode} -FUNCTION {or} -{ { pop$ #1 } - 'skip$ - if$ -} -% \end{macrocode} -% \end{macro} -% -% \begin{macro}{`non.stop'} -% This function (my invention) tests if the last character in the string -% on the stack is \texttt{. ! ?} by using \texttt{add.period\$}. It is to -% be used for conditional italic correction or adding commas. -% \begin{macrocode} -%<*!tit-it&tit-qq> -FUNCTION {non.stop} -{ duplicate$ - "}" * add.period$ - #-1 #1 substring$ "." = -} - -%</!tit-it&tit-qq> -% \end{macrocode} -% \end{macro} -% -% \begin{macro}{`remove.dots'} -% This macro removes any periods from the string on the stack. To be used -% for undotting journal names, months, and juniors. Previously -% \texttt{purify\$} was used for this, but that removes more than just -% dots. -% -% May 2007, Joseph A. Wright (Morning Star, UK) contributed a revision to allow -% the dot accent |\.| to be retained. -% \begin{macrocode} -%<*nm-rv|nm-rvx|nm-rvcx|mth-bare|jxper> -STRINGS {z} - -FUNCTION {remove.dots} -{ 'z := - "" - { z empty$ not } - { z #1 #2 substring$ - duplicate$ "\." = - { z #3 global.max$ substring$ 'z := * } - { pop$ - z #1 #1 substring$ - z #2 global.max$ substring$ 'z := - duplicate$ "." = 'pop$ - { * } - if$ - } - if$ - } - while$ -} -%</nm-rv|nm-rvx|nm-rvcx|mth-bare|jxper> -% \end{macrocode} -% \end{macro} -% -% \begin{macro}{`new.block.checka'} -% \begin{macrocode} -%<*!ay> -FUNCTION {new.block.checka} -{ empty$ - 'skip$ - 'new.block - if$ -} -%</!ay> -% \end{macrocode} -% \end{macro} -% -% \begin{macro}{`new.block.checkb'} -% \begin{macrocode} -FUNCTION {new.block.checkb} -{ empty$ - swap$ empty$ - and - 'skip$ - 'new.block - if$ -} -% \end{macrocode} -% \end{macro} -% -% \begin{macro}{`new.sentence.checka'} -% \begin{macrocode} -%<*!ay> -FUNCTION {new.sentence.checka} -{ empty$ - 'skip$ - 'new.sentence - if$ -} -%</!ay> -% \end{macrocode} -% \end{macro} -% -% \begin{macro}{`new.sentence.checkb'} -% \begin{macrocode} -%<*!ay> -FUNCTION {new.sentence.checkb} -{ empty$ - swap$ empty$ - and - 'skip$ - 'new.sentence - if$ -} -%</!ay> -% \end{macrocode} -% \end{macro} -% -% \begin{macro}{`field.or.null'} -% \begin{macrocode} -FUNCTION {field.or.null} -{ duplicate$ empty$ - { pop$ "" } - 'skip$ - if$ -} -% \end{macrocode} -% \end{macro} -% -% \begin{macro}{`emphasize'} -% Emphasis can be either italic or the alternating font. The font command -% may be NFSS or regular \LaTeX~2.09 declarations. -% \begin{macrocode} -FUNCTION {emphasize} -%<*!em-x> -{ duplicate$ empty$ - { pop$ "" } -%<html> { "<i>" swap$ * "</i>" * } -%<*!html> -%<em-ul> { "\uline{" swap$ * "}" * } -%<*!em-ul> -%<*!nfss> -%<!em-it> { "{\em " swap$ * "\/}" * } -%<em-it> { "{\it " swap$ * "\/}" * } -%</!nfss> -%<*nfss> -%<!em-it> { "\emph{" swap$ * "}" * } -%<em-it> { "\textit{" swap$ * "}" * } -%</nfss> -%</!em-ul> -%</!html> - if$ -} -%</!em-x> -%<em-x>{ skip$ } -% \end{macrocode} -% \end{macro} -% -% \begin{macro}{`bolden'} -% The bold font command may be NFSS or the regular \LaTeX~2.09 declaration. -% \begin{macrocode} -%<*nmft-bf|vol-bf|vol-2bf|lab-bf|dtbf|pres-bf> -FUNCTION {bolden} -{ duplicate$ empty$ - { pop$ "" } -%<html> { "<b>" swap$ * "</b>" * } -%<*!html> -%<!nfss> { "{\bf " swap$ * "}" * } -%<nfss> { "\textbf{" swap$ * "}" * } -%</!html> - if$ -} -%</nmft-bf|vol-bf|vol-2bf|lab-bf|dtbf|pres-bf> -% \end{macrocode} -% \end{macro} -% -% \begin{macro}{`scaps'} -% To put text into small caps. -% \begin{macrocode} -%<*lab-sc|nmft-sc|pres-sc> -FUNCTION {scaps} -{ duplicate$ empty$ - { pop$ "" } -%<html> { skip$ } -%<*!html> -%<!nfss> { "{\sc " swap$ * "}" * } -%<nfss> { "\textsc{" swap$ * "}" * } -%</!html> - if$ -} -%</lab-sc|nmft-sc|pres-sc> -% \end{macrocode} -% \end{macro} -% -% \begin{macro}{`bib.name.font'} -% \begin{macro}{`bib.fname.font'} -% \begin{macro}{`cite.name.font'} -% Define functions for formatting the author/editor names, one for the -% surnames (\texttt{bib.name.font}) and one for the first names -% (\texttt{bib.fname.font}). These could be identical, or the latter is -% deactivated if first names are not to be formatted, only the last names. -% -% For citations, we have \texttt{cite.name.font}. Here only surnames appear. -% -% It is also possible to have a user-defined font command for each, which the -% user must define in his work. These are |\bibnamefont{}| and |\bibfnamefont{}|, -% and some defaults are provided that simply repeat the arguments. Two commands -% are needed if \texttt{nmft-def} and \texttt{fnm-def} are both given. -% -% If neither \texttt{fnm-def} nor \texttt{fnm-rm} are given, then the first names -% are formatted the same as the surnames. -% \begin{macrocode} -%<*nmft> -FUNCTION {bib.name.font} -%<nmft-it>{ emphasize } -%<!nmft-it&nmft-bf>{ bolden } -%<!nmft-it&!nmft-bf&nmft-sc>{ scaps } -%<*!nmft-it&!nmft-bf&!nmft-sc&nmft-def> -{ duplicate$ empty$ - { pop$ "" } -%<!html> { "\bibnamefont{" swap$ * "}" * } -%<html> { skip$ } - if$ -} -%</!nmft-it&!nmft-bf&!nmft-sc&nmft-def> -FUNCTION {bib.fname.font} -%<!fnm-rm&!fnm-def>{ bib.name.font } -%<fnm-rm>{ skip$ } -%<*!fnm-rm&fnm-def> -{ duplicate$ empty$ - { pop$ "" } -%<!html> { "\bibfnamefont{" swap$ * "}" * } -%<html> { skip$ } - if$ -} -%</!fnm-rm&fnm-def> -%</nmft> -% \end{macrocode} -% -% \begin{macrocode} -%<*lab> -FUNCTION {cite.name.font} -%<lab-it>{ emphasize } -%<!lab-it&lab-bf>{ bolden } -%<!lab-it&!lab-bf&lab-sc>{ scaps } -%<*!lab-it&!lab-bf&!lab-sc&lab-def> -{ duplicate$ empty$ - { pop$ "" } -%<!html> { "\citenamefont{" swap$ * "}" * } -%<html> { skip$ } - if$ -} -%</!lab-it&!lab-bf&!lab-sc&lab-def> -%</lab> -% \end{macrocode} -% \end{macro} -% \end{macro} -% \end{macro} -% -% \begin{macro}{`tie.or.space.prefix'} -% The function \texttt{tie.or.space.prefix} determines whether -% the top item on the stack requires a tie character and -% slips that (or a space character if not) ahead of it. -% At this point a font switch or other function can be applied to -% the top item on the stack, and the appropriate space found -% just ahead of it on the stack. -% -% The sequence \texttt{tie.or.space.prefix} \texttt{*} \texttt{*} is a common idiom -% for joining the top two stack objects with a tie or space -% depending on the length of the top object. -% -% Another idiom is to apply \texttt{tie.or.space.prefix}, apply a font switch, -% and then swap and join. In this case the tie or space follows the object. -% \begin{macrocode} -FUNCTION {tie.or.space.prefix} -{ duplicate$ text.length$ #3 < - { "~" } - { " " } - if$ - swap$ -} -% \end{macrocode} -% \end{macro} -% -% \begin{macro}{`capitalize'} -% Capitalizing is easy for regular languages, but for \texttt{babel}, -% some trickery stuff is needed; definitions of |\capitalize| and -% |\Capitalize| are written to the \texttt{.bbl} file. -% \begin{macrocode} - -FUNCTION {capitalize} -%<!babel>{ "u" change.case$ "t" change.case$ } -%<babel>{ "\capitalize" swap$ * } - -% \end{macrocode} -% \end{macro} -% -% \begin{macro}{`space.word'} -% The function \texttt{space.word} adds a space before and after the word or -% words currently on the stack. This was added for the \texttt{bbl.}$nnn$ -% functions, that contain only a word without spacing, but replace explicit -% text in the originals that were spaced out. Its seems more flexible to -% define the word functions to be without spacing. -% \begin{macrocode} -FUNCTION {space.word} -{ " " swap$ * " " * } -% \end{macrocode} -% \end{macro} -% -% \begin{macrocode} - % Here are the language-specific definitions for explicit words. - % Each function has a name bbl.xxx where xxx is the English word. -% \end{macrocode} -% -% \begin{macrocode} -%<*!exlang> -% \end{macrocode} -% -% \begin{macro}{`bbl.xxx'} -% These are the default English words. There is no default language -% option: one of \texttt{english} or \texttt{babel} must be given. -% \begin{macrocode} -%<*!babel> - % The language selected here is ENGLISH -FUNCTION {bbl.and} -%<!varand|html>{ "and"} -%<varand&!html>{ "\protect\BIBand{}"} - -FUNCTION {bbl.etal} -{ "et~al." } - -FUNCTION {bbl.editors} -%<!ed>{ "editors" } -%<ed>{ "eds." } - -FUNCTION {bbl.editor} -%<!ed>{ "editor" } -%<ed>{ "ed." } - -FUNCTION {bbl.edby} -{ "edited by" } - -FUNCTION {bbl.edition} -%<!abr>{ "edition" } -%<abr&!ednx>{ "edn." } -%<abr&ednx>{ "ed." } - -FUNCTION {bbl.volume} -%<!abr>{ "volume" } -%<abr>{ "vol." } - -FUNCTION {bbl.of} -{ "of" } - -FUNCTION {bbl.number} -%<!abr>{ "number" } -%<abr>{ "no." } - -FUNCTION {bbl.nr} -{ "no." } - -FUNCTION {bbl.in} -{ "in" } - -FUNCTION {bbl.pages} -%<!pp&!ppx>{ "pages" } -%<pp>{ "pp." } -%<!pp&ppx>{ "" } - -FUNCTION {bbl.page} -%<!pp&!ppx>{ "page" } -%<pp>{ "p." } -%<!pp&ppx>{ "" } - -%<*revdata> -FUNCTION {bbl.eidpp} -{ "pages" } - -%</revdata> -FUNCTION {bbl.chapter} -%<!abr>{ "chapter" } -%<abr>{ "chap." } - -FUNCTION {bbl.techrep} -%<!abr>{ "Technical Report" } -%<abr>{ "Tech. Rep." } - -FUNCTION {bbl.mthesis} -{ "Master's thesis" } - -FUNCTION {bbl.phdthesis} -{ "Ph.D. thesis" } - -%<*!xedn> -FUNCTION {bbl.first} -%<!ord>{ "First" } -%<ord>{ "1st" } - -FUNCTION {bbl.second} -%<!ord>{ "Second" } -%<ord>{ "2nd" } - -FUNCTION {bbl.third} -%<!ord>{ "Third" } -%<ord>{ "3rd" } - -FUNCTION {bbl.fourth} -%<!ord>{ "Fourth" } -%<ord>{ "4th" } - -FUNCTION {bbl.fifth} -%<!ord>{ "Fifth" } -%<ord>{ "5th" } - -FUNCTION {bbl.st} -{ "st" } - -FUNCTION {bbl.nd} -{ "nd" } - -FUNCTION {bbl.rd} -{ "rd" } - -FUNCTION {bbl.th} -{ "th" } - -%</!xedn> -%<*!abr> -MACRO {jan} {"January"} - -MACRO {feb} {"February"} - -MACRO {mar} {"March"} - -MACRO {apr} {"April"} - -MACRO {may} {"May"} - -MACRO {jun} {"June"} - -MACRO {jul} {"July"} - -MACRO {aug} {"August"} - -MACRO {sep} {"September"} - -MACRO {oct} {"October"} - -MACRO {nov} {"November"} - -MACRO {dec} {"December"} - -%</!abr> -%<*abr> -MACRO {jan} {"Jan."} - -MACRO {feb} {"Feb."} - -MACRO {mar} {"Mar."} - -MACRO {apr} {"Apr."} - -MACRO {may} {"May"} - -MACRO {jun} {"Jun."} - -MACRO {jul} {"Jul."} - -MACRO {aug} {"Aug."} - -MACRO {sep} {"Sep."} - -MACRO {oct} {"Oct."} - -MACRO {nov} {"Nov."} - -MACRO {dec} {"Dec."} - -%</abr> -%</!babel> -% \end{macrocode} -% -% Here are the definitions for \texttt{babel} option, i.e., explicit -% translations are not used, but rather only \LaTeX{} macros that must be -% defined in the file \texttt{babelbst.tex}. This could allow automatic -% language selection. -% \begin{macrocode} -%<*babel> - % The BABEL language selection is made here; definitions in babelbst.tex. -FUNCTION {bbl.and} -{ "\bbland{}"} - -FUNCTION {bbl.etal} -{ "\bbletal{}"} - -FUNCTION {bbl.editors} -%<!ed>{ "\bbleditors{}" } -%<ed>{ "\bbleds{}" } - -FUNCTION {bbl.editor} -%<!ed>{ "\bbleditor{}" } -%<ed>{ "\bbled{}" } - -FUNCTION {bbl.edby} -{ "\bbledby{}" } - -FUNCTION {bbl.edition} -%<!abr>{ "\bbledition{}" } -%<abr>{ "\bbledn{}" } - -FUNCTION {bbl.volume} -%<!abr>{ "\bblvolume{}" } -%<abr>{ "\bblvol{}" } - -FUNCTION {bbl.of} -{ "\bblof{}" } - -FUNCTION {bbl.number} -%<!abr>{ "\bblnumber{}" } -%<abr>{ "\bblno{}" } - -FUNCTION {bbl.nr} -{ "\bblno{}" } - -FUNCTION {bbl.in} -{ "\bblin{}" } - -FUNCTION {bbl.pages} -%<!pp&!ppx>{ "\bblpages{}" } -%<pp>{ "\bblpp{}" } -%<!pp&ppx>{ "" } - -FUNCTION {bbl.page} -%<!pp&!ppx>{ "\bblpage{}" } -%<pp>{ "\bblp{}" } -%<!pp&ppx>{ "" } - -FUNCTION {bbl.chapter} -%<!abr>{ "\bblchapter{}" } -%<abr>{ "\bblchap{}" } - -FUNCTION {bbl.techrep} -%<!abr>{ "\bbltechreport{}" } -%<abr>{ "\bbltechrep{}" } - -FUNCTION {bbl.mthesis} -{ "\bblmthesis{}" } - -FUNCTION {bbl.phdthesis} -{ "\bblphdthesis{}" } - -%<*revdata> -FUNCTION {bbl.eidpp} -{ "\bbleidpp{}" } - -%</revdata> -%<*!xedn> -FUNCTION {bbl.first} -%<!ord>{ "\bblfirst{}" } -%<ord>{ "\bblfirsto{}" } - -FUNCTION {bbl.second} -%<!ord>{ "\bblsecond{}" } -%<ord>{ "\bblsecondo{}" } - -FUNCTION {bbl.third} -%<!ord>{ "\bblthird{}" } -%<ord>{ "\bblthirdo{}" } - -FUNCTION {bbl.fourth} -%<!ord>{ "\bblfourth{}" } -%<ord>{ "\bblfourtho{}" } - -FUNCTION {bbl.fifth} -%<!ord>{ "\bblfifth{}" } -%<ord>{ "\bblfiftho{}" } - -FUNCTION {bbl.st} -{ "\bblst{}" } - -FUNCTION {bbl.nd} -{ "\bblnd{}" } - -FUNCTION {bbl.rd} -{ "\bblrd{}" } - -FUNCTION {bbl.th} -{ "\bblth{}" } - -%</!xedn> -MACRO {jan} {"\bbljan{}"} - -MACRO {feb} {"\bblfeb{}"} - -MACRO {mar} {"\bblmar{}"} - -MACRO {apr} {"\bblapr{}"} - -MACRO {may} {"\bblmay{}"} - -MACRO {jun} {"\bbljun{}"} - -MACRO {jul} {"\bbljul{}"} - -MACRO {aug} {"\bblaug{}"} - -MACRO {sep} {"\bblsep{}"} - -MACRO {oct} {"\bbloct{}"} - -MACRO {nov} {"\bblnov{}"} - -MACRO {dec} {"\bbldec{}"} - -%</babel> -% \end{macrocode} -% -% \begin{macro}{`eng.ord'} -% This function adds English endings for ordinals 1, 2, 3. However, if -% the second last digit is 1, then the ending is `th' for all last digits. -% So far, all other languages included do not have this problem, and it is -% sufficient to add the \textsl{th} equivalent. This might change with further -% languages. -% -% This function must be included with \texttt{babel} too, since that includes -% English. This means that the language definition files must also provide -% for |\bblst|, |\bblnd|, and |\bblrd|, setting them all equal to |\bblth|. -% -% \begin{macrocode} -%<*(english|!exlang)&!xedn> -FUNCTION {eng.ord} -{ duplicate$ "1" swap$ * - #-2 #1 substring$ "1" = - { bbl.th * } - { duplicate$ #-1 #1 substring$ - duplicate$ "1" = - { pop$ bbl.st * } - { duplicate$ "2" = - { pop$ bbl.nd * } - { "3" = - { bbl.rd * } - { bbl.th * } - if$ - } - if$ - } - if$ - } - if$ -} - -%</(english|!exlang)&!xedn> -% \end{macrocode} -% \end{macro} -% -% \begin{macrocode} -%</!exlang> -% \end{macrocode} -% -% \begin{macrocode} -%</!tail> -% \end{macrocode} -% -% \begin{macrocode} -%<*!head> -% \end{macrocode} -% \end{macro} -% -% \begin{macrocode} -%<*!jabr> -MACRO {acmcs} {"ACM Computing Surveys"} - -MACRO {acta} {"Acta Informatica"} - -MACRO {cacm} {"Communications of the ACM"} - -MACRO {ibmjrd} {"IBM Journal of Research and Development"} - -MACRO {ibmsj} {"IBM Systems Journal"} - -MACRO {ieeese} {"IEEE Transactions on Software Engineering"} - -MACRO {ieeetc} {"IEEE Transactions on Computers"} - -MACRO {ieeetcad} - {"IEEE Transactions on Computer-Aided Design of Integrated Circuits"} - -MACRO {ipl} {"Information Processing Letters"} - -MACRO {jacm} {"Journal of the ACM"} - -MACRO {jcss} {"Journal of Computer and System Sciences"} - -MACRO {scp} {"Science of Computer Programming"} - -MACRO {sicomp} {"SIAM Journal on Computing"} - -MACRO {tocs} {"ACM Transactions on Computer Systems"} - -MACRO {tods} {"ACM Transactions on Database Systems"} - -MACRO {tog} {"ACM Transactions on Graphics"} - -MACRO {toms} {"ACM Transactions on Mathematical Software"} - -MACRO {toois} {"ACM Transactions on Office Information Systems"} - -MACRO {toplas} {"ACM Transactions on Programming Languages and Systems"} - -MACRO {tcs} {"Theoretical Computer Science"} -%</!jabr> -% \end{macrocode} -% -% Journal abbreviations have been revised from the original Patashnik -% ones with help of Conrado Badenas and the IUA recommendations. -% \begin{macrocode} -%<*jabr> -MACRO {acmcs} {"ACM Comput. Surv."} - -MACRO {acta} {"Acta Inf."} - -MACRO {cacm} {"Commun. ACM"} - -MACRO {ibmjrd} {"IBM J. Res. Dev."} - -MACRO {ibmsj} {"IBM Syst.~J."} - -MACRO {ieeese} {"IEEE Trans. Software Eng."} - -MACRO {ieeetc} {"IEEE Trans. Comput."} - -MACRO {ieeetcad} - {"IEEE Trans. Comput. Aid. Des."} - -MACRO {ipl} {"Inf. Process. Lett."} - -MACRO {jacm} {"J.~ACM"} - -MACRO {jcss} {"J.~Comput. Syst. Sci."} - -MACRO {scp} {"Sci. Comput. Program."} - -MACRO {sicomp} {"SIAM J. Comput."} - -MACRO {tocs} {"ACM Trans. Comput. Syst."} - -MACRO {tods} {"ACM Trans. Database Syst."} - -MACRO {tog} {"ACM Trans. Graphic."} - -MACRO {toms} {"ACM Trans. Math. Software"} - -MACRO {toois} {"ACM Trans. Office Inf. Syst."} - -MACRO {toplas} {"ACM Trans. Progr. Lang. Syst."} - -MACRO {tcs} {"Theor. Comput. Sci."} - -%</jabr> -% \end{macrocode} -% -% \begin{macro}{`bibinfo.check'} -% Define functions that encapsulate the argument -% in a \TeX\ macro that allows for further processing when the -% bibliography is processed, or allows for a separate computer -% program to parse the |\bibitem| contents. -% -% The following table summarizes how each of the \btx{} entries -% is accessed for output; these are the points where -% the \texttt{format.bibinfo} or \texttt{bibinfo.check} functions -% are called. -% \subsubsection*{Trapped via \texttt{format.bibinfo}} -% \begin{description} -% \item[ \texttt{author} ]\texttt{format.names} -% \item[ \texttt{collaboration} ]\texttt{format.authors} -% \item[ \texttt{editor} ]\texttt{format.editors} (\texttt{book}, \texttt{inbook}, \texttt{proceedings}), \texttt{format.names.ed} (\texttt{format.in.ed.booktitle}) -% \item[ \texttt{eid} ]\texttt{format.journal.eid} (\texttt{format.vol.num.pages}, article) checks the output from \texttt{format.journal.pages} -% \item[ \texttt{isbn} ]\texttt{format.isbn} -% \item[ \texttt{issn} ]\texttt{format.issn} -% \item[ \texttt{journal} ]\texttt{format.article.crossref}, article -% \item[ \texttt{numpages} ]\texttt{format.journal.eid} -% \item[ \texttt{organization} ]\texttt{format.organization.address} (\texttt{inproceedings}, \texttt{proceedings}), \texttt{manual} -% \item[ \texttt{pages} ]\texttt{format.book}.pages (\texttt{book}, \texttt{booklet}), \texttt{format.pages} (\texttt{format.journal.pages}, \texttt{format.chapter.pages}, \texttt{article}, \texttt{inbook}, \texttt{incollection}, \texttt{inproceedings}) -% \item[ \texttt{publisher} ]\texttt{format.publisher.address} (like \texttt{output.check}, \texttt{inproceedings}, \texttt{proceedings}) -% \item[ \texttt{title} ]\texttt{format.title}, \texttt{format.btitle}, \texttt{misc}, \texttt{presort}, \texttt{bib.sort.order} -% \item[ \texttt{volume} ]\texttt{format.bvolume}, \texttt{format.vol.num.pages}, \texttt{format.book.crossref} -% \item[ \texttt{year} ]in optional argument of \texttt{\char`\\bibitem}, \texttt{format.date} (as part of date), \texttt{format.year}, \texttt{format.org.or.pub} -% \item[ \texttt{booktitle} ]\texttt{format.in.ed.booktitle} (\texttt{incollection}, \texttt{inproceedings}), \texttt{format.incoll.inproc.crossref} -% \item[ \texttt{howpublished} ]\texttt{booklet}, \texttt{misc} -% \item[ \texttt{edition} ]\texttt{convert.edition.format.edition} -% \item[ \texttt{institution} ]\texttt{techreport} -% \item[ \texttt{school} ]\texttt{mastersthesis}, \texttt{phdthesis} -% \item[ \texttt{address} ]\texttt{format.org.or.pub}, \texttt{booklet}, \texttt{manual}, \texttt{mastersthesis}, \texttt{phdthesis}, \texttt{techreport} -% \item[ \texttt{chapter} ]\texttt{format.chapter.pages} -% \item[ \texttt{number} ]\texttt{format.number.series}, \texttt{format.vol.num.pages}, \texttt{format.tr.number} -% \item[ \texttt{series} ]\texttt{format.bvolume}, \texttt{format.number.series}, \texttt{format.book.crossref} -% \item[ \texttt{type} ]\texttt{format.chapter.pages}, \texttt{format.thesis.type}, \texttt{format.tr.number} -% \item[ \texttt{month} ]\texttt{format.date} -% \item[ \texttt{note} ]\texttt{format.note} -% \item[ \texttt{annote} ]\texttt{fin.entry} -% \end{description} -% -% \subsubsection*{Encapsulated via \texttt{\char`\\url}} -% \begin{description} -% \item[ \texttt{url} ]\texttt{format.url} (\texttt{\char`\\harvardurl}, \texttt{\char`\\url}), \texttt{format.url} (\texttt{\char`\\url}), \texttt{format.note} (\texttt{\char`\\url}) -% \end{description} -% -% \subsubsection*{Encapsulated via \texttt{\char`\\doi}} -% \begin{description} -% \item[ \texttt{doi} ]\texttt{format.doi} (\texttt{\char`\\doi}) -% \end{description} -% -% \subsubsection*{Encapsulated via \texttt{\char`\\eprint}} -% \begin{description} -% \item[ \texttt{eprint} ]\texttt{format.eprint} -% \item[ \texttt{archive} ]\texttt{format.eprint} -% \end{description} -% -% \subsubsection*{Not encapsulated:} -% \begin{description} -% \item[ \texttt{key} ]cite key -% \item[ \texttt{language} ]operand of \texttt{\char`\\selectlanguage} -% \end{description} -% -% \subsubsection*{\texttt{bibinfo} tag, but not a \btx{} field} -% \begin{description} -% \item[ \texttt{date} ]\texttt{format.date} -% \end{description} -% -% Provides robust access to fields, checking against \texttt{missing\$} -% and \texttt{empty\$}. A \dtx{} option allows giving -% a warning if either is the case. -% -% If not, it encapsulates the argument in a \TeX\ macro |\bibinfo|. -% The encapsulation is enabled by the \texttt{bibinfo} \dtx{} option: -% if turned off, it simply pops the unneeded object. -% -% \texttt{field} \texttt{string} \texttt{->} \texttt{encapsulated-field} -% -% \texttt{empty} \texttt{string} \texttt{->} \texttt{empty} -% Side effect: warning. -% \begin{macrocode} -FUNCTION {bibinfo.check} -{ swap$ - duplicate$ missing$ - { -%<bibinfo.warning> swap$ "missing " swap$ * " in " * cite$ * warning$ pop$ -%<!bibinfo.warning> pop$ pop$ - "" - } - { duplicate$ empty$ - { -%<bibinfo.warning> swap$ "empty " swap$ * " in " * cite$ * warning$ -%<!bibinfo.warning> swap$ pop$ - } - { swap$ -%<bibinfo> "\bibinfo{" swap$ * "}{" * swap$ * "}" * -%<!bibinfo> pop$ - } - if$ - } - if$ -} -% \end{macrocode} -% \end{macro} -% -% \begin{macro}{`bibinfo.warn'} -% Replaces \texttt{output.check} -% with \texttt{bibinfo.warn} followed by \texttt{output}. -% -% \texttt{field} \texttt{string} \texttt{->} \texttt{encapsulated-field} -% -% \texttt{empty} \texttt{string} \texttt{->} \texttt{empty} -% -% Side effect: warning if the field is empty. -% Note: if the \dtx{} option \texttt{bibinfo} is not in effect, -% then no encapsulation is done. -% \begin{macrocode} -FUNCTION {bibinfo.warn} -{ swap$ - duplicate$ missing$ - { - swap$ "missing " swap$ * " in " * cite$ * warning$ pop$ - "" - } - { duplicate$ empty$ - { - swap$ "empty " swap$ * " in " * cite$ * warning$ - } - { swap$ -%<bibinfo> "\bibinfo{" swap$ * "}{" * swap$ * "}" * -%<!bibinfo> pop$ - } - if$ - } - if$ -} -% \end{macrocode} -% \end{macro} -% -% \begin{macro}{`format.eprint'} -% The access function for the \texttt{eprint} field. -% -% If the \texttt{bibinfo} \dtx{} option is selected, then this function -% encapsulates the argument in a \TeX\ macro |\eprint|. -% -% \texttt{->} \texttt{encapsulated-URL} -% \begin{macrocode} -%<*eprint> -FUNCTION {format.eprint} -{ eprint duplicate$ empty$ - 'skip$ - { "\eprint" - archive empty$ - 'skip$ - { "[" * archive * "]" * } - if$ - "{" * swap$ * "}" * - } - if$ -} -%</eprint> -% \end{macrocode} -% \end{macro} -% -% \begin{macro}{`write.url'} -% This function taken over from \texttt{agsm.sty}, the main \texttt{harvard} -% bib style. For non-Harvard styles that want to add the URL on a new line -% after the reference, use this function too, but defined slightly -% differently. -% \begin{macrocode} -%<*(harnm|url-nl)&!revdata> -FUNCTION {write.url} -%<*!html> -{ -%<*url-doi&url> - doi empty$ - { url } - { "http://dx.doi.org/" doi * } - if$ -%</url-doi&url> -%<!url-doi|!url> url - duplicate$ empty$ - { pop$ } -%<harnm> { "\newline\harvardurl{" swap$ * "}" * write$ newline$ } -%<!harnm&url-nl> { "\newline\urlprefix\url{" swap$ * "}" * write$ newline$ } - if$ -} -%</!html> -%<*html> -{ -%<*url-doi&url> - doi empty$ - { url } - { "http://dx.doi.org/" doi * } - if$ -%</url-doi&url> -%<!url-doi|!url> url - duplicate$ empty$ - { pop$ } - { duplicate$ "<br><a href=" quote$ * swap$ * quote$ - * ">" * swap$ * "</a>" * write$ newline$ } - if$ -} -%</html> - -%</(harnm|url-nl)&!revdata> -% \end{macrocode} -% \end{macro} -% -% \begin{macro}{`format.url'} -% This function is reworked for \texttt{\filename} to provide a -% cleaner URL for DOIs. The definition of \cmd{\urldoi} is written in -% the \texttt{.bbl} file by the function \texttt{begin.bib}. When the -% package \pkg{hyperref} is loaded, the \meta{doi} is a hyperlink to -% \texttt{https://doi.org/\meta{doi}}. -% \begin{macrocode} -%<*(url-blk&!harnm)|revdata> -FUNCTION {format.url} -{ -%<url-doi&url> doi empty$ -%<url-doi&url> { - url - duplicate$ empty$ - { pop$ "" } -%<!html> { "\urlprefix\url{" swap$ * "}" * } -%<html> { -%<html> duplicate$ "<a href=" quote$ * swap$ * quote$ * -%<html> ">" * swap$ * "</a>" * -%<html> } - if$ -%<*url-doi&url> - } - { - doi -%<!html> "\doiprefix\urldoi{" swap$ * "}" * -%<html> duplicate$ "doi:<a href=" quote$ * "https://doi.org/" * -%<html> swap$ * quote$ * ">" * swap$ * "</a>" * - } - if$ -%</url-doi&url> -} - -%</(url-blk&!harnm)|revdata> -% \end{macrocode} -% \end{macro} -% -% \begin{macro}{`check.speaker'} -% The \texttt{presentation} type uses the \texttt{key} entry to indicate which -% author is the speaker, as the sequence number in the author list. The speaker's -% name is put into a different font, depending on the extra option. If no font -% is specified, all names are the same. -% \begin{macrocode} -INTEGERS { nameptr namesleft numnames } - -%<*pres-bf|pres-it|pres-sc> -FUNCTION {check.speaker} -{ key empty$ 'skip$ - { key nameptr int.to.str$ = - { -%<pres-bf> bolden -%<pres-it&!pres-bf> emphasize -%<pres-sc&!pres-it&!pres-bf> scaps - } - 'skip$ - if$ - } - if$ -} - -%</pres-bf|pres-it|pres-sc> -% \end{macrocode} -% \end{macro} - -% \begin{macro}{`format.names'} -% The \texttt{harvard} package now (version 2.0.3, for \LaTeXe) uses -% |\harvardand| in place of the word \textsl{and} so that it can be changed -% at run time. This is allowed for with the option \texttt{harnm}, which -% need not be used only with the \texttt{har} option. -% This seems like a useless feature for \texttt{.bst} files made from -% this multilanguage source. However, it is included anyway, which means -% if \texttt{harnm} option selected, one must redefine |\harvardand| -% in the document for the language being used. -% -% The location of the junior part for reversed name is not obvious. Prior -% to version 4.0, I always had it attached to the last name, as -% Smith, Jr, John, put it probably is better as Smith, John, Jr. For the -% AGU \texttt{nm-rev1} I always did it this way, probably because I had a -% good AGU example to follow. Dilemma: do I just change them all or add an -% option to do it? The option will maintain consistency with older -% versions, but this could also be considered a bug fix rather than a new -% feature. Solution: use the option, since I have found other \texttt{.bst} -% files from Beebe and Harvard that put junior between surname and first -% name. -% -% |bibinfo| is a variable used to store a string telling it whether the -% names being formatted are authors or editors, since this function is called -% for both purposes. Every call to this function must push the string onto the stack -% just before the call. -% \begin{macrocode} -STRINGS { bibinfo} - -% \end{macrocode} -% -% Stack note: if the names argument is a non-nil list, this function returns -% one object on the stack, the formatted list of names. -% -% \texttt{names`string} \texttt{bibinfo`string} \texttt{->} \texttt{author-list`string} -% \begin{macrocode} -FUNCTION {format.names} -{ 'bibinfo := - duplicate$ empty$ 'skip$ { - 's := - "" 't := - #1 'nameptr := - s num.names$ 'numnames := - numnames 'namesleft := - { namesleft #0 > } - { s nameptr -% \end{macrocode} -% Here is the author formatting when the names are not set in any special -% font, or when the entire name set in a single special font. -% \begin{macrocode} -%<*!(nmft&(fnm-rm|fnm-def))> -%<*!nm-rev1&!nm-revv1> -%<nm-init> "{f.~}{vv~}{ll}{, jj}" -%<*!nm-init> -%<nm-rev&!jnrlst> "{vv~}{ll}{, jj}{, f.}" -%<nm-rev&jnrlst> "{vv~}{ll}{, f.}{, jj}" -%<*!nm-rev> -%<nm-rv&!jnrlst> "{vv~}{ll}{ jj}{ f{~}}" -%<nm-rv&jnrlst> "{vv~}{ll}{ f{~}}{ jj}" -%<*!nm-rv> -%<nm-rvx&!jnrlst> "{vv~}{ll}{ jj}{ f{}}" -%<nm-rvx&jnrlst> "{vv~}{ll}{ f{}}{ jj}" -%<*!nm-rvx> -%<nm-rvcx&!jnrlst> "{vv~}{ll}{, jj}{, f{}}" -%<nm-rvcx&jnrlst> "{vv~}{ll}{, f{}}{, jj}" -%<*!nm-rvcx> -%<nm-rvv&!jnrlst> "{vv~}{ll}{ jj}{ f{.}.}" -%<nm-rvv&jnrlst> "{vv~}{ll}{ f{.}.}{ jj}" -%<*!nm-rvv> -%<nm-rvvc&!jnrlst> "{vv~}{ll}{, jj}{, f{.}.}" -%<nm-rvvc&jnrlst> "{vv~}{ll}{, f{.}.}{, jj}" -%<*!nm-rvvc> -%<nm-revf&!jnrlst> "{vv~}{ll}{, jj}{, ff}" -%<nm-revf&jnrlst> "{vv~}{ll}{, ff}{, jj}" -%<*!nm-revf> - "{ff~}{vv~}{ll}{, jj}" -%</!nm-revf> -%</!nm-rvvc> -%</!nm-rvv> -%</!nm-rvcx> -%</!nm-rvx> -%</!nm-rv> -%</!nm-rev> -%</!nm-init> -%</!nm-rev1&!nm-revv1> -%<*nm-rev1> - duplicate$ #1 > - { "{f.~}{vv~}{ll}{, jj}" } -%<!jnrlst> { "{vv~}{ll}{, jj}{, f.}" } -%<jnrlst> { "{vv~}{ll}{, f.}{, jj}" } - if$ -%</nm-rev1> -%<*!nm-rev1&nm-revv1> - duplicate$ #1 > - { "{ff~}{vv~}{ll}{, jj}" } -%<!jnrlst> { "{vv~}{ll}{, jj}{, ff}" } -%<jnrlst> { "{vv~}{ll}{, ff}{, jj}" } - if$ -%</!nm-rev1&nm-revv1> - format.name$ -%<nm-rv|nm-rvx> remove.dots -%<nmft&nmand-rm> bib.name.font -%</!(nmft&(fnm-rm|fnm-def))> -% \end{macrocode} -% Here is the author formatting when the first and last names are -% set in (possibly different) special fonts. -% -% The junior part is optionally between the reversed names, or after them. -% \begin{macrocode} -%<*nmft&(fnm-rm|fnm-def)> -%<*!nm-rev1&!nm-revv1> -%<*nm-init> - "{f.}" format.name$ duplicate$ empty$ 'skip$ - { tie.or.space.prefix bib.fname.font swap$ * } - if$ - s nameptr - "{vv~}{ll}" format.name$ bib.name.font * - s nameptr - "{jj}" format.name$ duplicate$ empty$ 'skip$ - { bib.fname.font ", " swap$ * } - if$ -%</nm-init> -%<*!nm-init> -%<*nm-rev> - "{vv~}{ll}" format.name$ bib.name.font - s nameptr -%<!jnrlst> "{jj, }{f.}" -%<jnrlst> "{f.}{, jj}" - format.name$ duplicate$ empty$ 'skip$ - { bib.fname.font ", " swap$ * } - if$ -%</nm-rev> -%<*!nm-rev> -%<*nm-rv> - "{vv~}{ll}" format.name$ bib.name.font - s nameptr -%<!jnrlst> "{jj }{f{~}}" -%<jnrlst> "{f{~}}{ jj}" - format.name$ duplicate$ empty$ 'skip$ - { remove.dots bib.fname.font " " swap$ * } - if$ -%</nm-rv> -%<*!nm-rv> -%<*nm-rvx> - "{vv~}{ll}" format.name$ bib.name.font - s nameptr -%<!jnrlst> "{jj }{f{}}" -%<jnrlst> "{f{}}{ jj}" - format.name$ duplicate$ empty$ 'skip$ - { remove.dots bib.fname.font " " swap$ * } - if$ -%</nm-rvx> -%<*!nm-rvx> -%<*nm-rvcx> - "{vv~}{ll}" format.name$ bib.name.font - s nameptr -%<!jnrlst> "{jj, }{f{}}" -%<jnrlst> "{f{}}{, jj}" - format.name$ duplicate$ empty$ 'skip$ - { remove.dots bib.fname.font ", " swap$ * } - if$ -%</nm-rvcx> -%<*!nm-rvcx> -%<*nm-rvv> - "{vv~}{ll}" format.name$ bib.name.font - s nameptr -%<!jnrlst> "{jj }{f{.}.}" -%<jnrlst> "{f{.}.}{ jj}" - format.name$ duplicate$ empty$ 'skip$ - { bib.fname.font " " swap$ * } - if$ -%</nm-rvv> -%<*!nm-rvv> -%<*nm-rvvc> - "{vv~}{ll}" format.name$ bib.name.font - s nameptr -%<!jnrlst> "{jj, }{f{.}.}" -%<jnrlst> "{f{.}.}{, jj}" - format.name$ duplicate$ empty$ 'skip$ - { bib.fname.font ", " swap$ * } - if$ -%</nm-rvvc> -%<*!nm-rvvc> -%<*nm-revf> - "{vv~}{ll}" format.name$ bib.name.font - s nameptr -%<!jnrlst> "{jj, }{ff}" -%<jnrlst> "{ff}{, jj}" - format.name$ duplicate$ empty$ 'skip$ - { bib.fname.font ", " swap$ * } - if$ -%</nm-revf> -%<*!nm-revf> - "{ff}" format.name$ duplicate$ empty$ 'skip$ - { tie.or.space.prefix bib.fname.font swap$ * } - if$ - s nameptr - "{vv~}{ll}" format.name$ bib.name.font * - s nameptr - "{jj}" format.name$ duplicate$ empty$ 'skip$ - { bib.fname.font ", " swap$ * } - if$ -%</!nm-revf> -%</!nm-rvvc> -%</!nm-rvv> -%</!nm-rvcx> -%</!nm-rvx> -%</!nm-rv> -%</!nm-rev> -%</!nm-init> -%</!nm-rev1&!nm-revv1> -%<*nm-rev1> - nameptr #1 > - { "{f.}" format.name$ duplicate$ empty$ 'skip$ - { tie.or.space.prefix bib.fname.font swap$ * } - if$ - s nameptr - "{vv~}{ll}" format.name$ bib.name.font * - s nameptr - "{jj}" format.name$ duplicate$ empty$ 'skip$ - { bib.fname.font ", " swap$ * } - if$ - } - { "{vv~}{ll}" format.name$ bib.name.font - s nameptr -%<!jnrlst> "{jj, }{f.}" -%<jnrlst> "{f.}{, jj}" - format.name$ duplicate$ empty$ 'skip$ - { bib.fname.font ", " swap$ * } - if$ - } - if$ -%</nm-rev1> -%<*!nm-rev1&nm-revv1> - nameptr #1 > - { "{ff}" format.name$ duplicate$ empty$ 'skip$ - { tie.or.space.prefix bib.fname.font swap$ * } - if$ - s nameptr - "{vv~}{ll}" format.name$ bib.name.font * - s nameptr - "{jj}" format.name$ duplicate$ empty$ 'skip$ - { bib.fname.font ", " swap$ * } - if$ - } - { "{vv~}{ll}" format.name$ bib.name.font - s nameptr -%<!jnrlst> "{jj, }{ff}" -%<jnrlst> "{ff}{, jj}" - format.name$ duplicate$ empty$ 'skip$ - { bib.fname.font ", " swap$ * } - if$ - } - if$ -%</!nm-rev1&nm-revv1> - * -%</nmft&(fnm-rm|fnm-def)> - bibinfo bibinfo.check -%<*pres-bf|pres-it|pres-sc> - type$ "presentation" = - { check.speaker } - 'skip$ - if$ -%</pres-bf|pres-it|pres-sc> - 't := - nameptr #1 > - { -%<*nmlm> -%<m1> nameptr #1 -%<m2> nameptr #2 -%<m3> nameptr #3 -%<m4> nameptr #4 -%<m5> nameptr #5 -%<m6> nameptr #6 -%<m7> nameptr #7 -%<m8> nameptr #8 -%<m9> nameptr #9 -%<m0> nameptr #0 -%<m10> #10 + -%<m20> #20 + -%<m30> #30 + -%<m40> #40 + -%<m50> #50 + -%<m60> #60 + -%<m70> #70 + -%<m80> #80 + -%<m90> #90 + - #1 + = -%<x1> numnames #1 -%<x2> numnames #2 -%<x3> numnames #3 -%<x4> numnames #4 -%<x5> numnames #5 -%<x6> numnames #6 -%<x7> numnames #7 -%<x8> numnames #8 -%<x9> numnames #9 -%<x0> numnames #0 -%<x10> #10 + -%<x20> #20 + -%<x30> #30 + -%<x40> #40 + -%<x50> #50 + -%<x60> #60 + -%<x70> #70 + -%<x80> #80 + -%<x90> #90 + - > and - { "others" 't := - #1 'namesleft := } - 'skip$ - if$ -%</nmlm> - namesleft #1 > -%<!aunm-semi&!aunm-sl> { ", " * t * } -%<aunm-semi> { "; " * t * } -%<aunm-sl&!aunm-semi> { "/ " * t * } - { - s nameptr "{ll}" format.name$ duplicate$ "others" = - { 't := } - { pop$ } - if$ -%<(and-com|xand)&!aunm-semi&!aunm-sl> "," * -%<(and-com|xand)&aunm-semi> ";" * -%<(and-com|xand)&aunm-sl&!aunm-semi> "/" * -%<*!and-xcom&!and-com&!xand> - numnames #2 > -%<etal-xc> t "others" = not and -%<!aunm-semi&!aunm-sl> { "," * } -%<aunm-semi> { ";" * } -%<aunm-sl&!aunm-semi> { "/" * } - 'skip$ - if$ -%</!and-xcom&!and-com&!xand> - t "others" = - { -%<nmft&!nmand-rm&!(fnm-rm|fnm-def)&(etal-it|etal-rm)> bib.name.font -%<*!etal-it> -%<nmft&(nmand-rm|(fnm-rm|fnm-def))&!etal-rm> " " * bbl.etal bib.name.font * -%<!(nmft&(nmand-rm|(fnm-rm|fnm-def)))|etal-rm> " " * bbl.etal * -%</!etal-it> -%<etal-it> " " * bbl.etal emphasize * -%<nmft&!nmand-rm&!(fnm-rm|fnm-def)&!(etal-it|etal-rm)> bib.name.font - } -%<*!xand> - { -%<*!harnm> -%<!amper> bbl.and -%<amper> "\&" -%</!harnm> -%<harnm> "\harvardand{}" -%<nmft&!nmand-rm&(fnm-rm|fnm-def)> bib.name.font - space.word * t * - } -%</!xand> -%<xand> { " " * t * } - if$ - } - if$ - } - 't - if$ - nameptr #1 + 'nameptr := - namesleft #1 - 'namesleft := - } - while$ -%<*nmft&!nmand-rm&!(fnm-rm|fnm-def)> - t "others" = - 'skip$ - { bib.name.font } - if$ -%</nmft&!nmand-rm&!(fnm-rm|fnm-def)> - } if$ -} -% \end{macrocode} -% \end{macro} -% -% \begin{macro}{`format.names.ed'} -% When editors are used in place of authors to identify the work, the -% names are always formatted just like authors'. However, in collections, -% where ``edited by'' or ``\emph{names} (editors)'' are given, it is -% normal not to reverse the names, even if the authors' are. The option -% \texttt{ed-rev} sees to it that editor names are always formatted exactly -% like those of authors, being reversed if necessary. -% -% The option \texttt{ed-au} is identical to \texttt{ed-rev}, but is more -% logical. It means editors (in incollections) are formatted exactly like -% authors, with all the font, reversing, and number limitations. This is -% selected automatically with \texttt{nm-init} and \texttt{nm-} default to save -% programming memory. -% -% The option \texttt{nm-revf} in this case acts the same as the default -% when no \texttt{nm-} option given: full names with surname last. Therefore -% it is not necessary to test for it at all, since it, like the default, -% has the lowest priority: any other \texttt{nm-} option clobbers it. -% -% The options \texttt{aunm-semi} and \texttt{aunm-sl} will put a semi-colon or -% slash between editor names, just as for authors, when \texttt{ed-rev} not -% selected, in keeping with the idea that in this case both authors and editors -% are to be formatted the same. -% -% This function either dispatches to \texttt{format.names} or executes code -% which is similar. In the latter case, names are always presented first -% followed by surname (``last name''); name limit processing (\texttt{nmlm}) is not executed; -% and endgame processing differs in being qualified by \texttt{nmfted}. -% -% Stack note: if the names (second) argument is a non-nil list, this function returns -% with one object on the stack, the formatted list of names. -% -% \texttt{names`string} \texttt{bibinfo`string} \texttt{->} \texttt{author-list`string} -% \begin{macrocode} -FUNCTION {format.names.ed} -{ -%<ed-rev|ed-au> format.names -%<*!ed-rev&!ed-au> - 'bibinfo := - duplicate$ empty$ 'skip$ { - 's := - "" 't := - #1 'nameptr := - s num.names$ 'numnames := - numnames 'namesleft := - { namesleft #0 > } - { s nameptr -% \end{macrocode} -% Editor name is handled as a single object, with no separation of first and last name. -% \begin{macrocode} -%<*!(nmft&nmfted&(fnm-rm|fnm-def))> -%<nm-init|nm-rev|nm-rev1> "{f.~}{vv~}{ll}{, jj}" -%<*!nm-init&!nm-rev&!nm-rev1> -%<nm-revv1> "{ff~}{vv~}{ll}{, jj}" -%<*!nm-revv1> -%<nm-rv> "{f{~}~}{vv~}{ll}{ jj}" -%<*!nm-rv> -%<nm-rvx> "{f{}~}{vv~}{ll}{ jj}" -%<*!nm-rvx> -%<nm-rvcx> "{f{}~}{vv~}{ll}{ jj}" -%<*!nm-rvcx> -%<nm-rvv|nm-rvvc> "{f{.}.~}{vv~}{ll}{ jj}" -%<*!nm-rvv&!nm-rvvc> - "{ff~}{vv~}{ll}{, jj}" -%</!nm-rvv&!nm-rvvc> -%</!nm-rvcx> -%</!nm-rvx> -%</!nm-rv> -%</!nm-revv1> -%</!nm-init&!nm-rev&!nm-rev1> - format.name$ -%<nm-rv|nm-rvx|nm-rvcx> remove.dots -%<nmft&nmfted&nmand-rm> bib.name.font -%</!(nmft&nmfted&(fnm-rm|fnm-def))> -% \end{macrocode} -% Editor first and last name handled separately. -% \begin{macrocode} -%<*(nmft&nmfted&(fnm-rm|fnm-def))> -%<*nm-init|nm-rev|nm-rev1> - "{f.}" format.name$ duplicate$ empty$ 'skip$ - { tie.or.space.prefix bib.fname.font swap$ * } - if$ - s nameptr - "{vv~}{ll}" format.name$ bib.name.font * - s nameptr - "{jj}" format.name$ duplicate$ empty$ 'skip$ - { bib.fname.font ", " swap$ * } - if$ -%</nm-init|nm-rev|nm-rev1> -%<*!nm-init&!nm-rev&!nm-rev1> -%<*nm-revv1> - "{ff}" format.name$ duplicate$ empty$ 'skip$ - { tie.or.space.prefix bib.fname.font swap$ * } - if$ - s nameptr - "{vv~}{ll}" format.name$ bib.name.font * - s nameptr - "{jj}" format.name$ duplicate$ empty$ 'skip$ - { bib.fname.font ", " swap$ * } - if$ -%</nm-revv1> -%<*!nm-revv1> -%<*nm-rv> - "{f{~}}" format.name$ duplicate$ empty$ 'skip$ - { tie.or.space.prefix bib.fname.font swap$ * } - if$ - s nameptr - "{vv~}{ll}" format.name$ bib.name.font * - s nameptr - "{jj}" format.name$ duplicate$ empty$ 'skip$ - { remove.dots bib.fname.font " " swap$ * } - if$ -%</nm-rv> -%<*!nm-rv> -%<*nm-rvx|nm-rvcx> - "{f{}}" format.name$ duplicate$ empty$ 'skip$ - { tie.or.space.prefix bib.fname.font swap$ * } - if$ - s nameptr - "{vv~}{ll}" format.name$ bib.name.font * - s nameptr - "{jj}" format.name$ duplicate$ empty$ 'skip$ - { remove.dots bib.fname.font " " swap$ * } - if$ -%</nm-rvx|nm-rvcx> -%<*!nm-rvx&!nm-rvcx> -%<*nm-rvv|nm-rvvc> - "{f{.}.}" format.name$ duplicate$ empty$ 'skip$ - { tie.or.space.prefix bib.fname.font swap$ * } - if$ - s nameptr - "{vv~}{ll}" format.name$ bib.name.font * - s nameptr - "{jj}" format.name$ duplicate$ empty$ 'skip$ - { bib.fname.font " " swap$ * } - if$ -%</nm-rvv|nm-rvvc> -%<*!nm-rvv&!nm-rvvc> - "{ff}" format.name$ duplicate$ empty$ 'skip$ - { tie.or.space.prefix bib.fname.font swap$ * } - if$ - s nameptr - "{vv~}{ll}" format.name$ bib.name.font * - s nameptr - "{jj}" format.name$ duplicate$ empty$ 'skip$ - { bib.fname.font ", " swap$ * } - if$ -%</!nm-rvv&!nm-rvvc> -%</!nm-rvx&!nm-rvcx> -%</!nm-rv> -%</!nm-revv1> -%</!nm-init&!nm-rev&!nm-rev1> - * -%</(nmft&nmfted&(fnm-rm|fnm-def))> - bibinfo bibinfo.check - 't := - nameptr #1 > - { - namesleft #1 > -%<!aunm-semi&!aunm-sl> { ", " * t * } -%<aunm-semi> { "; " * t * } -%<aunm-sl&!aunm-semi> { "/ " * t * } - { - s nameptr "{ll}" format.name$ duplicate$ "others" = - { 't := } - { pop$ } - if$ -%<(and-com-ed|xand)&!aunm-semi&!aunm-sl> "," * -%<(and-com-ed|xand)&aunm-semi> ";" * -%<(and-com-ed|xand)&aunm-sl&!aunm-semi> "/" * -%<*!and-xcom&!and-com-ed&!xand> - numnames #2 > -%<etal-xc> t "others" = not and -%<!aunm-semi&!aunm-sl> { "," * } -%<aunm-semi> { ";" * } -%<aunm-sl&!aunm-semi> { "/" * } - 'skip$ - if$ -%</!and-xcom&!and-com-ed&!xand> - t "others" = - { - -%<nmft&nmfted&!nmand-rm&!(fnm-rm|fnm-def)&(etal-it|etal-rm)> bib.name.font -%<*!etal-it> -%<nmft&nmfted&(nmand-rm|(fnm-rm|fnm-def))&!etal-rm> " " * bbl.etal bib.name.font * -%<!(nmft&nmfted&(nmand-rm|(fnm-rm|fnm-def)))|etal-rm> " " * bbl.etal * -%</!etal-it> -%<etal-it> " " * bbl.etal emphasize * -%<nmft&nmfted&!nmand-rm&!(fnm-rm|fnm-def)&!(etal-it|etal-rm)> bib.name.font - } -%<*!xand> - { -%<*!harnm> -%<!amper> bbl.and -%<amper> "\&" -%</!harnm> -%<harnm> "\harvardand{}" -%<nmft&nmfted&!nmand-rm&(fnm-rm|fnm-def)> bib.name.font - space.word * t * - } -%</!xand> -%<xand> { " " * t * } - if$ - } - if$ - } - 't - if$ - nameptr #1 + 'nameptr := - namesleft #1 - 'namesleft := - } - while$ -%<*nmft&nmfted&!nmand-rm&!(fnm-rm|fnm-def)> - t "others" = - 'skip$ - { bib.name.font } - if$ -%</nmft&nmfted&!nmand-rm&!(fnm-rm|fnm-def)> - } if$ -%</!ed-rev&!ed-au> -} -% \end{macrocode} -% \end{macro} -% -% \begin{macro}{`format.key'} -% \begin{macrocode} -%<*ay> -FUNCTION {format.key} -{ empty$ - { key field.or.null } - { "" } - if$ -} - -%</ay> -% \end{macrocode} -% \end{macro} -% -% \begin{macro}{`format.authors'} -% -% \begin{macrocode} -FUNCTION {format.authors} -{ author "author" format.names -%<*revdata> - duplicate$ empty$ 'skip$ - { collaboration "collaboration" bibinfo.check - duplicate$ empty$ 'skip$ - { " (" swap$ * ")" * } - if$ - * - } - if$ -%</revdata> -} -% \end{macrocode} -% \end{macro} -% -% \begin{macro}{`get.bbl.editor'} -% Use this function universally when accessing the ``editor'' text entity. -% \begin{macrocode} -FUNCTION {get.bbl.editor} -{ editor num.names$ #1 > 'bbl.editors 'bbl.editor if$ } - -% \end{macrocode} -% \end{macro} -% -% \begin{macro}{`format.editors'} -% The option \texttt{edpar} puts the word `editor' in parentheses. -% In \texttt{genbst.mbs}, this occurred automatically with the option -% \texttt{ed}, to abbreviate `editor' to `ed'. In \texttt{babel.mbs}, -% this was not the case, because of complications with the word functions. -% Now this possibility is added as a special option, which means there is -% some inconsistency with older \texttt{.dbj} files that called \texttt{ed}: -% the abbreviated `ed' is not put in parentheses unless \texttt{edpar} is -% also called. -% -% Note that the code here is very similar to code in \texttt{format.in.ed.booktitle}; -% the two should be kept coordinated. -% \begin{macrocode} -FUNCTION {format.editors} -{ editor "editor" format.names duplicate$ empty$ 'skip$ - { -%<!edpar&!edparxc> "," * - " " * - get.bbl.editor -%<bkedcap> capitalize -%<edpar|edparc|edparxc> "(" swap$ * ")" * - * - } - if$ -} -% \end{macrocode} -% \end{macro} -% -% \begin{macro}{`format.in.editors'} -% See the note about the option \texttt{edpar} above. -% -% \end{macro} -% -% \begin{macro}{`format.book.pages'} -% \begin{macrocode} -%<*pg-bk> -FUNCTION {format.book.pages} -{ pages "pages" bibinfo.check - duplicate$ empty$ 'skip$ - { " " * bbl.pages * } - if$ -} -%</pg-bk> -% \end{macrocode} -% \end{macro} -% -% \begin{macro}{`format.isbn'} -% \begin{macrocode} -%<*isbn> -FUNCTION {format.isbn} -{ isbn "isbn" bibinfo.check - duplicate$ empty$ 'skip$ - { -%<!blk-com&!blk-tit&!blk-tita> new.block - "ISBN " swap$ * - } - if$ -} - -%</isbn> -% \end{macrocode} -% \end{macro} -% -% \begin{macro}{`format.issn'} -% \begin{macrocode} -%<*issn> -FUNCTION {format.issn} -{ issn "issn" bibinfo.check - duplicate$ empty$ 'skip$ - { -%<!blk-com&!blk-tit&!blk-tita> new.block - "ISSN " swap$ * - } - if$ -} - -%</issn> -% \end{macrocode} -% \end{macro} -% -% \begin{macro}{`format.doi'} -% DOIs like URLs are encapsulated by their own commands, so need no \texttt{bibinfo.check}. -% \begin{macrocode} -%<*doi|(url-doi&!url)> -FUNCTION {format.doi} -{ doi empty$ - { "" } - { -%<!blk-com&!blk-tit&!blk-tita> new.block -%<!html> "\doi{" doi * "}" * -%<html> "doi:" doi * - } - if$ -} -%</doi|(url-doi&!url)> -% \end{macrocode} -% \end{macro} -% -% \begin{macro}{`select.language'} -% The \texttt{language} field code has been provided by Bernd Feige, of the -% University of Freiburg. -% \begin{macrocode} -%<*lang> -FUNCTION {select.language} -{ duplicate$ empty$ - 'pop$ - { language empty$ - 'skip$ - { "{\selectlanguage{" language * "}" * swap$ * "}" * } - if$ - } - if$ -} - -%</lang> -% \end{macrocode} -% \end{macro} -% -% \begin{macro}{`format.note'} -% Notes should be entered as though they were a sentence on their own. -% However, if they appear mid-sentence rather than after a block or sentence, -% the first letter must be lowercase. Thus if a note begins with a proper -% noun, it must be in braces. To avoid a warning about unmatched braces -% with the \texttt{change.case\$} function, check first if the leading -% character is an opening brace. -% -% With options \texttt{url,url-nt}, the URL text is treated as a note, and -% added here. It is output directly, not prepended to the note text. This -% means, if the note is to be a new sentence, the URL text starts that -% sentence, and the regular note is added to that sentence, comma between. -% -% \begin{macrocode} -FUNCTION {format.note} -{ -%<*url-nt&!revdata> - url empty$ - 'skip$ -%<!html> { "\urlprefix\url{" url * "}" * output } -%<html> { "<a href=" quote$ * url * quote$ -%<html> * ">" * url * "</a>" * output } - if$ -%</url-nt&!revdata> - note empty$ - { "" } - { note #1 #1 substring$ - duplicate$ "{" = - 'skip$ - { output.state mid.sentence = - { "l" } - { "u" } - if$ - change.case$ - } - if$ - note #2 global.max$ substring$ * "note" bibinfo.check - } - if$ -} - -% \end{macrocode} -% \end{macro} -% -% \begin{macro}{`format.title'} -% For a quoted title, any punctuation in the title goes inside the quote. -% Otherwise, the comma or period following the title also goes inside. -% Exception is with \texttt{qx} option, in which case the comma goes -% outside, even when punctuation present; for period (\texttt{!blk-com}) -% is added outside only when punctuation is absent. -% \begin{macrocode} -FUNCTION {format.title} -{ title -%<*!atit-u> - duplicate$ empty$ 'skip$ - { "t" change.case$ } - if$ -%</!atit-u> - "title" bibinfo.check -%<*tit-it|tit-qq|lang> - duplicate$ empty$ 'skip$ - { -%<tit-it> emphasize -%<*!tit-it&tit-qq> - "\enquote{" swap$ * -%<*!qx> -%<*blk-com> - non.stop -%<!com-semi&!com-blank> { ",} " * } -%<com-semi> { ";} " * } -%<!com-semi&com-blank> { "} " * } - { "} " * } - if$ -%</blk-com> -%<!blk-com> add.period$ "}" * -%</!qx> -%<*qx> -%<*blk-com> -%<!com-semi&!com-blank> "}, " * -%<com-semi> "}; " * -%<!com-semi&com-blank> "} " * -%</blk-com> -%<!blk-com> "}" * -%</qx> -%</!tit-it&tit-qq> -%<lang> select.language - } - if$ -%</tit-it|tit-qq|lang> -} -% \end{macrocode} -% \end{macro} -% -% \begin{macro}{`end.quote.title'} -% For a quoted title, the punctuation appears in the quotes. For commas -% between block, this means the inter-block punctuation is already present, -% so it must be suppressed after every \texttt{format.title output}. This -% is done by setting the \texttt{output.state} to \texttt{before.all}, but -% only if there really was a title. Call this macro every time after -% titles are output. -% \begin{macrocode} -%<*blk-com&tit-qq> -FUNCTION {end.quote.title} -{ title empty$ - 'skip$ - { before.all 'output.state := } - if$ -} -%</blk-com&tit-qq> -% \end{macrocode} -% \end{macro} -% -% \begin{macro}{`end.quote.btitle'} -% Similar to |end.quote.title| except that it is only applied if titles of -% proceedings and collections are quoted, and if -% neither \texttt{edby}, \texttt{edby-par}, nor \texttt{edby-par} are selected -% (this is the default case in the relevant menu of the \texttt{makebst.tex} run). -% These options add text after the booktitle, -% so additional punctuation need not be suppressed. Unless there is no editor! -% -% Note: this function is called after the result of \texttt{format.in.ed.booktitle} -% has been output, and attempts to predict what that output had been. -% Would it not be better to call this function while that result is still -% on the stack? -% \begin{macrocode} -%<*bt-qq> -FUNCTION {end.quote.btitle} -{ booktitle empty$ - 'skip$ -%<!edby&!edby-par&!edby-parc> { before.all 'output.state := } -%<*edby|edby-par|edby-parc> - { editor empty$ - { before.all 'output.state := } - 'skip$ - if$ - } -%</edby|edby-par|edby-parc> - if$ -} -%</bt-qq> -% \end{macrocode} -% \end{macro} -% -% \begin{macro}{`make.full.names'} -% In versions before 2.2, there were two functions \texttt{calc.long.label} -% and \texttt{format.long.lab.names} that made up the string -% \texttt{long.label} for each entry. This contains the full author list. -% However, there was a bug in the one routine, entered by mistake when an -% earlier bug was removed, and more seriously, the string -% \texttt{long.label} was limited to \texttt{entry.max\$} characters, 100 on -% my system. Author lists were truncated. Thus, \texttt{make.full.names} -% is used instead to enter the full list of names directly in the -% \texttt{output.bibitem} function, without an intermediate string. This -% involves changing the order of some function definitions, especially -% \texttt{output.bibitem} must come later. -% \begin{macrocode} -%<*har|cay|nat> -FUNCTION {format.full.names} -{'s := - "" 't := - #1 'nameptr := - s num.names$ 'numnames := - numnames 'namesleft := - { namesleft #0 > } - { s nameptr -%<!jnrlab> "{vv~}{ll}" format.name$ -%<*jnrlab> -%<!nm-rv&!nm-rvv&!nm-rvx&!nm-rvcx> "{vv~}{ll}{, jj}" format.name$ -%<nm-rv|nm-rvv|nm-rvx|nm-rvcx> "{vv~}{ll}{ jj}" format.name$ -%</jnrlab> -%<lab&and-rm> cite.name.font - 't := - nameptr #1 > - { -%<*nmlm> -%<m1> nameptr #1 -%<m2> nameptr #2 -%<m3> nameptr #3 -%<m4> nameptr #4 -%<m5> nameptr #5 -%<m6> nameptr #6 -%<m7> nameptr #7 -%<m8> nameptr #8 -%<m9> nameptr #9 -%<m0> nameptr #0 -%<m10> #10 + -%<m20> #20 + -%<m30> #30 + -%<m40> #40 + -%<m50> #50 + -%<m60> #60 + -%<m70> #70 + -%<m80> #80 + -%<m90> #90 + - #1 + = -%<x1> numnames #1 -%<x2> numnames #2 -%<x3> numnames #3 -%<x4> numnames #4 -%<x5> numnames #5 -%<x6> numnames #6 -%<x7> numnames #7 -%<x8> numnames #8 -%<x9> numnames #9 -%<x0> numnames #0 -%<x10> #10 + -%<x20> #20 + -%<x30> #30 + -%<x40> #40 + -%<x50> #50 + -%<x60> #60 + -%<x70> #70 + -%<x80> #80 + -%<x90> #90 + - > and - { "others" 't := - #1 'namesleft := } - 'skip$ - if$ -%</nmlm> - namesleft #1 > - { ", " * t * } - { - s nameptr "{ll}" format.name$ duplicate$ "others" = - { 't := } - { pop$ } - if$ - t "others" = - { -%<lab&!and-rm&(etal-it|etal-rm)> cite.name.font -%<*!etal-it> -%<lab&and-rm&!etal-rm> " " * bbl.etal cite.name.font * -%<!lab|!and-rm|etal-rm> " " * bbl.etal * -%</!etal-it> -%<etal-it> " " * bbl.etal emphasize * -%<lab&!and-rm&!(etal-it|etal-rm)> cite.name.font - } - { -%<*!harnm> -%<*!and-xcom> - numnames #2 > - { "," * } - 'skip$ - if$ -%</!and-xcom> -%<!amper> bbl.and -%<amper> "\&" -%</!harnm> -%<harnm> "\harvardand{}" - space.word * t * - } - if$ - } - if$ - } - 't - if$ - nameptr #1 + 'nameptr := - namesleft #1 - 'namesleft := - } - while$ -%<*lab&!and-rm> - t "others" = - 'skip$ - { cite.name.font } - if$ -%</lab&!and-rm> -} - -FUNCTION {author.editor.key.full} -{ author empty$ - { editor empty$ - { key empty$ - { cite$ #1 #3 substring$ } - 'key - if$ - } - { editor format.full.names } - if$ - } - { author format.full.names } - if$ -} - -FUNCTION {author.key.full} -{ author empty$ - { key empty$ - { cite$ #1 #3 substring$ } - 'key - if$ - } - { author format.full.names } - if$ -} - -FUNCTION {editor.key.full} -{ editor empty$ - { key empty$ - { cite$ #1 #3 substring$ } - 'key - if$ - } - { editor format.full.names } - if$ -} - -FUNCTION {make.full.names} -{ type$ "book" = - type$ "inbook" = - or - 'author.editor.key.full - { type$ "proceedings" = - 'editor.key.full - 'author.key.full - if$ - } - if$ -} - -%</har|cay|nat> -% \end{macrocode} -% \end{macro} -% -% \begin{macro}{`output.bibitem'} -% A user has pointed out to me that if the label argument in square brackets -% are put into braces (within the squares) it is then resistent to any -% problems if square braces should appear within the label. Do this, but -% only for the \texttt{nat} option. -% \begin{macrocode} -FUNCTION {output.bibitem} -{ newline$ -%<*!html> -%<*ay> -%<!har&!nat> "\bibitem[" write$ -%<!har&nat> "\bibitem[{" write$ -%<har> "\harvarditem" write$ -%<nmd> "\protect\citeauthoryear{" write$ -%<ast> "\protect\astroncite{" write$ -%<cay> "\protect\citeauthoryear{" make.full.names * "}{" * write$ -%<cn> "\protect\citename{" write$ -%<!har> label write$ -%<har> make.full.names duplicate$ label = -%<har> 'skip$ -%<har> { "[" label * "]" * write$ } -%<har> if$ -%<har> "{" swap$ * "}{" * write$ -%<har> year duplicate$ empty$ -%<cn> ", }" year duplicate$ empty$ -%<cay|nmd|ast> "}{" year duplicate$ empty$ -%<(har|cn|cay|nmd|ast)&blkyear> { pop$ "" } -%<(har|cn|cay|nmd|ast)&!blkyear> { pop$ "????" } -%<har|cn|cay|nmd|ast> 'skip$ -%<har|cn|cay|nmd|ast> if$ -%<har> extra.label * "}{" * write$ -%<cn> * extra.label * "]{" * write$ -%<cay|nmd|ast> * extra.label * "}]{" * write$ -%<alk> "]{" write$ -%<!(har|cay|nmd|ast|alk|cn|nat)> ")]{" write$ -%<nat> ")" make.full.names duplicate$ short.list = -%<nat> { pop$ } -%<nat> { * } -%<nat> if$ -%<nat> "}]{" * write$ -%</ay> -%<!ay&!(cite|alph)> "\bibitem{" write$ -%<!ay&(cite|alph)> "\bibitem[" label * "]{" * write$ - cite$ write$ - "}" write$ - newline$ - "" -%</!html> -%<*html> -%<*htdes> - "<dt><strong><tt>" write$ - cite$ write$ - "</tt></strong></dt>" write$ newline$ - "<dd>" -%</htdes> -%<htlist&!htdes> "<li>" -%<!htlist&!htdes> "<p>" -%</html> - before.all 'output.state := -} - -% \end{macrocode} -% \end{macro} -% -% \begin{macro}{`if.digit'} -% Add \texttt{if.digit} and \texttt{n.separate} to convert large page numbers -% to a separated number. -% \begin{macrocode} -%<*pgsep-c|pgsep-s|pgsep-p> -FUNCTION {if.digit} -{ duplicate$ "0" = - swap$ duplicate$ "1" = - swap$ duplicate$ "2" = - swap$ duplicate$ "3" = - swap$ duplicate$ "4" = - swap$ duplicate$ "5" = - swap$ duplicate$ "6" = - swap$ duplicate$ "7" = - swap$ duplicate$ "8" = - swap$ "9" = or or or or or or or or or -} -% \end{macrocode} -% \end{macro} -% -% \begin{macro}{`n.separate'} -% \texttt{pgsep-s}, \texttt{pgsep-p} -% Large page numbers are to be separated in threes, with thin space, comma -% or period. The number must be 5 digits before the separation occurs. -% No provision is made for numbers of 7 or more digits. -% \begin{macrocode} -FUNCTION {n.separate} -{ 't := - "" - #0 'numnames := - { t empty$ not } - { t #-1 #1 substring$ if.digit - { numnames #1 + 'numnames := } - { #0 'numnames := } - if$ - t #-1 #1 substring$ swap$ * - t #-2 global.max$ substring$ 't := - numnames #5 = - { duplicate$ #1 #2 substring$ swap$ - #3 global.max$ substring$ -%<pgsep-c> "," swap$ * * -%<pgsep-p> "." swap$ * * -%<pgsep-s&!html> "\," swap$ * * -%<pgsep-s&html> " " swap$ * * - } - 'skip$ - if$ - } - while$ -} -%</pgsep-c|pgsep-s|pgsep-p> -% \end{macrocode} -% \end{macro} -% -% \begin{macro}{`n.dashify'} -% \begin{macrocode} -FUNCTION {n.dashify} -{ -%<pgsep-c|pgsep-s|pgsep-p> n.separate - 't := - "" - { t empty$ not } - { t #1 #1 substring$ "-" = - { t #1 #2 substring$ "--" = not - { "--" * - t #2 global.max$ substring$ 't := - } - { { t #1 #1 substring$ "-" = } - { "-" * - t #2 global.max$ substring$ 't := - } - while$ - } - if$ - } - { t #1 #1 substring$ * - t #2 global.max$ substring$ 't := - } - if$ - } - while$ -} - -% \end{macrocode} -% \end{macro} -% -% \begin{macro}{`word.in'} -% The function \texttt{word.in} prints the word \textsl{in} for references -% that are -% contained in a larger work, or in conference proceedings. One may have a -% colon after the word with the option \texttt{in-col}. If blocks of text are -% to be separated with commas (option \texttt{blk-com}) then the word remains -% in lower case, as it is defined in \texttt{bbl.in}; but if blocks act as -% sentences, then it must be capitalized. -% \begin{macrocode} -FUNCTION {word.in} -%<in-x>{ "" } -%<*!in-x> -%<blk-com|blk-tita>{ bbl.in -%<!blk-com&!blk-tita>{ bbl.in capitalize -%<in-col> ":" * -%<in-it> emphasize - " " * } -%</!in-x> - -% \end{macrocode} -% \end{macro} -% -% \begin{macro}{`format.date'} -% The new \texttt{harvard.sty} allows variable brackets around the date -% in the reference list. It uses |\harvardyearleft| and |\harvardyearright| -% in the \texttt{.bst} files. Allow this with the option \texttt{harnm}, -% which could actually be used without the \texttt{har} option. Note that -% this overrides the other year formatting options, except for the preceding punctuation. -% \begin{macrocode} -%<*ay> -FUNCTION {format.date} -{ year "year" bibinfo.check duplicate$ empty$ - { -%<*!blkyear> - "empty year in " cite$ * "; set to ????" * warning$ - pop$ "????" -%</!blkyear> - } - 'skip$ - if$ -%<*aymth> - month "month" bibinfo.check duplicate$ empty$ - 'skip$ - { -%<dtrev> swap$ - " " * swap$ - } - if$ - * -%<mth-bare> remove.dots -%</aymth> -%<dtbf> bolden - extra.label * -%<*!harnm> -%<*yr-par|yr-brk|yr-col|yr-blk|yr-com|yr-per> - before.all 'output.state := -%<yr-par> " (" swap$ * ")" * -%<!yr-par&yr-brk> " [" swap$ * "]" * -%<!yr-par&!yr-brk&yr-col> ": " swap$ * -%<!yr-par&!yr-brk&!yr-col&yr-com> ", " swap$ * -%<!yr-par&!yr-brk&!yr-col&!yr-com&yr-per> after.sentence 'output.state := -%<!yr-par&!yr-brk&!yr-col&!yr-com&!yr-per&yr-blk> " " swap$ * -%</yr-par|yr-brk|yr-col|yr-blk|yr-com|yr-per> -%</!harnm> -%<*harnm> - before.all 'output.state := - " \harvardyearleft " swap$ * "\harvardyearright{}" * -%<yr-col> ":" swap$ * -%<!yr-col&yr-com> "," swap$ * -%<!yr-col&!yr-com&yr-per> after.sentence 'output.state := -%<!yr-col&!yr-com&!yr-per&yr-blk> " " swap$ * -%</harnm> -} -%</ay> -%<*!ay> -FUNCTION {format.date} -{ -%<!xmth> month "month" bibinfo.check -%<xmth> "" - duplicate$ empty$ - year "year" bibinfo.check duplicate$ empty$ - { swap$ 'skip$ - { "there's a month but no year in " cite$ * warning$ } - if$ - * - } - { swap$ 'skip$ - { -%<showstack> month year -%<!dtrev> swap$ - " " * swap$ - } - if$ - * -%<mth-bare> remove.dots - } - if$ -%<dtbf> bolden -%<*yr-par|yr-brk|yr-col|yr-com|yr-per|yr-blk> - duplicate$ empty$ - 'skip$ - { - before.all 'output.state := -%<yr-par> " (" swap$ * ")" * -%<!yr-par&yr-brk> " [" swap$ * "]" * -%<!yr-par&!yr-brk&yr-col> ": " swap$ * -%<!yr-par&!yr-brk&!yr-col&yr-com> ", " swap$ * -%<!yr-par&!yr-brk&!yr-col&!yr-com&yr-per> after.sentence 'output.state := -%<!yr-par&!yr-brk&!yr-col&!yr-com&!yr-per&yr-blk> " " swap$ * - } - if$ -%</yr-par|yr-brk|yr-col|yr-com|yr-per|yr-blk> -} -%</!ay> -% \end{macrocode} -% \end{macro} -% -% \begin{macro}{`format.year'} -% For the options that put the year into the journal specifications, use a -% special formatter separate from the regular date formatter. -% The year is always in parentheses (except for appended to journal name). -% \begin{macrocode} -%<*jdt-p|jdt-pc|jdt-v|jdt-vs> -FUNCTION{format.year} -{ year "year" bibinfo.check duplicate$ empty$ - { "empty year in " cite$ * -%<ay&!blkyear> "; set to ????" * - warning$ -%<ay&!blkyear> pop$ "????" - } - { -%<!ay&jdt-vs> " (" swap$ * ")" * -%<!ay&!jdt-vs> "(" swap$ * ")" * - } - if$ -%<*ay> - extra.label * -%<jdt-vs> " (" swap$ * ")" * -%<!jdt-vs> "(" swap$ * ")" * -%</ay> -} -%</jdt-p|jdt-pc|jdt-v|jdt-vs> -% \end{macrocode} -% \end{macro} -% -% \begin{macro}{`format.btitle'} -% \begin{macrocode} -FUNCTION {format.btitle} -{ title "title" bibinfo.check - duplicate$ empty$ 'skip$ - { -%<!btit-rm> emphasize -%<lang> select.language - } - if$ -} -% \end{macrocode} -% \end{macro} -% -% \begin{macro}{`either.or.check'} -% \begin{macrocode} -FUNCTION {either.or.check} -{ empty$ - 'pop$ - { "can't use both " swap$ * " fields in " * cite$ * warning$ } - if$ -} -% \end{macrocode} -% \end{macro} -% -% \begin{macro}{`format.bvolume'} -% \begin{macrocode} -FUNCTION {format.bvolume} -{ volume empty$ - { "" } - { bbl.volume volume tie.or.space.prefix - "volume" bibinfo.check * * - series "series" bibinfo.check - duplicate$ empty$ 'pop$ -%<*!ser-vol> - { swap$ bbl.of space.word * swap$ - emphasize * } -%</!ser-vol> -%<ser-vol> { emphasize ", " * swap$ * } - if$ - "volume and number" number either.or.check - } - if$ -} -% \end{macrocode} -% \end{macro} -% -% \begin{macro}{`format.number.series'} -% \begin{macrocode} -FUNCTION {format.number.series} -{ volume empty$ - { number empty$ - { series field.or.null } -%<*num-xser> - { series empty$ - { number "number" bibinfo.check } - { output.state mid.sentence = - { bbl.number } - { bbl.number capitalize } - if$ - number tie.or.space.prefix "number" bibinfo.check * * - bbl.in space.word * - series "series" bibinfo.check * - } - if$ - } -%</num-xser> -%<*!num-xser> - { output.state mid.sentence = - { bbl.number } - { bbl.number capitalize } - if$ - number tie.or.space.prefix "number" bibinfo.check * * - series empty$ - { "there's a number but no series in " cite$ * warning$ } - { bbl.in space.word * - series "series" bibinfo.check * - } - if$ - } -%</!num-xser> - if$ - } - { "" } - if$ -} -% \end{macrocode} -% \end{macro} -% -% \begin{macro}{`is.num'} -% This function takes the single-character string on the stack and returns -% 1 if it is a digit, else 0. -% \begin{macrocode} -%<*!xedn> -FUNCTION {is.num} -{ chr.to.int$ - duplicate$ "0" chr.to.int$ < not - swap$ "9" chr.to.int$ > not and -} - -% \end{macrocode} -% \end{macro} -% -% \begin{macro}{`extract.num'} -% This function tests the string on the stack to see if it begins with a -% number. If so, that number is left on the stack; if the string contains -% no numbers at the start, it is left unchanged. The idea is to convert -% \textsl{1st} to \textsl{1} and leave \textsl{first} as is. -% This is used by \code{convert.edition}. -% \begin{macrocode} -FUNCTION {extract.num} -{ duplicate$ 't := - "" 's := - { t empty$ not } - { t #1 #1 substring$ - t #2 global.max$ substring$ 't := - duplicate$ is.num - { s swap$ * 's := } - { pop$ "" 't := } - if$ - } - while$ - s empty$ - 'skip$ - { pop$ s } - if$ -} - -% \end{macrocode} -% \end{macro} -% -% \begin{macro}{`convert.edition'} -% The function \texttt{convert.edition} takes the text in the field -% \texttt{edition} and changes it to the language-specific equivalent. As -% originally planned for \btx, this field should contain the words -% \textsl{First}, \textsl{Second}, etc. Being so explicit, -% it is not so easy to translate, nor to -% convert to \textsl{1st}, \textsl{2nd}, etc., if one wanted. -% This function carries out the translation, by changing -% \textsl{first} or \textsl{1} to \texttt{bbl.first}, and so -% on. The field is reduced to lower case to make it case insensitive. If no -% translation is found, then the original text in \texttt{edition} is used -% instead, as it stands. However, if the original is a number greater than -% the maximum for which text is provided, then \texttt{bbl.th} is added to -% it. -% \begin{macrocode} -FUNCTION {convert.edition} -{ extract.num "l" change.case$ 's := - s "first" = s "1" = or - { bbl.first 't := } - { s "second" = s "2" = or - { bbl.second 't := } - { s "third" = s "3" = or - { bbl.third 't := } - { s "fourth" = s "4" = or - { bbl.fourth 't := } - { s "fifth" = s "5" = or - { bbl.fifth 't := } - { s #1 #1 substring$ is.num -%<!english&exlang> { s bbl.th * 't := } -%<english|!exlang> { s eng.ord 't := } - { edition 't := } - if$ - } - if$ - } - if$ - } - if$ - } - if$ - } - if$ - t -} -%</!xedn> - -% \end{macrocode} -% \end{macro} -% -% \begin{macro}{`format.edition'} -% This function formats the text for the edition specification, such as -% ``Second edition''. It combines the edition number with the word -% \textsl{edition}. -% \begin{macrocode} -FUNCTION {format.edition} -{ edition duplicate$ empty$ 'skip$ - { -%<!xedn> convert.edition - output.state mid.sentence = - { "l" } - { "t" } - if$ change.case$ - "edition" bibinfo.check - " " * bbl.edition * - } - if$ -} -% \end{macrocode} -% \end{macro} -% -% \begin{macrocode} -INTEGERS { multiresult } -% \end{macrocode} -% -% \begin{macro}{`multi.page.check'} -% \begin{macrocode} -FUNCTION {multi.page.check} -{ 't := - #0 'multiresult := - { multiresult not - t empty$ not - and - } - { t #1 #1 substring$ - duplicate$ "-" = - swap$ duplicate$ "," = - swap$ "+" = - or or - { #1 'multiresult := } - { t #2 global.max$ substring$ 't := } - if$ - } - while$ - multiresult -} -% \end{macrocode} -% \end{macro} -% -% \begin{macro}{`format.pages'} -% \begin{macrocode} -FUNCTION {format.pages} -{ pages duplicate$ empty$ 'skip$ - { duplicate$ multi.page.check - { -%<!bkpg-x&!ppx> bbl.pages swap$ - n.dashify - } - { -%<!bkpg-x&!ppx> bbl.page swap$ - } - if$ -%<!bkpg-x&!ppx> tie.or.space.prefix - "pages" bibinfo.check -%<!bkpg-x&!ppx> * * -%<bkpg-par> "(" swap$ * ")" * - } - if$ -} -% \end{macrocode} -% \end{macro} -% -% \begin{macro}{`first.page'} -% \begin{macrocode} -%<*jpg-1> -FUNCTION {first.page} -{ 't := - "" - { t empty$ not t #1 #1 substring$ "-" = not and } - { t #1 #1 substring$ * - t #2 global.max$ substring$ 't := - } - while$ -} - -%</jpg-1> -% \end{macrocode} -% \end{macro} -% -% \begin{macro}{`format.journal.pages'} -% Note: this function gets called with something on the stack. -% It may be the volume and number. -% \begin{macrocode} -FUNCTION {format.journal.pages} -{ pages duplicate$ empty$ 'pop$ - { swap$ duplicate$ empty$ - { pop$ pop$ format.pages } - { -%<volp-sp> ": " * -%<*!volp-sp> -%<volp-blk> " " * -%<*!volp-blk> -%<volp-com> ", " * -%<*!volp-com> -%<volp-semi> "; " * -%<!volp-semi> ":" * -%</!volp-com> -%</!volp-blk> -%</!volp-sp> -%<!jdt-v&!jdt-vs&jdt-p> format.year * " " * -%<!jdt-v&!jdt-vs&!jdt-p&jdt-pc> format.year * ", " * - swap$ -%<jpg-1> first.page -%<!jpg-1> n.dashify -%<*jwdpg> - pages multi.page.check - 'bbl.pages - 'bbl.page - if$ - swap$ tie.or.space.prefix -%</jwdpg> - "pages" bibinfo.check -%<jwdpg> * * - * - } - if$ - } - if$ -} -% \end{macrocode} -% \end{macro} -% -% \begin{macro}{`format.journal.eid'} -% -% This function is called with something on the stack (journal vol, number) -% and appends \texttt{eid} and \texttt{numpages} if those field are non-empty. -% Very similar to \texttt{format.journal.pages}. -% -% For the AGU style of including the DOI as part of the EID, the DOI number -% is appended too. -% \begin{macrocode} -FUNCTION {format.journal.eid} -{ eid "eid" bibinfo.check - duplicate$ empty$ 'pop$ - { swap$ duplicate$ empty$ 'skip$ - { -%<volp-sp> ": " * -%<*!volp-sp> -%<volp-blk> " " * -%<*!volp-blk> -%<volp-com> ", " * -%<*!volp-com> -%<volp-semi> "; " * -%<!volp-semi> ":" * -%</!volp-com> -%</!volp-blk> -%</!volp-sp> - } - if$ - swap$ * -%<*revdata> - numpages empty$ 'skip$ - { bbl.eidpp numpages tie.or.space.prefix - "numpages" bibinfo.check * * - " (" swap$ * ")" * * - } - if$ -%</revdata> - } - if$ -} -% \end{macrocode} -% \end{macro} -% -% \begin{macro}{`format.vol.num.pages'} -% Version 3.84, I have rationalized several options that placed the date in the -% journal specifications. It was rather chaotic before, but now it should be -% more systematic. This means some options have been removed, something that I -% do not like to do. -% -% The option \texttt{pp-last} suppresses the pages in the formatting macros, and -% sees to it that the pages are added just before any notes in those entries -% that take pages. This applies to more than just \texttt{article}, but to -% \texttt{inbook}, \texttt{incollection} as well. -% -% \begin{macrocode} -FUNCTION {format.vol.num.pages} -{ volume field.or.null - duplicate$ empty$ 'skip$ - { -%<jwdvol> bbl.volume swap$ tie.or.space.prefix - "volume" bibinfo.check -%<jwdvol> * * - } - if$ -%<vol-bf&!vol-2bf> bolden -%<!vol-bf&!vol-2bf&vol-it> emphasize -%<jdt-v|jdt-vs> format.year * -%<*!vnum-x> - number "number" bibinfo.check duplicate$ empty$ 'skip$ - { - swap$ duplicate$ empty$ - { "there's a number but no volume in " cite$ * warning$ } - 'skip$ - if$ - swap$ -%<vnum-sp> "~(" swap$ * ")" * -%<!vnum-sp&vnum-cm> ", " swap$ * -%<!vnum-sp&!vnum-cm&vnum-nr> ", " bbl.nr * number tie.or.space.prefix pop$ * swap$ * -%<!vnum-sp&!vnum-cm&!vnum-nr&vnum-h> ", \#" swap$ * -%<!vnum-sp&!vnum-cm&!vnum-nr&!vnum-h&vnum-b> " " swap$ * -%<!vnum-sp&!vnum-cm&!vnum-nr&!vnum-h&!vnum-b> "(" swap$ * ")" * - } - if$ * -%<!vol-bf&vol-2bf> bolden -%</!vnum-x> -%<*!pp-last> - eid empty$ - { format.journal.pages } - { format.journal.eid } - if$ -%</!pp-last> -} - -% \end{macrocode} -% \end{macro} -% -% \begin{macro}{`format.chapter.pages'} -% \begin{macrocode} -FUNCTION {format.chapter.pages} -{ chapter empty$ -%<!pp-last> 'format.pages -%<pp-last> { "" } - { type empty$ - { bbl.chapter } - { type "l" change.case$ - "type" bibinfo.check - } - if$ - chapter tie.or.space.prefix - "chapter" bibinfo.check - * * -%<*!pp-last> - pages empty$ - 'skip$ - { ", " * format.pages * } - if$ -%</!pp-last> - } - if$ -} - -% \end{macrocode} -% \end{macro} -% -% \begin{macro}{`bt.enquote'} -% This is to place the booktitle for proceedings and collections into quotes. -% If punctuation is to be included, then add a comma unless a stop already -% exists, or add a period under the only circumstances that -% |format.in.ed.booktitle| is followed by |new.sentence|. -% \begin{macrocode} -%<*bt-qq> -FUNCTION {bt.enquote} -{ duplicate$ empty$ 'skip$ - { "\enquote{" swap$ * -%<*!qx> - non.stop - { ",} " * } - { "}, " * } - if$ -%</!qx> -%<*qx> - "}, " * -%</qx> - } - if$ -} -%</bt-qq> -% \end{macrocode} -% -% \end{macro} -% -% \begin{macro}{`format.booktitle'} -% The function \texttt{format.booktitle} pushes one object -% (the book title, suitably encapsulated) onto the stack. -% It is currently used in \texttt{format.incoll.inproc.crossref} -% and in \texttt{format.in.ed.booktitle}, and should be used whenever accessing -% the \texttt{booktitle} field for eventual output. -% -% If the book title is empty or missing, the function pushes an empty string. -% \begin{macrocode} -FUNCTION {format.booktitle} -{ - booktitle "booktitle" bibinfo.check -%<!bt-qq&!bt-rm> emphasize -%<bt-qq> bt.enquote -} -% \end{macrocode} -% \end{macro} -% -% \begin{macro}{`format.in.ed.booktitle'} -% Prior to version 3.81, the \textsl{Editor} or \textsl{Edited by} in -% parentheses was meant to be capitalized, but this did not work properly. -% Now the option \texttt{edcap} produces this, and default is not capitalized. -% -% Notes on \dtx{} options: -% \begin{itemize} -% \item -% The following combinations are available through the \texttt{makebst.tex} interface: -% \begin{quote} -% \verb+(+ \\ -% \verb+ <default>+ \\ -% \verb+ |edby ( |edbyx |edbyy|edbyw[edcap])+ \\ -% \verb+ |edby-par (|edcap|edbyx[edcap]|edbyy )+ \\ -% \verb+ |edby-parc(|edcap|edbyx )+ \\ -% \verb+)+ -% \end{quote} -% \item -% \texttt{edby}, \texttt{edby-par}, and \texttt{edby-parc} are mutually exclusive -% and, except for the default, exhaustive. -% \item -% \texttt{edbyx}, \texttt{edbyw}, and \texttt{edbyy} are mutually exclusive -% and, except for the default, exhaustive. -% \item -% \texttt{edcap} is independent of the above two groups of options. -% \item -% When parentheses need to be applied, we make sure that the respective -% \dtx{} guard expressions are mutually exclusive. -% It makes no sense for \texttt{edbyw} to be in effect if either of -% \texttt{edby-par} or \texttt{edby-parc} is in effect. -% \item -% \texttt{makebst.tex} only activates \texttt{edcap} in certain cases, -% but we do no checking here, applying it consistently to the -% ``editor'' text entity. -% \item -% The code between \texttt{<!edpar>} and \verb+<edpar\|edparc>+ -% \emph{must} match the corresponding code in \texttt{format.editors}. -% This means that in the default case, formatting is controlled by -% a \dtx{} mechanism entirely different from the other cases. -% \item \texttt{ser-ed} has been added to suit AGU. Result of series plus -% volume to go between booktitle and editors; must remove \texttt{format.bvolume} -% from \texttt{incollection} and \texttt{inproceedings}. -% \end{itemize} -% -% \begin{macrocode} -FUNCTION {format.in.ed.booktitle} -{ format.booktitle duplicate$ empty$ 'skip$ - { -%<showstack>% btitle -%<*ser-ed> - format.bvolume duplicate$ empty$ 'pop$ - { ", " swap$ * * } - if$ -%</ser-ed> - editor "editor" format.names.ed duplicate$ empty$ 'pop$ - { -%<*!(edby|edby-par|edby-parc)> -%<showstack>% btitle ednms -%<!edpar&!edparxc> "," * - " " * - get.bbl.editor -%<bkedcap> capitalize -%<edpar> "(" swap$ * "), " * -%<!edpar&(edparc|edparxc)> "(" swap$ * ") " * -%<!edpar&!(edparc|edparxc)> ", " * - * swap$ -%<showstack>% eds btitle -%</!(edby|edby-par|edby-parc)> -%<*edby|edby-par|edby-parc> -%<showstack>% btitle ednms -%<edbyx|edbyy|edbyw> get.bbl.editor -%<!(edbyx|edbyy|edbyw)> bbl.edby -%<edcap> capitalize -%<!(edby-par|edby-parc)&edbyw> "(" swap$ * ")" * -%<showstack>% btitle ednms ed -%<(edby-par|edby)&edbyy> swap$ "," * - " " * swap$ * -%<showstack>% btitle ednms-ed -%<(edby-par|edby-parc)&!edbyw> "(" swap$ * ")" * - swap$ -%<edby|edby-parc> "," * - " " * swap$ -%</edby|edby-par|edby-parc> -%<showstack>% btitle ednms-ed (or ednms-ed btitle) - * } - if$ -%<showstack>% btitle-ednms-ed (or ednms-ed-btitle) (or btitle) - word.in swap$ * - } - if$ -} -% \end{macrocode} -% \end{macro} -% -% \begin{macro}{`empty.misc.check'} -% \begin{macrocode} -%<*!ay> -FUNCTION {empty.misc.check} -{ author empty$ title empty$ howpublished empty$ - month empty$ year empty$ note empty$ - and and and and and -%<!seq-no|alph> key empty$ not and - { "all relevant fields are empty in " cite$ * warning$ } - 'skip$ - if$ -} -%</!ay> -% \end{macrocode} -% \end{macro} -% -% \begin{macro}{`format.thesis.type'} -% \begin{macrocode} -FUNCTION {format.thesis.type} -{ type duplicate$ empty$ - 'pop$ - { swap$ pop$ - "t" change.case$ "type" bibinfo.check - } - if$ -} -% \end{macrocode} -% \end{macro} -% -% \begin{macro}{`format.tr.number'} -% \begin{macrocode} -FUNCTION {format.tr.number} -{ number "number" bibinfo.check - type duplicate$ empty$ - { pop$ bbl.techrep } - 'skip$ - if$ - "type" bibinfo.check - swap$ duplicate$ empty$ - { pop$ "t" change.case$ } - { tie.or.space.prefix * * } - if$ -} -% \end{macrocode} -% \end{macro} -% -% \begin{macro}{`format.article.crossref'} -% The \texttt{journal} field was emphasized emplicitly, but it should be -% done by command. -% \begin{macrocode} -FUNCTION {format.article.crossref} -{ -%<*!ay> - key duplicate$ empty$ - { pop$ - journal duplicate$ empty$ - { "need key or journal for " cite$ * " to crossref " * crossref * warning$ } - { "journal" bibinfo.check emphasize word.in swap$ * } - if$ - } - { word.in swap$ * " " *} - if$ -%</!ay> -%<ay> word.in -%<!html> " \cite{" * crossref * "}" * -%<html> " <tt>" * crossref * "</tt>" * -} -% \end{macrocode} -% \end{macro} -% -% \begin{macro}{`format.crossref.editor'} -% \begin{macrocode} -%<*!ay> -FUNCTION {format.crossref.editor} -{ editor #1 "{vv~}{ll}" format.name$ -%<nmft&nmfted&nmand-rm> bib.name.font - "editor" bibinfo.check - editor num.names$ duplicate$ - #2 > - { pop$ -%<nmft&nmfted&!nmand-rm&(etal-it|etal-rm)> bib.name.font - "editor" bibinfo.check - " " * bbl.etal -%<etal-it> emphasize - * -%<nmft&nmfted&!nmand-rm&!(etal-it|etal-rm)> bib.name.font -%<nmft&nmfted&!nmand-rm&!(etal-it|etal-rm)> "others" 't := - } - { #2 < - 'skip$ - { editor #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" = - { -%<nmft&nmfted&!nmand-rm&(etal-it|etal-rm)> bib.name.font - "editor" bibinfo.check - " " * bbl.etal -%<etal-it> emphasize - * -%<nmft&nmfted&!nmand-rm&!(etal-it|etal-rm)> bib.name.font -%<nmft&nmfted&!nmand-rm&!(etal-it|etal-rm)> "others" 't := - } - { -%<*!harnm> -%<!amper> bbl.and space.word -%<amper> " \& " -%</!harnm> -%<harnm> " \harvardand\ " - * editor #2 "{vv~}{ll}" format.name$ -%<nmft&nmfted&nmand-rm> bib.name.font - "editor" bibinfo.check - * - } - if$ - } - if$ - } - if$ -%<*nmft&nmfted&!nmand-rm> - t "others" = - 'skip$ - { bib.name.font "editor" bibinfo.check } - if$ -%</nmft&nmfted&!nmand-rm> -} -%</!ay> -% \end{macrocode} -% \end{macro} -% -% \begin{macro}{`format.book.crossref'} -% The \texttt{series} field was emphasized emplicitly, but it should be -% done by command. -% \begin{macrocode} -FUNCTION {format.book.crossref} -{ volume duplicate$ empty$ - { "empty volume in " cite$ * "'s crossref of " * crossref * warning$ - pop$ word.in - } - { bbl.volume -%<!(blk-com|blk-tita)> capitalize - swap$ tie.or.space.prefix "volume" bibinfo.check * * bbl.of space.word * - } - if$ -%<*!ay> - editor empty$ - editor field.or.null author field.or.null = - or - { key empty$ - { series empty$ - { "need editor, key, or series for " cite$ * " to crossref " * - crossref * warning$ - "" * - } - { series emphasize * } - if$ - } - { key * } - if$ - } - { format.crossref.editor * } - if$ -%</!ay> -%<!html> " \cite{" * crossref * "}" * -%<html> " <tt>" * crossref * "</tt>" * -} -% \end{macrocode} -% \end{macro} -% -% \begin{macro}{`format.incoll.inproc.crossref'} -% The \texttt{booktitle} field was emphasized emplicitly, but it should be -% done by command. -% \begin{macrocode} -FUNCTION {format.incoll.inproc.crossref} -{ -%<*!ay> - editor empty$ - editor field.or.null author field.or.null = - or - { key empty$ - { format.booktitle duplicate$ empty$ - { "need editor, key, or booktitle for " cite$ * " to crossref " * - crossref * warning$ - } - { word.in swap$ * } - if$ - } - { word.in key * " " *} - if$ - } - { word.in format.crossref.editor * " " *} - if$ -%</!ay> -%<ay> word.in -%<!html> " \cite{" * crossref * "}" * -%<html> " <tt>" * crossref * "</tt>" * -} -% \end{macrocode} -% \end{macro} -% -% \begin{macro}{`format.org.or.pub'} -% Psychology journals often want \textit{address}: \textit{publisher}. -% -% \textsl{Nature} wants publisher and date in parentheses, and when both -% are there, they are merged into one set. -% -% Call function \texttt{add.blank} before parentheses so suppress preceding -% punctuation, which looks strange when publisher in parentheses. -% -% MPG Jahrbuch wants publisher and year, but without parentheses. Add -% \texttt{pub-nopar} to be used with \texttt{pub-date}. -% -% Have now (3.87.h) extended this function to include the organization, if -% present. This is for \texttt{inproceedings} and \texttt{proceedings} where -% the publisher is optional, and organization too. If the publisher is missing, -% but the organization present, it is formatted like the publisher. This -% complication comes from styles that want the publisher/organization to have -% the date included, all in parentheses. -% -% This function is called by \texttt{format.publisher.address} and -% \texttt{format.organization.address}, each putting the appropriate text -% into the stack first. -% -% \begin{macrocode} -FUNCTION {format.org.or.pub} -{ 't := - "" -%<*pub-date&!ay> - year empty$ - { "empty year in " cite$ * warning$ } - 'skip$ - if$ -%</pub-date&!ay> -%<*!(pub-date&ay)> - address empty$ t empty$ and -%<pub-date> year empty$ and - 'skip$ - { -%</!(pub-date&ay)> -%<pub-par|(pub-date&!pub-xpar)> add.blank "(" * -%<*add-pub> - address "address" bibinfo.check * - t empty$ - 'skip$ -%</add-pub> -%<*!add-pub> - t empty$ - { address "address" bibinfo.check * - } - { t * - address empty$ - 'skip$ - { ", " * address "address" bibinfo.check * } - if$ - } -%</!add-pub> -%<*add-pub> - { address empty$ - 'skip$ - { ": " * } - if$ - t * - } -%</add-pub> - if$ -%<*pub-date&!ay> - year empty$ - 'skip$ - { t empty$ address empty$ and - 'skip$ -%<!pub-xc> { ", " swap$ * * } -%<pub-xc> { " " swap$ * * } - if$ - year "year" bibinfo.check -%<dtbf> bolden - * - } - if$ -%</pub-date&!ay> -%<*pub-date&ay> - year duplicate$ empty$ -%<*!blkyear> - { "empty year in " cite$ * "; set to ????" * warning$ - pop$ "????" } -%</!blkyear> -%<*blkyear> - { "empty year in " cite$ * warning$ - pop$ "" } -%</blkyear> -%<!dtbf> { "year" bibinfo.check extra.label * } -%<dtbf> { "year" bibinfo.check bolden extra.label * } - if$ - t empty$ address empty$ and - { * } -%<!pub-xc> { ", " swap$ * * } -%<pub-xc> { " " swap$ * * } - if$ -%</pub-date&ay> -%<pub-par|(pub-date&!pub-xpar)> ")" * -%<*!(pub-date&ay)> - } - if$ -%</!(pub-date&ay)> -} -% \end{macrocode} -% \end{macro} -% -% \begin{macro}{`format.publisher.address'} -% \begin{macrocode} -FUNCTION {format.publisher.address} -{ publisher "publisher" bibinfo.warn format.org.or.pub -} - -% \end{macrocode} -% \end{macro} -% -% \begin{macro}{`format.organization.address'} -% \begin{macrocode} -FUNCTION {format.organization.address} -{ organization "organization" bibinfo.check format.org.or.pub -} - -% \end{macrocode} -% \end{macro} -% -% \begin{macro}{`name.or.dash'} -% This function stores what is on the stack, compares it with previous value, -% and replaces it with a long dash if they are equal. What is on the stack -% should be author or editor names for the current entry. -% \begin{macrocode} -%<*nmdash> -STRINGS {oldname} - -FUNCTION {name.or.dash} -{ 's := - oldname empty$ - { s 'oldname := s } - { s oldname = -%<*!au-col> -%<!nmd-2&!nmd-3> { "---" } -%<nmd-2&!nmd-3> { "---{}---" } -%<nmd-3> { "---{}---{}---" } -%</!au-col> -%<*au-col> -%<!nmd-2&!nmd-3> { "---" add.blank } -%<nmd-2&!nmd-3> { "---{}---" add.blank } -%<nmd-3> { "---{}---{}---" add.blank } -%</au-col> - { s 'oldname := s } - if$ - } - if$ -} - -%</nmdash> -% \end{macrocode} -% \end{macro} -% -% \begin{macro}{`article'} -% \begin{macrocode} -FUNCTION {article} -{ output.bibitem - format.authors "author" output.check -%<ay> author format.key output -%<au-col> add.colon -%<nmdash> name.or.dash -%<*dt-beg&!jdt-p&!jdt-pc&!jdt-vs&!jdt-v> - format.date "year" output.check - date.block -%</dt-beg&!jdt-p&!jdt-pc&!jdt-vs&!jdt-v> -%<!dt-beg&!blk-com&!blk-tit&!blk-tita> new.block -%<*!jtit-x> - format.title "title" output.check -%<blk-com&tit-qq> end.quote.title -%<!blk-com&!blk-tit&!blk-tita> new.block -%<*blk-tit|blk-tita> -%<!tit-col> new.sentence -%<tit-col> add.colon -%</blk-tit|blk-tita> -%</!jtit-x> - crossref missing$ - { - journal -%<jxper> remove.dots - "journal" bibinfo.check -%<!jttl-rm> emphasize -%<injnl> word.in swap$ * - "journal" output.check -%<jnm-x> add.blank -%<*!dt-beg&!dt-end&dt-jnl&!jdt-p&!jdt-pc&!jdt-vs&!jdt-v> - format.date "year" output.check - date.block -%</!dt-beg&!dt-end&dt-jnl&!jdt-p&!jdt-pc&!jdt-vs&!jdt-v> - format.vol.num.pages output -%<doi&agu-doi> format.doi output -%<*!dt-beg&!dt-end&!dt-jnl&!jdt-p&!jdt-pc&!jdt-vs&!jdt-v> - format.date "year" output.check -%</!dt-beg&!dt-end&!dt-jnl&!jdt-p&!jdt-pc&!jdt-vs&!jdt-v> - } - { format.article.crossref output.nonnull -%<!pp-last> format.pages output - } - if$ -%<*pp-last> - eid empty$ - { format.journal.pages } - { format.journal.eid } - if$ -%</pp-last> -%<issn> format.issn output -%<(doi|(url-doi&!url))&!agu-doi> format.doi output -%<*url-blk&!harnm&!revdata> -%<!blk-com&!blk-tit&!blk-tita> new.block - format.url output -%</url-blk&!harnm&!revdata> -%<!blk-com&!blk-tit&!blk-tita> new.block -%<(blk-com|blk-tit|blk-tita)&blknt> new.sentence - format.note output -%<*!dt-beg&dt-end&!jdt-p&!jdt-pc&!jdt-vs&!jdt-v> -%<!blk-com&!blk-tit&!blk-tita> new.block - format.date "year" output.check -%</!dt-beg&dt-end&!jdt-p&!jdt-pc&!jdt-vs&!jdt-v> -%<eprint> format.eprint output -%<*revdata> - format.url output -%</revdata> - fin.entry -%<harnm|url-nl> write.url -} -% \end{macrocode} -% \end{macro} -% -% \begin{macro}{`book'} -% \begin{macrocode} -FUNCTION {book} -{ output.bibitem - author empty$ - { format.editors "author and editor" output.check -%<ay> editor format.key output -%<!edpar&(edparc|edparxc)&!au-col> add.blank -%<au-col> add.colon -%<nmdash> name.or.dash - } - { format.authors output.nonnull -%<au-col> add.colon -%<nmdash> name.or.dash - crossref missing$ - { "author and editor" editor either.or.check } - 'skip$ - if$ - } - if$ -%<dt-beg&!pub-date> format.date "year" output.check -%<dt-beg&!pub-date> date.block -%<!dt-beg&!blk-com&!blk-tit&!blk-tita> new.block - format.btitle "title" output.check - crossref missing$ - { format.bvolume output -%<!blk-com&!blk-tit&!blk-tita> new.block -%<blk-tit&!tit-col> new.sentence -%<blk-tit&tit-col> add.colon -%<!numser> format.number.series output -%<pre-edn> format.edition output -%<!blk-com&!blk-tit&!blk-tita> new.sentence -%<numser> format.number.series output -%<pg-bk&pg-pre> format.book.pages output - format.publisher.address output - } - { -%<!blk-com&!blk-tit&!blk-tita> new.block -%<blk-tit&!tit-col> new.sentence -%<blk-tit&tit-col> add.colon - format.book.crossref output.nonnull -%<!dt-beg&!dt-end&pub-date> format.date "year" output.check - } - if$ -%<!pre-edn> format.edition output -%<!dt-beg&!dt-end&!pub-date> format.date "year" output.check -%<isbn> format.isbn output -%<pg-bk&!pg-pre> format.book.pages output -%<doi|(url-doi&!url)> format.doi output -%<*url-blk&!harnm&!revdata> -%<!blk-com&!blk-tit&!blk-tita> new.block - format.url output -%</url-blk&!harnm&!revdata> -%<!blk-com&!blk-tit&!blk-tita> new.block -%<(blk-com|blk-tit|blk-tita)&blknt> new.sentence - format.note output -%<*!dt-beg&dt-end&!pub-date> -%<!blk-com&!blk-tit&!blk-tita> new.block - format.date "year" output.check -%</!dt-beg&dt-end&!pub-date> -%<eprint> format.eprint output -%<revdata> format.url output - fin.entry -%<(harnm|url-nl)&!revdata> write.url -} -% \end{macrocode} -% \end{macro} -% -% \begin{macro}{`booklet'} -% \begin{macrocode} -FUNCTION {booklet} -{ output.bibitem - format.authors output -%<ay> author format.key output -%<au-col> add.colon -%<nmdash> name.or.dash -%<ay&dt-beg> format.date "year" output.check -%<!ay&dt-beg> format.date output -%<dt-beg> date.block -%<!dt-beg&!blk-com&!blk-tit&!blk-tita> new.block - format.title "title" output.check -%<blk-com&tit-qq> end.quote.title -%<!blk-com&!blk-tit&!blk-tita> new.block -%<blk-tit&!tit-col> new.sentence -%<blk-tit&tit-col> add.colon - howpublished "howpublished" bibinfo.check output - address "address" bibinfo.check output -%<ay&!dt-beg&!dt-end> format.date "year" output.check -%<!ay&!dt-beg&!dt-end> format.date output -%<isbn> format.isbn output -%<pg-bk> format.book.pages output -%<doi|(url-doi&!url)> format.doi output -%<*url-blk&!harnm&!revdata> -%<!blk-com&!blk-tit&!blk-tita> new.block - format.url output -%</url-blk&!harnm&!revdata> -%<!blk-com&!blk-tit&!blk-tita> new.block -%<(blk-com|blk-tit|blk-tita)&blknt> new.sentence - format.note output -%<*ay&!dt-beg&dt-end> -%<!blk-com&!blk-tit&!blk-tita> new.block - format.date "year" output.check -%</ay&!dt-beg&dt-end> -%<*!ay&!dt-beg&dt-end> -%<!blk-com&!blk-tit&!blk-tita> new.block - format.date output -%</!ay&!dt-beg&dt-end> -%<eprint> format.eprint output -%<revdata> format.url output - fin.entry -%<(harnm|url-nl)&!revdata> write.url -} - -% \end{macrocode} -% \end{macro} -% -% \begin{macro}{`inbook'} -% The medical journals, with option \texttt{dt-jnl}, have the date as part of -% the journal specification. For chapters in books, they want date and pages -% to appear at the end, with a space between them. (For journals, there is to be -% no space.) Suppress the chapter specification (for now). -% -% The \texttt{dt-jnl} option usually behaves as the default, except for some -% special entries, like this one. -% -% Restore the chapter specification (2004 Feb 9) after someone complained. -% There are still some bugs here. If some date punctuation is specified, say -% with \texttt{yrp-semi} for a semi-colon after the year, this appears always, -% even if there is no text following. But then this to be an unlikely wish anyway, -% since such punctuation options are best suited for \texttt{dt-beg}. -% \begin{macrocode} -FUNCTION {inbook} -{ output.bibitem - author empty$ - { format.editors "author and editor" output.check -%<ay> editor format.key output -%<au-col> add.colon -%<nmdash> name.or.dash - } - { format.authors output.nonnull -%<au-col> add.colon -%<nmdash> name.or.dash - crossref missing$ - { "author and editor" editor either.or.check } - 'skip$ - if$ - } - if$ -%<dt-beg&!pub-date> format.date "year" output.check -%<dt-beg&!pub-date> date.block -%<!dt-beg&!blk-com&!blk-tit&!blk-tita> new.block - format.btitle "title" output.check - crossref missing$ - { -%<pre-pub&numser> format.number.series output -%<pre-pub> format.publisher.address output - format.bvolume output -%<*dt-beg|dt-end|!dt-jnl|a|!a> - format.chapter.pages "chapter and pages" output.check -%</dt-beg|dt-end|!dt-jnl|a|!a> -%<!blk-com&!blk-tit&!blk-tita> new.block -%<blk-tit&!tit-col> new.sentence -%<blk-tit&tit-col> add.colon -%<!numser> format.number.series output -%<pre-edn> format.edition output -%<!blk-com&!blk-tit&!blk-tita> new.sentence -%<!pre-pub&numser> format.number.series output -%<!pre-pub> format.publisher.address output - } - { -%<*dt-beg|dt-end|!dt-jnl|a|!a> - format.chapter.pages "chapter and pages" output.check -%</dt-beg|dt-end|!dt-jnl|a|!a> -%<!blk-com&!blk-tit&!blk-tita> new.block -%<blk-tit&!tit-col> new.sentence -%<blk-tit&tit-col> add.colon - format.book.crossref output.nonnull -%<!dt-beg&!dt-end&!dt-jnl&pub-date> format.date "year" output.check - } - if$ -%<!pre-edn> format.edition output -%<!dt-beg&!dt-end&!dt-jnl&!pub-date> format.date "year" output.check -%<*isbn> - crossref missing$ - { format.isbn output } - 'skip$ - if$ -%</isbn> -%<*(!dt-beg&!dt-end&dt-jnl)&!pub-date> - format.date "year" output.check - date.block -%</(!dt-beg&!dt-end&dt-jnl)&!pub-date> -%<pp-last> format.pages "pages" output.check -%<doi|(url-doi&!url)> format.doi output -%<*url-blk&!harnm&!revdata> -%<!blk-com&!blk-tit&!blk-tita> new.block - format.url output -%</url-blk&!harnm&!revdata> -%<!blk-com&!blk-tit&!blk-tita> new.block -%<(blk-com|blk-tit|blk-tita)&blknt> new.sentence - format.note output -%<*!dt-beg&dt-end&!pub-date> -%<!blk-com&!blk-tit&!blk-tita> new.block - format.date "year" output.check -%</!dt-beg&dt-end&!pub-date> -%<eprint> format.eprint output -%<revdata> format.url output - fin.entry -%<(harnm|url-nl)&!revdata> write.url -} - -% \end{macrocode} -% \end{macro} -% -% \begin{macro}{`incollection'} -% \begin{macrocode} -FUNCTION {incollection} -{ output.bibitem - format.authors "author" output.check -%<ay> author format.key output -%<au-col> add.colon -%<nmdash> name.or.dash -%<dt-beg&!pub-date> format.date "year" output.check -%<dt-beg&!pub-date> date.block -%<!dt-beg&!blk-com&!blk-tit&!blk-tita> new.block -%<*!jtit-x> - format.title "title" output.check -%<blk-com&tit-qq> end.quote.title -%<!blk-com&!blk-tit&!blk-tita> new.block -%<blk-tit&!tit-col> new.sentence -%<blk-tit&tit-col> add.colon -%</!jtit-x> - crossref missing$ - { format.in.ed.booktitle "booktitle" output.check -%<bt-qq> end.quote.btitle -%<pre-pub&numser> format.number.series output -%<pre-pub> format.publisher.address output -%<!ser-ed> format.bvolume output -%<!numser> format.number.series output -%<pre-edn> format.edition output - format.chapter.pages output -%<!blk-com&!blk-tit&!blk-tita> new.sentence -%<!pre-pub&numser> format.number.series output -%<!pre-pub> format.publisher.address output -%<!pre-edn> format.edition output -%<!dt-beg&!dt-end&!dt-jnl&!pub-date> format.date "year" output.check -%<isbn> format.isbn output - } - { format.incoll.inproc.crossref output.nonnull - format.chapter.pages output - } - if$ -%<*(!dt-beg&!dt-end&dt-jnl)&!pub-date> - format.date "year" output.check - date.block -%</(!dt-beg&!dt-end&dt-jnl)&!pub-date> -%<pp-last> format.pages "pages" output.check -%<doi|(url-doi&!url)> format.doi output -%<*url-blk&!harnm&!revdata> -%<!blk-com&!blk-tit&!blk-tita> new.block - format.url output -%</url-blk&!harnm&!revdata> -%<!blk-com&!blk-tit&!blk-tita> new.block -%<(blk-com|blk-tit|blk-tita)&blknt> new.sentence - format.note output -%<*!dt-beg&dt-end&!pub-date> -%<!blk-com&!blk-tit&!blk-tita> new.block - format.date "year" output.check -%</!dt-beg&dt-end&!pub-date> -%<eprint> format.eprint output -%<revdata> format.url output - fin.entry -%<(harnm|url-nl)&!revdata> write.url -} -% \end{macrocode} -% \end{macro} -% -% \begin{macro}{`inproceedings'} -% \begin{macrocode} -FUNCTION {inproceedings} -{ output.bibitem - format.authors "author" output.check -%<ay> author format.key output -%<au-col> add.colon -%<nmdash> name.or.dash -%<dt-beg&!pub-date> format.date "year" output.check -%<dt-beg&!pub-date> date.block -%<!dt-beg&!blk-com&!blk-tit&!blk-tita> new.block -%<*!jtit-x> - format.title "title" output.check -%<blk-com&tit-qq> end.quote.title -%<!blk-com&!blk-tit&!blk-tita> new.block -%<blk-tit&!tit-col> new.sentence -%<blk-tit&tit-col> add.colon -%</!jtit-x> - crossref missing$ - { format.in.ed.booktitle "booktitle" output.check -%<bt-qq> end.quote.btitle -%<*!pre-pub> -%<!ser-ed> format.bvolume output -%<!numser> format.number.series output -%<(dt-beg|dt-end|!dt-jnl)&!pp-last> format.pages output -%</!pre-pub> -%<!blk-com&!blk-tit&!blk-tita> new.sentence -%<numser> format.number.series output - publisher empty$ - { format.organization.address output } - { organization "organization" bibinfo.check output - format.publisher.address output - } - if$ -%<!dt-beg&!dt-end&!dt-jnl&!pub-date> format.date "year" output.check -%<*pre-pub> - format.bvolume output -%<!numser> format.number.series output -%<(dt-beg|dt-end|!dt-jnl)&!pp-last> format.pages output -%</pre-pub> -%<isbn> format.isbn output -%<issn> format.issn output - } - { format.incoll.inproc.crossref output.nonnull -%<(dt-beg|dt-end|!dt-jnl)&!pp-last> format.pages output - } - if$ -%<*!dt-beg&!dt-end&dt-jnl&!pp-last> -%<!pub-date> format.date "year" output.check -%<!pub-date> date.block -%<jdt-v|jdt-vs|jdt-p|!jdt-pc> add.blank - format.pages "pages" output.check -%</!dt-beg&!dt-end&dt-jnl&!pp-last> -%<pp-last> format.pages "pages" output.check -%<doi|(url-doi&!url)> format.doi output -%<*url-blk&!harnm&!revdata> -%<!blk-com&!blk-tit&!blk-tita> new.block - format.url output -%</url-blk&!harnm&!revdata> -%<!blk-com&!blk-tit&!blk-tita> new.block -%<(blk-com|blk-tit|blk-tita)&blknt> new.sentence - format.note output -%<*!dt-beg&dt-end&!pub-date> -%<!blk-com&!blk-tit&!blk-tita> new.block - format.date "year" output.check -%</!dt-beg&dt-end&!pub-date> -%<eprint> format.eprint output -%<revdata> format.url output - fin.entry -%<(harnm|url-nl)&!revdata> write.url -} -% \end{macrocode} -% \end{macro} -% -% \begin{macro}{`conference'} -% \begin{macrocode} -FUNCTION {conference} { inproceedings } -% \end{macrocode} -% \end{macro} -% -% \begin{macro}{`manual'} -% \begin{macrocode} -%<*ay> -FUNCTION {manual} -{ output.bibitem - format.authors output - author format.key output -%<au-col> add.colon -%<nmdash> name.or.dash -%<dt-beg> format.date "year" output.check -%<dt-beg> date.block -%<!dt-beg&!blk-com&!blk-tit&!blk-tita> new.block - format.btitle "title" output.check -%<blk-tit&!tit-col> new.sentence -%<blk-tit&tit-col> add.colon -%<!blk-com&!blk-tit&!blk-tita> organization address new.block.checkb - organization "organization" bibinfo.check output - address "address" bibinfo.check output - format.edition output -%<!dt-beg&!dt-end> format.date "year" output.check -%<doi|(url-doi&!url)> format.doi output -%<*url-blk&!harnm&!revdata> -%<!blk-com&!blk-tit&!blk-tita> new.block - format.url output -%</url-blk&!harnm&!revdata> -%<!blk-com&!blk-tit&!blk-tita> new.block -%<(blk-com|blk-tit|blk-tita)&blknt> new.sentence - format.note output -%<*!dt-beg&dt-end> -%<!blk-com&!blk-tit&!blk-tita> new.block - format.date "year" output.check -%</!dt-beg&dt-end> -%<eprint> format.eprint output -%<revdata> format.url output - fin.entry -%<(harnm|url-nl)&!revdata> write.url -} - -%</ay> -%<*!ay> -FUNCTION {manual} -{ output.bibitem - author empty$ - { organization "organization" bibinfo.check - duplicate$ empty$ 'pop$ - { output - address "address" bibinfo.check output - } - if$ - } - { format.authors output.nonnull } - if$ -%<au-col> add.colon -%<nmdash> name.or.dash -%<ay&dt-beg> format.date "year" output.check -%<!ay&dt-beg> format.date output -%<dt-beg> date.block -%<!dt-beg&!blk-com&!blk-tit&!blk-tita> new.block - format.btitle "title" output.check -%<blk-tit&!tit-col> new.sentence -%<blk-tit&tit-col> add.colon - author empty$ - { organization empty$ - { -%<!blk-com&!blk-tit&!blk-tita> address new.block.checka - address "address" bibinfo.check output - } - 'skip$ - if$ - } - { -%<!blk-com&!blk-tit&!blk-tita> organization address new.block.checkb - organization "organization" bibinfo.check output - address "address" bibinfo.check output - } - if$ - format.edition output -%<ay&!dt-beg&!dt-end> format.date "year" output.check -%<!ay&!dt-beg&!dt-end> format.date output -%<doi|(url-doi&!url)> format.doi output -%<*url-blk&!harnm&!revdata> -%<!blk-com&!blk-tit&!blk-tita> new.block - format.url output -%</url-blk&!harnm&!revdata> -%<!blk-com&!blk-tit&!blk-tita> new.block -%<(blk-com|blk-tit|blk-tita)&blknt> new.sentence - format.note output -%<*ay&!dt-beg&dt-end> -%<!blk-com&!blk-tit&!blk-tita> new.block - format.date "year" output.check -%</ay&!dt-beg&dt-end> -%<*!ay&!dt-beg&dt-end> -%<!blk-com&!blk-tit&!blk-tita> new.block - format.date output -%</!ay&!dt-beg&dt-end> -%<eprint> format.eprint output -%<revdata> format.url output - fin.entry -%<(harnm|url-nl)&!revdata> write.url -} - -%</!ay> -% \end{macrocode} -% \end{macro} -% -% \begin{macro}{`mastersthesis'} -% To format a master's thesis. -% \begin{macrocode} -FUNCTION {mastersthesis} -{ output.bibitem - format.authors "author" output.check -%<ay> author format.key output -%<au-col> add.colon -%<nmdash> name.or.dash -%<dt-beg> format.date "year" output.check -%<dt-beg> date.block -%<!dt-beg&!blk-com&!blk-tit&!blk-tita> new.block -%<*!thtit-x> -%<!thtit-a> format.btitle -%<thtit-a> format.title - "title" output.check -%<thtit-a&blk-com&tit-qq> end.quote.title -%<!blk-com&!blk-tit&!blk-tita> new.block -%<blk-tit&!tit-col> new.sentence -%<blk-tit&tit-col> add.colon -%</!thtit-x> - bbl.mthesis format.thesis.type output.nonnull - school "school" bibinfo.warn output - address "address" bibinfo.check output -%<!dt-beg&!dt-end> format.date "year" output.check -%<doi|(url-doi&!url)> format.doi output -%<*url-blk&!harnm&!revdata> -%<!blk-com&!blk-tit&!blk-tita> new.block - format.url output -%</url-blk&!harnm&!revdata> -%<!blk-com&!blk-tit&!blk-tita> new.block -%<(blk-com|blk-tit|blk-tita)&blknt> new.sentence - format.note output -%<*!dt-beg&dt-end> -%<!blk-com&!blk-tit&!blk-tita> new.block - format.date "year" output.check -%</!dt-beg&dt-end> -%<eprint> format.eprint output -%<revdata> format.url output - fin.entry -%<(harnm|url-nl)&!revdata> write.url -} - -% \end{macrocode} -% \end{macro} -% -% \begin{macro}{`misc'} -% \begin{macrocode} -FUNCTION {misc} -{ output.bibitem - format.authors output -%<ay> author format.key output -%<au-col> add.colon -%<nmdash> name.or.dash -%<ay&dt-beg> format.date "year" output.check -%<!ay&dt-beg> format.date output -%<*ay> -%<dt-beg> date.block -%<!dt-beg&!blk-com&!blk-tit&!blk-tita> new.block - format.title output -%<blk-com&tit-qq> end.quote.title -%<!blk-com&!blk-tit&!blk-tita> new.block -%<blk-tit&!tit-col> new.sentence -%<blk-tit&tit-col> add.colon -%</ay> -%<*!ay> -%<!blk-com&!blk-tit&!blk-tita> title howpublished new.block.checkb - format.title output -%<blk-com&tit-qq> end.quote.title -%<blk-tit&!tit-col> new.sentence -%<blk-tit&tit-col> add.colon -%<!blk-com&!blk-tit&!blk-tita> howpublished new.block.checka -%</!ay> - howpublished "howpublished" bibinfo.check output -%<ay&!dt-beg&!dt-end> format.date "year" output.check -%<!ay&!dt-beg&!dt-end> format.date output -%<doi|(url-doi&!url)> format.doi output -%<*url-blk&!harnm&!revdata> -%<!blk-com&!blk-tit&!blk-tita> new.block - format.url output -%</url-blk&!harnm&!revdata> -%<!blk-com&!blk-tit&!blk-tita> new.block -%<(blk-com|blk-tit|blk-tita)&blknt> new.sentence - format.note output -%<*ay&!dt-beg&dt-end> -%<!blk-com&!blk-tit&!blk-tita> new.block - format.date "year" output.check -%</ay&!dt-beg&dt-end> -%<*!ay&!dt-beg&dt-end> -%<!blk-com&!blk-tit&!blk-tita> new.block - format.date output -%</!ay&!dt-beg&dt-end> -%<eprint> format.eprint output -%<revdata> format.url output - fin.entry -%<(harnm|url-nl)&!revdata> write.url -%<!ay> empty.misc.check -} -% \end{macrocode} -% \end{macro} -% -% \begin{macro}{`phdthesis'} -% To format a doctoral thesis. -% \begin{macrocode} -FUNCTION {phdthesis} -{ output.bibitem - format.authors "author" output.check -%<ay> author format.key output -%<au-col> add.colon -%<nmdash> name.or.dash -%<dt-beg> format.date "year" output.check -%<dt-beg> date.block -%<!dt-beg&!blk-com&!blk-tit&!blk-tita> new.block -%<*!thtit-x> -%<!thtit-a> format.btitle -%<thtit-a> format.title - "title" output.check -%<thtit-a&blk-com&tit-qq> end.quote.title -%<!blk-com&!blk-tit&!blk-tita> new.block -%<blk-tit&!tit-col> new.sentence -%<blk-tit&tit-col> add.colon -%</!thtit-x> - bbl.phdthesis format.thesis.type output.nonnull - school "school" bibinfo.warn output - address "address" bibinfo.check output -%<!dt-beg&!dt-end> format.date "year" output.check -%<doi|(url-doi&!url)> format.doi output -%<*url-blk&!harnm&!revdata> -%<!blk-com&!blk-tit&!blk-tita> new.block - format.url output -%</url-blk&!harnm&!revdata> -%<!blk-com&!blk-tit&!blk-tita> new.block -%<(blk-com|blk-tit|blk-tita)&blknt> new.sentence - format.note output -%<*!dt-beg&dt-end> -%<!blk-com&!blk-tit&!blk-tita> new.block - format.date "year" output.check -%</!dt-beg&dt-end> -%<eprint> format.eprint output -%<revdata> format.url output - fin.entry -%<(harnm|url-nl)&!revdata> write.url -} - -% \end{macrocode} -% \end{macro} -% -% \begin{macro}{`presentation'} -% \begin{macrocode} -%<*pres> -FUNCTION {presentation} -{ output.bibitem - format.authors output -%<ay> author format.key output -%<au-col> add.colon -%<nmdash> name.or.dash -%<!blk-com&!blk-tit&!blk-tita> new.block - format.title output -%<blk-com&tit-qq> end.quote.title -%<!blk-com&!blk-tit&!blk-tita> new.block -%<blk-tit&!tit-col> new.sentence -%<blk-tit&tit-col> add.colon - format.organization.address "organization and address" output.check - month "month" output.check - year "year" output.check -%<!blk-com&!blk-tit&!blk-tita> new.block -%<(blk-com|blk-tit|blk-tita)&blknt> new.sentence - format.note output - new.sentence - type missing$ 'skip$ - {"(" type capitalize * ")" * output} - if$ -%<*url-blk&!harnm> -%<!blk-com&!blk-tit&!blk-tita> new.block - format.url output -%</url-blk&!harnm> - fin.entry -%<(harnm|url-nl)&!revdata> write.url -} - -%</pres> -% \end{macrocode} -% \end{macro} -% -% \begin{macro}{`proceedings'} -% \begin{macrocode} -%<*ay> -FUNCTION {proceedings} -{ output.bibitem - format.editors output - editor format.key output -%<au-col> add.colon -%<nmdash> name.or.dash -%<dt-beg> format.date "year" output.check -%<dt-beg> date.block -%<!dt-beg&!blk-com&!blk-tit&!blk-tita> new.block - format.btitle "title" output.check - format.bvolume output -%<!numser> format.number.series output -%<!blk-com&!blk-tit&!blk-tita> new.sentence -%<numser> format.number.series output - publisher empty$ - { format.organization.address output } - { organization "organization" bibinfo.check output - format.publisher.address output - } - if$ -%<!dt-beg&!dt-end&!pub-date> format.date "year" output.check -%<isbn> format.isbn output -%<issn> format.issn output -%<doi|(url-doi&!url)> format.doi output -%<*url-blk&!harnm&!revdata> -%<!blk-com&!blk-tit&!blk-tita> new.block - format.url output -%</url-blk&!harnm&!revdata> -%<!blk-com&!blk-tit&!blk-tita> new.block -%<(blk-com|blk-tit|blk-tita)&blknt> new.sentence - format.note output -%<*!dt-beg&dt-end&!pub-date> -%<!blk-com&!blk-tit&!blk-tita> new.block - format.date "year" output.check -%</!dt-beg&dt-end&!pub-date> -%<eprint> format.eprint output -%<revdata> format.url output - fin.entry -%<(harnm|url-nl)&!revdata> write.url -} - -%</ay> -% \end{macrocode} -% \begin{macrocode} -%<*!ay> -FUNCTION {proceedings} -{ output.bibitem - editor empty$ - { organization "organization" bibinfo.check output - } - { format.editors output.nonnull } - if$ -%<au-col> add.colon -%<nmdash> name.or.dash -%<dt-beg> format.date "year" output.check -%<dt-beg> date.block -%<!dt-beg&!blk-com&!blk-tit&!blk-tita> new.block - format.btitle "title" output.check - format.bvolume output -%<!numser> format.number.series output - editor empty$ - { publisher empty$ -%<!numser> 'skip$ -%<numser> { format.number.series output } - { -%<!blk-com&!blk-tit&!blk-tita> new.sentence -%<numser> format.number.series output - format.publisher.address output - } - if$ - } - { publisher empty$ - { -%<!blk-com&!blk-tit&!blk-tita> new.sentence -%<numser> format.number.series output - format.organization.address output } - { -%<!blk-com&!blk-tit&!blk-tita> new.sentence -%<numser> format.number.series output - organization "organization" bibinfo.check output - format.publisher.address output - } - if$ - } - if$ -%<!dt-beg&!dt-end&!pub-date> format.date "year" output.check -%<isbn> format.isbn output -%<issn> format.issn output -%<doi|(url-doi&!url)> format.doi output -%<*url-blk&!harnm&!revdata> -%<!blk-com&!blk-tit&!blk-tita> new.block - format.url output -%</url-blk&!harnm&!revdata> -%<!blk-com&!blk-tit&!blk-tita> new.block -%<(blk-com|blk-tit|blk-tita)&blknt> new.sentence - format.note output -%<*!dt-beg&dt-end> -%<!blk-com&!blk-tit&!blk-tita> new.block - format.date "year" output.check -%</!dt-beg&dt-end> -%<eprint> format.eprint output -%<revdata> format.url output - fin.entry -%<(harnm|url-nl)&!revdata> write.url -} - -%</!ay> -% \end{macrocode} -% \end{macro} -% -% \begin{macro}{`techreport'} -% \begin{macrocode} -FUNCTION {techreport} -{ output.bibitem - format.authors "author" output.check -%<ay> author format.key output -%<au-col> add.colon -%<nmdash> name.or.dash -%<dt-beg> format.date "year" output.check -%<dt-beg> date.block -%<!dt-beg&!blk-com&!blk-tit&!blk-tita> new.block -%<trtit-b> format.btitle -%<!trtit-b> format.title - "title" output.check -%<!trtit-b&blk-com&tit-qq> end.quote.title -%<!blk-com&!blk-tit&!blk-tita> new.block -%<blk-tit&!tit-col> new.sentence -%<blk-tit&tit-col> add.colon -%<!trnum-it> format.tr.number output.nonnull -%<trnum-it> format.tr.number emphasize output.nonnull - institution "institution" bibinfo.warn output - address "address" bibinfo.check output -%<!dt-beg&!dt-end> format.date "year" output.check -%<doi|(url-doi&!url)> format.doi output -%<*url-blk&!harnm&!revdata> -%<!blk-com&!blk-tit&!blk-tita> new.block - format.url output -%</url-blk&!harnm&!revdata> -%<!blk-com&!blk-tit&!blk-tita> new.block -%<(blk-com|blk-tit|blk-tita)&blknt> new.sentence - format.note output -%<*!dt-beg&dt-end> -%<!blk-com&!blk-tit&!blk-tita> new.block - format.date "year" output.check -%</!dt-beg&dt-end> -%<eprint> format.eprint output -%<revdata> format.url output - fin.entry -%<(harnm|url-nl)&!revdata> write.url -} - -% \end{macrocode} -% \end{macro} -% -% \begin{macro}{`unpublished'} -% \begin{macrocode} -FUNCTION {unpublished} -{ output.bibitem - format.authors "author" output.check -%<ay> author format.key output -%<au-col> add.colon -%<nmdash> name.or.dash -%<ay&dt-beg> format.date "year" output.check -%<!ay&dt-beg> format.date output -%<dt-beg> date.block -%<!dt-beg&!blk-com&!blk-tit&!blk-tita> new.block - format.title "title" output.check -%<blk-com&tit-qq> end.quote.title -%<ay&!dt-beg&!dt-end> format.date "year" output.check -%<!ay&!dt-beg&!dt-end> format.date output -%<doi|(url-doi&!url)> format.doi output -%<*url-blk&!harnm&!revdata> -%<!blk-com&!blk-tit&!blk-tita> new.block - format.url output -%</url-blk&!harnm&!revdata> -%<!blk-com&!blk-tit&!blk-tita> new.block -%<(blk-com|blk-tit|blk-tita)&blknt> new.sentence - format.note "note" output.check -%<*ay&!dt-beg&dt-end> -%<!blk-com&!blk-tit&!blk-tita> new.block - format.date output -%</ay&!dt-beg&dt-end> -%<*!ay&!dt-beg&dt-end> -%<!blk-com&!blk-tit&!blk-tita> new.block - format.date output -%</!ay&!dt-beg&dt-end> -%<eprint> format.eprint output -%<revdata> format.url output - fin.entry -%<(harnm|url-nl)&!revdata> write.url -} - -% \end{macrocode} -% \end{macro} -% -% \begin{macro}{`default.type'} -% \begin{macrocode} -FUNCTION {default.type} { misc } -% \end{macrocode} -% \end{macro} -% -% \begin{macrocode} -READ -% \end{macrocode} -% -% \begin{macrocode} -%<*ay|alph|!seq-no> -% \end{macrocode} -% -% \begin{macro}{`sortify'} -% In \texttt{btxbst.doc}/\texttt{.mbs}, the \texttt{sortify} function is -% left out for unsorted alpha-style citations. This leads to an error, -% because it is still used. So leave it in here too. \emph{In fact, do away -% with unsorted alpha style, since it is as useless as unsorted author--year -% listings.} -% \begin{macrocode} -FUNCTION {sortify} -{ purify$ - "l" change.case$ -} -% \end{macrocode} -% \end{macro} -% -% \begin{macrocode} -INTEGERS { len } -% \end{macrocode} -% -% \begin{macro}{`chop.word'} -% \begin{macrocode} -FUNCTION {chop.word} -{ 's := - 'len := - s #1 len substring$ = - { s len #1 + global.max$ substring$ } - 's - if$ -} -% \end{macrocode} -% \end{macro} -% -% \begin{macrocode} -%<*!ay&alph> -% \end{macrocode} -% -% \begin{macro}{`format.lab.names'} -% The function \texttt{format.lab.names} formats by author--year or the -% \texttt{alpha} style as in the original \texttt{alpha.bst}. -% Only major difference is that there should be no unsorted (\texttt{seq-no}) -% versions of this. Patashnik was clearly very unhappy about accommodating -% such an animal, and in fact, his unsorted alpha style crashes \btx. -% I also provide the \texttt{vonx} option here to ignore the \textsl{von} -% part of the name. -% -% \begin{macrocode} -INTEGERS { et.al.char.used } -% \end{macrocode} -% -% \begin{macrocode} -FUNCTION {initialize.et.al.char.used} -{ #0 'et.al.char.used := -} -% \end{macrocode} -% -% \begin{macrocode} -EXECUTE {initialize.et.al.char.used} -% \end{macrocode} -% -% \begin{macrocode} -FUNCTION {format.lab.names} -{ 's := -%<*alf-1> -%<!vonx> s #1 "{v{}}{l{}}" format.name$ -%<vonx> s #1 "{l{}}" format.name$ - duplicate$ text.length$ #2 < - { pop$ s #1 "{ll}" format.name$ #3 text.prefix$ } - 'skip$ - if$ -%</alf-1> -%<*!alf-1&alf-f> -%<!vonx> s #1 "{vv{}}{ll}" format.name$ -%<vonx> s #1 "{ll}" format.name$ -%</!alf-1&alf-f> -%<*!alf-1&!alf-f> - s num.names$ 'numnames := - numnames #1 > - { numnames #4 > - { #3 'namesleft := } - { numnames 'namesleft := } - if$ - #1 'nameptr := - "" - { namesleft #0 > } - { nameptr numnames = - { s nameptr "{ff }{vv }{ll}{ jj}" format.name$ "others" = - { "{\etalchar{+}}" * - #1 'et.al.char.used := - } -%<!vonx> { s nameptr "{v{}}{l{}}" format.name$ * } -%<vonx> { s nameptr "{l{}}" format.name$ * } - if$ - } -%<!vonx> { s nameptr "{v{}}{l{}}" format.name$ * } -%<vonx> { s nameptr "{l{}}" format.name$ * } - if$ - nameptr #1 + 'nameptr := - namesleft #1 - 'namesleft := - } - while$ - numnames #4 > - { "{\etalchar{+}}" * - #1 'et.al.char.used := - } - 'skip$ - if$ - } -%<!vonx> { s #1 "{v{}}{l{}}" format.name$ -%<vonx> { s #1 "{l{}}" format.name$ - duplicate$ text.length$ #2 < - { pop$ s #1 "{ll}" format.name$ #3 text.prefix$ } - 'skip$ - if$ - } - if$ -%</!alf-1&!alf-f> -} -% \end{macrocode} -% -% \begin{macrocode} -%</!ay&alph> -% \end{macrocode} -% The function for the standard citation: one or two authors cited full, but for -% more than two, only the first with \emph{et~al.} given. -% \begin{macrocode} -%<*ay&!mcite> -FUNCTION {format.lab.names} -{ 's := - "" 't := -%<!jnrlab> s #1 "{vv~}{ll}" format.name$ -%<*jnrlab> -%<!nm-rv&!nm-rvv&!nm-rvx&!nm-rvcx> s #1 "{vv~}{ll}{, jj}" format.name$ -%<nm-rv|nm-rvv|nm-rvx|nm-rvcx> s #1 "{vv~}{ll}{ jj}" format.name$ -%</jnrlab> -%<lab&and-rm> cite.name.font - s num.names$ duplicate$ - #2 > - { pop$ -%<lab&!and-rm&(etal-it|etal-rm)> cite.name.font -%<*!etal-it> -%<lab&and-rm&!etal-rm> " " * bbl.etal cite.name.font * -%<!lab|!and-rm|etal-rm> " " * bbl.etal * -%</!etal-it> -%<etal-it> " " * bbl.etal emphasize * -%<lab&!and-rm&!(etal-it|etal-rm)> cite.name.font -%<lab&!and-rm> "others" 't := - } - { #2 < - 'skip$ - { s #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" = - { -% %<lab&!and-rm&(etal-it|etal-rm)> cite.name.font -%<*!etal-it> -%<lab&and-rm&!etal-rm> " " * bbl.etal cite.name.font * -%<!lab|!and-rm|etal-rm> " " * bbl.etal * -%</!etal-it> -%<etal-it> " " * bbl.etal emphasize * -%<lab&!and-rm&!(etal-it|etal-rm)> cite.name.font -%<lab&!and-rm> "others" 't := - } -%<*!harnm> -%<*!amper> - { bbl.and space.word * s #2 "{vv~}{ll}" format.name$ -%<lab&and-rm> cite.name.font - * } -%</!amper> -%<*amper> - { " \& " * s #2 "{vv~}{ll}" format.name$ -%<lab&and-rm> cite.name.font - * } -%</amper> -%</!harnm> -%<*harnm> - { " \harvardand{} " * s #2 "{vv~}{ll}" format.name$ -%<lab&and-rm> cite.name.font - * } -%</harnm> - if$ - } - if$ - } - if$ -%<*lab&!and-rm> - t "others" = - 'skip$ - { cite.name.font } - if$ -%</lab&!and-rm> -} - -%</ay&!mcite> -% \end{macrocode} -% -% The code for formating author--year citations with more than one author -% before \emph{et al.} or selecting a number other than two for truncating, -% is much the same as the \texttt{format.full.names} function. -% \begin{macrocode} -%<*ay&mcite> -FUNCTION {format.lab.names} -{'s := - "" 't := - #1 'nameptr := - s num.names$ 'numnames := - numnames 'namesleft := - { namesleft #0 > } - { s nameptr -%<!jnrlab> "{vv~}{ll}" format.name$ -%<*jnrlab> -%<!nm-rv&!nm-rvv&!nm-rvx&!nm-rvcx> "{vv~}{ll}{, jj}" format.name$ -%<nm-rv|nm-rvv|nm-rvx|nm-rvcx> "{vv~}{ll}{ jj}" format.name$ -%</jnrlab> -%<lab&and-rm> cite.name.font - 't := - nameptr #1 > - { -%<mct-1> nameptr #2 = -%<mct-2> nameptr #3 = -%<mct-3> nameptr #4 = -%<mct-4> nameptr #5 = -%<mct-5> nameptr #6 = -%<mct-6> nameptr #7 = -%<mct-x2> numnames #2 > and -%<mct-x3> numnames #3 > and -%<mct-x4> numnames #4 > and -%<mct-x5> numnames #5 > and -%<mct-x6> numnames #6 > and - { "others" 't := - #1 'namesleft := } - 'skip$ - if$ - namesleft #1 > - { ", " * t * } - { - s nameptr "{ll}" format.name$ duplicate$ "others" = - { 't := } - { pop$ } - if$ - t "others" = - { -%<lab&!and-rm&(etal-it|etal-rm)> cite.name.font -%<*!etal-it> -%<lab&and-rm&!etal-rm> " " * bbl.etal cite.name.font * -%<!lab|!and-rm|etal-rm> " " * bbl.etal * -%</!etal-it> -%<etal-it> " " * bbl.etal emphasize * -%<lab&!and-rm&!(etal-it|etal-rm)> cite.name.font - } - { -%<*!harnm> -%<*!and-xcom> - numnames #2 > - { "," * } - 'skip$ - if$ -%</!and-xcom> -%<!amper> bbl.and -%<amper> "\&" -%</!harnm> -%<harnm> "\harvardand{}" - space.word * t * - } - if$ - } - if$ - } - 't - if$ - nameptr #1 + 'nameptr := - namesleft #1 - 'namesleft := - } - while$ -%<*lab&!and-rm> - t "others" = - 'skip$ - { cite.name.font } - if$ -%</lab&!and-rm> -} - -%</ay&mcite> -% \end{macrocode} -% \end{macro} -% -% \begin{macro}{`author.key.label'} -% \begin{macro}{`author.editor.key.label'} -% \begin{macro}{`author.key.organization.label'} -% \begin{macro}{`editor.key.organization.label'} -% \begin{macro}{`editor.key.label'} -% Have to be very careful with the options \texttt{ay}, \texttt{alph}, and -% \texttt{seq-no} here. The first two are actually mutually exclusive, and -% \texttt{ay} should dominate. The \texttt{seq-no} option only applies for -% numerical (\texttt{!ay}) but not alphabetic (\texttt{alph}) selections. -% This whole block of coding dealing with labels is only included for -% author--year or alphabetic or ordered numerical. -% That is, \texttt{ay} or \texttt{alph} or \texttt{!seq-no} is true. -% \begin{macrocode} -%<*ay|alph> -FUNCTION {author.key.label} -{ author empty$ - { key empty$ - { cite$ #1 #3 substring$ } -%<ay> 'key -%<!ay> { key #3 text.prefix$ } - if$ - } - { author format.lab.names } - if$ -} - -FUNCTION {author.editor.key.label} -{ author empty$ - { editor empty$ - { key empty$ - { cite$ #1 #3 substring$ } -%<ay> 'key -%<!ay> { key #3 text.prefix$ } - if$ - } - { editor format.lab.names } - if$ - } - { author format.lab.names } - if$ -} - -%</ay|alph> -%<*!ay&alph> -FUNCTION {author.key.organization.label} -{ author empty$ - { key empty$ - { organization empty$ - { cite$ #1 #3 substring$ } - { "The " #4 organization chop.word #3 text.prefix$ } - if$ - } - { key #3 text.prefix$ } - if$ - } - { author format.lab.names } - if$ -} - -FUNCTION {editor.key.organization.label} -{ editor empty$ - { key empty$ - { organization empty$ - { cite$ #1 #3 substring$ } - { "The " #4 organization chop.word #3 text.prefix$ } - if$ - } - { key #3 text.prefix$ } - if$ - } - { editor format.lab.names } - if$ -} - -%</!ay&alph> -%<*ay> -FUNCTION {editor.key.label} -{ editor empty$ - { key empty$ - { cite$ #1 #3 substring$ } - 'key - if$ - } - { editor format.lab.names } - if$ -} - -% \end{macrocode} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% -% \begin{macro}{`calc.short.authors'} -% \begin{macrocode} -FUNCTION {calc.short.authors} -{ type$ "book" = - type$ "inbook" = - or - 'author.editor.key.label - { type$ "proceedings" = - 'editor.key.label - 'author.key.label - if$ - } - if$ - 'short.list := -} - -% \end{macrocode} -% \end{macro} -% -% \begin{macro}{`calc.label'} -% \begin{macrocode} -FUNCTION {calc.label} -{ calc.short.authors - short.list -%<!(har|ast|cay|nmd|alk|cn)> "(" -%<har|ast|cay|nmd|alk|cn> ", " - * - year duplicate$ empty$ -%<keyxyr> short.list key field.or.null = or -%<(blkyear|keyxyr)> { pop$ "" } -%<!(blkyear|keyxyr)> { pop$ "????" } -%<!note-yr> { purify$ #-1 #4 substring$ } -%<note-yr> 'skip$ - if$ - * - 'label := -} - -%</ay> -%<*!ay&alph> -FUNCTION {calc.label} -{ type$ "book" = - type$ "inbook" = - or - 'author.editor.key.label - { type$ "proceedings" = - 'editor.key.organization.label - { type$ "manual" = - 'author.key.organization.label - 'author.key.label - if$ - } - if$ - } - if$ - duplicate$ - year field.or.null purify$ #-1 #2 substring$ - * - 'label := - year field.or.null purify$ #-1 #4 substring$ - * - sortify 'sort.label := -} -% \end{macrocode} -% \end{macro} -% -% \begin{macrocode} -%</!ay&alph> -% \end{macrocode} -% -% \begin{macrocode} -%<*ay> -% \end{macrocode} -% -% \begin{macrocode} -%<*har|cay|nmd|ast|cn> -% \end{macrocode} -% -% \begin{macro}{`calc.short.label'} -% \begin{macrocode} -FUNCTION {calc.short.label} -{ calc.short.authors short.list - 'label := -} -% \end{macrocode} -% \end{macro} -% -% \begin{macrocode} -%</har|cay|nmd|ast|cn> -% \end{macrocode} -% -% \begin{macrocode} -%</ay> -% \end{macrocode} -% -% \begin{macro}{`sort.format.names'} -% \begin{macrocode} -FUNCTION {sort.format.names} -{ 's := - #1 'nameptr := - "" - s num.names$ 'numnames := - numnames 'namesleft := - { namesleft #0 > } - { s nameptr -%<*xintls> -%<!vonx> "{vv{ } }{ll{ }}" -%<vonx> "{ll{ }}" -%</xintls> -%<*!xintls> -%<*!nm-init&!nm-rev&!nm-rev1&!nm-rv&!nm-rvx&!nm-rvcx&!nm-rvv&!nm-rvvc> -%<!vonx> "{vv{ } }{ll{ }}{ ff{ }}{ jj{ }}" -%<vonx> "{ll{ }}{ ff{ }}{ jj{ }}" -%</!nm-init&!nm-rev&!nm-rev1&!nm-rv&!nm-rvx&!nm-rvcx&!nm-rvv&!nm-rvvc> -%<*nm-init|nm-rev|nm-rev1|nm-rv|nm-rvx|nm-rvcx|nm-rvv|nm-rvvc> -%<!vonx> "{vv{ } }{ll{ }}{ f{ }}{ jj{ }}" -%<vonx> "{ll{ }}{ f{ }}{ jj{ }}" -%</nm-init|nm-rev|nm-rev1|nm-rv|nm-rvx|nm-rvcx|nm-rvv|nm-rvvc> -%</!xintls> - format.name$ 't := - nameptr #1 > - { -%<*nmlm> -%<m1> nameptr #1 -%<m2> nameptr #2 -%<m3> nameptr #3 -%<m4> nameptr #4 -%<m5> nameptr #5 -%<m6> nameptr #6 -%<m7> nameptr #7 -%<m8> nameptr #8 -%<m9> nameptr #9 -%<m0> nameptr #0 -%<m10> #10 + -%<m20> #20 + -%<m30> #30 + -%<m40> #40 + -%<m50> #50 + -%<m60> #60 + -%<m70> #70 + -%<m80> #80 + -%<m90> #90 + - #1 + = -%<x1> numnames #1 -%<x2> numnames #2 -%<x3> numnames #3 -%<x4> numnames #4 -%<x5> numnames #5 -%<x6> numnames #6 -%<x7> numnames #7 -%<x8> numnames #8 -%<x9> numnames #9 -%<x0> numnames #0 -%<x10> #10 + -%<x20> #20 + -%<x30> #30 + -%<x40> #40 + -%<x50> #50 + -%<x60> #60 + -%<x70> #70 + -%<x80> #80 + -%<x90> #90 + - > and - { "others" 't := - #1 'namesleft := } - 'skip$ - if$ -%</nmlm> - " " * - namesleft #1 = t "others" = and - { "zzzzz" 't := } - 'skip$ - if$ -%<*seq-lab|seq-key|seq-labc> - numnames #2 > nameptr #2 = and - { "zz" * year field.or.null * " " * -%<seq-labc> #1 'namesleft := - } -%<seq-labc> { t sortify * } -%<!seq-labc> 'skip$ - if$ -%</seq-lab|seq-key|seq-labc> -%<!seq-labc> t sortify * - } - { t sortify * } - if$ - nameptr #1 + 'nameptr := - namesleft #1 - 'namesleft := - } - while$ -} - -% \end{macrocode} -% \end{macro} -% -% \begin{macro}{`sort.format.title'} -% \begin{macrocode} -FUNCTION {sort.format.title} -{ 't := - "A " #2 - "An " #3 - "The " #4 t chop.word - chop.word - chop.word - sortify - #1 global.max$ substring$ -} -% \end{macrocode} -% \end{macro} -% -% \begin{macro}{`author.sort'} -% \begin{macrocode} -FUNCTION {author.sort} -{ author empty$ - { key empty$ - { "to sort, need author or key in " cite$ * warning$ - "" - } - { key sortify } - if$ - } - { author sort.format.names } - if$ -} -% \end{macrocode} -% \end{macro} -% -% \begin{macro}{`author.editor.sort'} -% \begin{macrocode} -FUNCTION {author.editor.sort} -{ author empty$ - { editor empty$ - { key empty$ - { "to sort, need author, editor, or key in " cite$ * warning$ - "" - } - { key sortify } - if$ - } - { editor sort.format.names } - if$ - } - { author sort.format.names } - if$ -} -% \end{macrocode} -% \end{macro} -% -% \begin{macro}{`negate.year'} -% This function negates the year by substituting each digit by its -% complement. That is, 0 $\rightarrow$ 9, 1 $\rightarrow$ 8, etc. This is used -% to provide ordering by descending year (latest year first). -% \begin{macrocode} -%<*seq-yrr&!seq-yr> -FUNCTION {negate.year} -{ year empty$ - { "99999" } - { year #1 #1 substring$ chr.to.int$ #105 swap$ - int.to.chr$ - year #2 #1 substring$ chr.to.int$ #105 swap$ - int.to.chr$ * - year #3 #1 substring$ chr.to.int$ #105 swap$ - int.to.chr$ * - year #4 #1 substring$ chr.to.int$ #105 swap$ - int.to.chr$ * - } - if$ -} -%</seq-yrr&!seq-yr> -% \end{macrocode} -% \end{macro} -% -% \begin{macrocode} -%<*ay> -% \end{macrocode} -% -% \begin{macro}{`editor.sort'} -% \begin{macrocode} -FUNCTION {editor.sort} -{ editor empty$ - { key empty$ - { "to sort, need editor or key in " cite$ * warning$ - "" - } - { key sortify } - if$ - } - { editor sort.format.names } - if$ -} -% \end{macrocode} -% \end{macro} -% -% \begin{macrocode} -%<*seq-no> -% \end{macrocode} -% -% \begin{macrocode} -INTEGERS { seq.num } -% \end{macrocode} -% -% \begin{macro}{`init.seq'} -% \begin{macrocode} -FUNCTION {init.seq} -{ #0 'seq.num :=} -% \end{macrocode} -% \end{macro} -% -% \begin{macrocode} -EXECUTE {init.seq} -% \end{macrocode} -% -% \begin{macro}{`int.to.fix'} -% \begin{macrocode} -FUNCTION {int.to.fix} -{ "000000000" swap$ int.to.str$ * - #-1 #10 substring$ -} -% \end{macrocode} -% \end{macro} -% -% \begin{macrocode} -%</seq-no> -% \end{macrocode} -% -% \begin{macro}{`presort'} -% For unsorted author--year, make up the final sorting order in -% \texttt{sort.label} with the original sequence number, for unsorting later. -% \begin{macrocode} -FUNCTION {presort} -{ calc.label - label sortify - " " - * -%<*!seq-no> - type$ "book" = - type$ "inbook" = - or - 'author.editor.sort - { type$ "proceedings" = - 'editor.sort - 'author.sort - if$ - } - if$ - #1 entry.max$ substring$ -%</!seq-no> -%<*seq-no> - seq.num #1 + 'seq.num := - seq.num int.to.fix -%</seq-no> - 'sort.label := - sort.label - * -%<seq-yr> " " * year field.or.null * -%<seq-yrr&!seq-yr> " " * negate.year field.or.null * -%<*!seq-key&!seq-labc&!seq-yr&!seq-yrr> - " " - * - title field.or.null - sort.format.title - * -%</!seq-key&!seq-labc&!seq-yr&!seq-yrr> -%<seq-key|seq-yr|seq-yrr> " " * cite$ * - #1 entry.max$ substring$ - 'sort.key$ := -% "For " cite$ * ", sort.key=" * sort.key$ * warning$ -} - -% \end{macrocode} -% \end{macro} -% -% \begin{macrocode} -%</ay> -% \end{macrocode} -% -% \begin{macrocode} -%<*!ay> -% \end{macrocode} -% -% \begin{macro}{`author.organization.sort'} -% \begin{macrocode} -FUNCTION {author.organization.sort} -{ author empty$ - { organization empty$ - { key empty$ - { "to sort, need author, organization, or key in " cite$ * warning$ - "" - } - { key sortify } - if$ - } - { "The " #4 organization chop.word sortify } - if$ - } - { author sort.format.names } - if$ -} -% \end{macrocode} -% \end{macro} -% -% \begin{macro}{`editor.organization.sort'} -% \begin{macrocode} -FUNCTION {editor.organization.sort} -{ editor empty$ - { organization empty$ - { key empty$ - { "to sort, need editor, organization, or key in " cite$ * warning$ - "" - } - { key sortify } - if$ - } - { "The " #4 organization chop.word sortify } - if$ - } - { editor sort.format.names } - if$ -} -% \end{macrocode} -% \end{macro} -% -% \begin{macro}{`presort'} -% \begin{macrocode} -FUNCTION {presort} -%<*alph> -{ calc.label - sort.label - " " - * - type$ "book" = -%</alph> -%<!alph>{ type$ "book" = - type$ "inbook" = - or - 'author.editor.sort - { type$ "proceedings" = - 'editor.organization.sort - { type$ "manual" = - 'author.organization.sort - 'author.sort - if$ - } - if$ - } - if$ -%<alph> * - " " - * -%<seq-yrr> negate.year field.or.null sortify -%<!seq-yrr> year field.or.null sortify -%<!(seq-yr|seq-yrr)|alph> * - " " - * -%<(seq-yr|seq-yrr)&!alph> swap$ * - title field.or.null - sort.format.title - * - #1 entry.max$ substring$ - 'sort.key$ := -} -% \end{macrocode} -% \end{macro} -% -% \begin{macrocode} -%</!ay> -% \end{macrocode} -% -% \begin{macrocode} -ITERATE {presort} -% \end{macrocode} -% -% \begin{macrocode} -SORT -% \end{macrocode} -% -% \begin{macrocode} -%</ay|alph|!seq-no> -% \end{macrocode} -% -% With version~6.0 of \texttt{natbib}, the author-year styles can also be -% used for numerical citations; then the \texttt{thebibliography} environment -% must have an argument indicating the length of the longest label. -% Simply count the references and add this number as the argument. -% \begin{macrocode} -%<*ay> -% \end{macrocode} -% -% \begin{macrocode} -STRINGS { last.label next.extra } -% \end{macrocode} -% -% With computer-generated articles, it is possible to have more than 26 articles -% in one year. It has finally occurred that the extra labels go beyond `z'. -% The current code now allows for `aa', \dots `az', 'ba', \dots `zz'. This -% code was provided by Joseph Wright (2007 Oct 10). -% \begin{macrocode} -INTEGERS { last.extra.num last.extra.num.extended last.extra.num.blank number.label } -% \end{macrocode} -% -% \begin{macro}{`initialize.extra.label.stuff'} -% \begin{macrocode} -FUNCTION {initialize.extra.label.stuff} -{ #0 int.to.chr$ 'last.label := - "" 'next.extra := - #0 'last.extra.num := - "a" chr.to.int$ #1 - 'last.extra.num.blank := - last.extra.num.blank 'last.extra.num.extended := - #0 'number.label := -} -% \end{macrocode} -% \end{macro} -% -% \begin{macro}{`forward.pass'} -% \begin{macrocode} -FUNCTION {forward.pass} -{ last.label label = - { last.extra.num #1 + 'last.extra.num := - last.extra.num "z" chr.to.int$ > - { "a" chr.to.int$ 'last.extra.num := - last.extra.num.extended #1 + 'last.extra.num.extended := - } - 'skip$ - if$ - last.extra.num.extended last.extra.num.blank > - { last.extra.num.extended int.to.chr$ - last.extra.num int.to.chr$ - * 'extra.label := } - { last.extra.num int.to.chr$ 'extra.label := } - if$ - } - { "a" chr.to.int$ 'last.extra.num := - "" 'extra.label := - label 'last.label := - } - if$ - number.label #1 + 'number.label := -} -% \end{macrocode} -% \end{macro} -% -% \begin{macrocode} -%</ay> -% \end{macrocode} -% -% \begin{macrocode} -%<*!ay&alph> -% \end{macrocode} -% -% \begin{macrocode} -STRINGS { longest.label last.sort.label next.extra } -% \end{macrocode} -% -% \begin{macrocode} -INTEGERS { longest.label.width last.extra.num } -% \end{macrocode} -% -% \begin{macro}{`initialize.longest.label'} -% \begin{macrocode} -FUNCTION {initialize.longest.label} -{ "" 'longest.label := - #0 int.to.chr$ 'last.sort.label := - "" 'next.extra := - #0 'longest.label.width := - #0 'last.extra.num := -} -% \end{macrocode} -% \end{macro} -% -% \begin{macro}{`forward.pass'} -% \begin{macrocode} -FUNCTION {forward.pass} -{ last.sort.label sort.label = - { last.extra.num #1 + 'last.extra.num := - last.extra.num int.to.chr$ 'extra.label := - } - { "a" chr.to.int$ 'last.extra.num := - "" 'extra.label := - sort.label 'last.sort.label := - } - if$ -} -% \end{macrocode} -% \end{macro} -% -% \begin{macrocode} -%</!ay&alph> -% \end{macrocode} -% -% \begin{macro}{`reverse.pass'} -% The extra label is added in braces so that natbib can treat it as one unit. -% This allows extra labels to be more than one letter long. For non-NFSS -% emphasizing, this is no problem, since labels go in |{\em a}|, but for -% non-emphasizing and for NFSS, it caused troubles without the braces. -% The trouble arises with multiple citations in one |\cite| in which -% authors and years are the same, and only the extra label is given for -% the next one. Note: |\emph{a}| is more than one letter long in this sense, -% so it is not just a problem for more than 26 papers with same authors and -% year. -% -% The command |\natexlab| now encloses the extra label for \texttt{natbib} -% styles. This command normally just prints its argument, but for numerical -% citation mode, it swallows its argument. This allows the extra labels to -% be suppressed for numerical citations where they are superfluous. -% The enclosing braces mentioned above must be included here to make the -% entire extra label text a single token for \texttt{natbib}. -% \begin{macrocode} -%<*ay> -% \end{macrocode} -% -% \begin{macrocode} -FUNCTION {reverse.pass} -{ next.extra "b" = - { "a" 'extra.label := } - 'skip$ - if$ - extra.label 'next.extra := - extra.label -%<xlab-it> emphasize -%<*!html> - duplicate$ empty$ - 'skip$ - { "{\natexlab{" swap$ * "}}" * } - if$ -%</!html> - 'extra.label := -%<!(har|ast|cay|nmd|cn)> label extra.label * 'label := -} -% \end{macrocode} -% -% \begin{macrocode} -%</ay> -% \end{macrocode} -% -% \begin{macrocode} -%<*!ay&alph> -% \end{macrocode} -% -% \begin{macrocode} -FUNCTION {reverse.pass} -{ next.extra "b" = - { "a" 'extra.label := } - 'skip$ - if$ - label extra.label * 'label := - label width$ longest.label.width > - { label 'longest.label := - label width$ 'longest.label.width := - } - 'skip$ - if$ - extra.label 'next.extra := -} -% \end{macrocode} -% -% \begin{macrocode} -%</!ay&alph> -% \end{macrocode} -% \end{macro} -% -% \begin{macrocode} -%<ay>EXECUTE {initialize.extra.label.stuff} -%<!ay&alph>EXECUTE {initialize.longest.label} -% \end{macrocode} -% -% \begin{macrocode} -%<*ay|alph> -ITERATE {forward.pass} -% \end{macrocode} -% -% \begin{macrocode} -REVERSE {reverse.pass} -% \end{macrocode} -% -% \begin{macrocode} -%</ay|alph> -% \end{macrocode} -% -% \begin{macrocode} -%<*ay> -FUNCTION {bib.sort.order} -{ sort.label - " " - * -%<seq-yrr> negate.year field.or.null sortify -%<!seq-yrr> year field.or.null sortify -%<(seq-yr|seq-yrr)&!(seq-lab|seq-key|seq-labc)> swap$ - * -%<*!seq-key&!seq-labc&!seq-yr&!seq-yrr> - " " - * - title field.or.null - sort.format.title - * -%</!seq-key&!seq-labc&!seq-yr&!seq-yrr> -%<seq-key|seq-yr|seq-yrr> " " * cite$ * - #1 entry.max$ substring$ - 'sort.key$ := -% "For " cite$ * ", bib.sort.key=" * sort.key$ * warning$ -%<har|cay|nmd|cn|ast> calc.short.label -} -% \end{macrocode} -% -% \begin{macrocode} -ITERATE {bib.sort.order} -% \end{macrocode} -% -% \begin{macrocode} -SORT -% \end{macrocode} -% -% \begin{macrocode} -%</ay> -% \end{macrocode} -% -% \begin{macrocode} -%<*!ay&!alph> -% \end{macrocode} -% -% \begin{macrocode} -STRINGS { longest.label } -% \end{macrocode} -% -% \begin{macrocode} -INTEGERS { number.label longest.label.width } -% \end{macrocode} -% -% \begin{macrocode} -FUNCTION {initialize.longest.label} -{ "" 'longest.label := - #1 'number.label := - #0 'longest.label.width := -} -% \end{macrocode} -% -% \begin{macrocode} -FUNCTION {longest.label.pass} -%<*!cite> -{ number.label int.to.str$ 'label := - number.label #1 + 'number.label := -%</!cite> -%<cite>{ cite$ 'label := - label width$ longest.label.width > - { label 'longest.label := - label width$ 'longest.label.width := - } - 'skip$ - if$ -} -% \end{macrocode} -% -% \begin{macrocode} -EXECUTE {initialize.longest.label} -% \end{macrocode} -% -% \begin{macrocode} -ITERATE {longest.label.pass} -% \end{macrocode} -% -% \begin{macrocode} -%</!ay&!alph> -% \end{macrocode} -% -% \begin{macro}{`begin.bib'} -% The function \texttt{begin.bib} writes the initial text to the \texttt{.bbl} -% file. The most important matter here is that the \texttt{thebibliography} -% environment is invoked. -% -% Note: the French quotation marks are called `guillimets'; Adobe erroneously -% named the symbols `guillimot', which is an arctic bird. The error has so -% propagated, that it can no longer be corrected. \LaTeX\ took it over. -% \begin{macrocode} -FUNCTION {begin.bib} -%<*!html> -%<*!ay&alph> -{ et.al.char.used - { "\newcommand{\etalchar}[1]{$^{#1}$}" write$ newline$ } - 'skip$ - if$ - preamble$ empty$ -%</!ay&alph> -%<ay|!alph>{ preamble$ empty$ - 'skip$ - { preamble$ write$ newline$ } - if$ -%<ay> "\begin{thebibliography}{" number.label int.to.str$ * "}" * -%<!ay> "\begin{thebibliography}{" longest.label * "}" * - write$ newline$ -%<*(!nmft&(nmft-it|nmft-sc|nmft-bf|nmft-def))|(!lab&(lab-it|lab-bf|lab-sc|lab-def))> - "\typeout{**********************************}" write$ newline$ - "\typeout{WARNING WARNING WARNING WARNING WARNING}" write$ newline$ - "\typeout{The bst file has been generated with inconsistent options}" - write$ newline$ - "\typeout{Read the warning message at the start of the bst file}" - write$ newline$ - "\typeout{**********************************}" write$ newline$ -%</(!nmft&(nmft-it|nmft-sc|nmft-bf|nmft-def))|(!lab&(lab-it|lab-bf|lab-sc|lab-def))> -%<*!plntx> -%<!tit-it&tit-qq&qt-s> "\newcommand{\enquote}[1]{`#1'}" -%<!tit-it&tit-qq&!qt-s&!qt-g> "\newcommand{\enquote}[1]{``#1''}" -%</!plntx> -%<*plntx> -%<!tit-it&tit-qq&qt-s> "\def\enquote#1{`#1'}" -%<!tit-it&tit-qq&!qt-s&!qt-g> "\def\enquote#1{``#1''}" -%</plntx> -%<*!tit-it&tit-qq&!qt-s&qt-g> -%<!plntx> "\let\enquote\frquote" -%<*plntx> - "\def\guillemotleft{%" - write$ newline$ - " \leavevmode\raise .27ex\hbox{$\scriptscriptstyle\ll$}}" - write$ newline$ - "\def\guillemotright{%" - write$ newline$ - " \leavevmode\raise .27ex\hbox{$\scriptscriptstyle\gg$}}" - write$ newline$ - "\def\enquote#1{\guillemotleft#1\guillemotright}" -%</plntx> -%</!tit-it&tit-qq&!qt-s&qt-g> -%<!tit-it&tit-qq> write$ newline$ -%<umlaut> "\let\qq=\" quote$ * write$ newline$ -%<em-ul> "\expandafter\ifx\csname uline\endcsname\relax\let\uline\underline\fi" -%<em-ul> write$ newline$ -%<*ay> -%<!plntx> "\providecommand{\natexlab}[1]{#1}" -%<plntx> "\expandafter\ifx\csname natexlab\endcsname\relax\def\natexlab#1{#1}\fi" - write$ newline$ -%<*har> - "{\catcode`\|=0\catcode`\#=12\catcode`\@=11\catcode`\\=12" write$ newline$ - "|immediate|write|@auxout{\expandafter\ifx\csname natexlab\endcsname\relax\gdef\natexlab#1{#1}\fi}}" - write$ newline$ -%</har> -%</ay> -%<*nmft&nmft-def> -%<!plntx> "\providecommand{\bibnamefont}[1]{#1}" -%<plntx> "\expandafter\ifx\csname bibnamefont\endcsname\relax" -%<plntx> write$ newline$ -%<plntx> " \def\bibnamefont#1{#1}\fi" - write$ newline$ -%</nmft&nmft-def> -%<*nmft&fnm-def> -%<!plntx> "\providecommand{\bibfnamefont}[1]{#1}" -%<plntx> "\expandafter\ifx\csname bibfnamefont\endcsname\relax" -%<plntx> write$ newline$ -%<plntx> " \def\bibfnamefont#1{#1}\fi" - write$ newline$ -%</nmft&fnm-def> -%<*lab&lab-def> -%<!plntx> "\providecommand{\citenamefont}[1]{#1}" -%<plntx> "\expandafter\ifx\csname citenamefont\endcsname\relax" -%<plntx> write$ newline$ -%<plntx> " \def\citenamefont#1{#1}\fi" - write$ newline$ -%</lab&lab-def> -%<*(url&!harnm)|eprint> -%<*!plntx> -%<nfss> "\providecommand{\url}[1]{\texttt{#1}}" -%<!nfss> "\providecommand{\url}[1]{{\tt #1}}" - write$ newline$ - "\providecommand{\urlprefix}{}" - write$ newline$ -%</!plntx> -%<*plntx> - "\expandafter\ifx\csname url\endcsname\relax" - write$ newline$ -%<nfss> " \def\url#1{\texttt{#1}}\fi" -%<!nfss> " \def\url#1{{\tt #1}}\fi" - write$ newline$ - "\expandafter\ifx\csname urlprefix\endcsname\relax\def\urlprefix{}\fi" - write$ newline$ -%</plntx> -%</(url&!harnm)|eprint> -%<*doi> - "\expandafter\ifx\csname urlstyle\endcsname\relax" - write$ newline$ -%<*!plntx> - " \providecommand{\doi}[1]{doi:\discretionary{}{}{}#1}\else" - write$ newline$ - " \providecommand{\doi}{doi:\discretionary{}{}{}\begingroup \urlstyle{rm}\Url}\fi" - write$ newline$ -%</!plntx> -%<*plntx> - " \expandafter\ifx\csname doi\endcsname\relax" - write$ newline$ - " \def\doi#1{doi:\discretionary{}{}{}#1}\fi \else" - write$ newline$ - " \expandafter\ifx\csname doi\endcsname\relax" - write$ newline$ - " \def\doi{doi:\discretionary{}{}{}\begingroup \urlstyle{rm}\Url}\fi \fi" - write$ newline$ -%</plntx> -%</doi> -%<*url-doi&url> - "\providecommand{\doiprefix}{doi: }" - write$ newline$ - "\expandafter\ifx\csname href\endcsname\relax" - write$ newline$ - " \providecommand{\urldoi}[1]{#1}\else" - write$ newline$ - " \providecommand{\urldoi}[1]{\href{https://doi.org/#1}{#1}}\fi" - write$ newline$ -%</url-doi&url> -%<*lang> -%<!plntx> "\providecommand{\selectlanguage}[1]{\relax}" -%<*plntx> - "\expandafter\ifx\csname selectlanguage\endcsname\relax" - write$ newline$ - " \def\selectlanguage#1{}\fi" -%</plntx> - write$ newline$ -%</lang> -%<*!plntx> -%<*babel> - "\input{babelbst.tex}" write$ newline$ - "\newcommand{\Capitalize}[1]{\uppercase{#1}}" write$ newline$ - "\newcommand{\capitalize}[1]{\expandafter\Capitalize#1}" write$ newline$ -%</babel> -%<*annote> - "\providecommand{\bibAnnoteFile}[1]{%" - write$ newline$ - " \IfFileExists{#1}{\begin{quotation}\noindent\textsc{Key:} #1\\" - write$ newline$ - " \textsc{Annotation:}\ \input{#1}\end{quotation}}{}}" - write$ newline$ - "\providecommand{\bibAnnote}[2]{%" - write$ newline$ - " \begin{quotation}\noindent\textsc{Key:} #1\\" - write$ newline$ - " \textsc{Annotation:}\ #2\end{quotation}}" - write$ newline$ -%</annote> -%</!plntx> -%<*bibinfo> -%<!plntx> "\providecommand{\bibinfo}[2]{#2}" -%<plntx> "\expandafter\ifx\csname bibinfo\endcsname\relax\def\bibinfo#1#2{#2}\fi" - write$ newline$ -%</bibinfo> -%<*eprint> -%<!plntx> "\providecommand{\eprint}[2][]{\url{#2}}" -%<plntx> "\expandafter\ifx\csname eprint\endcsname\relax\def\eprint#1{\url{#1}}\fi" - write$ newline$ -%</eprint> -} -%</!html> -%<*html> -{ -"<html><head><title>Bibliography Listing</title></head>" write$ newline$ -"<body>" write$ newline$ -"<h2>Bibliography</h2>" write$ newline$ -%<htdes>"<dl>" write$ newline$ -%<!htdes&htlist>"<ol>" write$ newline$ -} -%</html> -% \end{macrocode} -% \end{macro} -% -% \begin{macrocode} -EXECUTE {begin.bib} -% \end{macrocode} -% -% \begin{macrocode} -EXECUTE {init.state.consts} -% \end{macrocode} -% -% \begin{macrocode} -ITERATE {call.type$} -% \end{macrocode} -% -% \begin{macro}{`end.bib'} -% \begin{macrocode} -FUNCTION {end.bib} -{ newline$ -%<!html> "\end{thebibliography}" write$ newline$ -%<html> "</dl></body></html>" write$ newline$ -} -% \end{macrocode} -% \end{macro} -% -% \begin{macrocode} -EXECUTE {end.bib} -% \end{macrocode} -% -% \begin{macrocode} -%</!head> -% \end{macrocode} -% -% \begin{macrocode} -%</!options&!driver&!bblbst> -% \end{macrocode} -% -% \section{The File \texttt{babelbst.tex} for English} -% The following contains the definitions for the \texttt{babel} language -% selection as they apply to English. This file may be extracted with -% \dtx{} and the option \texttt{bblbst}. -% \begin{macrocode} -%<*bblbst> - % This is babelbst.tex for English. - % It should serve as a model for other languages. - % Alternatively, store it under a different name (e.g. englbst.tex) - % and then \input it with a command in babelbst.tex. -\def\bbland{and} \def\bbletal{et~al.} -\def\bbleditors{editors} \def\bbleds{eds.} -\def\bbleditor{editor} \def\bbled{ed.} -\def\bbledby{edited by} -\def\bbledition{edition} \def\bbledn{edn.} -\def\bblvolume{volume} \def\bblvol{vol.} -\def\bblof{of} -\def\bblnumber{number} \def\bblno{no.} -\def\bblin{in} -\def\bblpages{pages} \def\bblpp{pp.} -\def\bblpage{page} \def\bblp{p.} -\def\bbleidpp{pages} -\def\bblchapter{chapter} \def\bblchap{chap.} -\def\bbltechreport{Technical Report} -\def\bbltechrep{Tech. Rep.} -\def\bblmthesis{Master's thesis} -\def\bblphdthesis{Ph.D. thesis} -\def\bblfirst{First} \def\bblfirsto{1st} -\def\bblsecond{Second} \def\bblsecondo{2nd} -\def\bblthird{Third} \def\bblthirdo{3rd} -\def\bblfourth{Fourth} \def\bblfourtho{4th} -\def\bblfifth{Fifth} \def\bblfiftho{5th} -\def\bblst{st} \def\bblnd{nd} \def\bblrd{rd} -\def\bblth{th} -\def\bbljan{January} \def\bblfeb{February} \def\bblmar{March} -\def\bblapr{April} \def\bblmay{May} \def\bbljun{June} -\def\bbljul{July} \def\bblaug{August} \def\bblsep{September} -\def\bbloct{October} \def\bblnov{November} \def\bbldec{December} -%</bblbst> -% \end{macrocode} -% -% \Finale diff --git a/Master/texmf-dist/doc/latex/cjs-rcs-article/cjs-rcs-merlin.pdf b/Master/texmf-dist/doc/latex/cjs-rcs-article/cjs-rcs-merlin.pdf Binary files differindex af76f1c69e1..79fddb7248b 100644 --- a/Master/texmf-dist/doc/latex/cjs-rcs-article/cjs-rcs-merlin.pdf +++ b/Master/texmf-dist/doc/latex/cjs-rcs-article/cjs-rcs-merlin.pdf diff --git a/Master/texmf-dist/doc/latex/cjs-rcs-article/cjs-template.tex b/Master/texmf-dist/doc/latex/cjs-rcs-article/cjs-template.tex index 61d410f7a13..3ca3fda9b46 100644 --- a/Master/texmf-dist/doc/latex/cjs-rcs-article/cjs-template.tex +++ b/Master/texmf-dist/doc/latex/cjs-rcs-article/cjs-template.tex @@ -59,16 +59,16 @@ %% page automatically. \begin{englishabstract} <Insert your English abstract here. The abstract should be concise - --- up to 10 lines long --- and descriptive. Avoid symbols as much - as possible. Formulas are strongly discouraged, and citations - should be avoided.> + (up to 10 lines long) and descriptive. Avoid symbols as much as + possible. Formulas are strongly discouraged, and citations should + be avoided.> \end{englishabstract} \begin{frenchabstract} <Insérer le texte du résumé en français ici. Le résumé doit être - concis --- une dizaine de lignes --- et descriptif. Éviter autant - que possible les symboles. Les équations mathématiques sont - fortement découragées et les citations sont à éviter.> + concis (une dizaine de lignes) et descriptif. Éviter autant que + possible les symboles. Les équations mathématiques sont fortement + déconseillées et les citations sont à éviter.> [We will supply a French abstract for those authors who can't prepare it themselves.] \end{frenchabstract} @@ -102,9 +102,10 @@ <Free form text> \end{supplement} - %% DATA SHARING (optional - comment out if unused). Describe how to - %% access data that you wish to share. Provide a permanent link such - %% as a Document Object Identifier (DOI) or an URL. + %% DATA SHARING (mandatory). In accordance with the Expect Data + %% Sharing editorial policy of Wiley, make a statement about the + %% availability or absence of shared data. Provide a permanent link + %% such as a Document Object Identifier (DOI) or an URL. \begin{sharing} <Free form text> \end{sharing} diff --git a/Master/texmf-dist/doc/latex/cjs-rcs-article/rcs-gabarit.tex b/Master/texmf-dist/doc/latex/cjs-rcs-article/rcs-gabarit.tex index 78053a97542..1b5735334c1 100644 --- a/Master/texmf-dist/doc/latex/cjs-rcs-article/rcs-gabarit.tex +++ b/Master/texmf-dist/doc/latex/cjs-rcs-article/rcs-gabarit.tex @@ -61,18 +61,18 @@ %% la page de titre automatiquement. \begin{englishabstract} <Insert your English abstract here. The abstract should be concise - --- up to 10 lines long --- and descriptive. Avoid symbols as much - as possible. Formulas are strongly discouraged, and citations - should be avoided.> + (up to 10 lines long) and descriptive. Avoid symbols as much as + possible. Formulas are strongly discouraged, and citations should + be avoided.> [Un résumé en anglais sera fourni pour les auteurs qui ne peuvent le préparer eux-mêmes.] \end{englishabstract} \begin{frenchabstract} <Insérer le texte du résumé en français ici. Le résumé doit être - concis --- une dizaine de lignes --- et descriptif. Éviter autant - que possible les symboles. Les équations mathématiques sont - fortement découragées et les citations sont à éviter.> + concis (une dizaine de lignes) et descriptif. Éviter autant que + possible les symboles. Les équations mathématiques sont fortement + déconseillées et les citations sont à éviter.> \end{frenchabstract} %% MOTS-CLÉS. Fournir une liste de mots-clés en ordre alphabétique. @@ -106,10 +106,11 @@ <Texte libre> \end{supplement} - %% PARTAGE DES DONNÉES (optionnel - commenter si inutilisé). - %% Expliquer comment accéder à des données de l'article mises à - %% disposition. Fournir un lien permanent, comme un identificateur - %% d'objets numériques (DOI) ou une adresse URL. + %% PARTAGE DES DONNÉES (obligatoire). Conformément à la politique + %% éditoriale «Expect Data Sharing» de Wiley, vous devez indiquer + %% les conditions de partage des données de recherche, ou l'absence + %% de celles-ci, le cas échéant. Fournir un lien permanent, comme un + %% identificateur d'objets numériques (DOI) ou une adresse URL. \begin{sharing} <Texte libre> \end{sharing} diff --git a/Master/texmf-dist/doc/latex/colortbl/colortbl-DE.pdf b/Master/texmf-dist/doc/latex/colortbl/colortbl-DE.pdf Binary files differindex 57a1653f9c5..879d4b3f5ba 100644 --- a/Master/texmf-dist/doc/latex/colortbl/colortbl-DE.pdf +++ b/Master/texmf-dist/doc/latex/colortbl/colortbl-DE.pdf diff --git a/Master/texmf-dist/doc/latex/colortbl/colortbl.pdf b/Master/texmf-dist/doc/latex/colortbl/colortbl.pdf Binary files differindex 9a2299528d4..6ebe2525c33 100644 --- a/Master/texmf-dist/doc/latex/colortbl/colortbl.pdf +++ b/Master/texmf-dist/doc/latex/colortbl/colortbl.pdf diff --git a/Master/texmf-dist/doc/latex/customenvs/customenvs-doc-en.pdf b/Master/texmf-dist/doc/latex/customenvs/customenvs-doc-en.pdf Binary files differindex d0d64760c9a..fe5aeba2978 100644 --- a/Master/texmf-dist/doc/latex/customenvs/customenvs-doc-en.pdf +++ b/Master/texmf-dist/doc/latex/customenvs/customenvs-doc-en.pdf diff --git a/Master/texmf-dist/doc/latex/customenvs/customenvs-doc-en.tex b/Master/texmf-dist/doc/latex/customenvs/customenvs-doc-en.tex index 3e4ce0aa72d..321723f025a 100644 --- a/Master/texmf-dist/doc/latex/customenvs/customenvs-doc-en.tex +++ b/Master/texmf-dist/doc/latex/customenvs/customenvs-doc-en.tex @@ -34,8 +34,8 @@ \usepackage[margin=1.5cm]{geometry} \setlength{\parindent}{0pt} -\def\TPversion{0.1.7} -\def\TPdate{03/06/2024} +\def\TPversion{0.1.8} +\def\TPdate{13/07/2024} \usepackage{tcolorbox} \sethlcolor{lightgray!25} \NewDocumentCommand\MontreCode{ m }{% @@ -111,6 +111,7 @@ \section{History} +\verb|v0.1.8|~:~~~~Score banner \verb|v0.1.7|~:~~~~Small patch for \textsf{Vignette} macro (see \texttt{[fr]} documentation) \verb|v0.1.6|~:~~~~Small patchs for \textsf{displayskip} + \textsf{pas-tableur} (see \texttt{[fr]} documentation) @@ -430,6 +431,60 @@ The last argument, mandatory and between \MontreCode{(...)} give the list of cat \pagebreak +\pagebreak + +\section{Score banner} + +\subsection{Global use} + +The idea is to insert a score banner, with customizations. + +\begin{codehigh}[language=latex/latex3,style/main=teal!25,style/code=teal!25] +ScoreBanner[keys]{number} +\end{codehigh} + +\begin{demohigh}[language=latex/latex3,style/main=teal!25,style/code=teal!25] +%default output +\ScoreBanner{} +\end{demohigh} + +\subsection{The macro} + +Available \MontreCode{keys} are : + +\begin{itemize} + \item \MontreCode{Height} : height of the banner (without the legend) ; \MontreCode{1} by default + \item \MontreCode{Ratio} : ratio of boxes ; \MontreCode{0.6} by default + \item \MontreCode{Symbols} : labels ; \MontreCode{A,B,C,D,E} by default + \item \MontreCode{Legend} : legend (uppercase) ; \MontreCode{score} by default ; + \item \MontreCode{Font} : global font ; \MontreCode{\textbackslash bfseries\textbackslash sffamily} by default + \item \MontreCode{ShowLegend} : boolean for the legend ; \MontreCode{false} by default ; + \item \MontreCode{Colors} : colors for boxes ; + + \hfill\MontreCode{colorNS1,colorNS2,colorNS3,colorNS4,colorNS5} by default ; + \item \MontreCode{ScaleSymbols} : scale H/V of labels ; \MontreCode{1.25,1.65} by default ; + \item \MontreCode{Colbg} : background color for select box ; \MontreCode{white} by default. +\end{itemize} + +\smallskip + +If the list of colors doesn't fill all the boxes, \MontreCode{lightgray} color is used. + +\begin{demohigh}[language=latex/latex3,style/main=teal!25,style/code=teal!25] +\ScoreBanner[Legend=Geometry,Height=2]{4} +\end{demohigh} + +\begin{demohigh}[language=latex/latex3,style/main=teal!25,style/code=teal!25,style/demo=yellow!25] +%bg of lower part is yellow!25 +\def\lstcouleurs{colorNS1,colorNS2,colorNS3,colorNS4,colorNS5,purple} +\ScoreBanner% + [ScaleSymbols={1.33,2},Height=3.25,ShowLegend=false,Ratio=0.75, + Symbols={1,2,3,4,5,6},Colors=\lstcouleurs, + Colbg=yellow!25]{1} +\end{demohigh} + +\pagebreak + \section{SMS conversation} \subsection{Global use} diff --git a/Master/texmf-dist/doc/latex/customenvs/customenvs-doc-fr.pdf b/Master/texmf-dist/doc/latex/customenvs/customenvs-doc-fr.pdf Binary files differindex b1280769998..47dce47918d 100644 --- a/Master/texmf-dist/doc/latex/customenvs/customenvs-doc-fr.pdf +++ b/Master/texmf-dist/doc/latex/customenvs/customenvs-doc-fr.pdf diff --git a/Master/texmf-dist/doc/latex/customenvs/customenvs-doc-fr.tex b/Master/texmf-dist/doc/latex/customenvs/customenvs-doc-fr.tex index 2f74296c5d1..7a7293ec6ed 100644 --- a/Master/texmf-dist/doc/latex/customenvs/customenvs-doc-fr.tex +++ b/Master/texmf-dist/doc/latex/customenvs/customenvs-doc-fr.tex @@ -39,8 +39,8 @@ \usepackage[margin=1.5cm]{geometry} \setlength{\parindent}{0pt} -\def\TPversion{0.1.7} -\def\TPdate{03 juin 2024} +\def\TPversion{0.1.8} +\def\TPdate{13 juillet 2024} \usepackage{tcolorbox} \tcbuselibrary{listingsutf8} \newtcblisting{DemoCode}[1]{% @@ -66,10 +66,10 @@ keywordstyle={\color{violet}},% classoffset=2,% alsoletter={-},% - morekeywords={\ReponsesQCM,MultiCols,\CreerListeItems,\ListeChoixItems,\TableauCompetences,\CrayonDeCompetences,\StyleEnvtExo,\StyleEnvtExoDefaut,\TitreExo,\ipsum,EnvSMS,\SMSrec,\SMSenv,BoiteSimple,\SujetTitreExo,\CircledNumber,\AffVignette,\BoiteArrondie,\ChangerDisplaySkip,\celcouleur,\celfusion,\lignetxt,\colonnetxt,\celnumbreak,\celtxt},% + morekeywords={\ReponsesQCM,MultiCols,\CreerListeItems,\ListeChoixItems,\TableauCompetences,\CrayonDeCompetences,\StyleEnvtExo,\StyleEnvtExoDefaut,\TitreExo,\ipsum,EnvSMS,\SMSrec,\SMSenv,BoiteSimple,\SujetTitreExo,\CircledNumber,\AffVignette,\BoiteArrondie,\ChangerDisplaySkip,\celcouleur,\celfusion,\lignetxt,\colonnetxt,\celnumbreak,\celtxt,\BandeauScore},% keywordstyle={\color{green!50!black}},% classoffset=3,% - morekeywords={Largeur,Filets,EspacesCL,NbCols,Labels,PoliceLabels,EspaceLabels,Swap,Type,CoeffEspVert,EpTrait,Alea,LargeurNivs,Niveaux,NoticeNiveaux,Titre,PolTitre,PolNotice,PolComp,LigneSep,CouleurNotice,CouleurNiveaux,CouleurFond,Note,Notice,PoliceCateg,PoliceBloc,Couleurs,LargeurBloc,Echelle,NoirBlanc,Libelle,EpTrait,Police,Type,ComplementTitre,Titre,CodeDebut,Couleur,EchelleImage,Decoration,Trait,Avatar,AffAvatar,NoirBlanc,CouleurE,CouleurR,CouleurFond,Hauteur,Largeur,PoliceTxt,CouleurTitre,AlignH,bg,txt,bthick,bcol,raise,Type,EspH,Fond,Texte,Style,Dense,Avant,AvantS,Apres,ApresS,Global,align,width},% + morekeywords={Largeur,Filets,EspacesCL,NbCols,Labels,PoliceLabels,EspaceLabels,Swap,Type,CoeffEspVert,EpTrait,Alea,LargeurNivs,Niveaux,NoticeNiveaux,Titre,PolTitre,PolNotice,PolComp,LigneSep,CouleurNotice,CouleurNiveaux,CouleurFond,Note,Notice,PoliceCateg,PoliceBloc,Couleurs,LargeurBloc,Echelle,NoirBlanc,Libelle,EpTrait,Police,Type,ComplementTitre,Titre,CodeDebut,Couleur,EchelleImage,Decoration,Trait,Avatar,AffAvatar,NoirBlanc,CouleurE,CouleurR,CouleurFond,Hauteur,Largeur,PoliceTxt,CouleurTitre,AlignH,bg,txt,bthick,bcol,raise,Type,EspH,Fond,Texte,Style,Dense,Avant,AvantS,Apres,ApresS,Global,align,width,Legende,CouleurFond,Hauteur,Ratio,AffLegende,Couleurs,EchelleSymboles,Symboles},% keywordstyle={\color{orange}} },% #1 @@ -799,6 +799,64 @@ L'argument, obligatoire et entre \MontreCode{\{...\}} est la liste des catégori \pagebreak +\section{Bandeau de score} + +\subsection{Principe et fonctionnement} + +L'idée est de proposer une commande pour insérer un bandeau de score, type \textit{nutriscore}. + +\smallskip + +La majorité des éléments sont personnalisables. + +\begin{DemoCode}{listing only} +\BandeauScore[clés]{numéro} +\end{DemoCode} + +\begin{DemoCode}{} +%sortie par défaut +\BandeauScore{} +\end{DemoCode} + +\subsection{La commande} + +Les \MontreCode{clés} disponibles, à donner entre \MontreCode{[...]}, sont : + +\begin{itemize} + \item \MontreCode{Hauteur} : hauteur du bandeau (sans la légende) ; \MontreCode{1} par défaut + \item \MontreCode{Ratio} : rapport V/H des cases ; \MontreCode{0.6} par défaut + \item \MontreCode{Symboles} : contenu des cases ; \MontreCode{A,B,C,D,E} par défaut + \item \MontreCode{Legende} : texte de la légende (qui sera en majuscule) ; \MontreCode{score} par défaut ; + \item \MontreCode{Police} : Police globale ; \MontreCode{\textbackslash bfseries\textbackslash sffamily} par défaut + \item \MontreCode{AffLegende} : booléen pour afficher la légende ; \MontreCode{false} par défaut ; + \item \MontreCode{Couleurs} : couleurs des cases ; + + \hfill\MontreCode{couleurNS1,couleurNS2,couleurNS3,couleurNS4,couleurNS5} par défaut ; + \item \MontreCode{EchelleSymboles} : échelle(s) H/V des symboles ; \MontreCode{1.25,1.65} par défaut ; + \item \MontreCode{CouleurFond} : couleur du fond (pour la case choisie) ; \MontreCode{white} par défaut. +\end{itemize} + +L'argument obligatoire correspond quant à lui au numéro de la case à mettre en valeur (\MontreCode{vide} par défaut). + +\smallskip + +Si la liste des couleurs ne permet pas de remplir toutes les cases, la couleur \MontreCode{lightgray} est utilisée. + +\begin{DemoCode}{} +\BandeauScore[Legende=Géométrie,Hauteur=2]{4} +\end{DemoCode} + +\begin{DemoCode}{colbacklower=yellow!25} +%le fond de la boîte a été défini sur yellow!25 +\def\lstcouleurs{couleurNS1,couleurNS2,couleurNS3,couleurNS4,couleurNS5,purple} +\BandeauScore% + [EchelleSymboles={1.33,2},Hauteur=2,AffLegende=false, + Symboles={1,2,3,4,5,6},Couleurs=\lstcouleurs, + CouleurFond=yellow!25]{1} +\end{DemoCode} + +\pagebreak + \section{Fenêtre type conversation instantanée} \subsection{Principe et fonctionnement} diff --git a/Master/texmf-dist/doc/latex/dashrulex/README.md b/Master/texmf-dist/doc/latex/dashrulex/README.md index c0e441ac99a..3e81605ffcb 100644 --- a/Master/texmf-dist/doc/latex/dashrulex/README.md +++ b/Master/texmf-dist/doc/latex/dashrulex/README.md @@ -1,7 +1,15 @@ -# The dashrulex package +# The `dashrulex` package +Draw dashed rules (v1.01a) +## Abstract The `dashrulex` package provides a flexible solution for drawing dashed rules in the body, and currently provides two commands `\hdashrule` and `\hanyrule`. It's written in LaTeX3 and can be used as an alternative to the `dashrule` package. ## License +This work may be distributed and/or modified under the conditions of the CC-BY 4.0 License. The latest version of this license is in https://creativecommons.org/licenses/by/4.0/legalcode -This work may be distributed and/or modified under the conditions of the CC-BY 4.0 License. The latest version of this license is in https://creativecommons.org/licenses/by/4.0/legalcode
\ No newline at end of file +## Website +| [Gitee](https://gitee.com/texno3/dashrulex) | [Github](https://github.com/texno3/dashrulex) | [CTAN](https://ctan.org/pkg/dashrulex) | + +## Maintainer +Qu Yi<br/> +Email: toquyi@163.com
\ No newline at end of file diff --git a/Master/texmf-dist/doc/latex/dashrulex/dashrulex.pdf b/Master/texmf-dist/doc/latex/dashrulex/dashrulex.pdf Binary files differindex 376eb91c90b..f97a5ef3023 100644 --- a/Master/texmf-dist/doc/latex/dashrulex/dashrulex.pdf +++ b/Master/texmf-dist/doc/latex/dashrulex/dashrulex.pdf diff --git a/Master/texmf-dist/doc/latex/dashrulex/dashrulex.tex b/Master/texmf-dist/doc/latex/dashrulex/dashrulex.tex index 06655a53e68..5469fc0c371 100644 --- a/Master/texmf-dist/doc/latex/dashrulex/dashrulex.tex +++ b/Master/texmf-dist/doc/latex/dashrulex/dashrulex.tex @@ -1,22 +1,22 @@ \documentclass[load-preamble+]{cnltx-doc} -\usepackage{setspace,hologo,dashrulex,tikz} +\usepackage{setspace,hologo,enumitem,dashrulex,tikz} \usepackage[noto]{newtxmath} \setcnltx { package = dashrulex, - title = the dashrulex package, - version = v1.00c, - date = 2024/03/25, + title = dashrulex, + version = v1.01a, + date = 2024/07/18, authors = Qu Yi, info = Draw dashed rules, email = toquyi@163.com, + url = https://github.com/texno3/dashrulex, abstract = { The \pkg*{dashrulex} package provides a flexible solution for drawing dashed rules in the body, and currently provides two commands \cs{hdashrule} and \cs{hanyrule}. It's written in \hologo{LaTeX3} and can be used as an alternative to the \pkg*{dashrule} package. }, color-scheme = blue, - title-format = \huge\bfseries\scshape, listings-options = {numbers = none,gobble = 2,lineskip = 1pt}, pre-output = {\parindent = 0em\setstretch{1.3}}, before-skip = \smallskipamount, @@ -37,9 +37,12 @@ \newsplitarg{\splitoarg}{[}{]} \newsplitarg{\splitmarg}{\{}{\}} \newsplitarg{\splitdarg}{(}{)} -\newnote{\newtag}[1][New]{\textcolor{red}{\ding{73}\ #1}} +\newnote{\newtag}[1]{\textcolor{red}{#1}} \renewcommand{\emph}[1]{\textcolor{red}{#1}} \renewcommand{\cnltx@write@lastname}{} +\setlist{nosep,topsep = \smallskipamount} +\setlist[description,1]{leftmargin = \parindent} +\setlist[itemize,1]{leftmargin = *} \makeatother \begin{document} @@ -49,7 +52,7 @@ Sometimes it is necessary to draw dashed rules when writing documents, such as g \section{User commands} \begin{commands} \command{hdashrule}[\oarg{raise}\oarg{leader}\marg{width}\marg{thickness list}\marg{dash rules}] - The command to draw horizontal dashed rules, based on the \cs{rule} command, and the same as the \cs{rule} command when the \meta{dash rules} are empty. \meta{raise} is the vertical offset of the rule. \meta{leader} is the alignment of the dashed line fill, which can be empty, \code{c}, or \code{x} (the default), corresponding to the \cs{leaders}, \cs{cleaders}, and \cs{xleaders} commands, respectively. \meta{width} is the length of the dotted line, which can be set to \cs{fill} when used to fill the remaining center of the current text line. \meta{thickness list} is a rule for the height of vertically oriented lines, separated by \textcolor{red}{commas} and written as \splitmeta{height 1}{height a}\code{,...}, where \meta{height 1} denotes the height of a solid line and \meta{height a} denotes the height of a blank space.\meta{dash rules} is expressed as \splitmeta[\code{|}]{length 1}{length a}\code{,}\splitmeta[\code{|}]{length 2}{length b}\code{,...}, where \meta{length 1} represents the length of the solid line and \meta{length a} represents the length of the blank space, such as \code{5pt|2pt,3pt}, if the blank space is empty, then it is equal to the solid line length. + The command to draw horizontal dashed rules, based on the \cs{rule} command, and the same as the \cs{rule} command when the \meta{dash rules} are empty. \meta{raise} is the vertical offset of the rule. \meta{leader} is the alignment of the dashed line fill, which can be empty, \code{c}, or \code{x} (the \textcolor{red}{default}), corresponding to the \cs{leaders}, \cs{cleaders}, and \cs{xleaders} commands, respectively. \meta{width} is the length of the dashed line, which can be set to \cs{fill} when used to fill the remaining part of the current text line. \meta{thickness list} is a rule for the height of \textcolor{red}{vertical} lines, separated by \textcolor{red}{commas} and written as \splitmeta{height 1}{height a}\code{,...}, where \meta{height 1} denotes the height of a solid line and \meta{height a} denotes the height of a blank space. \meta{dash rules} stands for \textcolor{red}{horizontal} dashed line rules, which expressed as \splitmeta[\code{|}]{length 1}{length a}\code{,}\splitmeta[\code{|}]{length 2}{length b}\code{,...}, where \meta{length 1} represents the length of the solid line and \meta{length a} represents the length of the blank space, such as \code{5pt|2pt,3pt}, if the blank space is empty, then it is equal to the solid line length. \begin{example} 1X\rule{2cm}{1pt}x \\ 2X\hdashrule{2cm}{1pt}{}x \\ @@ -58,31 +61,32 @@ Sometimes it is necessary to draw dashed rules when writing documents, such as g 5X\hdashrule[0.5ex]{4cm}{1pt}{1pt}x \\ 6X\hdashrule[0.5ex]{4cm}{1pt}{3mm}x \\ 7X\hdashrule[0.5ex]{4cm}{1mm}{3mm}x \\ - 8X\hdashrule[0.5ex]{4cm}{1mm}{3mm|3pt}x \\ - 9X\hdashrule[0.5ex]{4cm}{1mm}{3mm|3pt,1mm|2pt}x \\ - 10X\hdashrule[0.5ex]{4cm}{2pt,1pt,1pt}{3mm|3pt,1mm|2pt}x + 8X\hdashrule[0.5ex]{4cm-3mm}{1mm}{3mm}\vrulemod[0.5ex]{3mm}{1mm}x \\ + 9X\hdashrule[0.5ex]{4cm}{1mm}{3mm|3pt}x \\ + 10X\hdashrule[0.5ex]{4cm}{1mm}{3mm|3pt,1mm|2pt}x \\ + 11X\hdashrule[0.5ex]{4cm}{2pt,1pt,1pt}{3mm|3pt,1mm|2pt}x \end{example} \command{vrulemod}[\oarg{raise}\oarg{height}\oarg{depth}\marg{width}\marg{thickness list}] - The vertical component used to fill the dashed line. \meta{thickness list} is consistent with the \cs{hdashrule} command, \meta{width} represents the length of the component, and the three optional parameters are consistent with those of the \cs{raisebox} command. + The vertical model used to fill the dashed line. \meta{thickness list} is consistent with the \cs{hdashrule} command, \meta{width} represents the length of the component, and the three optional parameters are consistent with those of the \cs{raisebox} command. \command{hanyrule}[\oarg{leader}\marg{width}\marg{symbol list}] This command sets the length of the dotted rule and fills it with arbitrary symbols. \meta{symbol list} can be more than one symbol and they are separated by \textcolor{red}{commas}. Symbols are best packed in boxes of a certain length, as spacing between symbols is not provided. \begin{example} - \newcommand{\dblvmod} + \newcommand{\dblblock} {% - \tikz[color=blue] + \tikz[color=teal] { \draw[line width=0.8mm](0mm,1.1mm)--(3mm,1.1mm); \draw[line width=0.3mm](0mm,0mm)--(3mm,0mm); }% } - 1X\hanyrule[]{5cm}{\makebox[8pt][l]{$\cdot$}}x \\ - 2X\hanyrule[c]{5cm}{\makebox[8pt][l]{$\cdot$}}x \\ - 3X\hanyrule[x]{5cm}{\makebox[8pt][l]{$\cdot$}}x \\ - 4X\hanyrule[c]{5cm}{\makebox[8pt]{$\cdot$}}x \\ - 5X\hanyrule[x]{5cm}{\makebox[8pt]{$\cdot$}}x \\ + 1X\hanyrule[]{5cm}{\makebox[8pt]{$\cdot$}}x \\ + 2X\hanyrule[c]{5cm}{\makebox[8pt]{$\cdot$}}x \\ + 3X\hanyrule[x]{5cm}{\makebox[8pt]{$\cdot$}}x \\ + 4X\hanyrule[x]{5cm}{\makebox[8pt][l]{$\cdot$}}x \\ + 5X\hanyrule[x]{5cm}{\makebox[8pt][r]{$\cdot$}}x \\ 6X\hanyrule[x]{5cm}{\makebox[8pt]{$\cdot$},\makebox[8pt]{$\circ$}}x \\ 7X\hanyrule[x]{5cm}{\makebox[5mm]{\vrulemod{3mm}{2pt,1pt,1pt}}}x \\ - 8X\hanyrule[x]{5cm}{\makebox[5mm]{\dblvmod}}x + 8X\hanyrule[x]{5cm}{\makebox[5mm]{\dblblock}}x \end{example} \end{commands} diff --git a/Master/texmf-dist/doc/latex/delimset/README.txt b/Master/texmf-dist/doc/latex/delimset/README.txt index 729b73fbbf3..9094d596248 100644 --- a/Master/texmf-dist/doc/latex/delimset/README.txt +++ b/Master/texmf-dist/doc/latex/delimset/README.txt @@ -1,5 +1,5 @@ -delimset v1.1 -Copyright 2016-2018 Niklas Beisert +delimset v2.0 +Copyright 2016-2024 Niklas Beisert delimset is a LaTeX2e package to typeset and declare sets of delimiters in math mode whose size can be adjusted conveniently. diff --git a/Master/texmf-dist/doc/latex/delimset/delimset.pdf b/Master/texmf-dist/doc/latex/delimset/delimset.pdf Binary files differindex b964bea59d2..734ebf01db2 100644 --- a/Master/texmf-dist/doc/latex/delimset/delimset.pdf +++ b/Master/texmf-dist/doc/latex/delimset/delimset.pdf diff --git a/Master/texmf-dist/doc/latex/delimset/dlmssamp.tex b/Master/texmf-dist/doc/latex/delimset/dlmssamp.tex index 8f93312e6ab..c27a338c5f6 100644 --- a/Master/texmf-dist/doc/latex/delimset/dlmssamp.tex +++ b/Master/texmf-dist/doc/latex/delimset/dlmssamp.tex @@ -6,7 +6,7 @@ %% %% delimset.dtx (with options: `sample') %% -%% Copyright (C) 2016-2018 Niklas Beisert +%% Copyright (C) 2016-2024 Niklas Beisert %% %% This work may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either version 1.3 @@ -17,7 +17,7 @@ %% version 2005/12/01 or later. %% \NeedsTeXFormat{LaTeX2e}[1996/12/01] -\ProvidesFile{dlmssamp.tex}[2018/12/30 v1.1 sample for delimset] +\ProvidesFile{dlmssamp.tex}[2024/07/17 v2.0 sample for delimset] \documentclass[12pt]{article} \usepackage[margin=2cm]{geometry} @@ -28,11 +28,11 @@ sizes for default brackets: \[ -\brk0{x},\quad -\brk1{x},\quad -\brk2{x},\quad -\brk3{x},\quad -\brk4{x} +\brk^0{x},\quad +\brk^1{x},\quad +\brk^2{x},\quad +\brk^3{x},\quad +\brk^4{x} \] styles for default brackets: @@ -45,7 +45,7 @@ styles for default brackets: nested brackets: \[ -\brk[c]2{\brk[s]!{\brk{ax+b}x+c}x+d} +\brk[c]^2{\brk[s]!{\brk{ax+b}x+c}x+d} \] default absolute value, norm and default evaluations: @@ -58,7 +58,7 @@ default absolute value, norm and default evaluations: outer delimiter spacing: \begin{align*} -&\square\brk0{x}\square,&&\square\brk1{A^k}\square, +&\square\brk^0{x}\square,&&\square\brk^1{A^k}\square, \\ &\square\brk*{x}\square,&&\square\brk*{A^k}\square \end{align*} @@ -71,7 +71,7 @@ e^{\brk!{ax+b}} delimiter declaration: \DeclareMathDelimiterSet{\braket}[2] - {\selectdelim[l]<#1\selectdelim|#2\selectdelim[r]>} + {\selectdeliml<#1\selectdelim|#2\selectdelimr>} \[ \braket!{\psi}{\psi}, \quad @@ -86,30 +86,34 @@ delimiter usage: conditional set, alternative layouts: \[ \delimpair\{{[m]|}\}!{2n}{n\in\mathbb{Z}}, -\qquad +\quad \delimpair\{{[b]|}\}!{2n}{n\in\mathbb{Z}}, -\qquad +\quad +\delimpair\{{[i]|}\}!{2n}{n\in\mathbb{Z}}, +\quad \delimpair\{{[p]|}\}!{2n}{n\in\mathbb{Z}}, -\qquad +\quad \delimpair\{|\}!{2n}{n\in\mathbb{Z}}, -\qquad -\delimpair\{{[.];}\}!{2n}{n\in\mathbb{Z}} +\quad +\delimpair\{{*;}\}!{2n}{n\in\mathbb{Z}} \] conditional set, alternative layouts with variable size: \[ \delimpair\{{[m]|}\}*{2n}{n\in\mathbb{Z}\big.}, -\qquad +\quad \delimpair\{{[b]|}\}*{2n}{n\in\mathbb{Z}\big.}, -\qquad +\quad +\delimpair\{{[i]|}\}*{2n}{n\in\mathbb{Z}\big.}, +\quad \delimpair\{{[p]|}\}*{2n}{n\in\mathbb{Z}\big.}, -\qquad +\quad \delimpair\{|\}*{2n}{n\in\mathbb{Z}\big.}, -\qquad -\delimpair\{{[.];}\}*{2n}{n\in\mathbb{Z}\big.} +\quad +\delimpair\{{*;}\}*{2n}{n\in\mathbb{Z}\big.} \] delimiter definition: -\newcommand{\comm}{\delimpair[{[.],}]} +\newcommand{\comm}{\delimpair[{*,}]} \[ \comm!{\comm{A}{B}}{C} +\comm!{\comm{B}{C}}{A} @@ -118,7 +122,7 @@ delimiter definition: \] alternative representation: -\renewcommand{\comm}{\delimpair[{[.];}]} +\renewcommand{\comm}{\delimpair[{*;}]} \[ \comm!{\comm{A}{B}}{C} +\comm!{\comm{B}{C}}{A} @@ -126,6 +130,27 @@ alternative representation: =0 \] +display individual delimiters of a set: +\renewcommand{\braket}{\delimpair<|>} +\[ +\braket{A}{B} +\to \braket( A \braket| B \braket), +\quad +\braket*( A\big. \braket*| B_{} \braket*), +\quad +\braket^1( A \braket^3| B \braket^2) +\] + +placing indices before a bracket +(does not work in variable-size mode because +the final size is not available for the enclosed expressions): +\DeclareMathDelimiterSet{\quadindex}[5] + {\selectdeliml.^{#2}_{#3}\mathord{}\selectdelim[o][ + {#1}\selectdelim[o]]^{#4}_{#5}\selectdelimr.} +\[ +\quadindex^2{\frac{x}{y}}{1}{2}{3}{4} +\] + \end{document} \endinput %% diff --git a/Master/texmf-dist/doc/latex/doibanner/README.md b/Master/texmf-dist/doc/latex/doibanner/README.md new file mode 100644 index 00000000000..a28fd46abd2 --- /dev/null +++ b/Master/texmf-dist/doc/latex/doibanner/README.md @@ -0,0 +1,91 @@ +# doibanner + +A LaTeX package to generate DOI banners and links. + +The `doibanner` package allows to generate a banner for a declared [digital +object identifier](https://www.doi.org/the-identifier/what-is-a-doi/) (DOI). +It provides the `\doibanner` macro, which draws the banner using +[`TikZ`](https://www.ctan.org/pkg/tikz) and adds a link via +[`hyperref`](https://www.ctan.org/pkg/hyperref), if desired. Its output can +be scaled by [`adjustbox`](https://www.ctan.org/pkg/adjustbox) and it might +look as follows: + +![_DOI banner generated with `\doibanner`_](./example/doibanner_example.png "Example generated with doibanner") + +Latest release: 2024-07-28 v0.3 + + +## Installation + +Skip this section, if `doibanner` is already provided in your TeX distribution. +You should be able to install it [from the CTAN](https://www.ctan.org/pkg/doibanner) +via your distribution's utility (e.g. the TeX Live Utility). + +### Manual installation + +You can get the package's source code from the +[project repository on Codeberg](https://codeberg.org/Cs137/doibanner). +The repository contains a build script, which allows you to build the required +files for the `doibanner` package and copy them into your _TeX Directory Structure_ +(TDS) using `l3build`. Ensure that `l3build` is installed on your system and run +it from the repository's root directory as follows: + +```bash +l3build install --full +``` + +The `--full` option ensures that all necessary files are built and installed. + +If you do not want to install the package into your TDS, but use it in a +particular LaTeX project, follow the steps listed below. + +1. unpack `doibanner.sty` from the `doibanner.dtx` file + - using `l3build` and the `build.lua` script: `l3build unpack`, __or__ + - directly via the installer file: `pdflatex doibanner.ins` +2. copy the extracted `doibanner.sty` file into the same directory as your LaTeX sources. + + +## Usage + +Please consult the [package documentation](http://mirrors.ctan.org/macros/latex/contrib/doibanner/doibanner.pdf) +for detailed usage information. + +If you have any questions or need assistance, feel free to +[open an issue on the repository](https://codeberg.org/Cs137/doibanner/issues). + + +## Contributing + +Contributions to the `doibanner` package are very welcomed. Feel free to submit +a [pull request (PR)](https://codeberg.org/Cs137/doibanner/pulls), if you would +like to contribute to the project. In case you are unfamiliar with the process, +consult the [forgejo documentation](https://forgejo.org/docs/latest/user/pull-requests-and-git-flow/) +and follow the steps using this repository instead of the `example` repository. + +Create your [pull request (PR)](https://codeberg.org/Cs137/doibanner/pulls) to +inform that you started working on a contribution. Provide a clear description +of your envisaged changes and the motivation behind them, prefix the PR's title +with ``WIP: `` until your changes are finalised. + +All kind of contributions are appreciated, whether they are +bug fixes, new features, or improvements to the documentation. + + +### Contributors + +- [Christian Schreinemachers](https://codeberg.org/Cs137) +- [Marei Peischl](https://chaos.social/@TeXhackse) + + +## Changes + +All notable changes to this project are documented in the file +[`CHANGELOG.md`](https://codeberg.org/Cs137/doibanner/src/branch/main/CHANGELOG.md). + + +## Credits + +This package was created and is maintained by Christian Schreinemachers, (C) 2024. +The source code is hosted on [Codeberg](https://codeberg.org/Cs137/doibanner). +It is subject to the [LaTeX Project Public License 1.3c](https://www.ctan.org/license/lppl1.3). + diff --git a/Master/texmf-dist/doc/latex/doibanner/doibanner.pdf b/Master/texmf-dist/doc/latex/doibanner/doibanner.pdf Binary files differnew file mode 100644 index 00000000000..546b0c9de1f --- /dev/null +++ b/Master/texmf-dist/doc/latex/doibanner/doibanner.pdf diff --git a/Master/texmf-dist/doc/latex/dtk/README.md b/Master/texmf-dist/doc/latex/dtk/README.md index 836f916da47..c9e19e61f15 100644 --- a/Master/texmf-dist/doc/latex/dtk/README.md +++ b/Master/texmf-dist/doc/latex/dtk/README.md @@ -1,3 +1,7 @@ # dtk LaTeX class for the journal »Die TeXnische Komödie« (new implementation). + +Authors: Rolf Niepraschk, Herbert Voß +Licence: LaTeX Project Public License + diff --git a/Master/texmf-dist/doc/latex/dtk/doc/beispiel.pdf b/Master/texmf-dist/doc/latex/dtk/doc/beispiel.pdf Binary files differindex 7b0b6ac913c..bdbf0bba869 100644 --- a/Master/texmf-dist/doc/latex/dtk/doc/beispiel.pdf +++ b/Master/texmf-dist/doc/latex/dtk/doc/beispiel.pdf diff --git a/Master/texmf-dist/doc/latex/dtk/doc/beispiel.tex b/Master/texmf-dist/doc/latex/dtk/doc/beispiel.tex index e4d31a57a68..77df7995635 100644 --- a/Master/texmf-dist/doc/latex/dtk/doc/beispiel.tex +++ b/Master/texmf-dist/doc/latex/dtk/doc/beispiel.tex @@ -2,9 +2,6 @@ \addbibresource{beispiel.bib}% besser: \jobname.bib, wenn möglich -\let\File\texttt -\let\Package\texttt - \begin{document} \title{Die \texttt{dtk}-Klasse, Version \DTKversion\ -- \DTKversiondate} \Author{Mustermann}{Max}% diff --git a/Master/texmf-dist/doc/latex/dynkin-diagrams/README b/Master/texmf-dist/doc/latex/dynkin-diagrams/README index e43f31e0b8e..5abe74143c4 100644 --- a/Master/texmf-dist/doc/latex/dynkin-diagrams/README +++ b/Master/texmf-dist/doc/latex/dynkin-diagrams/README @@ -1,6 +1,6 @@ Dynkin diagrams -v3.1415926535897932384 -2 June 2023 +v3.14159265358979323846 +6 July 2024 Authors: Ben McKay diff --git a/Master/texmf-dist/doc/latex/dynkin-diagrams/dynkin-diagrams.bib b/Master/texmf-dist/doc/latex/dynkin-diagrams/dynkin-diagrams.bib index 9660120699f..952e4a90bfd 100644 --- a/Master/texmf-dist/doc/latex/dynkin-diagrams/dynkin-diagrams.bib +++ b/Master/texmf-dist/doc/latex/dynkin-diagrams/dynkin-diagrams.bib @@ -1,6 +1,5 @@ % Encoding: ISO-8859-1 - @Book{Adams:1996, Title = {Lectures on exceptional {L}ie groups}, Author = {Adams, J. F.}, @@ -477,4 +476,67 @@ MRREVIEWER = {Stephen Gelbart}, url = {https://doi.org/10.1007/978-1-4612-0979-9}, } +@Book{Knapp:2002, + author = {Knapp, Anthony W.}, + publisher = {Birkh\"{a}user Boston, Inc., Boston, MA}, + title = {Lie groups beyond an introduction}, + year = {2002}, + edition = {Second}, + isbn = {0-8176-4259-5}, + series = {Progress in Mathematics}, + volume = {140}, + mrclass = {22-01}, + mrnumber = {1920389}, + pages = {xviii+812}, +} + +@Article{Witt:1941, + author = {Witt, Ernst}, + journal = {Abh. Math. Sem. Hansischen Univ.}, + title = {Spiegelungsgruppen und {A}ufz\"ahlung halbeinfacher {L}iescher {R}inge}, + year = {1941}, + issn = {0025-5858}, + pages = {289--322}, + volume = {14}, + doi = {10.1007/BF02940749}, + fjournal = {Abhandlungen aus dem Mathematischen Seminar der Hansischen Universit\"at}, + mrclass = {09.1X}, + mrnumber = {5099}, + mrreviewer = {O.\ F. G. Schilling}, + url = {https://doi.org/10.1007/BF02940749}, +} + +@Article{Johnson.et.al.1999, + author = {Johnson, N. W. and Ratcliffe, J. G. and Kellerhals, R. and Tschantz, S. T.}, + journal = {Transform. Groups}, + title = {The size of a hyperbolic {C}oxeter simplex}, + year = {1999}, + issn = {1083-4362,1531-586X}, + number = {4}, + pages = {329--353}, + volume = {4}, + doi = {10.1007/BF01238563}, + fjournal = {Transformation Groups}, + mrclass = {20F55 (57M60)}, + mrnumber = {1726696}, + mrreviewer = {Andrei\ Yu.\ Vesnin}, + url = {https://doi.org/10.1007/BF01238563}, +} + +@Book{McMullen.Schulte:2002, + author = {McMullen, Peter and Schulte, Egon}, + publisher = {Cambridge University Press, Cambridge}, + title = {Abstract regular polytopes}, + year = {2002}, + isbn = {0-521-81496-0}, + series = {Encyclopedia of Mathematics and its Applications}, + volume = {92}, + doi = {10.1017/CBO9780511546686}, + mrclass = {52B15 (20F55 51F15 51M20)}, + mrnumber = {1965665}, + mrreviewer = {Rade\ \v Zivaljevi\'c}, + pages = {xiv+551}, + url = {https://doi.org/10.1017/CBO9780511546686}, +} + @Comment{jabref-meta: databaseType:bibtex;} diff --git a/Master/texmf-dist/doc/latex/dynkin-diagrams/dynkin-diagrams.pdf b/Master/texmf-dist/doc/latex/dynkin-diagrams/dynkin-diagrams.pdf Binary files differindex 2109c1ba1ce..dceef359361 100644 --- a/Master/texmf-dist/doc/latex/dynkin-diagrams/dynkin-diagrams.pdf +++ b/Master/texmf-dist/doc/latex/dynkin-diagrams/dynkin-diagrams.pdf diff --git a/Master/texmf-dist/doc/latex/dynkin-diagrams/dynkin-diagrams.tex b/Master/texmf-dist/doc/latex/dynkin-diagrams/dynkin-diagrams.tex index 5f4bb33e41e..b3f0be43412 100644 --- a/Master/texmf-dist/doc/latex/dynkin-diagrams/dynkin-diagrams.tex +++ b/Master/texmf-dist/doc/latex/dynkin-diagrams/dynkin-diagrams.tex @@ -1,7 +1,7 @@ \documentclass{amsart} \title[The Dynkin diagrams package]% {The Dynkin diagrams package \\ -Version 3.141\,592\,653\,589\,793\,238\,4} +Version 3.141\,592\,653\,589\,793\,238\,46} %% My name: \makeatletter \DeclareRobustCommand{\scotsMc}{\scotsMcx{c}} @@ -20,7 +20,8 @@ Version 3.141\,592\,653\,589\,793\,238\,4} \author{Ben \scotsMc{}Kay} \address{School of Mathematical Sciences, University College Cork, Cork, Ireland} \email{b.mckay@ucc.ie} -\date{2 June 2023} +\date{6 July 2024} +\thanks{Thanks to Jeffrey Adams, Paul Aspinwall, Mikhail Borovoi, Fran Burstall, Michiel Van Couwenberghe, Xu Gao, Skip Garibaldi, Enrico Gregorio, Mamuka Jibladze, Tasho Kaletha, Jordan Lambert, Sriotchilism O'Zaic, Gopal Prasad, Anthony Pulido, Andres Sambarino, Paul Schwahn, Felix Weinstein, Niels Wen and Gordon Williams.} \usepackage[T1]{fontenc} \usepackage[utf8]{inputenx} \usepackage{etoolbox} @@ -168,6 +169,11 @@ before upper={\widowpenalties=3 10000 10000 150}} \begin{document} \maketitle +\renewcommand\do[1]{\dyn#1} +\renewcommand{\wdtA}{3cm} +\begin{dynkinTable}{The Dynkin diagrams of the reduced simple root systems \cite{Bourbaki:2002} pp. 265--290, plates I--IX}{2.25cm}{2.5cm} +\docsvlist{A{},B{},C{},D{},E6,E7,E8,F4,G2} +\end{dynkinTable} \begin{center} \begin{varwidth}{\textwidth} \tableofcontents @@ -176,6 +182,8 @@ before upper={\widowpenalties=3 10000 10000 150}} \setlength{\arrayrulewidth}{1.5pt} +\newpage + \section{Quick introduction} \begin{tcolorbox}[title={Load the Dynkin diagram package (see options below)}] \begin{Verbatim} @@ -202,7 +210,6 @@ The Dynkin diagram of \(B_3\) is \draw[very thick,red] (root 1) to [out=-45, in=-135] (root 3); \end{dynkinDiagram} \end{tcblisting} -\newpage \section{Interaction with \TikZ} Inside a \TikZ environment, default behaviour is to draw from the origin, so you can draw around the diagram: \begin{tcblisting}{title={Inside a \TikZ environment}} @@ -228,15 +235,6 @@ The Dynkin diagram of \(B_3\) is \end{tikzpicture} \end{tcblisting} -\newpage - -\renewcommand\do[1]{\dyn#1} -\renewcommand{\wdtA}{3cm} -\begin{dynkinTable}{The Dynkin diagrams of the reduced simple root systems \cite{Bourbaki:2002} pp. 265--290, plates I--IX}{2.25cm}{2.5cm} -\docsvlist{A{},B{},C{},D{},E6,E7,E8,F4,G2} -\end{dynkinTable} - - \section{Set options globally} \begin{tcolorbox}[title={Most options set globally \dots}] @@ -251,6 +249,7 @@ The Dynkin diagram of \(B_3\) is densely dashed}} \end{Verbatim} \end{tcolorbox} + You can also pass options to the package in \verb!\usepackage!. \emph{Danger:} spaces in option names are replaced with hyphens: \texttt{edge length=1cm} is \texttt{edge-length=1cm} as a global option; moreover you should drop the extension \verb!/.style! on any option with spaces in its name (but not otherwise). For example, \begin{tcolorbox}[title={\dots or pass global options to the package}] @@ -275,6 +274,9 @@ The Dynkin diagram of \(B_3 \times A_2\) is \dynkins{B3|A2}. The Dynkin diagram of \(B_3 \times A_2\) is \begin{DynkinDiagrams}{B3|A2}\end{DynkinDiagrams} \end{tcblisting} + +\newpage + Each factor can have its own options. \begin{tcblisting}{title={Environment}} The Dynkin diagram of \(B_3 \times A_2\) is @@ -297,11 +299,11 @@ They are spaced out by the length of one edge between successive diagrams; chang \endfoot \endlastfoot A_1\times A_1&\dynkins{A1|A1}&\texttt{\detokenize{\dynkins}\{A1|A1\}}\\ -A_2&\dynkins{A2}&\texttt{\detokenize{\dynkins}\{A2\}}\\ -B_2&\dynkins{B2}&\texttt{\detokenize{\dynkins}\{B2\}}\\ -C_2&\dynkins{C2}&\texttt{\detokenize{\dynkins}\{C2\}}\\ -D_2&\dynkins{D2}&\texttt{\detokenize{\dynkins}\{D2\}}\\ -G_2&\dynkins{G2}&\texttt{\detokenize{\dynkins}\{G2\}}\\ +A_2&\dynkin A2&\texttt{\detokenize{\dynkin} A2}\\ +B_2&\dynkin B2&\texttt{\detokenize{\dynkin} B2}\\ +C_2&\dynkin C2&\texttt{\detokenize{\dynkin} C2}\\ +D_2&\dynkin D2&\texttt{\detokenize{\dynkin} D2}\\ +G_2&\dynkin G2&\texttt{\detokenize{\dynkin} G2}\\ \end{longtable} \section{Coxeter diagrams} @@ -333,6 +335,35 @@ G_2&\dynkins{G2}&\texttt{\detokenize{\dynkins}\{G2\}}\\ [Coxeter,gonality=n]I{}} \end{dynkinTable} +\newpage + +Some people prefer Coxeter diagrams to have these labels appear on the bottom of the diagram, so say \verb!Coxeter above=false!, most likely as a global option. + +\pgfkeys{/Dynkin diagram, +Coxeter above=false} + +\renewcommand\do[1]{\dyn#1} +\begin{dynkinTable}{The Coxeter diagrams of the simple reflection groups}{2.25cm}{6cm} +\forDynkinSemicolonsvlist{\do}{ +[Coxeter]A{}; +[Coxeter]B{}; +[Coxeter]C{}; +[Coxeter]D{}; +[Coxeter]E6; +[Coxeter]E7; +[Coxeter]E8; +[Coxeter]F4; +[Coxeter,gonality=n]G2; +[Coxeter]H2; +[Coxeter]H3; +[Coxeter]H4; +[Coxeter,gonality=n]I{}} +\end{dynkinTable} + +\pgfkeys{/Dynkin diagram, +Coxeter above=true} + + \section{Satake diagrams}\label{section:Satake} \begin{tcblisting}{title={Satake diagrams use the standard name instead of a rank}} \(A_{IIIb}=\dynkin A{IIIb}\) @@ -340,6 +371,8 @@ G_2&\dynkins{G2}&\texttt{\detokenize{\dynkins}\{G2\}}\\ We use a solid gray bar to denote the folding of a Dynkin diagram, rather than the usual double arrow, since the diagrams turn out simpler and easier to read. +\newpage + \renewcommand\do[1]{\dyn#1} \begin{dynkinTable}{The Satake diagrams of the real simple Lie algebras \cite{Helgason:2001} p. 532--534}{2.75cm}{3cm} \docsvlist{A{I},A{II},A{IIIa},A{IIIb},A{IV},B{I},B{II},C{I},C{IIa},C{IIb}, @@ -968,7 +1001,7 @@ D_4 & \dynkin[label,ordering=Kac]E6 \end{tcblisting} Default is Bourbaki. -Sources are Adams \cite{Adams:1996} p. 56--57, Bourbaki \cite{Bourbaki:2002} p. pp. 265--290 plates I-IX, Carter \cite{Carter:2005} p. 540--609, Dynkin \cite{Dynkin:1952}, Kac \cite{Kac:1990} p. 43. +Sources are Adams \cite{Adams:1996} p. 56--57, Bourbaki \cite{Bourbaki:2002} p. 265--290 plates I-IX, Carter \cite{Carter:2005} p. 540--609, Dynkin \cite{Dynkin:1952} (reprinted, translated into English, in Dynkin \cite{Dynkin:2000} p. 180), Kac \cite{Kac:1990} p. 43. \NewDocumentCommand\tablerow{mm}% {% @@ -1108,9 +1141,31 @@ D[3]4,E[2]6} \renewcommand{\do}[1]{\dyn[extended,Coxeter]#1} \begin{dynkinTable}{The extended (affine) Coxeter diagrams}{3cm}{6cm} -\docsvlist{A{},B{},C{},D{},E6,E7,E8,F4,G2,H3,H4,I1} +\docsvlist{A{},B{},C{},D{},E6,E7,E8,F4,G2,H2,H3,H4,I1} \end{dynkinTable} + +\section{Witt symbols} + +The \emph{Witt symbol} \cite{Johnson.et.al.1999,McMullen.Schulte:2002,Witt:1941} is a different notation for the various series: +\[ +\begin{array}{rll} +\text{Witt symbol}&\text{Cartan symbol}\\ +P_{n+1}&A_n\\ +S_{n+1}&B_n\\ +R_{n+1}&C_n\\ +Q_{n+1}&D_n\\ +T_{n+1}&E_n&n=6,7,8\\ +U_5&F_4\\ +V_3&G_2\\ +W_2&I_1 +\end{array} +\] +\begin{tcblisting}{title={Witt symbols}} +\dynkin[extended]P7, \dynkin[extended]Q7, \dynkin[extended]T7 +\end{tcblisting} + + \newpage \section{Kac style} diff --git a/Master/texmf-dist/doc/latex/easybook/README.md b/Master/texmf-dist/doc/latex/easybook/README.md index 441d0bda0a0..a04be06f54d 100644 --- a/Master/texmf-dist/doc/latex/easybook/README.md +++ b/Master/texmf-dist/doc/latex/easybook/README.md @@ -1,5 +1,5 @@ # The `easybook` document class -Easily typesetting Chinese theses or books (v2024cm) +Easily typesetting Chinese theses or books (v2024dj) ## Abstract `easybook` is a pure academic template created based on the `ctexbook` book document class. It also has the functions of `book` and `article` document class. Combined with the general framework design of the theses of many universities in China, providing multiple commands and interfaces allows users to easily customize the theses templates. Its basic macro package `easybase` can also be used with `ctex` and standard document classes. @@ -11,5 +11,5 @@ This work may be distributed and/or modified under the conditions of the LPPL-1. | [Gitee](https://gitee.com/texno3/easybook) | [Github](https://github.com/texno3/easybook) | [CTAN](https://ctan.org/pkg/easybook) | ## Maintainer -QuYi<br/> +Qu Yi<br/> Email: toquyi@163.com
\ No newline at end of file diff --git a/Master/texmf-dist/doc/latex/easybook/easybook.pdf b/Master/texmf-dist/doc/latex/easybook/easybook.pdf Binary files differindex 09ef685a942..54a5f7024cf 100644 --- a/Master/texmf-dist/doc/latex/easybook/easybook.pdf +++ b/Master/texmf-dist/doc/latex/easybook/easybook.pdf diff --git a/Master/texmf-dist/doc/latex/easybook/easybook.tex b/Master/texmf-dist/doc/latex/easybook/easybook.tex index 343669865a2..02adc43f5f6 100644 --- a/Master/texmf-dist/doc/latex/easybook/easybook.tex +++ b/Master/texmf-dist/doc/latex/easybook/easybook.tex @@ -23,8 +23,8 @@ name = easybook, color-scheme = blue, title = EASYBOOK使用手册, - version = v2024cm, - date = 2024/06/24, + version = v2024dj, + date = 2024/08/14, authors = 瞿毅, info = 简便地排版中文学位论文或书籍, email = toquyi@163.com, @@ -57,10 +57,8 @@ \setlist[cnltxlist] { leftmargin = 0pt, - labelwidth = 2em, itemindent = -1em, - labelsep = 0pt, - listparindent = 2em, + listparindent = \parindent, topsep = \smallskipamount, itemsep = \smallskipamount, partopsep = 0ex, @@ -232,13 +230,13 @@ \end{frameverb} \subsection{编译方式} -假设您的 \TeX 源文件名为 \code{easybook.tex},需要使用参考文献和索引功能,并使用 \hologo{XeLaTeX} 和 \hologo{BibTeX} 引擎编译文档,那么需要在命令行中执行: +假设您的 \TeX 源文件名为 \code{easybook-demo.tex},需要使用参考文献和索引功能,并使用 \hologo{XeLaTeX} 和 \hologo{BibTeX} 引擎编译文档,那么需要在命令行中执行: \begin{frameverb} - xelatex -shell-escape easybook - bibtex easybook - makeindex easybook - xelatex -shell-escape easybook - xelatex -shell-escape easybook + xelatex -shell-escape easybook-demo + bibtex easybook-demo + makeindex easybook-demo + xelatex -shell-escape easybook-demo + xelatex -shell-escape easybook-demo \end{frameverb} 当然也可以使用 \code{latexmk} 及一些软件自带的编译工具,这里就不做介绍。 \\ $\blacktriangleright$需要注意正确\textbf{编译索引}要增加 \code{-shell-escape} 命令行选项。 @@ -251,8 +249,8 @@ $\blacktriangleright$需要注意正确\textbf{编译索引}要增加 \code{-she cells = {cmd = \pkg*}, cell{1}{3,4} = PaleTurquoise, cell{2}{5} = PaleTurquoise, - cell{3}{2} = PaleTurquoise, cell{4}{5} = PaleTurquoise, + cell{5}{2} = PaleTurquoise, cell{5}{1} = GreenYellow, cell{1}{2} = GreenYellow, cell{3}{1,4} = GreenYellow @@ -261,7 +259,7 @@ $\blacktriangleright$需要注意正确\textbf{编译索引}要增加 \code{-she enumitem & etoolbox & fancyhdr & geometry & hyperref \\ imakeidx & listings & marginnote & mathtools & multicol \\ pifont & pdfpages & siunitx & spbmark & thmtools \\ - tcolorbox & titletoc & tabularray & ulem & + tcolorbox & titletoc & tabularray & & \end{longtblr} \section{全局选项} @@ -300,6 +298,12 @@ $\blacktriangleright$需要注意正确\textbf{编译索引}要增加 \code{-she \setCJKmonofont{FangSong} \newCJKfontfamily[song]\songti{SimSun} \end{ctexexam} + + 如果用 \textsf{Overleaf} 或 \textsf{TeXPage} 等在线平台编译文档,则只有 \code{fandol} 字体可用。使用其它字体可将字体文件上传至项目文件夹,例如上传至 \code{font} 文件夹设置正文和无衬线字体: + \begin{ctexexam} + \setCJKmainfont{simsun.ttc}[Path = ./font/] + \setCJKsansfont{simhei.ttf}[Path = ./font/] + \end{ctexexam} \keychoice{font}{noto,times,times*,ebgaramond,libertine,palatino,\fbox{auto}}\dtag 预置的英文字体相关配置方案如\ref{table:english font} 所示。这些字体已经包含在了 \hologo{TeXLive} 发行版中,所以通常不需要再专门安装。如果您想使用默认的Latin Modern或其它英文字体,可以使用 \code{auto} 选项配合 \pkg*{fontspec} 宏包的相关命令进行设置。 \begin{longtblr} @@ -340,7 +344,7 @@ $\blacktriangleright$需要注意正确\textbf{编译索引}要增加 \code{-she \label{sec:interface options} \begin{cnltxlist} \command{ctexset}[\oarg{模块名}\marg{键值列表}] - \easybook{} 扩展了 \CTeX 宏集 \hologo{LaTeX3} 风格键值的通用控制命令 \cs{ctexset},模块选项同样可用它设置,原有的 \meta{键值列表} 仍然可用。本文档类目前有9个模块用于实现常规的排版功能,如\ref{table:module List} 所示。 + \easybook{} 扩展了 \CTeX 宏集 \hologo{LaTeX3} 风格键值的通用控制命令 \cs{ctexset},模块选项同样可用它设置,原有的 \meta{键值列表} 仍然可用。本文档类目前有10个模块用于实现常规的排版功能,如\ref{table:module List} 所示。 \begin{longtblr} [caption = 模块功能和名称清单,label = table:module List] { @@ -350,8 +354,8 @@ $\blacktriangleright$需要注意正确\textbf{编译索引}要增加 \code{-she } \hyperref[subsec:tools]{工具} & \hyperref[subsec:font]{部件字体} & \hyperref[subsec:space]{间距} & \hyperref[subsec:hyperlinks]{超链接} & \hyperref[subsec:reference]{参考文献} \\ tools & font & space & ref & bib \\ - \hyperref[subsec:theorem]{定理} & \hyperref[subsec:page margins]{页面尺寸} & \hyperref[subsec:header and footer]{页眉页脚} & \hyperref[subsec:catalog]{目录} & \\ - thmt & geo & hdr & toc & + \hyperref[subsec:theorem]{定理} & \hyperref[subsec:page margins]{页面尺寸} & \hyperref[subsec:header and footer]{页眉页脚} & \hyperref[subsec:contents]{目录} & \hyperref[subsec:caption]{图表题注} \\ + thmt & geo & hdr & toc & cap \end{longtblr} \ref{exam:kv setting} 使用\ref{subsec:tools} 介绍的工具模块 \module*{tools} 举例三种键值列表设置方式:1. 各 \meta{模块名} 是统一接口 \cs{ctexset} 的键路径。2. 不同模块还具有单独的接口命令 \cs*{eb}\meta{模块名}\code{\textcolor{cs}{set}}。3. \meta{模块名} 也可以使用 \cs{ctexset} 命令的可选参数设置。路径名与所属下级选项之间可以 \code{/} 或 \code{=} 号分开,斜线 \code{/} 后不能有空格或者换行。 @@ -406,12 +410,14 @@ $\blacktriangleright$需要注意正确\textbf{编译索引}要增加 \code{-she \ctexset{tools/figurepath = path1} \ctexset{tools/figurepath = {path2}{path3}} \end{ctexexam} + + 以下几个选项用于设置题注编号的连字符,\code{chapter} 计数器的值大于0时连字符才有意义。若需更改题注编号的输出格式可在正文中重新定义 \cs*{the}\meta{计数器} 命令。 \keyval{hyphen-figure}{图片连字符}\Default{\Marg{.}} 设置图片题注编号的连字符。 \keyval{hyphen-table}{表格连字符}\Default{\Marg{.}} 设置表格题注编号的连字符。 - \keyval{hyphen-listing}{代码连字符}\Default{\Marg{.}} - 设置代码题注编号的连字符。 + \keyval{hyphen-lstlisting}{代码连字符}\Default{\Marg{.}} + 设置代码题注编号的连字符。\pkg*{listings} 宏包的 \option{numberbychapter} 选项失效。 \keyval{hyphen-equation}{公式连字符}\Default{\Marg{.}} 设置公式题注编号的连字符。 \keyval{hyphen-every}{连字符}\Default{\Marg{.}} @@ -474,7 +480,7 @@ $\blacktriangleright$需要注意正确\textbf{编译索引}要增加 \code{-she 设置表格题注的字体,包括字体族、字体系列、字体尺寸和字体形状命令。 \keyval{caption-figure}{字体命令}\Default{\cs*{sffamily}\cs*{small}} 设置图片题注的字体,包括字体族、字体系列、字体尺寸和字体形状命令。 - \keyval{caption-listing}{字体命令}\Default{\cs*{sffamily}\cs*{small}} + \keyval{caption-lstlisting}{字体命令}\Default{\cs*{sffamily}\cs*{small}} 设置代码题注的字体,包括字体族、字体系列、字体尺寸和字体形状命令。 \keyval{caption-every}{字体命令}\Default{\cs*{sffamily}\cs*{small}} 同时设置图片、表格和代码题注的字体命令。 @@ -494,7 +500,7 @@ $\blacktriangleright$需要注意正确\textbf{编译索引}要增加 \code{-she \label{subsec:reference} \begin{cnltxlist} \keychoice{backend}{\fbox{bibtex},biblatex} - 参考文献处理后端。选择 \code{bibtex} 时使用传统的 \hologo{BibTeX} 引擎处理参考文献,加载 \pkg*{natbib} 宏包。选择 \code{biblatex} 时使用 \hologo{biber} 引擎,加载 \pkg*{biblatex} 宏包。 + 参考文献处理后端。选择 \code{bibtex} 时使用传统的 \hologo{BibTeX} 引擎处理参考文献,加载 \pkg*{natbib} 宏包。选择 \code{biblatex} 时使用 \hologo{biber} 引擎,加载 \pkg*{biblatex} 宏包。若自动载入参考文献宏包则位于导言区末尾,但在 \pkg*{hyperref} 宏包之前。 \keychoice{bibstyle}{\fbox{numerical},authoryear,\optpath*{other sty}} 参考文献格式使用中国参考文献推荐标准GB/T 7714-2015,对应顺序编码制和著者—出版年制两种风格。若使用其它格式,使用 \hologo{BibTeX} 处理时需确保正确的 \code{bst} 文件,使用 \hologo{biber} 处理可使用 \pkg*{biblatex} 宏包支持的参考文献风格名称。 \keyval{citestyle}{标注风格} @@ -510,9 +516,9 @@ $\blacktriangleright$需要注意正确\textbf{编译索引}要增加 \code{-she \keyval{prenote}{参考文献前注} 该选项选择由 \cs{defbibnote} 所定义的前注,缺省状态下不打印任何前注。 \keyval{section}{整数}\Default{0} - 只打印在指定文节中引用的条目。该参考文献节从1开始编号,所有在 \env*{refsection} 环境外给出的引用标记为第零节。 + 只打印第 \meta{整数} 文节中引用的条目。该参考文献节从1开始编号,所有在 \env*{refsection} 环境外给出的引用标记为第零节。 \keyval{type}{条目类型} - 指定条目的打印类型。 + 只打印名为 \meta{条目类型} 的文献条目。 \keyval{filter}{过滤器名} 使用由 \cs{defbibfilter} 定义的 \option*{filter} 来过滤条目。 @@ -546,11 +552,11 @@ $\blacktriangleright$需要注意正确\textbf{编译索引}要增加 \code{-she \keyval{style}{定理样式}\Default{default} 选项的值为使用 \cs{declaretheoremstyle} 命令新定义的定理样式。 - 使用 \cs{declaretheorem} 命令以\ref{exam:new theorem sty} 中的定理样式 \code{fancy} 新建一个定理环境猜想,然后用一个基于 \pkg*{tcolorbox} 宏包的预置彩色盒子 \env{easyboxi} 增加背景: + 使用 \cs{declaretheorem} 命令以\ref{exam:new theorem sty} 中的定理样式 \code{fancy} 新建一个定理环境 \env*{lemma},然后用一个基于 \pkg*{tcolorbox} 宏包的预置彩色盒子 \env{easyboxi} 增加背景: \begin{ctexexam}[labelref = exam:new theorem env] - \declaretheorem[style = fancy,name = 猜想]{caixiang} + \declaretheorem[style = fancy,name = 引理]{lemma} \addtotcbstyle{tc-easyboxi}{colback = GreenYellow} - \tcolorboxenvironment{caixiang}{tc-easyboxi} + \tcolorboxenvironment{lemma}{tc-easyboxi} \end{ctexexam} \command{declaretheoremstyle}[\oarg{键值列表1}\marg{定理样式}\oarg{键值列表2}] 定理样式声明命令,键值列表支持自身以及定理声明命令 \cs{declaretheorem} 的所有选项。可选参数的 \meta{键值列表1} 与 \meta{键值列表2} 等效,其中支持的选项如下: @@ -593,21 +599,21 @@ $\blacktriangleright$需要注意正确\textbf{编译索引}要增加 \code{-she \command{listoftheorems}[\sarg\oarg{键值列表}]\default{} \item\key{listoftheorems}{定理目录标题名} \command{settheoremtocline}[\sarg\marg{环境名}\marg{标题定义}]\newtagv{2024bb}% - 对 \pkg*{thmtools} 宏包的定理环境目录命令 \cs{listoftheorems} 进行了适配调整,\ref{subsec:directory command} 和\ref{subsec:catalog} 中的选项机制均可用,但标题定义选项 \option{tocline} 较为特殊,需用 \cs{settheoremtocline} 命令单独设置。在 \meta{标题定义} 中有三个命令 \cs{thmtname}、\cs{thmtenvname} 和 \cs{thmtnote} 分别代表定理名、定理环境名和题注用于排版目录条目。 + 对 \pkg*{thmtools} 宏包的定理环境目录命令 \cs{listoftheorems} 进行了适配调整,\ref{subsec:directory command} 和\ref{subsec:contents} 中的选项机制均可用,但标题定义选项 \option{tocline} 较为特殊,需用 \cs{settheoremtocline} 命令单独设置。在 \meta{标题定义} 中有三个命令 \cs{thmtname}、\cs{thmtenvname} 和 \cs{thmtnote} 分别代表定理名、定理环境名和题注用于排版目录条目。 \end{cnltxlist} \optpath{thmt/}\key{loeskip}{弹性长度}\Default{10pt} 定理目录中每章第一个条目上方增加的垂直距离。与 \CTeX 的表格和图片目录中每章间的条目距离选项 \option*{lotskip} 和 \option*{lofskip} 类似,在 \cls*{article} 模式中此选项失效。 \command{thmtifnote}[\marg{存在题注代码}\marg{不存在题注代码}] - 如果标题没题注即定理环境不用可选参数,则标题不加入定理目录,这是默认且合理的行为。若需要将无题注的标题加入目录可将 \meta{环境名} 加入目录风格的 \option{show} 选项或使用 \cs*{settheoremtocline}\code{*} 命令。是否存在题注需要在 \meta{标题定义} 中使用 \cs{thmtifnote} 命令判定,从而输出不同的内容。 + 如果标题没题注即定理环境不用可选参数,则标题不加入定理目录,这是默认且合理的行为。若需要将无题注的标题加入目录可将 \meta{环境名} 传给目录风格的 \option{show} 选项或使用 \cs*{settheoremtocline}\code{*} 命令。是否存在题注需要在 \meta{标题定义} 中使用 \cs{thmtifnote} 命令判定,从而输出不同的内容。 \command{thmtifname}[\marg{存在编号代码}\marg{不存在编号代码}] 在 \meta{标题定义} 中测试当前定理是否有编号从而输出不同的内容,定理风格选项 \keyis{numbered}{no} 设置当前定理环境没有编号。 \begin{ctexexam} - \contentsuse{caixiang}{loe} - \RegisterTocName{caixiang} - \setlisttheoremstyle{ignoreall,show = caixiang} - \settheoremtocline{caixiang} + \contentsuse{lemma}{loe} + \RegisterTocName{lemma} + \setlisttheoremstyle{ignoreall,show = lemma} + \settheoremtocline{lemma} { - \listnumberline{caixiang} + \listnumberline{lemma} \thmtname\thmtifnote{[\thmtnote]}{} } \end{ctexexam} @@ -619,9 +625,9 @@ $\blacktriangleright$需要注意正确\textbf{编译索引}要增加 \code{-she \begin{cnltxlist}[itemsep = 0ex] \keyval{headruleskip}{页眉线间距}\dtag\Default*{0pt} \keyval{footruleskip}{页脚线间距}\dtag\Default*{3.5pt} - \kvsplit{hdivide}{左边距,版心文本宽度,右边距}\default{} + \kvsplit{hdivide}{左边距,版心宽度,右边距}\default{} \kvsplit{hmargin}{左边距,右边距}\default{} - \keyval{textheight}{版心文本高度}\default{} + \keyval{textheight}{版心高度}\default{} \keychoice{nofoot}{true,\fbox{false}}\default{} \begin{ctexexam} \ctexset[geo] @@ -634,6 +640,32 @@ $\blacktriangleright$需要注意正确\textbf{编译索引}要增加 \code{-she \end{ctexexam} \end{cnltxlist} +\subsection[图表题注]{图表题注\smodule{cap}} +\label{subsec:caption} +模块 \module*{cap} 用于设置图表等浮动体的题注格式。题注主要由三部分组成:标题标签即图表名与题注编号的组合,标题文本本身通常是内容的简短描述,以及将文本与标签分开的题注分隔符。可以在导言区设置整体格式,也可以在正文使用局部更改格式。模块 \module*{cap} 由 \pkg*{caption} 宏包提供支持,接口选项与 \pkg*{caption} 宏包完全一致,但写法为 \meta{条目名}\code{/}\meta{选项}。\pkg*{caption} 宏包提供了多种方法来定制浮动环境(例如 \env{figure} 和 \env{table})中的题注,并可与许多其它宏包配合使用。功能包括旋转题注、侧向题注和连续题注等。下面列举几个题注选项的用法,\ref{exam:caption set} 中两种设置题注的方法是等效的,更多选项和创建方法可查看宏包文档: +\begin{cnltxlist}[itemsep = 0ex] + \keyval{table/labelsep}{标签分隔符}\default{} + \keyval{figure/format}{题注格式}\default{} + \keyval{lstlisting/font}{题注字体}\default{} + \begin{ctexexam}[labelref = exam:caption set] + \ctexset[cap] + { + table/labelsep = space, + figure/format = plain + } + \captionsetup[table]{labelsep = space} + \captionsetup[figure]{format = plain} + \end{ctexexam} + \begin{cnltxlist} + \command{RegisterCapOptions}[\marg{条目名列表}] + 给模块 \module*{cap} 注册题注类型为 \meta{条目名} 的 \pkg*{caption} 接口选项。已预注册 \module*{figure}、\module*{table} 和 \module*{lstlisting} 三种类型的题注选项。可以搭配 \pkg*{newfloat} 宏包创建更多类型的浮动环境并设置相应题注。 + \end{cnltxlist} + \command{caption}[\sarg\oarg{目录标题}\marg{标题}]\default{} + \command{captionof}[\sarg\marg{条目名}\oarg{目录标题}\marg{标题}]\default{} + \command{bicaption}[\sarg\oarg{目录中文标题}\marg{中文标题}\oarg{目录英文标题}\marg{英文标题}] + 题注命令 \cs{caption} 用于在图表上下方插入题注,需要在浮动环境 \env*{figure} 和 \env*{table} 中使用。在浮动环境外可以使用 \cs{captionof} 命令,第一个参数指定条目名。\cs{bicaption} 命令可以实现中英文双语题注,需要在导言区载入 \pkg*{bicaption} 宏包,具体用法见宏包文档。 +\end{cnltxlist} + \subsection[页眉页脚]{页眉页脚\smodule{hdr}} \label{subsec:header and footer} 模块 \module*{hdr} 设置的命令由 \pkg*{fancyhdr} 宏包提供支持。标题标记由标签和标题组成,选项中参数 \code{\#1} 代表当前章、节或小节的标题。在 \cls*{book} 模式时使用标题标记选项 \option{chapter-mark} 和 \option{section-mark},在 \cls*{article} 模式时使用 \option{section-mark} 和 \option{subsection-mark} 选项,这与标准文档类的行为一致。重新设置标题标记选项时标记大小写选项 \option{uppercase} 会失效。 @@ -710,6 +742,8 @@ $\blacktriangleright$需要注意正确\textbf{编译索引}要增加 \code{-she \ebhdrset{footnotetype = plain,footnotetype = bottom} \ebhdrset{footnotetype = {hang,bottom}} \end{ctexexam} + \command{PushFntBottom}\newtagv{2024cx}% + 默认情况下当具有 \code{b} 参数的底部浮动体与脚注同时存在时,脚注将位于浮动体上部。此命令可使脚注始终位于页面底部,与 \keyis{footnotetype}{bottom} 作用相同,只能在导言区全局使用。 \keyval{fnfirstindent}{刚性长度}\Default{1em} 每个脚注首段的首行缩进(悬挂缩进 \code{hang} 为整段缩进),等于长度 \cs{fnfirstindent} 的值。 \keyval{fnafterindent}{刚性长度}\Default{2em} @@ -761,11 +795,11 @@ $\blacktriangleright$需要注意正确\textbf{编译索引}要增加 \code{-she fnmarktext-format = \circledtext } \end{ctexexam} - \command{defupfntmark}[\marg{脚注正文标记格式}] + \command{defupfntmark}[\marg{正文标记格式}] 定义脚注正文标记的格式,与正文标记编号命令 \cs{theupfootnote} 配合使用。 - \command{defdownfntmark}[\marg{脚注内容标记格式}] + \command{defdownfntmark}[\marg{内容标记格式}] 定义脚注内容标记的格式,与内容标记编号命令 \cs{thedownfootnote} 配合使用。 - \command{deffntpara}[\marg{脚注段落文本格式}] + \command{deffntpara}[\marg{段落文本格式}] 定义脚注段落文本的格式的命令。脚注段落文本由脚注内容标记和文本两部分组成,段落格式定义中参数 \code{\#1} 代表内容文本。 \command{notminipage}[\marg{普通页内容}\marg{迷你页内容}] 用于在定义脚注标记的命令中判断当前脚注是否处于迷你页而输出不同的内容。 @@ -805,7 +839,7 @@ $\blacktriangleright$需要注意正确\textbf{编译索引}要增加 \code{-she \end{cnltxlist} \subsection[目录]{目录\smodule{toc}} -\label{subsec:catalog} +\label{subsec:contents} 模块 \module*{toc} 将使用 \pkg*{titletoc} 宏包处理目录样式。默认包括 \module*{part}$\longrightarrow$\module*{subparagraph}、\module*{figure}、\module*{table} 和 \module*{lstlisting} 条目名的键路径。选项前带有\hface 符号表示支持所有相应\textbf{条目名}的路径,其它选项则处于 \module*{toc} 键路径下。目录选项均支持标题编号判定命令 \cs{CTEXifname}\footnote{此功能需要\textbf{2023/06/01}以后的 \hologo{LaTeX} 内核支持。}。目前支持多数学术论文目录样式,更复杂的样式可以查看 \pkg*{titletoc} 的相关用法。 \begin{cnltxlist} \keyval{tocformat}{条目格式}\dtag @@ -869,16 +903,16 @@ $\blacktriangleright$需要注意正确\textbf{编译索引}要增加 \code{-she \DeclareFloatList{algorithm}{loa} \listofalgorithms[multoc] % 在正文中输出双栏算法目录 \end{ctexexam} - \command{AllotCaptionExt}[\marg{条目名}\marg{扩展名}] + \command{AssignCaptionExt}[\marg{条目名}\marg{扩展名}] 给条目类型名称为 \meta{条目名} 的标题分配目录文件 \meta{扩展名},注意 \meta{扩展名} 需要被定义在 \cs*{ext@}\meta{条目名} 命令中才有效(\pkg*{caption} 宏包的默认定义形式)。可以使不同的 \meta{条目名} 共享一个目录: \begin{ctexexam} - \AllotCaptionExt{table}{lof} + \AssignCaptionExt{table}{lof} \newcommand{\listoffiguretables}{\listoffigures} % 同时输出图表目录的命令 \end{ctexexam} - \command{AllotPartialExt}[\marg{扩展名1}\marg{扩展名2}]\newtagv{2024bk} + \command{AssignPartialExt}[\marg{扩展名1}\marg{扩展名2}]\newtagv{2024bk} 给目录文件扩展名为 \meta{扩展名1} 的目录分配扩展名为 \meta{扩展名2} 的局部目录\footnote{此功能需要\textbf{2023/06/01}以后的 \hologo{LaTeX} 内核支持。},预注册的条目均无需再分配。用于搭配题注标题 \cs{caption} 命令和 \pkg*{titletoc} 宏包的局部题注目录命令。 \begin{ctexexam} - \AllotPartialExt{loa}{pla} + \AssignPartialExt{loa}{pla} \startlist[fancy]{loa} \captionof{algorithm}{算法标题} \stoplist[fancy]{loa} @@ -915,6 +949,8 @@ $\blacktriangleright$需要注意正确\textbf{编译索引}要增加 \code{-she 将目录页码装进一个右对齐的水平盒子里。这样可以使目录引导线右端对齐并与页码保持一定间距,否则会与页码相连。 \keyval{pagenumwd}{刚性长度}\Default{1.55em} 设置开启 \option{dotalign} 选项时页码水平盒子的宽度。 + \keychoice{fileopen}{\fbox{once},odd} + 编译文档时打开目录文件进行写入操作的方式,这个选项影响重复使用目录命令时的输出行为。默认只在第一次编译时打开文件,选择 \code{odd} 将仅在奇数次编译时打开文件。 \keyval{tocafter-every}{距离命令}\Default{\cs*{hspace}\Marg{1em}} 统一设置所有类型条目编号与标题间的代码。 \keyval{tocindent-every}{刚性长度} @@ -927,8 +963,47 @@ $\blacktriangleright$需要注意正确\textbf{编译索引}要增加 \code{-she \section{环境和命令} -\subsection{文区命令} +\subsection{封面和文区} \begin{cnltxlist} + \command{maketitle}[\oarg{键值列表}]\newtagv{2024dh}% + 重新改写了默认的封面标题命令,在保证原生风格的前提下使用 \pkg*{xtemplate} 宏包将封面抽象为由实例组成的模板。并为命令增加了可选参数,选项的含义与标准文档类一致: + \keyval{title}{文档标题} + 设置文档的标题,可以包含格式命令。如果没有设置标题而输出封面会报错。 + \keyval{author}{文档作者} + 设置文档的作者,可以包含格式命令。多位作者之间可以用 \cs*{and} 命令分隔,每个作者后可用 \cs*{thanks} 命令添加致谢脚注。 + \keyval{date}{文档日期}\Default{\cs*{today}} + 设置文档的日期,可以包含格式命令。默认的文档日期为当前日期 \cs*{today}。 + \command{DeclareInstance}[\Marg{easybook}\marg{位置}\Marg{cover}\marg{键值列表}] + 封面模板可用 \pkg*{xtemplate} 提供的实例声明命令进行自由定制,\ref{exam:cover instance} 举例说明了定制页面中部的内容。模板由页面上、中和下三个位置的实例组成,它们的 \meta{位置} 名字分别为 \code{top}、\code{middle} 和 \code{bottom}。每个实例的属性可用 \meta{键值列表} 修改,包含的选项如下: + \keyval{content}{实例内容} + 设置实例内容,可以包含任何记号列表。通常为格式和排版内容的命令,在局部生效。 + \keyval{beforecode}{实例前代码} + 设置实例内容前的代码,可以包含任何记号列表。通常为换页和垂直距离的命令。 + \keyval{aftercode}{实例后代码} + 与 \option{before} 选项类似,设置实例内容后的代码。 + \keychoice{align}{l,\fbox{c},r,n} + 设置实例内容的对齐方式,分别为左、中、右和自然对齐,自然对齐即正常的段落文本。 + \begin{ctexexam}[labelref = exam:cover instance] + \DeclareInstance{easybook}{middle}{cover} + { + content = + { + \thispagestyle{empty} + \begin{tblr} + { + columns = c, + hline{2-4} = {2}{0.5pt,solid}, + column{1} = {rightsep = 0pt} + } + 标题:& 一个文档标题 \\ + 作者:& 张三 \\ + 日期:& \today + \end{tblr} + }, + beforecode = \null\vspace{3cm}, + aftercode = \clearpage + } + \end{ctexexam} \command{frontmatter}[\sarg\oarg{编号格式}]\Default{Roman} 前言区命令。使部分和章标题不编号,带有星号的变体命令不使用 \cs{cleardoublepage} 命令。页码 \meta{编号格式} 可设置为 \code{arabic}、\code{Alph}、\code{alph}、\code{Roman}、\code{roman} 和 \code{chinese} 形式。 \command{mainmatter}[\sarg] @@ -943,7 +1018,7 @@ $\blacktriangleright$需要注意正确\textbf{编译索引}要增加 \code{-she \subsection{目录命令} \label{subsec:directory command} -\easybook{} 改进了标准文档类中定制性较低的章节标题和图表标题目录命令。现在目录命令带有可选参数用于设置标题格式和栏数等,并且与标准文档类不同的是目录命令可在正文中\textbf{重复}使用\footnote{此功能需要\textbf{2023/06/01}以后的 \hologo{LaTeX} 内核支持。}。更多目录命令的创建和样式设置可参考\ref{subsec:catalog}。 +\easybook{} 改进了标准文档类中定制性较低的章节标题和图表标题目录命令。现在目录命令带有可选参数用于设置标题格式和栏数等,并且与标准文档类不同的是目录命令可在正文中\textbf{重复}使用\footnote{此功能需要\textbf{2023/06/01}以后的 \hologo{LaTeX} 内核支持。}。更多目录命令的创建和样式设置可参考\ref{subsec:contents}。 \begin{cnltxlist} \command{tableofcontents}[\sarg\oarg{键值列表}\darg{代码钩子}] 章节标题目录命令,支持中英文双语标题目录输出。带有星号参数不输出目录条目上方的标题。\meta{代码钩子} 是当输出方案 \keyis{plan}{both} 时中文与英文目录之间执行的代码,可以插入设置目录样式和换页等命令。 @@ -990,16 +1065,24 @@ $\blacktriangleright$需要注意正确\textbf{编译索引}要增加 \code{-she \UseTocStyle{section}{fancy}{toc} \tableofcontents[bilist = mix] \end{ctexexam} + + 除了上述选项还支持 \CTeX 键值列表所有路径的章节标题样式选项,下面仅列举几个选项例子。需要注意的是标题样式选项根据 \option{level} 选项中的\textbf{最后}一个标题命令判断键路径,所以这个标题命令名必须存在于 \CTeX 键值列表路径中,或带有 \code{\textcolor{cs}{bi}} 前缀表示双语标题。 \keyval{format}{目录标题格式} - 设置目录标题的格式,在标题级别为 \code{chapter} 或者 \cls*{article} 模式且标题级别为 \code{section} 时有效。 + 设置目录标题的格式。 + \begin{ctexexam} + \tableofcontents[ + level = \clearpage\bisection*, + format = \centering\sffamily\Large + ] + \end{ctexexam} \keyval{aftername}{标签后代码} - 目录标题的标签与内容之间插入的代码,生效情形同上。 + 目录标题的标签与内容之间插入的代码。 \keyval{aftertitle}{标题后代码} - 目录标题内容之后插入的代码,生效情形同上。 + 目录标题内容之后插入的代码。 \keyval{break}{格式命令} - 控制章节标题与之前正文的分隔关系。一般用于设置是否在标题之前分页或者设置行间罚点,生效情形同上。 + 控制章节标题与之前正文的分隔关系。一般用于设置是否在标题之前分页或者设置行间罚点。 \keyval{pagestyle}{页面风格}\Default{empty} - 目录标题所在页的页面格式,仅当目录以 \code{chapter} 级别输出时有效。除了上述选项还支持 \CTeX 键值列表路径 \module*{chapter} 或 \module*{section} 所有的章节标题样式选项。 + 目录标题所在页的页面格式,仅当目录以 \code{chapter} 级别输出时有效。 \end{cnltxlist} \subsection{双语章节标题和新建标题} @@ -1046,6 +1129,12 @@ $\blacktriangleright$需要注意正确\textbf{编译索引}要增加 \code{-she \lchapter{正常标题} \lchapterentry{加入目录的标题} \end{ctexexam} + \command{CopyTitleFormat}[\marg{条目名1}\marg{条目名2}]\newtagv{2024cq}% + 将名为 \meta{条目名2} 的章节标题命令除了编号/名字外的格式复制给名为 \meta{条目名1} 的标题命令。 + \begin{ctexexam} + \ctexset{section/format = \sffamily\color{blue}} + \CopyTitleFormat{subsection}{section} + \end{ctexexam} \end{cnltxlist} \subsection[上标和下标]{上标和下标} @@ -1288,30 +1377,16 @@ $\blacktriangleright$需要注意正确\textbf{编译索引}要增加 \code{-she \end{ctexexam} \end{cnltxlist} -\subsection{图表题注} -\pkg*{caption} 宏包提供了多种方法来定制浮动环境(例如 \env{figure} 和 \env{table})中的标题,并可与许多其它宏包配合使用。功能包括旋转题注、侧向题注和连续题注等。 -\begin{cnltxlist} - \command{captionsetup}[\oarg{条目名}\marg{键值列表}] - 这是 \pkg*{caption} 宏包的接口命令,\meta{键值列表} 提供多个选项更改图表题注的格式。题注主要由三部分组成:标题标签即图表名与题注编号的组合,标题文本本身通常是内容的简短描述,以及将文本与标签分开的题注分隔符。可以在导言区设置整体格式,也可以在正文使用局部更改格式。 -\end{cnltxlist} - -\begin{cnltxlist}[itemsep = 0ex] - \command{caption}[\sarg\oarg{目录标题}\marg{标题}]\default{} - \command{captionof}[\sarg\marg{条目名}\oarg{目录标题}\marg{标题}]\default{} - \command{bicaption}[\sarg\oarg{目录中文标题}\marg{中文标题}\oarg{目录英文标题}\marg{英文标题}] - 题注命令 \cs{caption} 用于在图表上下方插入题注,需要在浮动环境 \env*{figure} 和 \env*{table} 中使用。在浮动环境外可以使用 \cs{captionof} 命令,第一个参数指定条目名。可以搭配 \pkg*{newfloat} 宏包创建更多类型的浮动环境并设置相应题注。\cs{bicaption} 命令可以实现中英文双语题注,需要在导言区载入 \pkg*{bicaption} 宏包,具体用法见说明文档。 -\end{cnltxlist} - \subsection{索引} \begin{cnltxlist} \command{indexsetup}[\marg{键值列表}] - \pkg*{imakeidx} 宏包增强了索引的功能,可使用户在制作和排版文档的同时制作一个或多个索引。这是 \pkg*{imakeidx} 宏包的接口命令,用于设置索引表的整体格式。 + \pkg*{imakeidx} 宏包增强了索引的功能,可使用户在制作和排版文档的同时制作一个或多个索引。这是 \pkg*{imakeidx} 宏包的接口命令,用于设置索引表的整体格式,它的 \option{level} 和 \option{headers} 选项失效。 \command{index}[\oarg{索引名}\marg{标签}] 索引标签命令的可选参数可以用不同的 \meta{索引名} 给多个索引表设置标签。 \command{makeindex}[\oarg{键值列表}] 用于导言区开启索引收集的命令。这个命令可以重复使用收集多个索引表,以不同的 \meta{索引名} 作为区分,如果仅打印一个索引表没必要重复使用。 \command{printindex}[\sarg\oarg{键值列表}] - 打印不同索引表的命令。这个命令被重新定义,\meta{键值列表} 中的选项与\ref{subsec:directory command} 其它目录命令相同,但是接口命令 \cs{indexsetup} 的部分选项失效。 + 打印不同索引表的命令。这个命令被重新定义,\meta{键值列表} 中的选项与\ref{subsec:directory command} 其它目录命令相同,并多出 \option{name} 选项用于指定打印索引的名字。 \keyval{name}{索引名} 指定输出名为 \meta{索引名} 的索引表,如果只使用一个索引表则默认为项目文件名不需要指定。 \end{cnltxlist} @@ -1367,14 +1442,6 @@ $\blacktriangleright$需要注意正确\textbf{编译索引}要增加 \code{-she 该命令由文档宏包 \pkg*{pdfpages} 提供。可以将其它 \code{pdf} 文档插入当前文档,比如插入其它软件制作的封面。可选参数可以指定插入页数、逻辑页和横向页面等,详情查看宏包文档。 \end{cnltxlist} -\subsection{下划线} -\begin{cnltxlist}[itemsep = 0ex] - \command{uline}[\marg{下划直线}]\default{} - \command{uuline}[\marg{下划双直线}]\default{} - \command{uwave}[\marg{下划波浪线}] - \pkg*{ulem} 宏包提供了多种下划线命令,可以重新定义 \cs{ULthickness} 命令控制下划线的粗细。下划线的深度由 \cs{ULdepth} 控制,默认值 \cs*{maxdimen} 是一个允许深度根据当前字体变化的特殊标志,当然也可以使用 \cs*{setlength} 设定为指定深度。 -\end{cnltxlist} - \appendix \setlist[1]{} \begin{changelog}[title = 更新日志] @@ -1417,7 +1484,7 @@ $\blacktriangleright$需要注意正确\textbf{编译索引}要增加 \code{-she \item 新增脚注段落文本格式定义命令 \cs{deffntpara} 和脚注间距离选项 \option{footnotesep}。 \item 新增悬挂缩进命令 \cs{hangfrom}。 \item 新增行间公式与正文上下间距选项 \option{abovedisplayskip} 和 \option{belowdisplayskip}。 - \item 新增目录文件扩展名分配命令 \cs{AllotCaptionExt}。 + \item 新增目录文件扩展名分配命令 \cs{AssignCaptionExt}。 \end{version} \shortversion{v = 2024aq,date = 2024/03/31,changes = 修复命令 \cs{ebifbitoc} 用于条目缩进选项 \option{tocindent} 失效的问题。} \begin{version}[v = 2024as,date = 2024/04/19] @@ -1429,7 +1496,7 @@ $\blacktriangleright$需要注意正确\textbf{编译索引}要增加 \code{-she \end{version} \shortversion{v = 2024aw,date = 2024/04/22,changes = 新增新建章节标题命令 \cs{NewTitleCommand} 和 \cs{NewTitleEntryCommand}。} \shortversion{v = 2024bb,date = 2024/04/26,changes = 增加对 \pkg*{thmtools} 宏包定理环境目录 \cs{listoftheorems} 的支持。} - \shortversion{v = 2024bk,date = 2024/05/07,changes = 新增局部题注目录分配命令 \cs{AllotPartialExt}。} + \shortversion{v = 2024bk,date = 2024/05/07,changes = 新增局部题注目录分配命令 \cs{AssignPartialExt}。} \begin{version}[v = 2024bn,date = 2024/05/10] \fixed \item 修复 \module*{toc} 模块中带有 \option*{every} 后缀的选项不对所有已注册条目有效的问题。 @@ -1437,8 +1504,26 @@ $\blacktriangleright$需要注意正确\textbf{编译索引}要增加 \code{-she \item 新增统一设置所有目录格式时的条目类型排除命令 \cs{ExcludeEveryTocName}。 \end{version} \shortversion{v = 2024cd,date = 2024/06/14,changes = 修复全局选项 \option{class} 无法正确切换单双面排版的问题。} + \begin{version}[v = 2024cf,date = 2024/06/16] + \fixed + \item 修复和改进新建章节/图表标题时目录层次深度的问题。 + \changed + \item \module*{tools} 模块的图片路径选项 \option{figurepath} 可在正文中使用。 + \end{version} + \shortversion{v = 2024ci,date = 2024/06/22,changes = 修复使用 \code{flush} 类型脚注报错。} + \shortversion{v = 2024co,date = 2024/07/06,changes = 目录命令的可选参数支持 \CTeX 键值列表所有路径的章节标题样式选项。} + \shortversion{v = 2024cq,date = 2024/07/12,changes = 新增章节标题格式复制命令 \cs{CopyTitleFormat}。} + \shortversion{v = 2024cu,date = 2024/07/20,changes = 修复无编号的定理环境标签命令 \cs*{p@}\meta{定理名} 缺失导致报错的问题。} + \shortversion{v = 2024cx,date = 2024/07/28,changes = 新增将脚注置于页面底部的命令 \cs{PushFntBottom}。} + \begin{version}[v = 2024dh,date = 2024/08/06] + \changed + \item 取消默认载入 \pkg*{ulem} 下划线宏包。 + \added + \item 使用 \pkg*{xtemplate} 宏包将封面标题命令 \cs{maketitle} 抽象为由实例组成的模板。 + \item 新增图表题注模块 \module*{cap}。 + \end{version} \end{changelog} \nocite{*} -\AddToHook{cmd/printindex/before}{\clearpage} +% \AddToHook{cmd/printindex/before}{\clearpage} \end{document}
\ No newline at end of file diff --git a/Master/texmf-dist/doc/latex/esami/README b/Master/texmf-dist/doc/latex/esami/README index 22f183f8d82..b1ef039c0ea 100644 --- a/Master/texmf-dist/doc/latex/esami/README +++ b/Master/texmf-dist/doc/latex/esami/README @@ -1,6 +1,6 @@ -The esami package v. 2.8 +The esami package v. 2.9 For generation of texts and solutions of exams in LaTeX -2023/07/21 +2024/07/01 File: README Author: Grazia Messineo and Salvatore Vassallo @@ -14,7 +14,7 @@ varying in random order, with closed or open answer, matching, problems, and so of each group are randomly scrambled across the exam and variants of each exercise are chosen randomly from a file which contains them all and. -Copyright: (C) 2008--2023 Grazia Messineo & Salvatore Vassallo +Copyright: (C) 2008--2024 Grazia Messineo & Salvatore Vassallo Licence: LPPL FILES IN DISTRIBUTION diff --git a/Master/texmf-dist/doc/latex/esami/VERSION b/Master/texmf-dist/doc/latex/esami/VERSION index 64fbb8d2f3d..98dd0056296 100644 --- a/Master/texmf-dist/doc/latex/esami/VERSION +++ b/Master/texmf-dist/doc/latex/esami/VERSION @@ -1 +1 @@ -VERSION 2.8 DATE=July 17, 2023 +VERSION 2.9 DATE=July 1, 2024 diff --git a/Master/texmf-dist/doc/latex/esami/doc/esami-doc-en.pdf b/Master/texmf-dist/doc/latex/esami/doc/esami-doc-en.pdf Binary files differindex d2d96db33a1..8f06ffc33ba 100644 --- a/Master/texmf-dist/doc/latex/esami/doc/esami-doc-en.pdf +++ b/Master/texmf-dist/doc/latex/esami/doc/esami-doc-en.pdf diff --git a/Master/texmf-dist/doc/latex/esami/doc/esami-doc-en.tex b/Master/texmf-dist/doc/latex/esami/doc/esami-doc-en.tex index 44da55a4815..8adc1c17a1b 100644 --- a/Master/texmf-dist/doc/latex/esami/doc/esami-doc-en.tex +++ b/Master/texmf-dist/doc/latex/esami/doc/esami-doc-en.tex @@ -81,6 +81,7 @@ \changes{Version 2.6}{2021/10/11}{Improved the spacing in \cmd{\FPsignpol}. Corrected the code to avoid some spourios spaces. } \changes{Version 2.7}{2022/01/11}{Improved the spacing in \cmd{\sempli} and \cmd{\FPsignpol}. Corrected a misprint in the code.} \changes{Versione 2.8}{2023/07/21}{Documentation modified to solve a problem with the Spanish Language.} +\changes{Versione 2.9}{2024/07/03}{Loaded the package tagpdf-base to avoid an error on the measures of the boxes.} %\IndexPrologue{\section*{Index} Numbers written in italic refer to the page where the item is described; underlined numebers refer to the line of code in which the item is described; other references are to the line of code where the item is used.} \GlossaryPrologue{\section*{Changelog}} \def\MacroFont{\fontencoding\encodingdefault @@ -798,7 +799,8 @@ Inside this file you should use only one command, \cmd{\def \textbackslash eserc \item[Version 2.5 (2018/05/06)] Corrected a misprint in the code. Improved the selection of random exercises. \item[Version 2.6 (2021/10/11)] Improved the spacing in \cmd{\FPsignpol}. Corrected the code to avoid some spourios spaces. \item[Version 2.7 (2021/10/11)] Improved the spacing in \cmd{\sempli} and \cmd{\FPsignpol}. Corrected a misprint in the code -\item[Versione 2.8 (2023/07/21)] Documentation modified to solve a problem with the spanish language. +\item[Version 2.8 (2023/07/21)] Documentation modified to solve a problem with the spanish language. +\item[Version 2.89 ( 2024/07/03)] Loaded the package tagpdf-base to avoid an error on the measures of the boxes. \end{description} \bibliographystyle{plain} diff --git a/Master/texmf-dist/doc/latex/esami/doc/esami-doc-it.pdf b/Master/texmf-dist/doc/latex/esami/doc/esami-doc-it.pdf Binary files differindex c4c9c5f20e7..8b83d7bdf1c 100644 --- a/Master/texmf-dist/doc/latex/esami/doc/esami-doc-it.pdf +++ b/Master/texmf-dist/doc/latex/esami/doc/esami-doc-it.pdf diff --git a/Master/texmf-dist/doc/latex/esami/doc/esami-doc-it.tex b/Master/texmf-dist/doc/latex/esami/doc/esami-doc-it.tex index 0a2b92414f3..dae29f96fe5 100644 --- a/Master/texmf-dist/doc/latex/esami/doc/esami-doc-it.tex +++ b/Master/texmf-dist/doc/latex/esami/doc/esami-doc-it.tex @@ -79,6 +79,8 @@ \changes{Versione 2.6}{2021/10/11}{Migliorata la spaziatura in \cmd{\FPsignpol}. Corretto il codice per eliminare alcuni spazi spuri.} \changes{Versione 2.7}{2022/01/11}{Migliorata la spaziatura in \cmd{\sempli} e \cmd{\FPsignpol}. Corretto un errore nel codice} \changes{Versione 2.8}{2023/07/21}{Modificata la documentazione per risolvere un problema con la lingua spagnola.} +\changes{Versione 2.9}{2024/07/03}{Caricato il pacchetto tagpdf-base per evitare un errore sulle misure delle box.} + %\IndexPrologue{\section*{Indice} I numeri scritti in italico rimandano alla pagina dove è descritto l'item; i numeri sottolineati rimandano alla riga di codice in cui l'item è descritto; le altre referenze sono alla riga di codice dove l'item è usato.} \GlossaryPrologue{\section*{Changelog}} \def\MacroFont{\fontencoding\encodingdefault @@ -800,7 +802,7 @@ Al suo interno si deve usare un solo comando, \cmd{\def \textbackslash esercizio \item[Versione 2.6 (2021/10/11)] Migliorata la spaziatura in \cmd{\FPsignpol}. Corretto il codice per eliminare alcuni spazi spuri. \item[Versione 2.7 (2022/01/11)] Migliorata la spaziatura in \cmd{\sempli} e \cmd{\FPsignpol}. Corretto un errore nel codice \item[Versione 2.8 (2023/07/21)] Modificata la documentazione per risolvere un problema con la lingua spagnola. - + \item[Versione 2.8 (2024/07/03)]Caricato il pacchetto tagpdf-base per evitare un errore sulle misure delle box. \end{description} diff --git a/Master/texmf-dist/doc/latex/esami/doc/examples/qftest5-fillinqiie1.parametri.tex b/Master/texmf-dist/doc/latex/esami/doc/examples/qftest5-fillinqiie1.parametri.tex deleted file mode 100644 index 107265dbc49..00000000000 --- a/Master/texmf-dist/doc/latex/esami/doc/examples/qftest5-fillinqiie1.parametri.tex +++ /dev/null @@ -1,4 +0,0 @@ -\FPeval{a}{round(12:0)} -\FPeval{b}{round(13:0)} -\FPeval{c}{round(3:0)} -\FPeval{k}{round(4:0)} diff --git a/Master/texmf-dist/doc/latex/esami/doc/examples/qftest5-fillinqiie2.parametri.tex b/Master/texmf-dist/doc/latex/esami/doc/examples/qftest5-fillinqiie2.parametri.tex deleted file mode 100644 index e736caa6a08..00000000000 --- a/Master/texmf-dist/doc/latex/esami/doc/examples/qftest5-fillinqiie2.parametri.tex +++ /dev/null @@ -1,4 +0,0 @@ -\FPeval{a}{round(14:0)} -\FPeval{b}{round(15:0)} -\FPeval{c}{round(2:0)} -\FPeval{k}{round(5:0)} diff --git a/Master/texmf-dist/doc/latex/esami/doc/examples/qftest5-fillinqiie3.parametri.tex b/Master/texmf-dist/doc/latex/esami/doc/examples/qftest5-fillinqiie3.parametri.tex deleted file mode 100644 index 98ef5100988..00000000000 --- a/Master/texmf-dist/doc/latex/esami/doc/examples/qftest5-fillinqiie3.parametri.tex +++ /dev/null @@ -1,4 +0,0 @@ -\FPeval{a}{round(12:0)} -\FPeval{b}{round(15:0)} -\FPeval{c}{round(2:0)} -\FPeval{k}{round(4:0)} diff --git a/Master/texmf-dist/doc/latex/esami/doc/examples/qftest5-fillinqiie4.parametri.tex b/Master/texmf-dist/doc/latex/esami/doc/examples/qftest5-fillinqiie4.parametri.tex deleted file mode 100644 index ab468d8a752..00000000000 --- a/Master/texmf-dist/doc/latex/esami/doc/examples/qftest5-fillinqiie4.parametri.tex +++ /dev/null @@ -1,4 +0,0 @@ -\FPeval{a}{round(13:0)} -\FPeval{b}{round(14:0)} -\FPeval{c}{round(2:0)} -\FPeval{k}{round(4:0)} diff --git a/Master/texmf-dist/doc/latex/esami/doc/examples/testA-xetex-sol.sol.tex b/Master/texmf-dist/doc/latex/esami/doc/examples/testA-xetex-sol.sol.tex new file mode 100644 index 00000000000..00cc5e002ca --- /dev/null +++ b/Master/texmf-dist/doc/latex/esami/doc/examples/testA-xetex-sol.sol.tex @@ -0,0 +1,84 @@ +\begin{minipage}{.33\textwidth}{\large\textbf{Soluzione\ Versione\ n. 1}} +\begin{enumerate} +\item\ref{e:1-file:test2-q:i} +\item\ref{e:1-file:test3-q:ii} +\item\ref{e:1-file:test2-q:ii} +\item\ref{e:1-file:test2-q:iii} +\item\ref{e:1-file:test3-q:i} +\item\ref{e:1-file:test1-q:i} +\item\ref{e:1-file:test9-q:ii} +\item\ref{e:1-file:test14-q:i} +\item\ref{e:1-file:test4-q:v} +\item \makeatletter \input{qftest5-fillinqiie1.parametri}\makeatother + \FPsv [2]{b/k} +\item\ref{e:1-file:test11-q:i} +\item\ref{e:1-file:test11-q:ii} +\par\end{enumerate}\vspace{3ex} +\begin{enumerate} +\item\ref{e:1-file:test12-q:i} +\item\ref{e:1-file:test13-q:ii} +\par\end{enumerate}\vspace{3ex} +\end{minipage} +\begin{minipage}{.33\textwidth}{\large\textbf{Soluzione\ Versione\ n. 2}} +\begin{enumerate} +\item\ref{e:2-file:test2-q:iii} +\item\ref{e:2-file:test3-q:i} +\item\ref{e:2-file:test2-q:ii} +\item\ref{e:2-file:test3-q:iv} +\item\ref{e:2-file:test2-q:i} +\item\ref{e:2-file:test1-q:ii} +\item \makeatletter \input{qftest5-fillinqiie2.parametri}\makeatother + \FPsv [2]{a/c} +\item\ref{e:2-file:test9-q:iii} +\item\ref{e:2-file:test14-q:i} +\item\ref{e:2-file:test4-q:ii} +\item\ref{e:2-file:test11-q:i} +\item\ref{e:2-file:test11-q:ii} +\par\end{enumerate}\vspace{3ex} +\begin{enumerate} +\item\ref{e:2-file:test13-q:iii} +\item\ref{e:2-file:test12-q:iii} +\par\end{enumerate}\vspace{3ex} +\end{minipage} +\begin{minipage}{.33\textwidth}{\large\textbf{Soluzione\ Versione\ n. 3}} +\begin{enumerate} +\item\ref{e:3-file:test2-q:iii} +\item\ref{e:3-file:test3-q:i} +\item\ref{e:3-file:test2-q:i} +\item\ref{e:3-file:test3-q:ii} +\item\ref{e:3-file:test2-q:ii} +\item\ref{e:3-file:test14-q:i} +\item \makeatletter \input{qftest5-fillinqiie3.parametri}\makeatother + \FPsv [2]{b/k} +\item\ref{e:3-file:test4-q:iii} +\item\ref{e:3-file:test1-q:i} +\item\ref{e:3-file:test9-q:iv} +\item\ref{e:3-file:test11-q:i} +\item\ref{e:3-file:test11-q:ii} +\par\end{enumerate}\vspace{3ex} +\begin{enumerate} +\item\ref{e:3-file:test12-q:i} +\item\ref{e:3-file:test13-q:iv} +\par\end{enumerate}\vspace{3ex} +\end{minipage} +\begin{minipage}{.33\textwidth}{\large\textbf{Soluzione\ Versione\ n. 4}} +\begin{enumerate} +\item\ref{e:4-file:test2-q:ii} +\item\ref{e:4-file:test2-q:i} +\item\ref{e:4-file:test3-q:i} +\item\ref{e:4-file:test3-q:ii} +\item\ref{e:4-file:test2-q:iii} +\item\ref{e:4-file:test4-q:v} +\item\ref{e:4-file:test9-q:iii} +\item\ref{e:4-file:test1-q:ii} +\item\ref{e:4-file:test14-q:i} +\item \makeatletter \input{qftest5-fillinqiie4.parametri}\makeatother + \FPsv [2]{a/c} +\item\ref{e:4-file:test11-q:i} +\item\ref{e:4-file:test11-q:ii} +\par\end{enumerate}\vspace{3ex} +\begin{enumerate} +\item\ref{e:4-file:test13-q:iii} +\item\ref{e:4-file:test12-q:iii} +\par\end{enumerate}\vspace{3ex} +\end{minipage} diff --git a/Master/texmf-dist/doc/latex/fancyhdr/README b/Master/texmf-dist/doc/latex/fancyhdr/README index 4a7d219fdc0..3131149015c 100644 --- a/Master/texmf-dist/doc/latex/fancyhdr/README +++ b/Master/texmf-dist/doc/latex/fancyhdr/README @@ -27,7 +27,7 @@ In order to latex the documentation you need to have a copy of boxedminipage.sty (CTAN:/macros/latex/contrib/boxedminipage) and refcount.sty (CTAN:/macros/latex/contrib/oberdiek/) installed. -This is version 4.2 of fancyhdr.sty and extramarks.sty. They are +This is version 4.3.1 of fancyhdr.sty and extramarks.sty. They are described in the third edition of The LaTeX Companion. Extramarks.sty has not been changed, except for the version and copyright information. diff --git a/Master/texmf-dist/doc/latex/fancyhdr/fancyhdr.pdf b/Master/texmf-dist/doc/latex/fancyhdr/fancyhdr.pdf Binary files differindex 9f781dad3ba..35cc4524ff6 100644 --- a/Master/texmf-dist/doc/latex/fancyhdr/fancyhdr.pdf +++ b/Master/texmf-dist/doc/latex/fancyhdr/fancyhdr.pdf diff --git a/Master/texmf-dist/doc/latex/fillwith/MANIFEST.md b/Master/texmf-dist/doc/latex/fillwith/MANIFEST.md new file mode 100644 index 00000000000..4cfe5172382 --- /dev/null +++ b/Master/texmf-dist/doc/latex/fillwith/MANIFEST.md @@ -0,0 +1,54 @@ +# Manifest for fillwith + +Copyright (C) Fri Aug 9 12:12:59 2024 Clea F. Rees + +This work may be distributed and/or modified under the conditions of the LaTeX +Project Public License, either version 1.3c of this license or (at your option) +any later version. The latest version of this license is in + https://www.latex-project.org/lppl.txt +and version 1.3 or later is part of all distributions of LaTeX version +2008-05-04 or later. + +This work has the LPPL maintenance status `maintained'. + +The Current Maintainer of this work is Clea F. Rees. + +This work consists of all files listed in manifest.txt. + +This file was automatically generated by `l3build manifest`. + +## Source files + + +### Package files + + +* README.md +* MANIFEST.md +* fillwith.dtx +* fillwith.ins + +### Development files + + +* build.lua +* manifest.lua +* tag.lua +* fillwith-test.lvt +* fillwith-test.luatex.tlg +* fillwith-test.tlg +* fillwith-test.xetex.tlg + + +## Derived files + + +### Package files + +* fillwith.sty +* fillwith-example.tex + +### Typeset documentation + +* fillwith.pdf +* fillwith-example.pdf diff --git a/Master/texmf-dist/doc/latex/fillwith/README.md b/Master/texmf-dist/doc/latex/fillwith/README.md new file mode 100644 index 00000000000..f7f1922b89c --- /dev/null +++ b/Master/texmf-dist/doc/latex/fillwith/README.md @@ -0,0 +1,32 @@ +$Id: README.md 10215 2024-08-09 11:12:21Z cfrees $ + +# fillwith + +A LaTeX package for filling vertical space with something rather than nothing. + +Currently supported somethings are solid rules and dotted lines, with or +without numbers. The package uses a mixture of plain-ish macros, LaTeX 2e and +expl3 methods, but a key-value approach to configuration should make the +document-level interface relatively sane, even if nothing else is. + +For details, please see fillwith.pdf. The implementation is minimally +documented because I have no idea of how to document code. + +## Code Repositories + +Code is hosted at + https://codeberg.org/cfr/fillwith +For convenience, the repository is mirrored at + https://github.com/cfr42/fillwith + +## Contact Details + +Bug reports, feature requests etc. should be filed at + https://codeberg.org/cfr/fillwith/issues + + +Clea F. Rees +Version 0.3 +2024-08-09 + +vim: et:tw=80: diff --git a/Master/texmf-dist/doc/latex/fillwith/fillwith-example.pdf b/Master/texmf-dist/doc/latex/fillwith/fillwith-example.pdf Binary files differnew file mode 100644 index 00000000000..5af411b5e05 --- /dev/null +++ b/Master/texmf-dist/doc/latex/fillwith/fillwith-example.pdf diff --git a/Master/texmf-dist/doc/latex/fillwith/fillwith-example.tex b/Master/texmf-dist/doc/latex/fillwith/fillwith-example.tex new file mode 100644 index 00000000000..29387280401 --- /dev/null +++ b/Master/texmf-dist/doc/latex/fillwith/fillwith-example.tex @@ -0,0 +1,71 @@ +%% +%% This is file `fillwith-example.tex', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% fillwith.dtx (with options: `ee') +%% Copyright (C) 2024 Clea F. Rees. +%% +%% This work may be distributed and/or modified under the +%% conditions of the LaTeX Project Public License, either version 1.3c +%% of this license or (at your option) any later version. +%% The latest version of this license is in +%% https://www.latex-project.org/lppl.txt +%% and version 1.3c or later is part of all distributions of LaTeX +%% version 2008-05-04 or later. +%% +%% This work has the LPPL maintenance status `maintained'. +%% +%% The Current Maintainer of this work is Clea F. Rees. +%% +%% This file may only be distributed together with a copy of the package +%% fillwith. You may however distribute the package fillwith without +%% such generated files. +%% +%% This work consists of all files listed in manifest.txt. +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\listfiles +\documentclass[british,a6paper]{article} +\usepackage{babel} +\usepackage[scale=.85,marginparwidth=0pt,marginparsep=0pt]{geometry} +\usepackage{fillwith} +\usepackage{cfr-lm} +\begin{document} +\author{A. N. Author} +\title{\texttt{fillwith} Demo} +\maketitle +\begin{enumerate} + \item What is the answer to the question? + \fillwithrules + \item How did you answer the previous question? + \fillwith*[style=line] + \item Why answer? + + \fillwith*[style=rule,fillwith ht=1.25,colour=blue!40!cyan] + \clearpage + \item Evaluate your responses so far. + \fillwithdottedlines + \item Evaluate your responses so far. + + {% + \fillwithset{dotted colour=magenta}% + \fillwithdottedlines[1.5] + } + \item Criticise your evaluation. + \fillwithdottedlines* + \clearpage + \item Assess your answers. + \fillwithnolines[goal ht = .33\textheight] + \item Assess your answers. + + \fillwithnolines[style=rules,no font=\bfseries\tiny,colour=green!50!gray,goal ht = .67\textheight] + \item Summarise your analysis. + \fillwithnolines* +\end{enumerate} + +\end{document} +\endinput +%% +%% End of file `fillwith-example.tex'. diff --git a/Master/texmf-dist/doc/latex/fillwith/fillwith.pdf b/Master/texmf-dist/doc/latex/fillwith/fillwith.pdf Binary files differnew file mode 100644 index 00000000000..77fa2ccc000 --- /dev/null +++ b/Master/texmf-dist/doc/latex/fillwith/fillwith.pdf diff --git a/Master/texmf-dist/doc/latex/fontscale/CHANGELOG.md b/Master/texmf-dist/doc/latex/fontscale/CHANGELOG.md index 9706fbbe09e..46a32e8fc93 100644 --- a/Master/texmf-dist/doc/latex/fontscale/CHANGELOG.md +++ b/Master/texmf-dist/doc/latex/fontscale/CHANGELOG.md @@ -7,6 +7,58 @@ Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to ## [Unreleased] +## [v2.1.0] - 2024-08-12 + +### Changed +- Documentation improvements. + +### Added +- `\CurrentFontSizeCommand` + +## [v2.0.0] - 2024-08-02 + +### Changed +- This update includes many changes that are backwards incompatible. +- The documentation has been completely rewritten. +- Package description changed from "A user interface for setting document font + sizes" to "A flexible interface for setting font sizes". +- The code no longer uses `\@setfontsize`. +- The font size commands provided by this package now do nothing, except issue + a warning, if used in math mode. +- The base font size of the musical typographic scale is now set by the new key + `musical/base`. +- `\PrintFontParameters` renamed to `\PrintFontSizeParameters`. +- `\PrintAllFontParameters` renamed to `\PrintAllFontSizeParameters`. +- `\PrintSampleText` uses a `+m`- instead of an `O`-type argument. +- `\PrintFontSizeCommand` prints `\undefined` instead of `UNDEFINED`. +- `\fontscalesetup` is now removed in `\text_purify:n`. + +### Removed +- Keys `typographic-scale=modular` and `modular`. +- Key `ignore-order` (no support for using `\tiny` to `\Huge` in the wrong + order). +- Key `reset` (very rarely used). +- Public `prop` variables for each font size command from `\tiny` to `\Huge`. + (They are redundant with the other public variables and programmers will very + likely prefer using their own `prop` variables.) + +### Added +- `\fontscalesetup` now has an optional starred argument which first resets the + keys to their initial values. +- Key `musical/base` (explained earlier). +- The package commands now issue a user-friendly error message if the font size + is a zero or negative length. +- The package commands now issue an error if the font baselineskip is less than + the font size. +- The package commands that would produce a low-level error if used in math + mode now issue a user-friendly error message instead. + +### Fixed +- Now correctly checks that the package requires `LaTeX2e` version 2023-11-01 + or newer. +- The keys `<font size command>` no longer incorrectly treat a `/` within a + brace group as the delimiter. + ## [v1.3.0] - 2024-05-17 ### Added @@ -18,7 +70,7 @@ Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to ### Changed - The code now regularly uses `V`- and `v`-type arguments to get the value of a variable. -- The code now uses private `expl3` wrappers around the LaTeX2e commands +- The code now uses private `expl3` wrappers around the `LaTeX2e` commands `\@setfontsize`, `\fontsize`, and `\selectfont`. ## [v1.2.2] - 2024-04-29 diff --git a/Master/texmf-dist/doc/latex/fontscale/README.txt b/Master/texmf-dist/doc/latex/fontscale/README.txt index 292cfada9ba..d6c9224ee0d 100644 --- a/Master/texmf-dist/doc/latex/fontscale/README.txt +++ b/Master/texmf-dist/doc/latex/fontscale/README.txt @@ -1,4 +1,4 @@ -Package: fontscale -- A user interface for setting document font sizes +Package: fontscale -- A flexible interface for setting font sizes Copyright: 2024 (c) Oliver Beery <beeryoliver@gmail.com> CTAN: https://ctan.org/pkg/fontscale Repository: https://github.com/beeryoliver/fontscale diff --git a/Master/texmf-dist/doc/latex/fontscale/beery.cls b/Master/texmf-dist/doc/latex/fontscale/beery.cls index 4777c06a8ef..f2fd7fd2c5f 100644 --- a/Master/texmf-dist/doc/latex/fontscale/beery.cls +++ b/Master/texmf-dist/doc/latex/fontscale/beery.cls @@ -1,71 +1,84 @@ -% Note: This documentclass is designed ONLY for the document 'fontscale-manual'. Compiled using LuaLaTeX. +% Note: This class is designed ONLY for 'fontscale.tex'. Compiled with LuaTeX. -% The 2023-06-01 LaTeX kernel update added the 'shipout' hook. -\NeedsTeXFormat{LaTeX2e}[2023-06-01] +% LaTeX2e version 2023-11-01 added \IfExplAtLeastTF. +\NeedsTeXFormat{LaTeX2e}[2023-11-01] \ProvidesExplClass {beery} - {2024-04-21} + {2024-08-12} {} {} -\RequirePackage { fix-cm } \LoadClass { article } + +\box_new:N \l__beery_tmp_box + \RequirePackage { fontscale } \fontscalesetup { musical } -\RequirePackage [ list-final-separator = { ,~ and~ } ] { siunitx } +\RequirePackage { siunitx } +\sisetup { list-final-separator = { ,~ and~ } , mode = match } \RequirePackage { mathtools } \RequirePackage [ shortcuts , allowbreakbefore ] { extdash } \RequirePackage { csquotes } +\RequirePackage { lmodern } % CUSTOM MACROS +\tl_const:Nn \c_beery_alphabet_tl { abcdefghijklmnopqrstuvwxyz } +\NewExpandableDocumentCommand \alphabet { } { \c_beery_alphabet_tl } \NewDocumentCommand \Key { m o o } { + \mode_leave_vertical: \group_begin: \ttfamily - \bool_case:nF + \IfNoValueTF {#3} { - { - \bool_lazy_and_p:nn - { \tl_if_novalue_p:n {#2} } - { \tl_if_novalue_p:n {#3} } - } - {#1} - { - \bool_lazy_and_p:nn - { ! \tl_if_novalue_p:n {#2} } - { \tl_if_novalue_p:n {#3} } - } - { #1~ =~ #2 } - { - \bool_lazy_and_p:nn - { ! \tl_if_novalue_p:n {#2} } - { ! \tl_if_novalue_p:n {#3} } - } - { #1~ =~ #2 \hspace* { \fill } \makebox { initial~ =~ #3 } } + \IfNoValueTF {#2} + {#1} + { #1 $\,=\,$ \allowbreak #2 } } - { \errmessage { invalid } } + { #1 $\,=\,$ #2 \hspace* { \fill } \hbox:n { initial $\,=\,$ #3 } } \group_end: } +\NewDocumentCommand \Value { m } { \texttt {#1} } \NewDocumentCommand \cmd { m } { \texttt { \token_to_str:N #1 } \@ } \NewDocumentCommand \cs { m } { \texttt { \token_to_str:c {#1} } \@ } \NewDocumentCommand \marg { m } - { \allowbreak \texttt { \c_left_brace_str #1 \c_right_brace_str } } -\NewDocumentCommand \oarg { m } { \allowbreak \texttt { [ #1 ] } } -\NewDocumentCommand \meta { m } { \texttt { \textlangle #1 \textrangle } } + { + \allowbreak + \texttt { \c_left_brace_str } + $\langle$ + { \normalfont \itshape #1 } + $\rangle$ + \texttt { \c_right_brace_str } + } +\NewDocumentCommand \oarg { m } + { + \allowbreak + \texttt { [ } + $\langle$ + { \normalfont \itshape #1 } + $\rangle$ + \texttt { ] } + } +\NewDocumentCommand \sarg { } { $\langle$ \texttt {*} $\rangle$ } +\NewDocumentCommand \meta { m } + { + $\langle$ + { \normalfont \itshape #1 } + $\rangle$ + } \NewDocumentCommand \cls { m } { \textsf {#1} } \NewDocumentCommand \env { m } { \texttt {#1} } \NewDocumentCommand \pkg { m } { \textsf {#1} } -\NewDocumentCommand \filex { m } { \texttt {#1} \@ } \NewDocumentCommand \latin { m } { \textit {#1} } % PAGE STYLE -\hbox_set:Nn \l_tmpa_box { abcdefghijklmnopqrstuvwxyz } -\dim_const:Nn \c_beery_alphabet_dim { \box_wd:N \l_tmpa_box } +\hbox_set:Nn \l__beery_tmp_box { \c_beery_alphabet_tl } +\dim_const:Nn \c_beery_alphabet_dim { \box_wd:N \l__beery_tmp_box } +\dim_log:N \c_beery_alphabet_dim -\dim_const:Nn \c_beery_big_dim - { \fp_to_dim:n { \l_fontscale_normalsize_size_dim * 10 / 7 } } +\dim_const:Nn \c_beery_big_dim { \l_fontscale_normalsize_baselineskip_skip } \dim_const:Nn \c_beery_medium_dim { \c_beery_big_dim / 2 } \dim_const:Nn \c_beery_small_dim { \c_beery_big_dim / 4 } \skip_const:Nn \c_beery_big_skip @@ -85,12 +98,15 @@ \skip_set:Nn \topskip { \l_fontscale_normalsize_size_dim } \skip_set_eq:NN \splittopskip \topskip -\RequirePackage - [ - letterpaper - , textwidth = \dim_eval:n { \fp_use:N \c_e_fp \c_beery_alphabet_dim } +\RequirePackage { geometry } +\geometry + { + a4paper + , textwidth = + \dim_eval:n { \fp_to_dim:n { \c_e_fp * \c_beery_alphabet_dim } } , textheight = - \dim_eval:n { \fp_eval:n { \c_e_fp * 1.6180 } \c_beery_alphabet_dim } + \dim_eval:n + { \fp_to_dim:n { 1.6180 * \c_e_fp * \c_beery_alphabet_dim } } , heightrounded , centering , headheight = \l_fontscale_footnotesize_baselineskip_skip @@ -98,8 +114,7 @@ , footskip = \dim_eval:n { \c_beery_big_dim + \l_fontscale_footnotesize_baselineskip_skip } - ] - { geometry } + } \RequirePackage { fancyhdr } \pagestyle { fancy } @@ -111,14 +126,22 @@ % PARAGRAPH STYLE \nonfrenchspacing -\linespread { \fp_eval:n { 25 / 21 } } -\RequirePackage [ skip = \c_beery_medium_skip ] { parskip } +\linespread { 1 } +\skip_set_eq:NN \parskip \c_beery_medium_skip +\dim_zero:N \parindent \RequirePackage [ raggedrightboxes ] { ragged2e } \skip_set:Nn \RaggedRightRightskip { 0pt plus 0.5 \linewidth } +\dim_zero:N \RaggedRightParindent +\dim_set_eq:NN \JustifyingParindent \RaggedRightParindent \RaggedRight +\int_set:Nn \pretolerance { -1 } +\int_set:Nn \tolerance { 200 } +\dim_zero:N \emergencystretch \int_set:Nn \widowpenalty { 10000 } \int_set_eq:NN \clubpenalty \widowpenalty \int_set_eq:NN \displaywidowpenalty \widowpenalty +\int_set:Nn \hyphenpenalty { 99 } +\int_set_eq:NN \exhyphenpenalty \hyphenpenalty % HEADINGS, TABLE OF CONTENTS @@ -129,32 +152,34 @@ \titlespacing* \section % section { 0pt } % indent { - \fp_eval:n { 4 / 3 } \c_beery_medium_dim - plus \fp_eval:n { 1 / 2 * 4 } \c_beery_medium_dim - minus \fp_eval:n { 1 / 3 / 4 } \c_beery_medium_dim + - \parskip + + \c_beery_big_dim + plus \fp_eval:n { 1 / 2 * 4 } \c_beery_big_dim + minus \fp_eval:n { 1 / 3 / 4 } \c_beery_big_dim } % before - { \c_beery_medium_skip } % after + { - \parskip + \c_beery_medium_skip } % after \titlespacing* \subsection { 0pt } { - \fp_eval:n { 4 / 3 } \c_beery_medium_dim + - \parskip + + \fp_eval:n { 4 / 3 } \c_beery_medium_dim plus \fp_eval:n { 1 / 2 * 4 } \c_beery_medium_dim minus \fp_eval:n { 1 / 3 / 4 } \c_beery_medium_dim } - { \c_beery_medium_skip } + { - \parskip + \c_beery_medium_skip } \titleformat \section % section [ block ] % shape { \raggedright \large \bfseries } % format - { \thesection . } % label - { 0.5em } % the horizontal separation between label and title body + { \thesection } % label + { 1em } % the horizontal separation between label and title body { } % before code { } % after code \titleformat \subsection [ block ] { \raggedright \normalsize \bfseries } - { \thesubsection . } - { 0.5em } + { \thesubsection } + { 1em } { } { } @@ -181,7 +206,10 @@ { \par \IfBooleanTF #1 - { \int_compare:nNnT { \prevgraf } = { 1 } { \nobreak \@afterheading } } + { + \int_compare:nNnT { \prevgraf } = { 1 } + { \nobreak \@afterheading } + } { \nobreak \@afterheading } } \NewDocumentCommand \listheading { m } @@ -189,7 +217,8 @@ \par #1 \par - \int_compare:nNnT { \prevgraf } = { 1 } { \nobreak \@afterheading } + \int_compare:nNnT { \prevgraf } = { 1 } + { \nobreak \@afterheading } \vspace { \skip_eval:n { \c_beery_small_skip - \parskip } } } @@ -215,7 +244,10 @@ \coffin_new:N \l__beery_footnote_coffin % 1.2 = baselineskip-size-ratio \dim_const:Nn \c_beery_footnote_baselineheight_dim - { \fp_eval:n { 1.2 * \f@linespread - 1 } \l_fontscale_footnotesize_size_dim } + { + \fp_to_dim:n + { ( 1.2 * \f@linespread - 1 ) * \l_fontscale_footnotesize_size_dim } + } \RenewDocumentCommand \@makefntext { +m } { \vcoffin_set:Nnn \l__beery_footnote_coffin { \textwidth } @@ -224,8 +256,10 @@ { \dim_set:Nn \leftmargin { - \fp_eval:n { ( 1 - \l_fontscale_footnotesize_scale_fp ) / 2 } - \textwidth + \fp_to_dim:n + { + ( 1 - \l_fontscale_footnotesize_scale_fp ) / 2 * \textwidth + } } \dim_set_eq:NN \rightmargin \leftmargin \dim_set:Nn \labelsep { 0.5em } @@ -242,4 +276,5 @@ \AddToHook { shipout / lastpage } { \label { LastPage } } \RequirePackage { xurl } -\RequirePackage [ bookmarksnumbered , hidelinks , linktoc = page ] { hyperref }
\ No newline at end of file +\RequirePackage { hyperref } +\hypersetup { bookmarksnumbered , hidelinks , linktoc = page }
\ No newline at end of file diff --git a/Master/texmf-dist/doc/latex/fontscale/fontscale-manual-table-classic.tex b/Master/texmf-dist/doc/latex/fontscale/fontscale-manual-table-classic.tex deleted file mode 100644 index 029d304d82c..00000000000 --- a/Master/texmf-dist/doc/latex/fontscale/fontscale-manual-table-classic.tex +++ /dev/null @@ -1,39 +0,0 @@ -\ProvidesFile - {fontscale-manual-table-classic.tex} - [2024-04-15] - -\begin{table} - \centering - \caption - {% - The size of each font size command in \unit{pt} when using a classic typographic scale.% - \label{table:classicscales}% - } - \bigskip - \begin{tblr} - { - colspec= - { - l - Q[si={table-format=3.2},c] - Q[si={table-format=3.2},c] - Q[si={table-format=3.2},c] - } - , cell{1}{2-Z}={guard} - } - \toprule - Command & \Key{classic-10pt} & \Key{classic-11pt} & \Key{classic-12pt} \\ - \midrule - \cs{tiny} & 6 & 7 & 8 \\ - \cs{scriptsize} & 7 & 8 & 9 \\ - \cs{footnotesize} & 8 & 9 & 10 \\ - \cs{small} & 9 & 10 & 11 \\ - \cs{normalsize} & 10 & 11 & 12 \\ - \cs{large} & 11 & 12 & 14 \\ - \cs{Large} & 12 & 14 & 16 \\ - \cs{LARGE} & 14 & 16 & 18 \\ - \cs{huge} & 16 & 18 & 21 \\ - \cs{Huge} & 18 & 21 & 24 \\ - \bottomrule - \end{tblr} -\end{table}
\ No newline at end of file diff --git a/Master/texmf-dist/doc/latex/fontscale/fontscale-manual-table-font-steps.tex b/Master/texmf-dist/doc/latex/fontscale/fontscale-manual-table-font-steps.tex deleted file mode 100644 index 8c5cc8c1416..00000000000 --- a/Master/texmf-dist/doc/latex/fontscale/fontscale-manual-table-font-steps.tex +++ /dev/null @@ -1,38 +0,0 @@ -\ProvidesFile - {fontscale-manual-table-font-steps.tex} - [2024-04-15] - -\begin{table} - \centering - \caption - {% - The step of each font size command. - These are constants and cannot be changed.% - \label{table:fontsteps}% - } - \bigskip - \begin{tblr} - { - colspec= - { - l - Q[si={table-format=3.2},c] - } - , cell{1}{2}={guard} - } - \toprule - Command & Step \\ - \midrule - \cs{tiny} & -4 \\ - \cs{scriptsize} & -3 \\ - \cs{footnotesize} & -2 \\ - \cs{small} & -1 \\ - \cs{normalsize} & 0 \\ - \cs{large} & 1 \\ - \cs{Large} & 2 \\ - \cs{LARGE} & 3 \\ - \cs{huge} & 4 \\ - \cs{Huge} & 5 \\ - \bottomrule - \end{tblr} -\end{table}
\ No newline at end of file diff --git a/Master/texmf-dist/doc/latex/fontscale/fontscale-manual-table-modular-musical.tex b/Master/texmf-dist/doc/latex/fontscale/fontscale-manual-table-modular-musical.tex deleted file mode 100644 index 306578ec354..00000000000 --- a/Master/texmf-dist/doc/latex/fontscale/fontscale-manual-table-modular-musical.tex +++ /dev/null @@ -1,38 +0,0 @@ -\ProvidesFile - {fontscale-manual-table-modular-musical.tex} - [2024-04-15] - -\begin{table} - \centering - \caption - {% - The size of each font size command when using a modular or musical typographic scale with the initial settings. - The font sizes are in \unit{pt} and rounded to two decimal places.% - } - \bigskip - \begin{tblr} - { - colspec= - { - l - Q[si={table-format=3.2},c] - Q[si={table-format=3.2},c] - } - , cell{1}{2-3}={guard} - } - \toprule - Command & \Key{modular} & \Key{musical} \\ - \midrule - \cs{tiny} & 6.24 & 5.74 \\ - \cs{scriptsize} & 7.02 & 6.60 \\ - \cs{footnotesize} & 7.90 & 7.58 \\ - \cs{small} & 8.89 & 8.71 \\ - \cs{normalsize} & 10 & 10 \\ - \cs{large} & 11.25 & 11.49 \\ - \cs{Large} & 12.66 & 13.20 \\ - \cs{LARGE} & 14.24 & 15.16 \\ - \cs{huge} & 16.02 & 17.41 \\ - \cs{Huge} & 18.02 & 20 \\ - \bottomrule - \end{tblr} -\end{table}
\ No newline at end of file diff --git a/Master/texmf-dist/doc/latex/fontscale/fontscale-manual.pdf b/Master/texmf-dist/doc/latex/fontscale/fontscale-manual.pdf Binary files differdeleted file mode 100644 index 2637ef9c1fe..00000000000 --- a/Master/texmf-dist/doc/latex/fontscale/fontscale-manual.pdf +++ /dev/null diff --git a/Master/texmf-dist/doc/latex/fontscale/fontscale-manual.tex b/Master/texmf-dist/doc/latex/fontscale/fontscale-manual.tex deleted file mode 100644 index 9917636a046..00000000000 --- a/Master/texmf-dist/doc/latex/fontscale/fontscale-manual.tex +++ /dev/null @@ -1,390 +0,0 @@ -\documentclass{beery} - -\begin{document} - - -\section* - {% - \SetFontStep*{1}% - The \pkg{fontscale} package% - } - -A user interface for setting document font sizes - -Oliver Beery - -Version 1.3.0\quad{}17 May 2024 - - -\section{Introduction} -\label{sec:intro} - -\subsection{About} -\label{subsec:about} - -\listheading{The \pkg{fontscale} package provides the following functionalities:} -\begin{itemize} - \item - Set font sizes via a classic, modular, or musical typographic scale. - \item - Set arbitrary sizes and baselineskips for the standard font size commands \cs{tiny}, \cs{scriptsize}, \cs{footnotesize}, \cs{small}, \cs{normalsize}, \cs{large}, \cs{Large}, \cs{LARGE}, \cs{huge}, and \cs{Huge}. - \item - Set the font size settings mid\-/document or within a local group. - \item - Set the font size by setting the font step, scale, or size. - \item - Set the font size relative to the current font size. - \item - Use the current font step, scale, size, and baselineskip directly, for example, for printing or within calculations. - \item - Print sample text to test different font sizes. - \item - For advanced users, store the step, scale, size, and baselineskip of each font size command in \pkg{expl3} variables. -\end{itemize} - -\subsection{Loading the package} -\label{subsec:loading} - -This package requires the 10 October 2023 \pkg{l3kernel} update. -You may need to ensure that your \LaTeX{} installation is up\-/to\-/date before using this package. - -This package lets the user set arbitrary font sizes. -This works with most fonts produced today, but, for historical reasons, the default Computer Modern font is available only in a number of fixed sizes. -If you get a warning that Computer Modern is not available in the requested size, you may need to add the code \cs{RequirePackage{fix-cm}} before \cs{documentclass} to make Computer Modern available at arbitrary font sizes. - -\cs{usepackage}\marg{fontscale} -\nopagebreak\newline -\cs{fontscalesetup}\marg{\meta{keyval list}} - -Load the \pkg{fontscale} package via the usual command in the document preamble. -This package has no package options. -Instead, the package keys are set up via the command \cs{fontscalesetup}\marg{\meta{keyval list}}. -\meta{keyval list} must receive a comma\-/separated list of keys and their associated values. -The package keys are documented in \S\ref{sec:choosing} and \S\ref{sec:overwriting}. - -Many \LaTeX{} document classes have a font size option (\Key{10pt}, \Key{11pt}, \Key{12pt}, etc.\@) which not only changes the set of document font sizes, but also modifies additional settings such as the page layout and vertical spacing which were specifically designed to work with those font sizes. -For this reason, you may want to set the document class font size option close to the value of \cs{normalsize} set by this package. - -Internally, this package sets up each font size command from \cs{tiny} to \cs{Huge} using the kernel command \cs{@setfontsize}\---they have no additional functionality beyond that of \cs{@setfontsize}. -Unlike the standard document classes, the font size commands set up by this package do not change the vertical spacing for displayed math and list structures. -If the user would like to add this functionality or perhaps other features to the font size commands, they can do so via hooks, which are documented in the \LaTeX{} kernel. - -\subsection{Terminology} -\label{subsec:terminology} - -When using the \pkg{fontscale} package, each font size, including the standard font size commands from \cs{tiny} to \cs{Huge}, has a step, scale, size, and baselineskip. -The latter two parameters are the familiar first and second arguments to the low\-/level font command \cs{fontsize}\marg{\meta{dimen}}\marg{\meta{skip}}. -The font scale is the relative font size; the ratio of the font size to \cs{normalsize}. -The font step is the number of font size gradations from \cs{normalsize}, which has a step of \num{0}. -Table~\ref{table:fontsteps} lists the font step of each font size command. - -\input{./fontscale-manual-table-font-steps.tex} - -This package defines many keys and commands that take as a value or argument a \meta{dim expr}, \meta{skip expr}, \meta{fp expr}, or \meta{int expr}. -This syntax is short for a dimen, skip, floating point, or integer expression, respectively. -See \pkg{usrguide} \S5 for more information.% -\footnote{\url{https://ctan.org/pkg/usrguide}} - - -\section{Choosing the typographic scale} -\label{sec:choosing} - -\Key{typographic-scale} - [classic-10pt, classic-11pt, classic-12pt, modular, musical] - [classic-10pt] -\newline -\Key{modular/ratio}[\meta{fp expr}][1.125] -\newline -\Key{musical/ratio}[\meta{fp expr}][2]% -\nopagebreak\newline -\Key{musical/notes}[\meta{int expr}][5] - -The key \Key{typographic\-/scale} sets the font sizes using a classic, modular, or musical typographic scale. -These are common methods of choosing a set of document font sizes. -The choice of typographic scale initializes to \Key{classic\-/10pt}. - -The key \Key{typographic\-/scale} can also be set in a condensed format via the keys \Key{classic\-/10pt}, \Key{classic\-/11pt}, \Key{classic\-/12pt}, \Key{modular}, or \Key{musical}, which set the key \Key{typographic\-/scale} to the corresponding value. - -The classic typographic scale consists of the traditional font sizes -\numlist{6;7;8;9;10;11;12;14;16;18;21;24;36;48;60;72}.% -\footnote{See \S{}3.1 of \textit{The Elements of Typographic Style} by Robert Bringhurst.} -They have been used since the sixteenth century and are the default font sizes on most computer software. -The keys \Key{classic-10pt, classic-11pt, classic-12pt} set the size of each font size command to values based on their position in the classic typographic scale. -The size of \cs{normalsize} is the named point size. -The sizes of the other font size commands are the adjacent font sizes in the scale. -Table~\ref{table:classicscales} lists the size of each font size command when using a classic typographic scale. - -\input{./fontscale-manual-table-classic.tex} - -The key \Key{modular} sets the font sizes from \cs{tiny} to \cs{Huge} using a modular typographic scale. -In a modular scale, each font size is a fixed ratio from the adjacent font sizes.% -\footnote{\url{https://alistapart.com/article/more-meaningful-typography/}} -Here, the base font size is the size of \cs{normalsize}, which can be set via the key \Key{normalsize/size}[\meta{dim expr}], more documented in \S\ref{sec:overwriting}. -If not set, \cs{normalsize} initializes to \qty{10}{pt}. -The modular ratio can be set via the key \Key{modular\slash{}ratio}. -The initial modular ratio is \num{1.125}. - -\input{./fontscale-manual-table-modular-musical.tex} - -The key \Key{musical} sets the font sizes according to their position in a musical typographic scale. -The font size is calculated using the formula:% -\footnote - {% - I have referenced this article by Spencer Mortensen: - \newline - \url{https://spencermortensen.com/articles/typographic-scale/}% - } -\[ f_i = f_0 \times r ^ { i / n } \] -$f_0$ is the base font size, the size of \cs{normalsize}. -$f_i$ is the font size with font step~$i$. -$n$ is the number of notes in the musical scale\---the number of font size gradations or steps above \cs{normalsize}. -$r$ is the ratio of the musical scale, the ratio of the highest to the lowest note $ f_n / f_0 $. -(The modular typographic scale is actually a special case of the musical typographic scale where $n=1$.) - -The musical ratio~$r$ and the number of notes~$n$ can be set via the keys \Key{musical\slash{}ratio} and \Key{musical\slash{}notes}. -The initial musical ratio\---\num{2}\---and the initial number of notes\---\num{5}\---are the same as that of the classic typographic scale.% -\footnote{Ibid.} -Conveniently, \cs{Huge} is \num{5} steps above \cs{normalsize}. -The font size of \cs{normalsize}~$f_0$ can be set using the key \Key{normalsize/size}[\meta{dim expr}], more documented in \S\ref{sec:overwriting}. -When using a musical typographic scale, \cs{normalsize} initializes to \qty{10}{pt}.% -\footnote {I have set the initial value to \qty{10}{pt} instead of the \qty{12}{pt} recommended by the Spencer Mortensen article because this matches the default settings of the standard \LaTeXe{} document classes.} - -\Key{baselineskip-size-ratio}[\meta{fp expr}][1.2] -\KeepNextPar* - -The key \Key{baselineskip\-/size\-/ratio} sets the ratio of the font baselineskip to the font size. -By default, the font baselineskip of each font size command equals its font size times \meta{fp expr}. -Users should not set this key unless they really know what they are doing. -When using increased line spacing, users should prefer the low\-/level font command \cs{linespread} or the \pkg{setspace} package. - - -\section{Overwriting the typographic scale} -\label{sec:overwriting} - -In some situations, users may need to explicitly set the scale, size, or baselineskip of a font size command, overwriting the value set by the keys in \S\ref{sec:choosing}. -Note that the font steps and the scale of \cs{normalsize} are constants and cannot be changed. - -\Key{\meta{font size command}/scale}[\meta{fp expr}] -\KeepNextPar* - -The keys \Key{\meta{font size command}\slash{}scale} set the scale of \meta{font size command} to \meta{fp expr}, ignoring the value set by the key \Key{typographic\-/scale}. -The key \Key{normalsize\slash{}scale} is not defined. - -\Key{\meta{font size command}/size}[\meta{dim expr}] -\KeepNextPar* - -The keys \Key{\meta{font size command}\slash{}size} set the size of \meta{font size command} to \meta{dim expr}, ignoring the values set by the keys \Key{typographic\-/scale} and \Key{\meta{font size command}\slash{}scale}. -\meta{dim expr} supplies a default unit of \unit{pt}. - -The package will issue a warning if the user sets the keys \Key{\meta{font size command}\slash{}size} and \Key{\meta{font size command}\slash{}scale} for the same \meta{font size command} since the latter key will be ignored. - -\Key{\meta{font size command}/baselineskip}[\meta{skip expr}] -\KeepNextPar* - -The keys \Key{\meta{font size command}\slash{}baselineskip} set the font baselineskip of \meta{font size command} to \meta{skip expr} instead of calculating it from the size of \meta{font size command} and \Key{baselineskip\-/size\-/ratio}. -\meta{skip expr} supplies a default unit of \unit{pt}. - -\Key{\meta{font size command}}[\meta{dim expr}] -\nopagebreak\newline -\Key{\meta{font size command}}[\meta{dim expr}/\meta{skip expr}] - -The keys \Key{\meta{font size command}} set the keys \Key{\meta{font size command}\slash{}size} or \Key{\meta{font size command}\slash{}baselineskip} in a condensed format. -The latter format resembles traditional typographic notation where the size and leading of a text can be expressed as, for example, $10/12$ or $11/13$. -The number before/after the slash is the size/leading in \unit{pts}. - -\Key{ignore-order}[true, false][false] -\KeepNextPar* - -The user should take care to ensure that the font sizes and font baselineskips remain in the correct order when directly setting the scales, sizes, or baselineskips of the different font size commands. -The magnitudes of the font sizes and font baselineskips should be ordered from \cs{tiny} to \cs{normalsize} to \cs{Huge}. -This is important for typographic and syntactic consistency. -This package will issue a warning if they are not in the correct order. -The user can disable this warning via the key \Key{ignore\-/order}[true] or just \Key{ignore\-/order}. - - -\section{User commands} -\label{sec:usercommands} - -\subsection{Expandable font parameters} -\label{subsec:fontparameters} - -\cs{CurrentFontStep} -\nopagebreak\newline -\cs{CurrentFontScale} -\newline -\cs{CurrentFontSize} -\nopagebreak\newline -\cs{CurrentFontBaselineskip} - -These are fully expandable commands that expand to the current font step, scale, size, or baselineskip. -They can be used for printing or within calculations. -Caution: \cs{CurrentFontStep} will expand to nothing if the current font step is undefined. - -Internally, \cs{CurrentFontStep}, \cs{CurrentFontScale}, and \cs{CurrentFontSize} use the kernel command \cs{f@size}. -\cs{CurrentFontSize} expands to \texttt{f@size pt}. -\cs{CurrentFontBaselineskip} expands to the kernel command \cs{f@baselineskip}. -Note that the low\-/level font command \cs{fontsize}\marg{\meta{dimen}}\marg{\meta{skip}} sets \cs{f@size} to the new font size before expanding its second argument. -This means that \cs{CurrentFontStep}, \cs{CurrentFontScale}, and \cs{CurrentFontSize} may need to be first expanded if used in \meta{skip}. -This package provides the command \cs{SetFontSizeBaselineskip} as an alternative to \cs{fontsize} + \cs{selectfont} that avoids this issue (\S\ref{subsec:fontsize}). - -\subsection{More font sizing commands} -\label{subsec:fontsize} - -The \pkg{fontscale} package provides the commands \cs{SetFontStep}, \cs{SetFontScale}, \cs{SetFontSize}, \cs{ScaleFont}, and \cs{SetFontSizeBaselineskip} which set the font size in different ways. -The first three commands have a starred version which sets the font size relative to the current font size. -Internally, these commands all use the low\-/level font commands \cs{fontsize} and \cs{selectfont}. -These commands should be used only in special cases. -Generally, users should prefer the font size commands from \cs{tiny} to \cs{Huge} for typographic and syntactic consistency, although \cs{SetFontStep*}\marg{\meta{integer}} can use a font size command directly. - -\cs{SetFontStep}\marg{\meta{fp expr}} -\nopagebreak\newline -\cs{SetFontStep*}\marg{\meta{fp expr}} - -\cs{SetFontStep} sets the font size by setting the font step to \meta{fp expr}. -The starred version \cs{SetFontStep*} adds \meta{fp expr} to the current font step. -If the choice of typographic scale is not modular or musical, then the only valid values for \meta{fp expr} are the integers from \num{-4} to \num{5}, corresponding to the font size commands from \cs{tiny} to \cs{Huge}. -\cs{SetFontStep} will issue an error if the calculated font step is invalid. -The starred version \cs{SetFontStep*} will also issue an error if the current font step is invalid. -\cs{SetFontStep} sets the font baselineskip to the calculated font size \texttimes{} \Key{baselineskip\-/size\-/ratio}. -If the calculated font step matches the step of any font size command, then that font size command will be used directly. - -\listheading{Examples:} -\begin{itemize} - \item - For example, \cs{SetFontStep}\marg{-2} and \cs{SetFontStep}\marg{2} use \cs{footnotesize} and \cs{Large}. - Note that it is typically better to use the equivalent font size command in place of \cs{SetFontStep}\marg{\meta{integer}}. - \item - If the current font size is \cs{normalsize}, \cs{SetFontStep*}\marg{1} and \cs{SetFontStep*}\marg{-1} use \cs{large} and \cs{small}. - This is useful for moving up or down a note on the typographic scale. - \item - If the choice of typographic scale is modular or musical, \cs{SetFontStep*}\marg{-0.5} sets the font size and font baselineskip to values between that of \cs{normalsize} and \cs{small}. - Otherwise, it produces an error. -\end{itemize} - -\cs{SetFontScale}\marg{\meta{fp expr}} -\nopagebreak\newline -\cs{SetFontScale*}\marg{\meta{fp expr}} - -\cs{SetFontScale} sets the font size by setting the font scale to \meta{fp expr}. -The font baselineskip is set to the calculated font size \texttimes{} \Key{baselineskip\-/size\-/ratio}. -The starred version \cs{SetFontScale*} adds \meta{fp expr} to the current font scale. -For example, \cs{SetFontScale}\marg{1.25} makes the font size 25\% larger than \cs{normalsize}. -If the current font size is \cs{normalsize}, \cs{SetFontScale*}\marg{0.2} is equivalent to \cs{SetFontScale}\marg{1.2}. - -\cs{SetFontSize}\marg{\meta{dim expr}} -\nopagebreak\newline -\cs{SetFontSize*}\marg{\meta{dim expr}} - -\cs{SetFontSize} sets the font size to \meta{dim expr}. -\meta{dim expr} supplies a default unit of \unit{pt}. -The font baselineskip is set to the calculated font size \texttimes{} \Key{baselineskip\-/size\-/ratio}. -The starred version \cs{SetFontSize*} adds \meta{dim expr} to the current font size. -For example, \cs{SetFontSize*}\marg{1} and \cs{SetFontSize*}\marg{-1pt} increase and decrease the current font size by a \unit{pt}. - -\cs{ScaleFont}\marg{\meta{fp expr}} -\KeepNextPar* - -Scales the current font size and the current font baselineskip by a factor of \meta{fp expr}. -For example, if the current font size and font baselineskip are \qty{10}{pt} and \qty{12}{pt}, using \cs{ScaleFont}\marg{0.8} will reduce them proportionally to \qty{8}{pt} and \qty{9.6}{pt}. - -\cs{SetFontSizeBaselineskip}\marg{\meta{dim expr}}\marg{\meta{skip expr}} -\KeepNextPar* - -Sets the font size to \meta{dim expr} and the font baselineskip to \meta{skip expr}. -Both arguments supply a default unit of \unit{pt}. -\cs{SetFontSizeBaselineskip} can be used as an alternative to \cs{fontsize} + \cs{selectfont} as it avoids the issue with \cs{f@size} discussed in \S\ref{subsec:fontparameters}. - -\subsection{Testing and debugging} -\label{subsec:debug} - -The commands documented here are intended primarily for testing and debugging. -I have used them often when developing this package so I think users will find them helpful. - -\cs{PrintFontParameters} -\nopagebreak\newline -\cs{PrintAllFontParameters} - -\cs{PrintFontParameters} prints the current font step, scale, size, and baselineskip in this order in a comma\-/separated list of key = value pairs. -If the current font step is undefined (as explained for \cs{SetFontStep} in \S\ref{subsec:fontsize}), it will be left blank. -\cs{PrintAllFontParameters} prints the step, scale, size, and baselineskip of each font size command. - -\cs{PrintSampleText}\oarg{\meta{text}} -\nopagebreak\newline -\cs{PrintSampleText*}\oarg{\meta{text}} - -\cs{PrintSampleText} prints \meta{text} in each font size ordered from \cs{tiny} to \cs{Huge} each followed by a paragraph break. -The starred version \cs{PrintSampleText*} reverses the sizing order. -The \meta{text} can be changed via the optional argument, but cannot contain \cs{par} tokens. -The default \meta{text} is \enquote{The \texttt{fontscale} package: A user interface for setting document font sizes}. -One useful way of printing example text is by using -\cs{PrintSampleText}\oarg{\cs{PrintFontSizeCommand}:\textvisiblespace{}\cs{PrintFontParameters}}. - -\cs{PrintFontSizeCommand} -\KeepNextPar* - -\cs{PrintFontSizeCommand} tests whether the current font size and the current font baselineskip match the font size and font baselineskip of any font size command from \cs{tiny} to \cs{Huge}. -If so, it prints the name of that font size command, including the backslash character. -If not, it instead prints \enquote{UNDEFINED\@}. -\vfill\pagebreak%manual - -\subsection - {% - \texorpdfstring - {More on \cs{fontscalesetup}} - {More on \textbackslash{}fontscalesetup}% - } -\label{subsec:fontscalesetup} - -\cs{fontscalesetup}\marg{\meta{keyval list}} -\KeepNextPar* - -Sets and processes the \pkg{fontscale} package keys and then uses \cs{normalsize}. -\cs{fontscalesetup} can be applied mid\-/document or locally within the current \TeX{} group. - -\Key{reset}[initial, preamble] -\KeepNextPar* - -The key \Key{reset} is also available. -Its value must be either \texttt{initial} or \texttt{preamble}. -The key \Key{reset}[initial] or just \Key{reset} sets all the keys to their initial values. -The key \Key{reset}[preamble] sets all the keys to their values at the end of the preamble (or does nothing if used before the end of the preamble). - - -\section{Programming} -\label{sec:programming} - -This section is relevant to \LaTeX3 programmers. - -The document commands \cs{SetFontStep}, \cs{SetFontScale}, \cs{SetFontSize}, \cs{ScaleFont}, and \cs{SetFontSizeBaselineskip} are set up to work with \cs{text_purify:n}. -\cs{text_purify:n} will correctly remove these commands and their arguments. -This includes the starred versions \cs{SetFontStep*}, \cs{SetFontScale*}, and \cs{SetFontSize*}. - -This package does not provide any public \pkg{expl3} functions. - -This package provides some public \pkg{expl3} variables. -The package stores in public variables the step, scale, size, and baselineskip of each font size command. -These variables should not be modified directly. -Instead, they should be modified only indirectly via the command \cs{fontscalesetup}. - -Each takes the form: - -\begingroup - \ttfamily - \textbackslash{}c\_fontscale\_\meta{font size command}\_step\_fp - \nopagebreak\newline - \textbackslash{}l\_fontscale\_\meta{font size command}\_scale\_fp - \newline - \textbackslash{}l\_fontscale\_\meta{font size command}\_size\_dim - \nopagebreak\newline - \textbackslash{}l\_fontscale\_\meta{font size command}\_baselineskip\_skip -\endgroup - -Exception: -\cs{l_fontscale_normalsize_scale_fp} is not defined. -The scale of \cs{normalsize} is instead stored as the constant \cs{c_fontscale_normalsize_scale_fp}, which always equals \num{1}. - -The step, scale, size, and baselineskip of each font size command are also stored in property lists, one for each font size command: - -\texttt{\textbackslash{}l\_fontscale\_\meta{font size command}\_prop} - -\end{document}
\ No newline at end of file diff --git a/Master/texmf-dist/doc/latex/fontscale/fontscale-table-classic.tex b/Master/texmf-dist/doc/latex/fontscale/fontscale-table-classic.tex new file mode 100644 index 00000000000..50ff413e366 --- /dev/null +++ b/Master/texmf-dist/doc/latex/fontscale/fontscale-table-classic.tex @@ -0,0 +1,41 @@ +\ProvidesFile + {fontscale-table-classic.tex} + [2024-08-12] + +\begin{table} + \centering + \caption + {% + The font size of each font size command from \cs{tiny} to \cs{Huge} in units of \unit{pt} when using a classic typographic scale.% + \label{table:classic}% + } + \bigskip + \begin{tblr} + { + colspec= + { + l + Q[si={table-format=3.2},c] + Q[si={table-format=3.2},c] + Q[si={table-format=3.2},c] + } + , cell{1}{2-Z}={guard} + , cell{2-Z}{1}={cmd=\cs} + , cell{1}{2-Z}={cmd=\Key} + } + \toprule + font size command & classic-10pt & classic-11pt & classic-12pt \\ + \midrule + tiny & 6 & 7 & 8 \\ + scriptsize & 7 & 8 & 9 \\ + footnotesize & 8 & 9 & 10 \\ + small & 9 & 10 & 11 \\ + normalsize & 10 & 11 & 12 \\ + large & 11 & 12 & 14 \\ + Large & 12 & 14 & 16 \\ + LARGE & 14 & 16 & 18 \\ + huge & 16 & 18 & 21 \\ + Huge & 18 & 21 & 24 \\ + \bottomrule + \end{tblr} +\end{table}
\ No newline at end of file diff --git a/Master/texmf-dist/doc/latex/fontscale/fontscale-table-font-steps.tex b/Master/texmf-dist/doc/latex/fontscale/fontscale-table-font-steps.tex new file mode 100644 index 00000000000..5b20f186811 --- /dev/null +++ b/Master/texmf-dist/doc/latex/fontscale/fontscale-table-font-steps.tex @@ -0,0 +1,39 @@ +\ProvidesFile + {fontscale-table-font-steps.tex} + [2024-08-12] + +\begin{table} + \centering + \caption + {% + The font step of each font size command from \cs{tiny} to \cs{Huge}. + These are constants and cannot be changed.% + \label{table:fontsteps}% + } + \bigskip + \begin{tblr} + { + colspec= + { + l + Q[si={table-format=3.2},c] + } + , cell{1}{2}={guard} + , cell{2-Z}{1}={cmd=\cs} + } + \toprule + font size command & font step \\ + \midrule + tiny & -4 \\ + scriptsize & -3 \\ + footnotesize & -2 \\ + small & -1 \\ + normalsize & 0 \\ + large & 1 \\ + Large & 2 \\ + LARGE & 3 \\ + huge & 4 \\ + Huge & 5 \\ + \bottomrule + \end{tblr} +\end{table}
\ No newline at end of file diff --git a/Master/texmf-dist/doc/latex/fontscale/fontscale-table-musical.tex b/Master/texmf-dist/doc/latex/fontscale/fontscale-table-musical.tex new file mode 100644 index 00000000000..e6a6ca5ce0d --- /dev/null +++ b/Master/texmf-dist/doc/latex/fontscale/fontscale-table-musical.tex @@ -0,0 +1,39 @@ +\ProvidesFile + {fontscale-table-musical.tex} + [2024-08-12] + +\begin{table} + \centering + \caption + {% + The font size of each font size command from \cs{tiny} to \cs{Huge} when using a musical typographic scale with the initial values. + The font sizes are in units of \unit{pt} and rounded to two decimal places.% + \label{table:musical}% + } + \bigskip + \begin{tblr} + { + colspec= + { + l + Q[si={table-format=3.2},c] + } + , cell{1}{2}={guard} + , cell{2-Z}{1}={cmd=\cs} + } + \toprule + font size command & \Key{musical} \\ + \midrule + tiny & 5.74 \\ + scriptsize & 6.60 \\ + footnotesize & 7.58 \\ + small & 8.71 \\ + normalsize & 10 \\ + large & 11.49 \\ + Large & 13.20 \\ + LARGE & 15.16 \\ + huge & 17.41 \\ + Huge & 20 \\ + \bottomrule + \end{tblr} +\end{table}
\ No newline at end of file diff --git a/Master/texmf-dist/doc/latex/fontscale/fontscale.pdf b/Master/texmf-dist/doc/latex/fontscale/fontscale.pdf Binary files differnew file mode 100644 index 00000000000..adcd8091344 --- /dev/null +++ b/Master/texmf-dist/doc/latex/fontscale/fontscale.pdf diff --git a/Master/texmf-dist/doc/latex/fontscale/fontscale.tex b/Master/texmf-dist/doc/latex/fontscale/fontscale.tex new file mode 100644 index 00000000000..3737afe5b6f --- /dev/null +++ b/Master/texmf-dist/doc/latex/fontscale/fontscale.tex @@ -0,0 +1,409 @@ +\documentclass{beery} + + +\begin{document} + + +\section* + {% + \SetFontStep*{1}% + The \pkg{fontscale} package% + } + +A flexible interface for setting font sizes + +Oliver Beery + +Version 2.1.0\quad{}12 August 2024 + + +\section{Introduction} +\label{sec:intro} + +\subsection{About} +\label{subsec:about} + +\listheading{The \pkg{fontscale} package provides the following functionalities:} +\begin{itemize} + \item + Set font sizes using a classic or musical typographic scale (\S\ref{subsec:typographicscale}). + \item + Set arbitrary font sizes and font baselineskips for the standard \LaTeX{} font size commands \cs{tiny}, \cs{scriptsize}, \cs{footnotesize}, \cs{small}, \cs{normalsize}, \cs{large}, \cs{Large}, \cs{LARGE}, \cs{huge}, and \cs{Huge} (\S\ref{subsec:overwriting}). + \item + Set the font sizes and font baselineskips of the standard \LaTeX{} font size commands mid\-/document or within a local group (\S\ref{subsec:fontscalesetup}). + \item + Provides expandable commands that expand to the current font step, font scale, font size, font baselineskip, or font size command (\S\ref{subsec:expandable}). + \item + Provides additional font size commands, including setting the font size by setting the font step or font scale and setting the font size relative to the current font size using more powerful tools than the \pkg{scalefnt} and \pkg{relsize} packages (\S\ref{subsec:fontsize}). + \item + For \LaTeX3 programmers, this package defines public \pkg{expl3} variables that store the font step, font scale, font size, and font baselineskip of each font size command from \cs{tiny} to \cs{Huge} (\S\ref{sec:programming}). +\end{itemize} + +\subsection{Loading the package} +\label{subsec:loading} + +\listheading{Requirements:} +\begin{itemize} + \item \LaTeXe{} version 2023-11-01 or newer + \item \pkg{l3kernel} version 2023-10-10 or newer +\end{itemize} + +You may need to ensure that your \LaTeX{} installation is up\-/to\-/date before using this package. + +This package lets the user set arbitrary font sizes. +This works with most fonts produced today, but, for historical reasons, the default Computer Modern font is available only in a number of discrete font sizes. +If you get a warning that Computer Modern is not available in the requested font size, you may need to add the code \cs{RequirePackage}\allowbreak\verb|{fix-cm}| before \cs{documentclass} to make Computer Modern available at arbitrary font sizes. +Alternatively, you can use the Latin Modern font by loading the \pkg{lmodern} package. + +The \pkg{fontscale} package has no package options. +Instead, this package provides the command \cs{fontscalesetup}\marg{key\-/value list} (\S\ref{subsec:fontscalesetup}) which sets the package keys (\S\ref{sec:keys}). + +When loaded, this package uses \cs{normalsize} after defining and initializing the font size commands from \cs{tiny} to \cs{Huge}. + +Many \LaTeX{} document classes have a font size option (e.g.\@ \Key{10pt}, \Key{11pt}, \Key{12pt}) which not only changes the set of document font sizes, but also modifies additional settings such as the page layout and vertical spacing which were specifically designed to work with those font sizes. +For this reason, you may want to set the document class font size option close to the font size of \cs{normalsize} set by this package. + +\listheading{Internally, this package defines each font size command from \cs{tiny} to \cs{Huge} using the low\-/level font commands \cs{fontsize} and \cs{selectfont}\---they have no additional functionality beyond that of \cs{fontsize} and \cs{selectfont}, except that they:} +\begin{itemize} + \item + Set the kernel command \cs{@currsize} equal to the font size command. + This is needed only for compatibility. + \item + Do nothing, except issue a warning, if used in math mode. +\end{itemize} + +Unlike the standard \LaTeX{} document classes, the font size commands from \cs{tiny} to \cs{Huge} defined by this package do not change the vertical spacing for displayed math and list structures. +If the user would like to add this functionality or perhaps other features to the font size commands, they can use hooks, which are documented in the \LaTeXe{} kernel. + +\subsection{The font size parameters} +\label{subsec:fontsizeparameters} + +When using the \pkg{fontscale} package, each font size, including the standard \LaTeX{} font size commands from \cs{tiny} to \cs{Huge}, has a font step, font scale, font size, and font baselineskip. +The latter two parameters are the familiar first and second arguments to the low\-/level font command \cs{fontsize}\marg{dimen}\marg{skip}. +(The font baselineskip, stored in the kernel command \cs{f@baselineskip}, should not be confused with the paragraph baselineskip \cs{baselineskip}.) +The font scale and font step are different ways of describing the font size. +The font scale is the relative font size; the ratio of the font size to \cs{normalsize}, which has a font scale of \num{1}. +The font step is the number of font size gradations from \cs{normalsize}, which has a font step of \num{0}. +Table~\ref{table:fontsteps} displays the font step of each font size command. + +\input{./fontscale-table-font-steps.tex} + +\subsection{Syntax} +\label{subsec:syntax} + +This package defines some keys and commands that take as a value or argument a \meta{floating point expression}, \meta{integer expression}, \meta{dimen expression}, or \meta{skip expression}. +This syntax has the same representation as the arguments to \cs{fpeval}, \cs{inteval}, \cs{dimeval}, and \cs{skipeval}, documented in \pkg{usrguide}.% +\footnote{\url{https://ctan.org/pkg/usrguide}} + + +\section{Keys} +\label{sec:keys} + +This section documents the keys provided by the \pkg{fontscale} package. +This package has no package options. +Set the package keys using \cs{fontscalesetup}\marg{key-value list} (\S\ref{subsec:fontscalesetup}). + +\subsection{The typographic scale} +\label{subsec:typographicscale} + +The font sizes of the font size commands from \cs{tiny} to \cs{Huge} are initially set by the key \Key{typographic\-/scale}. + +\Key{typographic-scale} + [% + classic-10pt$\,\vert\,$\allowbreak + classic-11pt$\,\vert\,$\allowbreak + classic-12pt$\,\vert\,$\allowbreak\hspace*{1.5em}% + musical% + ] + [classic-10pt] +\newline +\Key{classic-10pt} +\newline +\Key{classic-11pt} +\newline +\Key{classic-12pt} +\nopagebreak\newline +\Key{musical} + +The value of the key \Key{typographic\-/scale} must be \Value{classic\-/10pt}, \Value{classic\-/11pt}, \Value{classic\-/12pt}, or \Value{musical}. +The initial value is \Value{classic\-/10pt}. +Sets the font size of each font size command from \cs{tiny} to \cs{Huge} using a classic or musical typographic scale. +These are common methods of choosing a set of document font sizes. +The keys \Key{classic\-/10pt}, \Key{classic\-/11pt}, \Key{classic\-/12pt}, and \Key{musical} set the key \Key{typographic\-/scale} to the corresponding value. + +\input{./fontscale-table-classic.tex} + +The classic typographic scale consists of the traditional font sizes +\numlist{6;7;8;9;10;11;12;14;16;18;21;24;36;48;60;72}.% +\footnote{See \S3.1 of \textit{The Elements of Typographic Style} by Robert Bringhurst.} +They have been used since the sixteenth century and are the default font sizes on most computer software. +Setting the value of the key \Key{typographic\-/scale} to \Key{classic\-/10pt}, \Key{classic\-/11pt}, or \Key{classic\-/12pt} sets the font size of each font size command from \cs{tiny} to \cs{Huge} to values based on their position in the classic typographic scale. +The named point size\---\qtylist[list-final-separator={, or }]{10;11;12}{pt}\---is the font size of \cs{normalsize}. +The font sizes of the other font size commands are the adjacent font sizes in the classic typographic scale. +Table~\ref{table:classic} displays the font size of each font size command when using a classic typographic scale. + +\Key{musical/base}[\meta{dimen expression}][10pt]% +\nopagebreak\newline +\Key{musical/ratio}[\meta{floating point expression}][2]% +\nopagebreak\newline +\Key{musical/notes}[\meta{integer expression}][5] + +The key \Key{typographic\-/scale}[musical] sets the font size of each font size command from \cs{tiny} to \cs{Huge} using a musical typographic scale. +The font sizes are calculated using the formula:% +\footnote + {% + I have referenced this article by Spencer Mortensen: + \newline + \url{https://spencermortensen.com/articles/typographic-scale/}% + } +\begin{equation}\label{eq:musical} + f_i = f_0 \times r ^ { i / n } +\end{equation} +$f_i$ is the font size with font step~$i$. +$f_0$ is the base font size. +$n$ is the number of musical notes\---the number of font size gradations or steps above $f_0$. +$r$ is the musical ratio, the ratio of the highest to the lowest note $ f_n / f_0 $. + +The key \Key{musical\slash{}base} sets the base font size to the value of \meta{dimen expression}, appending a default unit of \unit{pt}. +The base font size is the font size of \cs{normalsize}. +The key \Key{musical\slash{}ratio} sets the musical ratio to the result of computing the \meta{floating point expression}. +The key \Key{musical\slash{}notes} sets the number of musical notes to the value of \meta{integer expression}. +Table~\ref{table:musical} displays the font size of each font size command when using a musical typographic scale with the initial values. + +\input{./fontscale-table-musical.tex} + +\subsection{The baselineskip-size-ratio} +\label{subsec:baselineskipsizeratio} + +The font baselineskips of the font size commands from \cs{tiny} to \cs{Huge} are initially set by the key \Key{baselineskip\-/size\-/ratio}. + +\Key{baselineskip-size-ratio}[\meta{floating point expression}][1.2] +\KeepNextPar* + +Sets the font baselineskip of each font size command from \cs{tiny} to \cs{Huge} equal to its font size \texttimes{} the result of computing the \meta{floating point expression}. +Sets the font baselineskip set by \cs{SetFontStep}, \cs{SetFontScale}, and \cs{SetFontSize} (\S\ref{subsec:fontsize}) equal to the new font size \texttimes{} the result of computing the \meta{floating point expression}. +The font baselineskip must be greater than or equal to the font size. + + +\subsection{Overwriting the previous keys} +\label{subsec:overwriting} + +This subsection documents keys for directly setting the font scales, font sizes, and font baselineskips of the font size commands from \cs{tiny} to \cs{Huge}. +When doing so, the user should take care to ensure that the lengths of the font sizes and font baselineskips remain correctly ordered from \cs{tiny} to \cs{Huge}. +This is important for typographic and syntactic consistency. +If the font size commands are in the wrong order, this package will issue a warning and some package features may not work correctly. + +\Key{\meta{font size command}/scale}[\meta{floating point expression}][\meta{not set}] +\KeepNextPar* + +Sets the font size of \meta{font size command} by setting its font scale to the result of computing the \meta{floating point expression}. +Overwrites the font size set by the key \Key{typographic\-/scale}. +The key \Key{normalsize\slash{}scale} is not defined. + +\Key{\meta{font size command}/size}[\meta{dimen expression}][\meta{not set}] +\KeepNextPar* + +Sets the font size of \meta{font size command} to the value of \meta{dimen expression}, appending a default unit of \unit{pt}. +Overwrites the font size set by the keys \Key{typographic\-/scale} and \Key{\meta{font size command}\slash{}scale}. + +\Key{\meta{font size command}/baselineskip}[\meta{skip expression}][\meta{not set}] +\KeepNextPar* + +Sets the font baselineskip of \meta{font size command} to the value of \meta{skip expression}, appending a default unit of \unit{pt}. +The font baselineskip must be greater than or equal to the font size. +Overwrites the font baselineskip set by the key \Key{baselineskip\-/size\-/ratio}. + +\Key{\meta{font size command}}[\meta{dimen expression}] +\nopagebreak\newline +\Key{\meta{font size command}}[\meta{dimen expression}/\meta{skip expression}] + +Sets the keys \Key{\meta{font size command}\slash{}size}[\meta{dimen expression}] or \Key{\meta{font size command}\slash{}baselineskip}[\meta{skip expression}] in a condensed format. +The latter format resembles traditional typographic notation where the size and leading of a text can be expressed as, for example, \num{10}/\num{12} or \num{11}/\num{13}. +The number before\slash{}after the slash is the size\slash{}leading in units of \unit{pt}. + + +\section{Commands} +\label{sec:commands} + +This section documents the commands provided by the \pkg{fontscale} package. + +\subsection{Setting the keys} +\label{subsec:fontscalesetup} + +\cs{fontscalesetup} \sarg{} \marg{key-value list} +\KeepNextPar* + +Sets and processes the \pkg{fontscale} package keys (\S\ref{sec:keys}) in \meta{key\-/value list} and then uses \cs{normalsize}. +Adding the optional star first resets all the \pkg{fontscale} package keys to their initial values. +The order of the keys in \meta{key\-/value list} does not matter. +Can be used mid\-/document. +The effect is local to the current group. +Does nothing, except issue a warning, if used in math mode. +\cs{fontscalesetup} should typically be used only once in the preamble or omitted if the user is satisfied with the initial font sizes and font baselineskips. + +\subsection{Expandable commands} +\label{subsec:expandable} + +\cs{CurrentFontStep} +\nopagebreak\newline +\cs{CurrentFontScale} +\newline +\cs{CurrentFontSize} +\nopagebreak\newline +\cs{CurrentFontBaselineskip} + +This package provides expandable commands that expand to the current font step, font scale, font size, or font baselineskip. +They can be used for printing or within calculations. + +For clarity, \cs{CurrentFontStep} will be explained in detail. +\cs{CurrentFontStep} initially tests if the current font size equals the font size of any font size command from \cs{tiny} to \cs{Huge}. +If so, it expands to the font step of that font size command (Table~\ref{table:fontsteps}). +If not and if the value of the key \Key{typographic\-/scale} is \Value{musical}, \cs{CurrentFontStep} expands to the current font step calculated from the musical typographic scale (Equation~\ref{eq:musical}). +Otherwise, the current font step is undefined and \cs{CurrentFontStep} expands to nothing. + +Internally, \cs{CurrentFontStep}, \cs{CurrentFontScale}, and \cs{CurrentFontSize} rely on the kernel command \cs{f@size}. +(\cs{f@size} stores the current font size in units of \unit{pt}, omitting the unit.) +The low\-/level font command \cs{fontsize}\marg{dimen}\marg{skip} sets \cs{f@size} to the new font size before expanding its second argument. +This means that, if used in \meta{skip}, \cs{CurrentFontStep}, \cs{CurrentFontScale}, and \cs{CurrentFontSize} will expand to the new value\---unless they are first expanded. +This package provides \cs{SetFontSizeBaselineskip} as an alternative to \cs{fontsize} + \cs{selectfont} that avoids this issue (\S\ref{subsec:fontsize}). + +\cs{CurrentFontSizeCommand} +\KeepNextPar* + +Tests if the current font size and current font baselineskip equal the font size and font baselineskip, respectively, of any font size command from \cs{tiny} to \cs{Huge}. +If so, expands to the name of that font size command. +This omits the backslash character and leaves only letters with catcode \num{11}. +If not, expands to nothing. +This package also provides a similar command \cs{PrintFontSizeCommand} (\S\ref{subsec:debug}), which is not expandable and includes the backslash character. + +\subsection{More font size commands} +\label{subsec:fontsize} + +This package provides additional font size commands for use only in special cases. +Users should prefer the standard \LaTeX{} font size commands from \cs{tiny} to \cs{Huge} for typographic and syntactic consistency. + +\cs{SetFontStep} \sarg{} \marg{floating point expression} +\KeepNextPar* + +Sets the font size by setting the font step to the result of computing the \meta{floating point expression}. +Adding the optional star instead increases the current font step by the result of computing the \meta{floating point expression} or issues an error if the current font step is undefined (as explained for \cs{CurrentFontStep} in \S\ref{subsec:expandable}). +Sets the font baselineskip equal to the new font size \texttimes{} the value of the key \Key{baselineskip\-/size\-/ratio}. + +\listheading{Three exceptions:} +\begin{itemize} + \item + The font step must equal the font step of any font size command from \cs{tiny} to \cs{Huge} (Table~\ref{table:fontsteps}) unless the value of the key \Key{typographic\-/scale} is \Value{musical}. + \cs{SetFontStep} will issue an error if the font step is undefined (as explained for \cs{CurrentFontStep} in \S\ref{subsec:expandable}). + \item + If the font step equals the font step of any font size command from \cs{tiny} to \cs{Huge}, then that font size command will be used directly. + \item + Does nothing, except issue a warning, if used in math mode. +\end{itemize} + +\cs{SetFontScale} \sarg{} \marg{floating point expression} +\KeepNextPar* + +Sets the font size by setting the font scale to the result of computing the \meta{floating point expression}. +Adding the optional star instead increases the current font scale by the result of computing the \meta{floating point expression}. +Sets the font baselineskip equal to the new font size \texttimes{} the value of the key \Key{baselineskip\-/size\-/ratio}. +Does nothing, except issue a warning, if used in math mode. + +\cs{SetFontSize} \sarg{} \marg{dimen expression} +\KeepNextPar* + +Sets the font size to the value of \meta{dimen expression}, appending a default unit of \unit{pt}. +Adding the optional star instead increases the current font size by the result of \meta{dimen expression}, appending a default unit of \unit{pt}. +Sets the font baselineskip equal to the new font size \texttimes{} the value of the key \Key{baselineskip\-/size\-/ratio}. +Does nothing, except issue a warning, if used in math mode. + +\cs{ScaleFont} \marg{floating point expression} +\KeepNextPar* + +Sets the font size equal to the current font size \texttimes{} the result of computing the \meta{floating point expression}. +Sets the font baselineskip equal to the current font baselineskip \texttimes{} the result of computing the \meta{floating point expression}. +Does nothing, except issue a warning, if used in math mode. + +\cs{SetFontSizeBaselineskip} \marg{dimen expression} \marg{skip expression} +\KeepNextPar* + +Sets the font size to the value of \meta{dimen expression}, appending a default unit of \unit{pt}. +Sets the font baselineskip to the value of \meta{skip expression}, appending a default unit of \unit{pt}. +The font baselineskip must be greater than or equal to the font size. +Does nothing, except issue a warning, if used in math mode. +Can be used as an alternative to \cs{fontsize} + \cs{selectfont} as discussed in \S\ref{subsec:expandable}. + +\subsection{Testing and debugging} +\label{subsec:debug} + +The commands documented here are intended primarily for testing and debugging. +I have used them often when developing this package so I think users will find them helpful. + +\cs{PrintFontSizeParameters} +\KeepNextPar* + +Prints the current font size parameters\---the font step, font scale, font size, and font baselineskip. +The current font step will be left blank if it is undefined (as explained for \cs{CurrentFontStep} in \S\ref{subsec:expandable}). + +\cs{PrintAllFontSizeParameters} +\KeepNextPar* + +Prints the font step, font scale, font size, and font baselineskip of each font size command from \cs{tiny} to \cs{Huge}. + +\cs{PrintSampleText} \sarg{} \marg{text} +\KeepNextPar* + +Prints \meta{text} in each font size ordered from \cs{tiny} to \cs{Huge} each followed by a paragraph break. +\meta{text} can contain \cs{par} tokens. +Adding the optional star reverses the order of the font sizes. +One useful way of printing example text is \cs{PrintSampleText}\allowbreak\texttt{\{\cs{PrintFontSizeCommand}:\allowbreak\textvisiblespace\allowbreak\cs{PrintFontSizeParameters}\}}. + +\cs{PrintFontSizeCommand} +\KeepNextPar* + +Tests if the current font size and current font baselineskip equal the font size and font baselineskip, respectively, of any font size command from \cs{tiny} to \cs{Huge}. +If so, prints the name of that font size command, including the backslash character. +If not, prints \enquote{\string\undefined}. +This package also provides a similar command \cs{CurrentFontSizeCommand} (\S\ref{subsec:expandable}), which is expandable and omits the backslash character. + + +\section{Programming} +\label{sec:programming} + +This section documents the \pkg{expl3} programming support provided by the \pkg{fontscale} package. + +\subsection + {% + Compatibility with + \texorpdfstring + {\cs{text_purify:n}} + {\textbackslash{}text\_purify:n}% + } +\label{subsec:textpurify} + +\cs{text_purify:n} will correctly remove the formatting commands defined by this package, including \cs{fontscalesetup} and the commands documented in \S\ref{subsec:fontsize}. + +\subsection{Public functions and variables} +\label{subsec:publicexpl3} + +This package does not define any public \pkg{expl3} functions. + +This package defines public \pkg{expl3} variables that store the font step, font scale, font size, and font baselineskip of each font size command from \cs{tiny} to \cs{Huge}. +These variables should never be modified directly. +Their values should be changed only by \cs{fontscalesetup}. + +Each takes the form: + +\verb|\c_fontscale_|\meta{font size command}\verb|_step_fp| +\nopagebreak\newline +\verb|\l_fontscale_|\meta{font size command}\verb|_scale_fp| +\newline +\verb|\l_fontscale_|\meta{font size command}\verb|_size_dim| +\nopagebreak\newline +\verb|\l_fontscale_|\meta{font size command}\verb|_baselineskip_skip| + +Exception: +\cs{l_fontscale_normalsize_scale_fp} is not defined. +The font scale of \cs{normalsize} is stored in \cs{c_fontscale_normalsize_scale_fp}. + + +\end{document}
\ No newline at end of file diff --git a/Master/texmf-dist/doc/latex/gridset/LICENSE.md b/Master/texmf-dist/doc/latex/gridset/LICENSE.md index 99a6973749b..1863f2f61a2 100644 --- a/Master/texmf-dist/doc/latex/gridset/LICENSE.md +++ b/Master/texmf-dist/doc/latex/gridset/LICENSE.md @@ -13,7 +13,7 @@ Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz in der Version 1.3c, verteilt und/oder verändert werden. Die aktuelle Version dieser Lizenz ist http://www.latex-project.org/lppl.txt und Version 1.3c oder später ist Teil aller Verteilungen von LaTeX 2005/12/01 -oder später. Dieses Werk hat den LPPL-Verwaltungs-Status „maintained” +oder später. Dieses Werk hat den LPPL-Verwaltungs-Status „maintained”. Der aktuelle Verwalter und Autor dieses Werks ist Markus Kohm. ---------------------------------------------------------------------------- diff --git a/Master/texmf-dist/doc/latex/gridset/README.md b/Master/texmf-dist/doc/latex/gridset/README.md index 0a1963d1ebd..a27c928e922 100644 --- a/Master/texmf-dist/doc/latex/gridset/README.md +++ b/Master/texmf-dist/doc/latex/gridset/README.md @@ -4,10 +4,14 @@ An experimental LaTeX package for semi-manual grid (a.k.a. in-register) setting ------------------------------------------------------------------------------ -LaTeX package `gridset` -Copyright (c) 2008—2020 Markus Kohm -Release: 2020-02-12 v0.3 -License: LPPL 1.3c (see LICENSE.md) +LaTeX package `gridset` + +Copyright (c) 2008—2024 Markus Kohm + +Release: 2024-08-17 v0.4 + +License: LPPL 1.3c (see LICENSE.md) + CTAN Location: https://ctan.org/pkg/gridset ------------------------------------------------------------------------------ @@ -32,9 +36,31 @@ The package is part of [TeX Live](https://tug.org/texlive) (and therefore also [MacTeX](https://tug.org/mactex)) and [MiKTeX](http://miktex.org). Users should use the packages provided by their TeX distribution. -However, manual extraction can be used to try out the developer version. +------------------------------------------------------------------------------ + +For a semi-manual installation you can first create a local clone +if the repository: + +```bash +git clone https://github.com/komascript/gridset.git +``` + +Then enter the directory created while cloning the repository: + +```bash +cd gridset +``` + +Last, but not least use `l3build` to install it locally: + +```bash +l3build install --full +``` + +------------------------------------------------------------------------------ -To extract the package use: +To do a completely manual installation, download `gridset.dtx`. Then extract +it using: ```bash tex gridset.dtx @@ -48,3 +74,16 @@ mkindex gridset pdflatex gridset.dtx pdflatex gridset.dtx ``` + +Now, you can either install it in the proper directory or copy `gridset.sty` +to your document directory. + +------------------------------------------------------------------------------ + +# How to Say Thank You for my Work + +Hey, I'm doing this as a hobby. So no need to say thank you. But I'm a vain +fop, so I'm certainly up for a quick thank you by email. On komascript.de you +can find an [explanation of my wishes](https://komascript.de/wunschliste) if +you want to give more. If you don't understand German, just click to links at +that page. diff --git a/Master/texmf-dist/doc/latex/gridset/gridset.pdf b/Master/texmf-dist/doc/latex/gridset/gridset.pdf Binary files differindex 3f6a39a8e92..a2af21f2053 100644 --- a/Master/texmf-dist/doc/latex/gridset/gridset.pdf +++ b/Master/texmf-dist/doc/latex/gridset/gridset.pdf diff --git a/Master/texmf-dist/doc/latex/gridset/gridsetexample.tex b/Master/texmf-dist/doc/latex/gridset/gridsetexample.tex new file mode 100644 index 00000000000..7b7f9a1556a --- /dev/null +++ b/Master/texmf-dist/doc/latex/gridset/gridsetexample.tex @@ -0,0 +1,108 @@ +%% +%% This is file `gridsetexample.tex', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% gridset.dtx (with options: `example') +%% +%% IMPORTANT NOTE: +%% +%% This is a generated file and you are not allowed to distribute it +%% without the source ot the work. See below about more informations +%% about the files the work consists of. +%% +%% Copyright (C) 2008-2024 Markus Kohm +%% +%% This work may be distributed and/or modified under the +%% conditions of the LaTeX Project Public License, either version 1.3c +%% of this license or (at your option) any later version. +%% The latest version of this license is in +%% http://www.latex-project.org/lppl.txt +%% and version 1.3c or later is part of all distributions of LaTeX +%% version 2005/12/01 or later. +%% +%% This work has the LPPL maintenance status "maintained". +%% +%% The author and current maintainer of this work is +%% Markus Kohm <komascript@gmx.info>. +%% +%% This work consists of the files gridset.dtx and README.md. +%% +%% Important Recommendation: +%% The LPPL requires that distributions of the Work contain all the files of +%% the Work (see ``Important Recommendations'' at lppl.txt). +%% +\ProvidesFile{gridsetexample.tex} + [2024-08-17 v0.4 grid - a.k.a. in-register - setting] +\documentclass[a4paper,12pt]{article} +\usepackage{gridset} +\usepackage{blindtext} +\raggedbottom + +\pagestyle{myheadings} + +\begin{document} +\markright{gridbase=\gridbase, gridinterval=\gridinterval\ without move down}% +\newcounter{Zeile}% +\makeatletter +\@whilenum \value{Zeile}<40\do {% + \stepcounter{Zeile}% + \theZeile. Zeile: + \SavePos{\thepage.\theZeile}\thegridinfo{\thepage.\theZeile}\par +}% +\makeatother +\clearpage +\setcounter{Zeile}{0} +\makeatletter +\@whilenum \value{Zeile}<20\do {% + \stepcounter{Zeile}% + \theZeile. Zeile: + \SavePos{\thepage.\theZeile}\theposinfo{\thepage.\theZeile}\par +}% +\makeatother +\clearpage +\parskip=.5\baselineskip +\setcounter{Zeile}{0} +\makeatletter +\@whilenum \value{Zeile}<20\do {% + \stepcounter{Zeile}% + \theZeile. Zeile: + \SavePos{\thepage.\theZeile}\theposinfo{\thepage.\theZeile}\par +}% +\makeatother +\clearpage +\markright{gridbase=\gridbase, gridinterval=\gridinterval\ with real move down +at vmode}% +\parskip=.5\baselineskip +\setcounter{Zeile}{0} +\makeatletter +\@whilenum \value{Zeile}<25\do {% + \stepcounter{Zeile}% + \vskipnextgrid\theZeile. Zeile: \theposinfo{vp!\thegridcnt}\par +}% +\makeatother +\clearpage +\markright{gridbase=\gridbase, gridinterval=\gridinterval\ with real move down +at hmode}% +\parskip=.5\baselineskip +\setcounter{Zeile}{0} +\makeatletter +\@whilenum \value{Zeile}<25\do {% + \stepcounter{Zeile}% + \theZeile. Zeile: \vskipnextgrid\theposinfo{vp!\thegridcnt}\par +}% +\makeatother +\clearpage +\parskip=0pt +\blindtext +\begin{itemize} +\item Test +\item Test +\end{itemize} +\vskipnextgrid\theposinfo{vp!\thegridcnt}\blindtext + +\end{document} +\endinput +%% +%% End of file `gridsetexample.tex'. diff --git a/Master/texmf-dist/doc/latex/harmony/README b/Master/texmf-dist/doc/latex/harmony/README index da777f59642..39f72b35f7f 100644 --- a/Master/texmf-dist/doc/latex/harmony/README +++ b/Master/texmf-dist/doc/latex/harmony/README @@ -1,43 +1,26 @@ -harmony.sty 2007/05/04 +harmony 2024/08/01 -Copyright 2005 - 2007 +Copyright 2005 - 2024 Dagny Wegner <dagny.wegner@t-online.de> -Arnim Wegner <arnim.wegner@t-online.de> +Arnim Wegner <arnim.e.wegner@t-online.de> This work may be distributed and/or modified under the conditions of the LaTeX Project Public License, either version 1.3 of this license or (at your option) any later version. -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 2005/12/01 or later. - -This work has the LPPL maintenance status `maintained'. - -The Current Maintainers of this work are -Dagny Wegner and Arnim Wegner. This work consists of the files harmony.sty, harmony.tex, harmony.pdf, and Readme. -------------------------------------------------------- - -harmony.sty uses the packages ifthen and amssymb -and the fonts lcirclew10, musix11, and musix13. - -------------------------------------------------------- +harmony.sty uses the packages ifthen, mathtools and amssymb +and the fonts lcircle10, musix11 and musix13. harmony.sty is a LaTeX2e package for typesetting harmony symbols etc. in musicological texts; usage: cf. harmony.pdf. -Many commands in this package are only suitable -for size 12pt ! harmony.sty ist ein LaTeX2e-Package zum Setzen von Harmoniesymbolen etc. in musikwissenschaftlichen Texten; Benutzung: vgl. harmony.pdf. -Viele Befehle in diesem Package sind -nur fr die Schriftgre 12pt geeignet! diff --git a/Master/texmf-dist/doc/latex/harmony/harmony.pdf b/Master/texmf-dist/doc/latex/harmony/harmony.pdf Binary files differindex 4b523de9113..b792390663d 100644 --- a/Master/texmf-dist/doc/latex/harmony/harmony.pdf +++ b/Master/texmf-dist/doc/latex/harmony/harmony.pdf diff --git a/Master/texmf-dist/doc/latex/harmony/harmony.tex b/Master/texmf-dist/doc/latex/harmony/harmony.tex index 326aff42c36..7b163dc7abd 100644 --- a/Master/texmf-dist/doc/latex/harmony/harmony.tex +++ b/Master/texmf-dist/doc/latex/harmony/harmony.tex @@ -1,38 +1,29 @@ -%% harmony.sty 2007/05/04 -%% Copyright 2005 - 2007 +%% harmony.sty 2024/08/01 +%% Copyright 2005 - 2024 %% Dagny Wegner <dagny.wegner@t-online.de> -%% Arnim Wegner <arnim.wegner@t-online.de> +%% Arnim Wegner <arnim.e.wegner@t-online.de> % % This work may be distributed and/or modified under the % conditions of the LaTeX Project Public License, either % version 1.3 of this license or (at your option) any % later version. -% 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 2005/12/01 or later. -% -% This work has the LPPL maintenance status `maintained'. -% -% The Current Maintainers of this work are -% Dagny Wegner and Arnim Wegner. % % This work consists of the files harmony.sty, % harmony.tex, harmony.pdf, and Readme. -%==================================================================================== -\documentclass[12pt,origlongtable,pdftex]{scrartcl} +% ================================================================================== +\documentclass[paper=a4,fontsize=12pt,origlongtable]{scrartcl} % \usepackage[ngerman]{babel} \usepackage[T1]{fontenc} \usepackage{mathpazo} -\usepackage[ansinew]{inputenc} \usepackage{array} \usepackage{longtable} -\usepackage[pdftex,a4paper]{hyperref} +\usepackage[pdftex]{hyperref} % -\usepackage{harmony} +\usepackage[12pt]{harmony} % options: 8pt 9pt 10pt 11pt 12pt 13pt 14pt % -\setlength{\textheight}{240mm} +\setlength{\voffset}{-10mm} +\setlength{\textheight}{255mm} \setlength{\overfullrule}{0pt} \setlength{\extrarowheight}{2ex} \setlength{\parindent}{0pt} @@ -49,45 +40,37 @@ pdfstartview = {Fit}, %------------------------------------------------------------------------------------- \begin{document} % -\title{harmony.sty} -\author{Dagny Wegner \and Arnim Wegner} -\date{2007/05/04} +\title{harmony} +\author{Dagny Wegner \and Arnim Wegner} +\date{2024/08/01} \maketitle % \vfill % \begin{center} -Copyright 2005 - 2007\\ +Copyright 2005 - 2024\\ Dagny Wegner <dagny.wegner@t-online.de>\\ -Arnim Wegner <arnim.wegner@t-online.de> +Arnim Wegner <arnim.e.wegner@t-online.de> \end{center} This work may be distributed and/or modified under the -conditions of the LaTeX Project Public License, either +conditions of the \LaTeX\ Project Public License, either version 1.3 of this license or (at your option) any later version. -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 2005/12/01 or later. -This work has the LPPL maintenance status `maintained'. -The Current Maintainers of this work are -Dagny Wegner and Arnim Wegner. This work consists of the files harmony.sty, harmony.tex, harmony.pdf, and Readme. % \newpage % \begin{center} -This work was developed for the doctoral dissertation in musicology of\\ +The package harmony was first developed for the doctoral dissertation in\\ musicology of Dagny Wegner; cf. this dissertation for further examples.\\ -(Look at http://www.sub.uni-hamburg.de/opus/volltexte/2006/3047/ or -http://www.chmtl.indiana.edu/ddm/DNclassical.html)\\[2ex] -\textbf{Many commands in this package therefore are only suitable for size 12pt !} +(Look at https://ediss.sub.uni-hamburg.de/handle/ediss/1483)\\[1ex] +This package accepts the optional parameters 8pt, \dots ,14pt for the size\\ of the notes + independent of the fontsize of the document. \end{center} % -\vspace{2ex} -% -\begin{longtable}{|l|l|} +\vspace*{-5mm} +\begin{longtable}{|l|c|} % \caption*{\textbf{Usage and Examples}} \endfirsthead @@ -95,9 +78,11 @@ http://www.chmtl.indiana.edu/ddm/DNclassical.html)\\[2ex] \endhead % \hline -input & output\\ +Input & Output\\ \hline\hline \verb|\HH.X.u.v.w.z.|&\HH.X.u.v.w.z.\\ +\verb|\HHR.X.u.v.w.z.|&\HHR.X.u.v.w.z.\\ +\verb|\HHr.X.u.v.w.z.|&\HHr.X.u.v.w.z.\\ \verb|\HH.D.....|&\HH.D.....\\ \verb|\HH.D..7...|&\HH.D..7...\\ \verb|\HH.D.3....|&\HH.D.3....\\ @@ -105,19 +90,26 @@ input & output\\ \verb|\HH.D.3.9.7..|&\HH.D.3.9.7..\\ \verb|\HH.D.3.9.7.5.|&\HH.D.3.9.7.5.\\ \hline -\verb|\Dohne|&\Dohne\\ +\verb|\Dohne, \Dsans|&\Dohne\\ +\verb|\DohneR, \DsansR|&\DohneR\\ +\verb|\Dohner, \Dsansr|&\Dohner\\ \verb|\DD|&\DD\\ -\verb|\DDohne|&\DDohne\\ +\verb|\DDR|&\DDR\\ +\verb|\DDr|&\DDr\\ +\verb|\DDohne, \DDsans|&\DDohne\\ +\verb|\DDohneR, \DDsansR|&\DDohneR\\ +\verb|\DDohner. \DDsansr|&\DDohner\\ \verb|\DS|&\DS\\ \verb|\Ds|&\Ds\\ \verb|\UB|&\UB\\ \verb|\VM|&\VM\\ -\verb|\Ohne{D}|&\Ohne{D}\\ -\verb|\Ohne[3pt]{D}|&\Ohne[3pt]{D}\\ -\verb|\Ohne[-3pt]{D}|&\Ohne[-3pt]{D}\\ \hline \newpage \hline +\verb|\Ohne{D}, \Sans{D}|&\Ohne{D}\\ +\verb|\Ohne[3pt]{D}, \Sans[3pt]{D}|&\Ohne[3pt]{D}\\ +\verb|\Ohne[-3pt]{D}, \Sans[-3pt]{D}|&\Ohne[-3pt]{D}\\ +\hline \verb|\Fermi{X}|&\Fermi{X}\\ \verb|\Ferli{X}|&\Ferli{X}\\ \verb|\Ferli[5pt]{T}|&\Ferli[5pt]{T}\\ @@ -125,10 +117,9 @@ input & output\\ \hline \verb|\Umd{D}|&\Umd{D}\\ \verb|\Umd[5pt]{D}|&\Umd[5pt]{D}\\ -\hline \verb|\Kr{a:}|&\Kr{a:}\\ \verb|\Kr{f:} \Kr{g:}|&\Kr{f:} \Kr{g:}\\ -\verb|\Kr{\small fis:}|&\Kr{\small fis:}\\ +\verb|\Kr[105]{fis:} (#1: 100 - 110)|&\Kr[105]{fis:}\\[1ex] \hline \verb|\Takt{u}{v}|&\Takt{u}{v}\\ \verb|\Takt{3}{4}|&\Takt{3}{4}\\ @@ -142,12 +133,12 @@ input & output\\ \verb|\Umd{\HH.D.3.9.7.5.}|&\Umd{\HH.D.3.9.7.5.}\\ \verb|\Umd[5pt]{\HH.D.3.9.7.5.}|&\Umd[5pt]{\HH.D.3.9.7.5.}\\ \verb|\HH.\DDohne.5\VM.9\VM.7..|&\HH.\DDohne.5\VM.9\VM.7..\\ -\verb|\HH.\Ohne[0,1em]{Es}.5-3.7...|&\HH.\Ohne[0,1em]{Es}.5-3.7...\\ +\verb|\HH.\Ohne[0.1em]{Es}.5-3.7...|&\HH.\Ohne[0,1em]{Es}.5-3.7...\\ \verb|\Ferli[-1pt]{\HH.\DDohne.5\VM.9\VM.7..}|&\Ferli[-1pt]{\HH.\DDohne.5\VM.9\VM.7..}\\ \hline \newpage \hline -\verb|\Ganz|&\Ganz\\ +\verb|\Ganz|&\kern-0.1em\Ganz\\ \verb|\Halb|&\Halb\\ \verb|\Vier|&\Vier\\ \verb|\Acht|&\Acht\\ @@ -167,18 +158,28 @@ input & output\\ \verb|\SechBr|&\SechBr\\ \hline \verb|\Vier\AchtBL|&\Vier\AchtBL\\ +\verb|\Vier\kern0.2em\AchtBL|&\Vier\kern0.2em\AchtBL\\ \verb|\Vier\SechBL|&\Vier\SechBL\\ +\verb|\Vier\kern0.2em\SechBL|&\Vier\kern0.2em\SechBL\\ \verb|\Vier\SechBl|&\Vier\SechBl\\ +\verb|\Vier\kern0.2em\SechBl|&\Vier\kern0.2em\SechBl\\ \verb|\AchtBR\Vier|&\AchtBR\Vier\\ \verb|\SechBR\Vier|&\SechBR\Vier\\ \verb|\SechBr\Vier|&\SechBr\Vier\\ -\verb|\SechBr\Vier\SechBl|&\SechBr\Vier\SechBl\\ +\verb|\SechBr\Vier\kern0.2em\SechBl|&\SechBr\Vier\kern0.2em\SechBl\\ \verb|\AchtBR\AchtBR\AchtBL|&\AchtBR\AchtBR\AchtBL\\ -\verb|\AchtBR\kern-0.15em\AchtBR\kern-0.15em\AchtBL|% -&\AchtBR\kern-0.15em\AchtBR\kern-0.15em\AchtBL\\ \hline \newpage \hline +\verb|\Blkn{0em}{0ex}|&\Blkn{0ex}{0em}\\ +\verb|\AchtBR\Blkn{0.04em}{2.07ex}|&\AchtBR\Blkn{0.04em}{2.07ex}\\ +\hline +\verb|\achteltriole|&\kern-0.6em\achteltriole\\ +\verb|\vierteltrioleA|&\vierteltrioleA\\ +\verb|\vierteltrioleB|&\vierteltrioleB\\ +\verb|\halbetrioleA|&\halbetrioleA\\ +\verb|\halbetrioleB|&\halbetrioleB\\ +\hline \verb|\GaPa|&\GaPa\\ \verb|\HaPa|&\HaPa\\ \verb|\ViPa|&\ViPa\\ @@ -217,13 +218,13 @@ rm&rmfamily\\ \newcommand{\Str}[2][0.5]{\raise#1ex\hbox to #2em{\hrulefill}} \newcommand{\ST}{\h0.03h\Str[0.65]{0.27}\h0.03h} % -\h9h\Kr{g:}% +\h9h\Kr[103]{g:}% \h1h\HH.\DDohne.5\VM.9\VM.7..% \h0,5h\HH.D..6.4..% \h0,5h\HH.\DDohne.3.9\VM.7..% \h0,5h\HH.\Dohne.7.9\VM...% \h0,5h\HH.T.3....\\[1ex] -\h17h\Kr{d:}% +\h17h\Kr[102]{d:}% \h0,5h\Umd[1ex]{\HH.S.3....}% \h0,5h\HH.\DD.5\VM.7...% \h0,5h\HH.D..8\Str[0,65]{1,2}7\ST6\ST5.8\ST6\ST4\Str[0,65]{2}3.6\ST5\ST8% @@ -237,13 +238,13 @@ rm&rmfamily\\ \newcommand{\Str}[2][0.5]{\raise#1ex\hbox to #2em{\hrulefill}} \newcommand{\ST}{\h0.03h\Str[0.65]{0.27}\h0.03h} % -\h9h\Kr{g:}% +\h9h\Kr[103]{g:}% \h1h\HH.\DDohne.5\VM.9\VM.7..% \h0,5h\HH.D..6.4..% \h0,5h\HH.\DDohne.3.9\VM.7..% \h0,5h\HH.\Dohne.7.9\VM...% \h0,5h\HH.T.3....\\[1ex] -\h17h\Kr{d:}% +\h17h\Kr[102]{d:}% \h0,5h\Umd[1ex]{\HH.S.3....}% \h0,5h\HH.\DD.5\VM.7...% \h0,5h\HH.D..8\Str[0,65]{1,2}7\ST6\ST5.8\ST6\ST4\Str[0,65]{2}3.6\ST5\ST8% diff --git a/Master/texmf-dist/doc/latex/hebdomon/HebdomonGuide.pdf b/Master/texmf-dist/doc/latex/hebdomon/HebdomonGuide.pdf Binary files differnew file mode 100644 index 00000000000..f458c73d8ed --- /dev/null +++ b/Master/texmf-dist/doc/latex/hebdomon/HebdomonGuide.pdf diff --git a/Master/texmf-dist/doc/latex/hebdomon/HebdomonGuide.tex b/Master/texmf-dist/doc/latex/hebdomon/HebdomonGuide.tex new file mode 100644 index 00000000000..714857cf405 --- /dev/null +++ b/Master/texmf-dist/doc/latex/hebdomon/HebdomonGuide.tex @@ -0,0 +1,461 @@ +% Load the base class +\documentclass[minted, draw]{../tex/hebdomon} + +\begin{document} + +\title{Hebdomon \\ Report and Documentation Standard} +\author{v0.1 - Angry Avocado} +\StudentName{D. T. McGuiness} +\date{dtm@mci4me.at} + +\publishers{ + \begin{tabular}[!b]{rl} + \textbf{Student Name} & xxxxx \\[3pt] + \textbf{Student Number} & xxxxx \\[3pt] + \textbf{Module Name} & xxxxx + \end{tabular}\\[20pt] + } + +\maketitle +\dominitoc +\tableofcontents +\newpage + +\Chapter{The Hebdomon Template} +\Section{Introduction} + +This document is designed to abstract a significant portion of the +commands and MACROs to hide away the programming aspect and ease into +LaTeX programming. While some commands are have been changed \hlight{NO} +command has been overwritten so feel free to use the original ones +if you wish. + +\begin{warning} + As to the best of the authors knowledge, the original commands should work + but the aesthetics may be compromised. +\end{warning} + +\Section{Title Formatting} + +To begin a new content, always start the content with a chapter heading. To +insert the chapter with an additional \lstinline[columns=fixed]{minitoc} +use \lstinline[columns=fixed]{\Chapter}, which produces an heading as +you see at the beginning of this page, to have a heading without +a \lstinline[columns=fixed]{minitoc} use the standard +\lstinline[columns=fixed]{\chapter}. + +The document relies on the user to use the \hlight{correct} title commands to +keep the formatting consistent. The commands that starting with a +capital letter are the overloaded commands of the standard ones. +The following are the current ones: +% +\begin{code}{python} +\Chapter{...} +\Section{...} +\Subsection{...} +\Subsubsection{...} +\end{code} +% +\begin{warning} + Unless there is a specific reason, it is suggested to use the aforementioned + commands. However, original LaTeX command should work as well if you want to use. +\end{warning} + +\Subsection{Page Geometry} + +The page geometry is set to the following settings. This is done using the +standard package \pcode{\usepackage{geometry}} which is defined in the +\pcode{Hebdomon.cls}. +% +\begin{itemize}[leftmargin=!,labelindent=-29.2pt] + \item[\textbf{top}] 2.5cm, + \item[\textbf{right}] 2.0cm, + \item[\textbf{bottom}] 2.5cm, + \item[\textbf{left}] 3.0cm. +\end{itemize} +% +\Section{Image Positioning} +% +The image positioning could be done with the following code snippet: +% +\begin{code}{latex} +\begin{figure}[ht] + \centering + \includegraphics[options]{figures/path.pdf} + \caption{\label{fig:label} } +\end{figure} +\end{code} +% +Here there are a few options worth mentioning: +% +\begin{hgitemize} + \item[\pcode{figures/path}] The place where the image is kept. If the + image is in the same folder where the main.tex file resides, it is as + simple as writing the files name. If the file is in a folder called + image, just write \pcode{image/innsbruck.jpg}. Finally if the image is + in a higher directory (i.e., image is in folderA/innsbruck.jpg and the + main tex is in folderA/document/main.tex then the path becomes \pcode{../innsbruck.jpg} + \item[\pcode{\caption{..}}] Where you write the caption of the image. + For consistency make sure every image has a caption as if the image does not + need a caption, maybe it not be present to begin with. + \item[\pcode{label{}}] This is an identifier for you to use when you need + to cite this Figure in a place somewhere. For example if you were to have + and image with the following: +\end{hgitemize} +% +\begin{code}{latex} +\begin{figure}[ht] + \centering + \includegraphics[width=\textwidth]{figures/path.pdf} + \caption{A photo I found on the web.}\label{fig:innsbruck} +\end{figure} +\end{code} +% +\begin{hgitemize} + \item[] Now this image is referenced as \pcode{fig:innsbruck}, which + means if we write the following: +\end{hgitemize} +% +\begin{code}{text} +To see the image, have a look at Figure \ref{fig:innsbruck} +\end{code} +% +This line of command will be presented as +% +\begin{excerpt} + To see the image, have a look at Figure 1.1. +\end{excerpt} +% +Finally you can see the image here as well. +% +\begin{figure}[ht] + \centering + \includegraphics[width=\linewidth]{figures/innsbruck.jpg} + \caption{The famous Innsbruck houses near the river Inn. This image is + placed with a width value of \pcode{width=\linewidth}. This is also + a good opportunity to showcase the hanging behaviour of the figure + caption.} +\end{figure} +% +\Section{Defined Environments} +% +\begin{hgitemize} + \item[\pcode{excerpt}] The template relies on the excellent \lstinline[columns=fixed]{tcolorbox} + package for formatting the boxes within the document and for that end different styles were created. + \item[] Sometimes one needs to quote either a proverb or to create drama, for this use + the \lstinline[columns=fixed]{excerpt} environment with the following notation and effect. +\end{hgitemize} +% +\begin{code}{latex} +\begin{excerpt} + To be, or not to be... +\end{excerpt} +\end{code} +% +\begin{hgitemize} + \item[] Compiling this code snippet would show as in the document +\end{hgitemize} +% +\begin{excerpt} + To be, or not to be... +\end{excerpt} +% +\begin{itemize}[leftmargin=!,labelindent=-29.2pt] + \item[\pcode{code}] During the preparation of your document, it is useful to showcase + some code either in the shape of all the document or a snippet of it. + There are two (\hlight{2}) ways of doing this where the first one will be discussed here. + \item[] For example to print out a hello world in python, please use the following environment +\end{itemize} +% +\begin{verbatim} +\begin{code}{python} +print("Hello, World!") +\end{code} +\end{verbatim} +% +Producing the following: +% +\begin{code}{python} +print("Hello, World!") +\end{code} +% +The class also come with some predefined environments to modify the behaviour/aesthetics of the document. +% +Highlighting text is \hlight{very easy}, here is an example on how to write one. + +\begin{code}{latex} +Highlighting text is \hlight{very easy}, here is an example: +\end{code} + +\begin{itemize}[leftmargin=!,labelindent=-29.2pt] + \item[\pcode{example}] Sometimes you need to showcase an example or + need to highlight a certain idea. + For these things the environment Example could be useful. + \item[] For example to show as simple example or give a slight attention to a topic you can do the following. +\end{itemize} + +\begin{example} + This is an example. This could be anything which you would like to have a certain amount of + attention but not too much as to distract from the flow of the document. +\end{example} + +\begin{itemize}[leftmargin=!,labelindent=-29.2pt] + \item[\pcode{highlight}] Or sometimes you need to give a clear break to the flow of the + document and ask the reader to look at your banner. For that use highlight. +\end{itemize} + +\begin{highlight} + Hey! Pay attention as this is a highlight box. +\end{highlight} + +\Subsection{Writing Equations} +% +One of the strong suits of LaTeX compared to other editors and programs is +it simplicity and ease of use methods of writing equations. Consider the +following equation: +% +\begin{equation*} + f(x) = x^2 + 2x + 1 +\end{equation*} +% +In code form this would be written as: +% +\begin{code}{latex} + \begin{equation*} + f(x) = x^2 + 2x + 1 + \end{equation*} +\end{code} +% +All equations that has their newline and centre staged are mostly written +in an environment where it has a \pcode{begin} and an \pcode{end}. You may +have noticed the asterisks sign just after the equation. This implies the +environment is \hlight{not numbered}, meaning you won't be able to +reference it. This is used to limit the numbering of equations to just the +essential parts in the document and not reach 3 digits by the time you are +in page 8. For a numbered equation like the following +% +\begin{equation} + f(x) = x^2 + 2x + 1 +\end{equation} +% +You only need to do: +% +\begin{code}{latex} + \begin{equation}\label{eq:quad} + f(x) = x^2 + 2x + 1 + \end{equation} +\end{code} +% +where \pcode{\label{eq:quad}} is the equation reference label. +% +You could also make matrices as well as \pcode{amsmath} is preloaded into this template. +% +\Subsection{Designing a Table} +% +Finally, no template is done without someone telling you how a table should be designed. +% +Below is a standard table +% +\begin{table}[!ht] + \begin{NiceTabular}{rX}[rules/color=[gray]{0.9},rules/width=1pt] + \CodeBefore + \rowcolors{1}{black!5}{} + \rowcolors{3}{blue!5}{} + \Body + \toprule + \textbf{Section} & \textbf{Scientific Method Step} \\ + \midrule + \textbf{Introduction} & states your hypothesis \\ + \textbf{Methods} & details how you tested your hypothesis \\ + \textbf{Results} & provides raw (i.e., uninterpreted) data collected \\ + \textbf{Discussion} & considers whether the data you obtained support the hypothesis \\ + \bottomrule + \end{NiceTabular} + \caption{A Detailed look into the scientific method.} +\end{table} +% +And the code used to generate it: +% +\begin{code}{latex} +\begin{table}[!ht] + \begin{NiceTabular}{rX}[rules/color=[gray]{0.9},rules/width=1pt] + \CodeBefore + \rowcolors{1}{black!5}{} + \rowcolors{3}{blue!5}{} + \Body + \toprule + \textbf{Section} & \textbf{Scientific Method Step} \\ + \midrule + \textbf{Introduction} & states hypothesis \\ + \textbf{Methods} & how you tested hypothesis \\ + \textbf{Results} & provides raw data collected \\ + \textbf{Discussion} & whether it support the hypothesis \\ + \bottomrule + \end{NiceTabular} + \caption{A Detailed look into the scientific method.} +\end{table} +\end{code} + +\Chapter{Plotting your data using PGF/TikZ} + +\Section{Introduction} + +PGFplots and Tikz are powerful scripting languages allowing you to draw high-quality diagrams +using only a programming language. PGFplots are generally used for plotting data from a wide +variety of representations from simple 2D plots to complex 3D geometries. +\\ +But wikipedia description put it best: + +\begin{excerpt} + PGF/TikZ is a pair of languages for producing vector graphics + (e.g., technical illustrations and drawings) from a geometric/algebraic description, with + standard features including the drawing of points, lines, arrows, paths, circles, + ellipses and polygons. PGF is a lower-level language, while TikZ is a set of higher-level + macros that use PGF. The top-level PGF and TikZ commands are invoked as TeX macros, + but in contrast with PSTricks, the PGF/TikZ graphics themselves are described in a + language that resembles MetaPost. +\end{excerpt} + +For more info please look at the documentation \href{https://tikz.dev/pgfplots/}{here}. +It is of course up to the user to select which graphical software to produce the necessary +visual components but unless it requires complex functions/processing, it would be be easier +to have it in PGF/TikZ format for easy editing/maintenance. + +For this manual we will be looking at the three (\hlight{3}) plot types you may +encounter in your studies. +% +\Subsection{A Simple 2D Plot} +% +2D plots are simple yet powerful to show the relation of a single parameters +and its related function. +Below is an example of a simple comparison of two (\hlight{2}) functions. +% +\begin{figure}[!ht] + \centering + \begin{tikzpicture} + \begin{axis}[hebdomon, xlabel = \(x\), ylabel = {\(f(x)\)}] + % + \addplot [domain=-10:10, samples=100,red]{x^3 - 7*x - 1}; + \addlegendentry{\(x^2 - 2x - 1\)} + % + \addplot [domain=-10:10, samples=100, blue]{x^2 + 6*x + 8}; + % + \addlegendentry{\(x^2 + 2x + 1\)} + % + \end{axis} + \end{tikzpicture} + \caption{This is an example of a 2D PGF plot comparing + two functions where these functions are calculated using + PGF itself rather than entering/reading from data.} +\end{figure} +% +The image above is generated using the following code: + +\begin{code}{latex} +\begin{figure}[!ht] + \centering + \begin{tikzpicture} + \begin{axis}[hebdomon, xlabel = \(x\), ylabel = {\(f(x)\)}] + % + \addplot [domain=-10:10, samples=100,red]{x^3 - 7*x - 1}; + \addlegendentry{\(x^2 - 2x - 1\)} + % + \addplot [domain=-10:10, samples=100, blue]{x^2 + 6*x + 8}; + % + \addlegendentry{\(x^2 + 2x + 1\)} + % + \end{axis} + \end{tikzpicture} + \caption{This is an example of a 2D PGF plot comparing + two functions where these functions are calculated using + PGF itself rather than entering/reading from data.} +\end{figure} +\end{code} + +As can be seen it is relatively standard to create plots. Some aspect +which need mentioning. + +\begin{hgitemize} + \item[\pcode{\addplot}] You invoke this command when you want to + create a plot. In the square brackets (i.e., []) you insert your + \hlight{configuration} of your plot. The most important ones are + \begin{itemize} + \item[\pcode{domain}] the range in which the function will be + calculated + \item[\pcode{sample}] the number of calculations will be done + within the defined domain. + \end{itemize} +\end{hgitemize} + +\Subsection{Plotting 3D plots} + +Plotting data with PGFplots is also quite possible and will generate +great plot (as long as it is not massively complicated). For more +information on the precautions on designing 3D plots, please have a look +at \href{https://tikz.dev/pgfplots/reference-3dplots}{here}. + +Below is the prototypical plot to showcase the 3D capabilities of PGF: + +\begin{figure}[!ht] + \centering + \begin{tikzpicture} + \begin{axis}[view={25}{30},mark layer=like plot] + \addplot3 [ + surf, + shader=faceted, + fill opacity=0.75, + samples=25, + domain=-4:4, + y domain=-4:4, + on layer=main, + ] {x^2-y^2}; + \end{axis} + \end{tikzpicture} + \caption{An example 3D plot done wit PGFplots.} +\end{figure} + +And, of course the code for generating the plot is given as follows: + +\begin{code}{latex} +\begin{figure}[!ht] + \centering + \begin{tikzpicture} + \begin{axis}[view={25}{30},mark layer=like plot] + \addplot3 [ + surf, + shader=faceted, + fill opacity=0.75, + samples=25, + domain=-4:4, + y domain=-4:4, + on layer=main, + ] {x^2-y^2}; + \end{axis} + \end{tikzpicture} + \caption{An example 3D plot done wit PGFplots.} +\end{figure} +\end{code} + +Some options worth mentioning are as follows: + +\begin{hgitemize} + \item[\pcode{surf}] Generates a \hlight{surface} based on the 2D + data it was given (in this case these are $x$ and $y$. + \item[\pcode{shader}] Describes, basically how each segment should be + filled. + \item[\pcode{samples}] Similar to 2D plots, tells how many data points will + be measured. However, make a note that 3D is significantly more taxing + on the TeX memory than 2D and making this sampling high may result in + exceeding the memory limit. +\end{hgitemize} + +\end{document} + +%%% Local Variables: +%%% coding: utf-8 +%%% mode: latex +%%% TeX-command-extra-options: "-shell-escape" +%%% TeX-master: t +%%% TeX-engine: luatex +%%% End: + diff --git a/Master/texmf-dist/doc/latex/hebdomon/README.md b/Master/texmf-dist/doc/latex/hebdomon/README.md new file mode 100644 index 00000000000..cb581a6ab03 --- /dev/null +++ b/Master/texmf-dist/doc/latex/hebdomon/README.md @@ -0,0 +1,18 @@ +# Hebdomon - A Documentclass for Assignment Preparation + +## Description + +Hebdomon is a latex documentclass for streamlining document creation in latex. This +package does not ovewrite any TeX or LaTeX commands so the user could use their own +macros or other commands as they wish. + +A manual is written which can be seen in HebdomonGuide which showcases some commands written for the class. + +## Author + +This package is maintained by D. T. McGuiness: dtm@mci4me.at + +## Licence + +Released under the LaTeX Project Public License v1.3c or later. +See https://www.latex-project.org/lppl.txt diff --git a/Master/texmf-dist/doc/latex/hebdomon/figures/innsbruck.jpg b/Master/texmf-dist/doc/latex/hebdomon/figures/innsbruck.jpg Binary files differnew file mode 100644 index 00000000000..c42a2a0580a --- /dev/null +++ b/Master/texmf-dist/doc/latex/hebdomon/figures/innsbruck.jpg diff --git a/Master/texmf-dist/doc/latex/heria/README.md b/Master/texmf-dist/doc/latex/heria/README.md index b3d5cf32b1c..664e9ae18bd 100644 --- a/Master/texmf-dist/doc/latex/heria/README.md +++ b/Master/texmf-dist/doc/latex/heria/README.md @@ -34,5 +34,5 @@ feature requests. The `heria` class is distributed under the conditions of the [LaTeX Project Public License](https://www.latex-project.org/lppl.txt), -either version 1.3 of this license or (at your option) any later +either version 1.3c of this license or (at your option) any later version. diff --git a/Master/texmf-dist/doc/latex/heria/heria-proposal.pdf b/Master/texmf-dist/doc/latex/heria/heria-proposal.pdf Binary files differindex f8d64312a9a..79892c24d2c 100644 --- a/Master/texmf-dist/doc/latex/heria/heria-proposal.pdf +++ b/Master/texmf-dist/doc/latex/heria/heria-proposal.pdf diff --git a/Master/texmf-dist/doc/latex/heria/heria-proposal.tex b/Master/texmf-dist/doc/latex/heria/heria-proposal.tex index 4d75dd73234..e929caeaafb 100644 --- a/Master/texmf-dist/doc/latex/heria/heria-proposal.tex +++ b/Master/texmf-dist/doc/latex/heria/heria-proposal.tex @@ -8,10 +8,10 @@ %% %% This is a generated file. %% -%% Copyright 2023 Tristan Miller +%% Copyright 2023, 2024 Tristan Miller %% %% This work may be distributed and/or modified under the -%% conditions of the LaTeX Project Public License, either version 1.3 +%% conditions of the LaTeX Project Public License, either version 1.3c %% of this license or (at your option) any later version. %% The latest version of this license is in %% https://www.latex-project.org/lppl.txt @@ -20,6 +20,8 @@ %% \documentclass[showinstructions]{heria} +\templateversion{3.4} + \title{Skeleton Horizon Europe Proposal} \callname{insert call name} \callidentifier{HORIZON-XX0-0000-XXXXX-00-XXXXX} diff --git a/Master/texmf-dist/doc/latex/heria/heria.pdf b/Master/texmf-dist/doc/latex/heria/heria.pdf Binary files differindex af4f0cd6275..3295f000a9b 100644 --- a/Master/texmf-dist/doc/latex/heria/heria.pdf +++ b/Master/texmf-dist/doc/latex/heria/heria.pdf diff --git a/Master/texmf-dist/doc/latex/hypcap/README.md b/Master/texmf-dist/doc/latex/hypcap/README.md new file mode 100644 index 00000000000..07580bcb3f4 --- /dev/null +++ b/Master/texmf-dist/doc/latex/hypcap/README.md @@ -0,0 +1,20 @@ +# hypcap package for LaTeX + +* adjusting anchors of captions; + +Version: 2024-07-26 v1.13 + +This package tries a solution of the problem with +hyperref, that links to floats points below the +caption and not at the beginning of the float. +Therefore this package divides the task into two +part, the link setting with `\capstart` or +automatically at the beginning of a float and +the rest in the `\caption` command. + +## Copyright (C) +* 1999-2001, 2006-2008, 2011 Heiko Oberdiek +* 2016-2024 Oberdiek Package Support Group + +## License +LATEX Project Public License, version 1.3c or later. diff --git a/Master/texmf-dist/doc/latex/oberdiek/hypcap.pdf b/Master/texmf-dist/doc/latex/hypcap/hypcap.pdf Binary files differindex 46df7e89510..bea211492fa 100644 --- a/Master/texmf-dist/doc/latex/oberdiek/hypcap.pdf +++ b/Master/texmf-dist/doc/latex/hypcap/hypcap.pdf diff --git a/Master/texmf-dist/doc/latex/hypdestopt/README.md b/Master/texmf-dist/doc/latex/hypdestopt/README.md index 0610b53e582..71e1c7066e7 100644 --- a/Master/texmf-dist/doc/latex/hypdestopt/README.md +++ b/Master/texmf-dist/doc/latex/hypdestopt/README.md @@ -1,6 +1,6 @@ # hypdestopt package for LaTeX -Version: 2020-09-02 v2.7 +Version: 2024-08-07 v2.8 Hyperref destination optimizer @@ -11,7 +11,7 @@ to get smaller PDF files. ## Copyright (C) * 2007, 2009-2011 Heiko Oberdiek -* 2016-2020 Oberdiek Package Support Group +* 2016-2024 Oberdiek Package Support Group ## License LATEX Project Public License, version 1.3c or later. diff --git a/Master/texmf-dist/doc/latex/hypdestopt/hypdestopt.dtx b/Master/texmf-dist/doc/latex/hypdestopt/hypdestopt.dtx index 03006db27bf..f9c6af1e6d9 100644 --- a/Master/texmf-dist/doc/latex/hypdestopt/hypdestopt.dtx +++ b/Master/texmf-dist/doc/latex/hypdestopt/hypdestopt.dtx @@ -1,12 +1,12 @@ % \iffalse meta-comment % % File: hypdestopt.dtx -% Version: 2020-09-02 v2.7 +% Version: 2024-08-07 v2.8 % Info: Hyperref destination optimizer % % Copyright (C) % 2006-2008, 2011 Heiko Oberdiek -% 2016-2020 Oberdiek Package Support Group +% 2016-2024 Oberdiek Package Support Group % https://github.com/ho-tex/hypdestopt/issues % % This work may be distributed and/or modified under the @@ -79,7 +79,7 @@ \input docstrip.tex \Msg{************************************************************************} \Msg{* Installation} -\Msg{* Package: hypdestopt 2020-09-02 v2.7 Hyperref destination optimizer (HO)} +\Msg{* Package: hypdestopt 2024-08-07 v2.8 Hyperref destination optimizer (HO)} \Msg{************************************************************************} \keepsilent @@ -91,11 +91,11 @@ This is a generated file. Project: hypdestopt -Version: 2020-09-02 v2.7 +Version: 2024-08-07 v2.8 Copyright (C) 2006-2008, 2011 Heiko Oberdiek - 2016-2020 Oberdiek Package Support Group + 2016-2024 Oberdiek Package Support Group This work may be distributed and/or modified under the conditions of the LaTeX Project Public License, either @@ -152,7 +152,7 @@ and the derived files %<*driver> \NeedsTeXFormat{LaTeX2e} \ProvidesFile{hypdestopt.drv}% - [2020-09-02 v2.7 Hyperref destination optimizer (HO)]% + [2024-08-07 v2.8 Hyperref destination optimizer (HO)]% \documentclass{ltxdoc} \usepackage{holtxdoc}[2011/11/22] \begin{document} @@ -166,7 +166,7 @@ and the derived files % \GetFileInfo{hypdestopt.drv} % % \title{The \xpackage{hypdestopt} package} -% \date{2020-09-02 v2.7} +% \date{2024-08-07 v2.8} % \author{Heiko Oberdiek\thanks % {Please report any issues at \url{https://github.com/ho-tex/hypdestopt/issues}}} % @@ -177,6 +177,9 @@ and the derived files % \xoption{pdftex} and \xoption{luatex} driver. It removes unnecessary destinations % and shortens the destination names or uses numbered destinations % to get smaller PDF files. +% +% The package is not compatible with the \LaTeX{} PDFmanagement loaded with +% \cs{DocumentMetadata} and will do nothing if it detects it. % \end{abstract} % % \tableofcontents @@ -289,9 +292,24 @@ and the derived files %<*package> \NeedsTeXFormat{LaTeX2e} \ProvidesPackage{hypdestopt}% - [2020-09-02 v2.7 Hyperref destination optimizer (HO)]% + [2024-08-07 v2.8 Hyperref destination optimizer (HO)]% % \end{macrocode} % +% \subsection{Check for PDF management} +% \begin{macrocode} +\IfDocumentMetadataTF + { + \PackageWarning{hypdestopt} + { + \string\DocumentMetadata detected. \MessageBreak + The package will do nothing. + }{} + }{} +\IfDocumentMetadataTF + { + \endinput + }{} +% \end{macrocode} % \subsection{Options} % % \subsubsection{Option \xoption{verbose}} @@ -752,26 +770,6 @@ and the derived files % \end{description} % % -% \paragraph{Bundle.} All the packages of the bundle `oberdiek' -% are also available in a TDS compliant ZIP archive. There -% the packages are already unpacked and the documentation files -% are generated. The files and directories obey the TDS standard. -% \begin{description} -% \item[\CTANinstall{install/macros/latex/contrib/oberdiek.tds.zip}] -% \end{description} -% \emph{TDS} refers to the standard ``A Directory Structure -% for \TeX\ Files'' (\CTANpkg{tds}). Directories -% with \xfile{texmf} in their name are usually organized this way. -% -% \subsection{Bundle installation} -% -% \paragraph{Unpacking.} Unpack the \xfile{oberdiek.tds.zip} in the -% TDS tree (also known as \xfile{texmf} tree) of your choice. -% Example (linux): -% \begin{quote} -% |unzip oberdiek.tds.zip -d ~/texmf| -% \end{quote} -% % \subsection{Package installation} % % \paragraph{Unpacking.} The \xfile{.dtx} file is a self-extracting @@ -956,6 +954,9 @@ and the derived files % \begin{Version}{2020-09-02 v2.7} % \item Adapted to the new hook management of LaTeX (github issue 1) % \end{Version} +% \begin{Version}{2024-08-07 v2.8} +% \item Disable the package if \cs{DocumentMetadata} is detected (github issue 2) +% \end{Version} % \end{History} % % \PrintIndex diff --git a/Master/texmf-dist/doc/latex/hypdestopt/hypdestopt.pdf b/Master/texmf-dist/doc/latex/hypdestopt/hypdestopt.pdf Binary files differindex 1835545dc89..1ca7cc4c296 100644 --- a/Master/texmf-dist/doc/latex/hypdestopt/hypdestopt.pdf +++ b/Master/texmf-dist/doc/latex/hypdestopt/hypdestopt.pdf diff --git a/Master/texmf-dist/doc/latex/hyperref/ChangeLog.txt b/Master/texmf-dist/doc/latex/hyperref/ChangeLog.txt index 7d8f3b3a248..0ff75108697 100644 --- a/Master/texmf-dist/doc/latex/hyperref/ChangeLog.txt +++ b/Master/texmf-dist/doc/latex/hyperref/ChangeLog.txt @@ -1,3 +1,12 @@ +Version: 2024-07-10 v7.01j +2024-07-10 Ulrike Fischer + * hyperref.dtx: define \HyOrg@addtoreset always for cleveref + compability with tagging code, see https://github.com/latex3/tagging-project/issues/2 + +2024-06-02 Ulrike Fischer + * hyperref.dtx: enable use of onmousedown and onmouseup, issue #342 + +Version: 2024-05-23 v7.01i 2024-05-25 Ulrike Fischer * hyperref.dtx: load stringenc always to allow the use of pdfencoding in a group. diff --git a/Master/texmf-dist/doc/latex/hyperref/README.md b/Master/texmf-dist/doc/latex/hyperref/README.md index 7161209179e..335fb1f62b3 100644 --- a/Master/texmf-dist/doc/latex/hyperref/README.md +++ b/Master/texmf-dist/doc/latex/hyperref/README.md @@ -1,6 +1,6 @@ # README for hyperref bundle -Version 2024-05-23 v7.01i +Version 2024-07-10 v7.01j ## INTRODUCTION diff --git a/Master/texmf-dist/doc/latex/hyperref/backref.pdf b/Master/texmf-dist/doc/latex/hyperref/backref.pdf Binary files differindex ae783bd0cf1..5ec3d8b07f1 100644 --- a/Master/texmf-dist/doc/latex/hyperref/backref.pdf +++ b/Master/texmf-dist/doc/latex/hyperref/backref.pdf diff --git a/Master/texmf-dist/doc/latex/hyperref/hyperref-doc.html b/Master/texmf-dist/doc/latex/hyperref/hyperref-doc.html index 70741ce170b..0b918b602de 100644 --- a/Master/texmf-dist/doc/latex/hyperref/hyperref-doc.html +++ b/Master/texmf-dist/doc/latex/hyperref/hyperref-doc.html @@ -25,7 +25,7 @@ href="https://github.com/latex3/hyperref/issues" class="url" ><span class="ec-lmvtt-10x-x-120">https://github.com/latex3/hyperref/issues</span></a><span class="ec-lmr-12">)</span></div><br /> <div class="date" ><span -class="ec-lmr-12">2024-05-23 v7.01i</span></div> +class="ec-lmr-12">2024-07-10 v7.01j</span></div> </div> <h3 class="likesectionHead"><a id="x1-1000"></a>Contents</h3> @@ -1079,45 +1079,54 @@ class="td11"> <!--l. 604--><p class="noindent" >this style="vertical-align:baseline;" id="TBL-2-8-"><td style="white-space:nowrap; text-align:left;" id="TBL-2-8-1" class="td11"> <span class="ec-lmvtt-10">backref </span></td><td style="white-space:normal; text-align:left;" id="TBL-2-8-2" -class="td11"> <!--l. 606--><p class="noindent" > </td></tr><tr +class="td11"> <!--l. 606--><p class="noindent" > + </td></tr><tr style="vertical-align:baseline;" id="TBL-2-9-"><td style="white-space:nowrap; text-align:left;" id="TBL-2-9-1" class="td11"> <span class="ec-lmvtt-10">pagebackref </span></td> <td style="white-space:normal; text-align:left;" id="TBL-2-9-2" -class="td11"> <!--l. 607--><p class="noindent" ></td> +class="td11"> <!--l. 607--><p class="noindent" > + </td> </tr><tr style="vertical-align:baseline;" id="TBL-2-10-"><td style="white-space:nowrap; text-align:left;" id="TBL-2-10-1" class="td11"> <span class="ec-lmvtt-10">destlabel </span></td><td style="white-space:normal; text-align:left;" id="TBL-2-10-2" -class="td11"> <!--l. 608--><p class="noindent" > </td></tr><tr +class="td11"> <!--l. 608--><p class="noindent" > + </td></tr><tr style="vertical-align:baseline;" id="TBL-2-11-"><td style="white-space:nowrap; text-align:left;" id="TBL-2-11-1" class="td11"> <span class="ec-lmvtt-10">pdfusetitle </span></td> <td style="white-space:normal; text-align:left;" id="TBL-2-11-2" -class="td11"> <!--l. 609--><p class="noindent" ></td> +class="td11"> <!--l. 609--><p class="noindent" > + </td> </tr><tr style="vertical-align:baseline;" id="TBL-2-12-"><td style="white-space:nowrap; text-align:left;" id="TBL-2-12-1" class="td11"> <span class="ec-lmvtt-10">pdfpagelabels </span></td><td style="white-space:normal; text-align:left;" id="TBL-2-12-2" -class="td11"> <!--l. 610--><p class="noindent" > </td> +class="td11"> <!--l. 610--><p class="noindent" > + </td> </tr><tr style="vertical-align:baseline;" id="TBL-2-13-"><td style="white-space:nowrap; text-align:left;" id="TBL-2-13-1" class="td11"> <span class="ec-lmvtt-10">hyperfootnotes </span></td><td style="white-space:normal; text-align:left;" id="TBL-2-13-2" -class="td11"> <!--l. 611--><p class="noindent" > </td> +class="td11"> <!--l. 611--><p class="noindent" > + </td> </tr><tr style="vertical-align:baseline;" id="TBL-2-14-"><td style="white-space:nowrap; text-align:left;" id="TBL-2-14-1" class="td11"> <span class="ec-lmvtt-10">hyperfigures </span></td><td style="white-space:normal; text-align:left;" id="TBL-2-14-2" -class="td11"> <!--l. 612--><p class="noindent" > </td> +class="td11"> <!--l. 612--><p class="noindent" > + </td> </tr><tr style="vertical-align:baseline;" id="TBL-2-15-"><td style="white-space:nowrap; text-align:left;" id="TBL-2-15-1" class="td11"> <span class="ec-lmvtt-10">hyperindex </span></td><td style="white-space:normal; text-align:left;" id="TBL-2-15-2" -class="td11"> <!--l. 613--><p class="noindent" > </td> +class="td11"> <!--l. 613--><p class="noindent" > + </td> </tr><tr style="vertical-align:baseline;" id="TBL-2-16-"><td style="white-space:nowrap; text-align:left;" id="TBL-2-16-1" class="td11"> <span class="ec-lmvtt-10">encap </span></td><td style="white-space:normal; text-align:left;" id="TBL-2-16-2" -class="td11"> <!--l. 614--><p class="noindent" > </td> +class="td11"> <!--l. 614--><p class="noindent" > + </td> </tr><tr style="vertical-align:baseline;" id="TBL-2-17-"><td style="white-space:nowrap; text-align:left;" id="TBL-2-17-1" class="td11"> <span @@ -1950,8 +1959,7 @@ class="td01"><span class="ec-lmvtt-10">hyperfigures </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-8-2-2" class="td11"> boolean </td><td style="white-space:nowrap; text-align:left;" id="TBL-8-2-3" class="td11"> </td><td style="white-space:normal; text-align:left;" id="TBL-8-2-4" -class="td10"> - <!--l. 941--><p class="noindent" > </td> +class="td10"> <!--l. 941--><p class="noindent" > </td> </tr><tr style="vertical-align:baseline;" id="TBL-8-3-"><td style="white-space:nowrap; text-align:left;" id="TBL-8-3-1" class="td01"><span @@ -3174,8 +3182,6 @@ class="td10"> <!--l. 1198--><p class="noindent" >The old page slides off the screen in the direction specified by /Di, uncovering the new page in the direction specified by /Di. </td> - - </tr><tr style="vertical-align:baseline;" id="TBL-13-12-"><td style="white-space:nowrap; text-align:left;" id="TBL-13-12-1" class="td01"><span @@ -3184,6 +3190,8 @@ class="td11"> </td><td style="white-space:normal; text-align:left; class="td10"> <!--l. 1201--><p class="noindent" >The new page gradually becomes visible through the old one. </td> + + </tr><tr style="vertical-align:baseline;" id="TBL-13-13-"><td style="white-space:nowrap; text-align:left;" id="TBL-13-13-1" class="td01"> </td> @@ -3709,8 +3717,7 @@ class="td10"> class="td01"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-14-58-2" class="td11"> <span class="ec-lmri-10">hyperref </span></td><td style="white-space:normal; text-align:left;" id="TBL-14-58-3" -class="td10"> - <!--l. 1293--><p class="noindent" > </td> +class="td10"> <!--l. 1293--><p class="noindent" > </td> </tr><tr style="vertical-align:baseline;" id="TBL-14-59-"><td style="white-space:nowrap; text-align:left;" id="TBL-14-59-1" class="td01"><span @@ -3850,8 +3857,6 @@ class="td11"> <span class="ec-lmri-10">true </span></td><td style="white-space:normal; text-align:left;" id="TBL-14-75-3" class="td10"> <!--l. 1313--><p class="noindent" >set PDF page labels </td> - - </tr><tr style="vertical-align:baseline;" id="TBL-14-76-"><td style="white-space:nowrap; text-align:left;" id="TBL-14-76-1" class="td01"><span @@ -3860,6 +3865,8 @@ class="td11"> <span class="ec-lmri-10">empty </span></td><td style="white-space:normal; text-align:left;" id="TBL-14-76-3" class="td10"> <!--l. 1314--><p class="noindent" >set layout of PDF pages </td> + + </tr><tr style="vertical-align:baseline;" id="TBL-14-77-"><td style="white-space:nowrap; text-align:left;" id="TBL-14-77-1" class="td01"><span @@ -4091,8 +4098,6 @@ class="td11"> <span class="ec-lmri-10">true </span></td><td style="white-space:normal; text-align:left;" id="TBL-14-104-3" class="td10"> <!--l. 1345--><p class="noindent" >set page size by special driver commands </td> - - </tr><tr style="vertical-align:baseline;" id="TBL-14-105-"><td style="white-space:nowrap; text-align:left;" id="TBL-14-105-1" class="td01"><span @@ -4101,6 +4106,8 @@ class="td11"> </td><td style="white-space:normal; text-align:l class="td10"> <!--l. 1346--><p class="noindent" >use <span class="ec-lmss-10">TeX4ht </span>backend </td> + + </tr><tr style="vertical-align:baseline;" id="TBL-14-106-"><td style="white-space:nowrap; text-align:left;" id="TBL-14-106-1" class="td01"><span @@ -4226,8 +4233,6 @@ class="ec-lmvtk-10">nextactionraw</span><span class="ec-lmbx-10">:</span> </dt><dd class="description"> <!--l. 1379--><p class="noindent" >The value of key <span class="obeylines-h"><code class="verb">/Next</code></span> of action dictionaries, see PDF specification.</dd></dl> - - <!--l. 1383--><p class="noindent" ><span class="fbox"><!--tex4ht:inline--><div class="tabular"> <table id="TBL-16" class="tabular" ><colgroup id="TBL-16-1g"><col @@ -4241,6 +4246,7 @@ class="ec-lmvtt-10">\href</span><span class="obeylines-h"><code class="verb">{</ class="ec-lmri-10">URL</span><span class="obeylines-h"><code class="verb">}{</code></span><span class="ec-lmvtt-10">\nolinkurl</span><span class="obeylines-h"><code class="verb">{</code></span><span class="ec-lmri-10">URL</span><span class="obeylines-h"><code class="verb">}}</code></span>. Depending on the driver <span class="obeylines-h"><code class="verb">\href</code></span> also tries to detect the link + type. Thus the result can be a url link, file link, …. The implementation makes use of the <span class="ec-lmss-10">url </span>package and its commands can be used to format and fine tune the url, but the behaviour of <span @@ -4360,8 +4366,6 @@ and the <span class="ec-lmri-10">text </span>which is used as the link on the page. <!--l. 1457--><p class="indent" > Note that in HTML parlance, the <span class="obeylines-h"><code class="verb">\hyperlink</code></span> command inserts a notional # in front of each link, making it relative to the current testdocument; <span class="obeylines-h"><code class="verb">\href</code></span> expects a full URL. - - <!--l. 1461--><p class="noindent" ><span class="fbox"><!--tex4ht:inline--><div class="tabular"> <table id="TBL-25" class="tabular" ><colgroup id="TBL-25-1g"><col @@ -4372,6 +4376,8 @@ class="ec-lmvtt-10">\phantomsection </span></td> </tr></table> </div></span> <!--l. 1465--><p class="noindent" >This sets an anchor at this location. It works similar to <span class="obeylines-h"><code class="verb">\hypertarget{}{}</code></span> with an automatically chosen anchor name. Often it is used in conjunction with <span class="obeylines-h"><code class="verb">\addcontentsline</code></span> for sectionlike things (index, + + bibliography, preface). <span class="obeylines-h"><code class="verb">\addcontentsline</code></span> refers to the latest previous location where an anchor is set. Example: <blockquote class="quote"> diff --git a/Master/texmf-dist/doc/latex/hyperref/hyperref-doc.pdf b/Master/texmf-dist/doc/latex/hyperref/hyperref-doc.pdf Binary files differindex 51e6b0d29b9..1637285c01a 100644 --- a/Master/texmf-dist/doc/latex/hyperref/hyperref-doc.pdf +++ b/Master/texmf-dist/doc/latex/hyperref/hyperref-doc.pdf diff --git a/Master/texmf-dist/doc/latex/hyperref/hyperref-doc.tex b/Master/texmf-dist/doc/latex/hyperref/hyperref-doc.tex index 55b0476967f..2f4ff93f807 100644 --- a/Master/texmf-dist/doc/latex/hyperref/hyperref-doc.tex +++ b/Master/texmf-dist/doc/latex/hyperref/hyperref-doc.tex @@ -166,7 +166,7 @@ } \makeatother \title{Hypertext marks in \hologo{LaTeX}: a manual for \xpackage{hyperref}} -\date{2024-05-23 v7.01i} +\date{2024-07-10 v7.01j} \begin{document} diff --git a/Master/texmf-dist/doc/latex/hyperref/hyperref-linktarget.pdf b/Master/texmf-dist/doc/latex/hyperref/hyperref-linktarget.pdf Binary files differindex f95e9380f60..3e29950cf1f 100644 --- a/Master/texmf-dist/doc/latex/hyperref/hyperref-linktarget.pdf +++ b/Master/texmf-dist/doc/latex/hyperref/hyperref-linktarget.pdf diff --git a/Master/texmf-dist/doc/latex/hyperref/hyperref.pdf b/Master/texmf-dist/doc/latex/hyperref/hyperref.pdf Binary files differindex 62ce7aba615..bb0f2a46aa3 100644 --- a/Master/texmf-dist/doc/latex/hyperref/hyperref.pdf +++ b/Master/texmf-dist/doc/latex/hyperref/hyperref.pdf diff --git a/Master/texmf-dist/doc/latex/hyperref/nameref.pdf b/Master/texmf-dist/doc/latex/hyperref/nameref.pdf Binary files differindex 47209adb7c7..4c4ea6606bf 100644 --- a/Master/texmf-dist/doc/latex/hyperref/nameref.pdf +++ b/Master/texmf-dist/doc/latex/hyperref/nameref.pdf diff --git a/Master/texmf-dist/doc/latex/hyperref/xr-hyper.pdf b/Master/texmf-dist/doc/latex/hyperref/xr-hyper.pdf Binary files differindex 3b4395c0f6e..a5d0e690fc9 100644 --- a/Master/texmf-dist/doc/latex/hyperref/xr-hyper.pdf +++ b/Master/texmf-dist/doc/latex/hyperref/xr-hyper.pdf diff --git a/Master/texmf-dist/doc/latex/iwonamath/README b/Master/texmf-dist/doc/latex/iwonamath/README index 72fe9e35082..8bf59e86c3a 100644 --- a/Master/texmf-dist/doc/latex/iwonamath/README +++ b/Master/texmf-dist/doc/latex/iwonamath/README @@ -2,4 +2,9 @@ This package provides an interface to Iwona math fonts by Janusz Marian Nowacki. It allows to use Iwona as math complement for sans serif fonts without native math. The package allows font scaling, the choice of light and condensed versions and the creation of multiple -math versions.
\ No newline at end of file +math versions. + +Author: Boris Veytsman, borisv@lk.net, boris@varphi.com +License: LPPL 1.3c, https://www.latex-project.org/lppl/lppl-1-3c/ + +Version 1.1: Improved delimitershack as suggested by Enrico Gregorio.
\ No newline at end of file diff --git a/Master/texmf-dist/doc/latex/iwonamath/iwonamath.pdf b/Master/texmf-dist/doc/latex/iwonamath/iwonamath.pdf Binary files differindex fc0b5e6e2c2..e80a3e33d09 100644 --- a/Master/texmf-dist/doc/latex/iwonamath/iwonamath.pdf +++ b/Master/texmf-dist/doc/latex/iwonamath/iwonamath.pdf diff --git a/Master/texmf-dist/doc/latex/iwonamath/sample.pdf b/Master/texmf-dist/doc/latex/iwonamath/sample.pdf Binary files differindex c64d5e078d2..342ba53f87c 100644 --- a/Master/texmf-dist/doc/latex/iwonamath/sample.pdf +++ b/Master/texmf-dist/doc/latex/iwonamath/sample.pdf diff --git a/Master/texmf-dist/doc/latex/jigsaw/jigsaw-doc-settings.sty b/Master/texmf-dist/doc/latex/jigsaw/jigsaw-doc-settings.sty new file mode 100644 index 00000000000..13a1498c38e --- /dev/null +++ b/Master/texmf-dist/doc/latex/jigsaw/jigsaw-doc-settings.sty @@ -0,0 +1,196 @@ +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +% Personal helper theme for package documentations +% Copyright samcarter +% +% This file may be distributed and/or modified +% under the LaTeX Project Public License 1.3c or later +% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +% Usage: +% ln ~/Life/latex/beamertheme-sam/themesam.sty package-doc-settings.sty +% \usepackage[ +% themecolor=samdblue +% ]{\jobname-settings} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +% Colours +% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\RequirePackage{xcolor} +\definecolor{samyellow}{RGB}{246,193,65} +\definecolor{samorange}{RGB}{241,147,45} +\definecolor{samred}{RGB}{191,26,46}% TikZbricks +\definecolor{sammagenta}{RGB}{170,42,104}% TikZmarmots +\definecolor{samviolet}{RGB}{136,46,114}% TikZlings +\definecolor{samlila}{RGB}{101,67,159}% Rainbow beamer theme +\definecolor{samdblue}{RGB}{0,51,134}% beamer theme +\definecolor{samlblue}{RGB}{22,89,155}% TikZducks +\definecolor{samteal}{RGB}{25,143,157}% Tcolorbox beamer theme +\definecolor{samlgreen}{RGB}{68,170,153}% Jigsaw +\definecolor{samdgreen}{RGB}{78,178,125} +\definecolor{samlgray}{RGB}{160,160,185} +\definecolor{samdgray}{RGB}{60,60,85} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +% Package options +% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\RequirePackage{xkeyval} +\DeclareOptionX{themecolor}[samdblue]{\colorlet{themecolor}{#1}} +\DeclareOptionX{listingcolor}[samlblue]{\colorlet{listingcolor}{#1}} +\ExecuteOptionsX{themecolor,listingcolor} +\ProcessOptionsX + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +% Packages +% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\@ifclassloaded{beamer}{}{% + \RequirePackage[english]{babel} + \RequirePackage[paper=a4paper,margin=2.9cm]{geometry} + \RequirePackage{scrlayer-scrpage} + \let\hrulefillx\hrulefill + \RequirePackage[bitstream-charter]{mathdesign} + \let\hrulefill\hrulefillx + \RequirePackage[hang,flushmargin,bottom]{footmisc} + \RequirePackage{footnotehyper} + \makesavenoteenv{tcolorbox} + \RequirePackage[all]{nowidow} + \RequirePackage[colorlinks=true,breaklinks=true,allcolors=themecolor,hyperfootnotes=false]{hyperref} +} +\RequirePackage[T1]{fontenc} +\RequirePackage{xspace} +\RequirePackage{inconsolata}% mono font with bold, but italic is missing +% \RequirePackage[scale=0.85]{cascadia-code} +% \AddToHook{cmd/ttfamily/before}{\fontseries{sl}} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +% Listings +% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\RequirePackage[ + cachedir=./build/ +]{minted} + +% smuggling custom pygmentize style in cache folder +% (a real pygmentise style would need installtion in some python folder) +\begin{filecontents*}[noheader]{./build/sam.pygstyle} +\makeatletter +\def\PYG@reset{\let\PYG@it=\relax \let\PYG@bf=\relax% + \let\PYG@ul=\relax \let\PYG@tc=\relax% + \let\PYG@bc=\relax \let\PYG@ff=\relax} +\def\PYG@tok#1{\csname PYG@tok@#1\endcsname} +\def\PYG@toks#1+{\ifx\relax#1\empty\else% + \PYG@tok{#1}\expandafter\PYG@toks\fi} +\def\PYG@do#1{\PYG@bc{\PYG@tc{\PYG@ul{% + \PYG@it{\PYG@bf{\PYG@ff{#1}}}}}}} +\def\PYG#1#2{\PYG@reset\PYG@toks#1+\relax+\PYG@do{#2}} + +% optional arguments +\expandafter\def\csname PYG@tok@na\endcsname{\def\PYG@tc##1{\textcolor{black}{##1}}} + +% macros +\expandafter\def\csname PYG@tok@k\endcsname{\def\PYG@tc##1{\textcolor{listingcolor}{\bfseries ##1}}} +% curly brakets +\expandafter\def\csname PYG@tok@nb\endcsname{\def\PYG@tc##1{\textcolor{listingcolor}{\bfseries ##1}}} + +% comments (italics won't work with the inconsolata font) +\expandafter\def\csname PYG@tok@c\endcsname{\def\PYG@tc##1{\textcolor{gray}{##1}}} + +\def\PYGZbs{\char`\\} +\def\PYGZus{\char`\_} +\def\PYGZob{\char`\{} +\def\PYGZcb{\char`\}} +\def\PYGZca{\char`\^} +\def\PYGZam{\char`\&} +\def\PYGZlt{\char`\<} +\def\PYGZgt{\char`\>} +\def\PYGZsh{\char`\#} +\def\PYGZpc{\char`\%} +\def\PYGZdl{\char`\$} +\def\PYGZhy{\char`\-} +\def\PYGZsq{\char`\'} +\def\PYGZdq{\char`\"} +\def\PYGZti{\char`\~} +% for compatibility with earlier versions +\def\PYGZat{@} +\def\PYGZlb{[} +\def\PYGZrb{]} +\makeatother +\end{filecontents*} + +\usemintedstyle{sam} +\setminted{ + breaksymbolleft={}, + tabsize=2, + breaklines=true, +} +\newminted[samcode]{latex}{} +\newmintinline[saminline]{latex}{} + +% use non-bold and all coloured for inline code in articles +\ifdefined\insertaspectratio\else + \patchcmd{\minted@inputpyg@inline}{\minted@input}{\color{listingcolor}\renewcommand\textcolor[3][]{##3}\renewcommand\bfseries{}\minted@input}{}{} +\fi + +\RequirePackage[most]{tcolorbox} +\tcbuselibrary{minted} +\tcbset{% + colframe=themecolor, + fonttitle=\bfseries, + sidebyside, + center lower, + righthand width=5.7cm, + bottom=2pt, + top=2pt, + left=3pt, + right=3pt, + sidebyside gap=10pt, + lower separated=false, + listing engine=minted, + minted language=latex, + colback=themecolor!10, + sharp corners, + boxrule=0pt, + before title={\strut} +} + +% avoid page breaks right in front of the tcolorbox +\@ifclassloaded{beamer}{}{ + \tcbuselibrary{hooks} + \tcbset{before pre={\nopagebreak[4]}} +} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +% document settings +% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\@ifclassloaded{scrartcl}{% + \KOMAoptions{parskip=half} + \addtokomafont{sectioning}{\color{themecolor}} + \addtokomafont{date}{\normalsize} + \addtokomafont{author}{\normalsize} + \setlength{\footnotemargin}{0.7em} +}{} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +% Custom macros +% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\providecommand*{\CTAN}{\textsc{CTAN}\xspace} +\providecommand*{\TikZ}{Ti\emph{k}Z\xspace} +\providecommand*{\miktex}{MiK\TeX\xspace} +\providecommand*{\texlive}{\TeX{}Live\xspace} +\providecommand*{\tikzbrick}{Ti\emph{k}Zbrick\xspace} +\providecommand*{\tikzducks}{Ti\emph{k}Zducks\xspace} +\providecommand*{\tikzlings}{Ti\emph{k}Zlings\xspace} +\providecommand*{\tikzmarmots}{Ti\emph{k}Zmarmots\xspace} +\providecommand*{\ConTeXt}{C\kern-.0333emon\-\kern-.0667em\TeX\kern-.0333emt}
\ No newline at end of file diff --git a/Master/texmf-dist/doc/latex/jnuexam/examfc-a-answer.pdf b/Master/texmf-dist/doc/latex/jnuexam/examfc-a-answer.pdf Binary files differindex f6f0a506494..e12e04e0475 100644 --- a/Master/texmf-dist/doc/latex/jnuexam/examfc-a-answer.pdf +++ b/Master/texmf-dist/doc/latex/jnuexam/examfc-a-answer.pdf diff --git a/Master/texmf-dist/doc/latex/jnuexam/examfc-a-blank.pdf b/Master/texmf-dist/doc/latex/jnuexam/examfc-a-blank.pdf Binary files differindex 09d8a14b153..d033fe6d75d 100644 --- a/Master/texmf-dist/doc/latex/jnuexam/examfc-a-blank.pdf +++ b/Master/texmf-dist/doc/latex/jnuexam/examfc-a-blank.pdf diff --git a/Master/texmf-dist/doc/latex/jnuexam/examfc-b-answer.pdf b/Master/texmf-dist/doc/latex/jnuexam/examfc-b-answer.pdf Binary files differindex 2356b53690f..6497883408f 100644 --- a/Master/texmf-dist/doc/latex/jnuexam/examfc-b-answer.pdf +++ b/Master/texmf-dist/doc/latex/jnuexam/examfc-b-answer.pdf diff --git a/Master/texmf-dist/doc/latex/jnuexam/examfc-b-blank.pdf b/Master/texmf-dist/doc/latex/jnuexam/examfc-b-blank.pdf Binary files differindex d9160a13edc..5682c2d24b9 100644 --- a/Master/texmf-dist/doc/latex/jnuexam/examfc-b-blank.pdf +++ b/Master/texmf-dist/doc/latex/jnuexam/examfc-b-blank.pdf diff --git a/Master/texmf-dist/doc/latex/jnuexam/examfe-a-answer.pdf b/Master/texmf-dist/doc/latex/jnuexam/examfe-a-answer.pdf Binary files differindex 6ac1d17806d..c029ef99ea2 100644 --- a/Master/texmf-dist/doc/latex/jnuexam/examfe-a-answer.pdf +++ b/Master/texmf-dist/doc/latex/jnuexam/examfe-a-answer.pdf diff --git a/Master/texmf-dist/doc/latex/jnuexam/examfe-a-blank.pdf b/Master/texmf-dist/doc/latex/jnuexam/examfe-a-blank.pdf Binary files differindex 4192ead99f0..e2f4dac7e26 100644 --- a/Master/texmf-dist/doc/latex/jnuexam/examfe-a-blank.pdf +++ b/Master/texmf-dist/doc/latex/jnuexam/examfe-a-blank.pdf diff --git a/Master/texmf-dist/doc/latex/jnuexam/examfe-b-answer.pdf b/Master/texmf-dist/doc/latex/jnuexam/examfe-b-answer.pdf Binary files differindex bf5e9342eef..8e60df9eac5 100644 --- a/Master/texmf-dist/doc/latex/jnuexam/examfe-b-answer.pdf +++ b/Master/texmf-dist/doc/latex/jnuexam/examfe-b-answer.pdf diff --git a/Master/texmf-dist/doc/latex/jnuexam/examfe-b-blank.pdf b/Master/texmf-dist/doc/latex/jnuexam/examfe-b-blank.pdf Binary files differindex c37242241f3..03bcefee494 100644 --- a/Master/texmf-dist/doc/latex/jnuexam/examfe-b-blank.pdf +++ b/Master/texmf-dist/doc/latex/jnuexam/examfe-b-blank.pdf diff --git a/Master/texmf-dist/doc/latex/jnuexam/jnuexam.pdf b/Master/texmf-dist/doc/latex/jnuexam/jnuexam.pdf Binary files differindex 0cc01cc3f1b..c0a756123ca 100644 --- a/Master/texmf-dist/doc/latex/jnuexam/jnuexam.pdf +++ b/Master/texmf-dist/doc/latex/jnuexam/jnuexam.pdf diff --git a/Master/texmf-dist/doc/latex/jsonparse/README.md b/Master/texmf-dist/doc/latex/jsonparse/README.md index 69258570db6..c4df9ad4193 100644 --- a/Master/texmf-dist/doc/latex/jsonparse/README.md +++ b/Master/texmf-dist/doc/latex/jsonparse/README.md @@ -1,6 +1,6 @@ -![Version 0.8.3](https://img.shields.io/badge/version-0.8.3-blue) +![Version 0.8.7](https://img.shields.io/badge/version-0.8.7-blue) -![Jason, the JSON parsing horse](https://github.com/jasperhabicht/jsonparse/assets/6378801/d6abde3a-fa12-4b63-a213-ad8332e32199) +![Jason, the JSON parsing horse](https://github.com/jasperhabicht/jsonparse/assets/6378801/ddfddc70-bf5f-4121-ba45-4b9128875d85) # The `jsonparse` package @@ -46,5 +46,5 @@ We can store it in the token variable `\myJSONdata` using the command `\JSONPars This package including all files is subject to the LPPL 1.3c license. Copyright 2024 Jasper Habicht (mail(at)jasperhabicht.de). -Jason, the JSON parseing horse: Copyright 2024 Hannah Klöber. +Jason, the JSON parsing horse: Copyright 2024 Hannah Klöber. diff --git a/Master/texmf-dist/doc/latex/jsonparse/jason/jason.pdf b/Master/texmf-dist/doc/latex/jsonparse/jason/jason.pdf Binary files differindex 324458e6845..44ff3db133f 100644 --- a/Master/texmf-dist/doc/latex/jsonparse/jason/jason.pdf +++ b/Master/texmf-dist/doc/latex/jsonparse/jason/jason.pdf diff --git a/Master/texmf-dist/doc/latex/jsonparse/jason/jason.svg b/Master/texmf-dist/doc/latex/jsonparse/jason/jason.svg index fe8793dfa8e..aff567e175a 100644 --- a/Master/texmf-dist/doc/latex/jsonparse/jason/jason.svg +++ b/Master/texmf-dist/doc/latex/jsonparse/jason/jason.svg @@ -1,67 +1,25 @@ -<?xml version="1.0" encoding="utf-8"?> -<!-- Generator: Adobe Illustrator 16.0.3, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> -<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> -<svg version="1.1" id="Ebene_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" - width="250px" height="250px" viewBox="0 0 450 450" enable-background="new 0 0 449.5 435" xml:space="preserve"> -<circle fill="#3FA9F5" cx="239" cy="226" r="206.166"/> -<g> - <defs> - <circle id="SVGID_1_" cx="239" cy="226" r="206.166"/> - </defs> - <clipPath id="SVGID_2_"> - <use xlink:href="#SVGID_1_" overflow="visible"/> - </clipPath> - <path clip-path="url(#SVGID_2_)" fill="#C69C6D" d="M418.334,389.667c0,0-10.334-12.333-36-86.667S344,189.333,333.667,163 - c-5.552-14.149-12.545-22.326-17.83-26.869c7.769-5.957,15.778-13.185,19.83-20.131c6.902-11.834,11.667-24.5,15.667-38.5 - C353.731,69.108,361,63.333,361,63.333s-55-13-78.666,29.5c-1.534,2.754-3.036,5.383-4.538,7.892l-125.587,25.33 - C141.705,137.165,130.648,151.436,126,166c-4.127,12.93-11.333,16-26.333,28s-47.398,43.774-47.398,43.774l12.106,48.851 - l56.113,69.247c13.436-9.009,28.206-20.065,46.512-27.122c13.874-5.348,33.133-8.479,51.113-12.082 - c2.555,6.323,8.828,23.014,11.387,40.332c3.25,22,4.5,91.5,4.5,91.5L418.334,389.667z"/> - <path clip-path="url(#SVGID_2_)" fill="#F7931E" stroke="#603813" stroke-width="3" stroke-miterlimit="10" d="M465.5,307.334 - c0,0-9.667-14.833-21.667-21c-11.409-5.863-24.5-7.167-24.5-7.167s2.853-11.646,11.167-22.833C439.667,244,456,233.667,456,233.667 - l-51.499-17.5c0,0,17.166-6.5,25.166-13.833c9.095-8.336,13.333-30,13.333-30s-47.621,2.806-54.333-15.167 - C383.501,143.333,402.001,114,402.001,114s-27.334-6.333-41.167-6.167c-7.572,0.091-15.827,0.876-22.104,2.556 - c-0.978,1.889-1.986,3.764-3.063,5.611c-4.052,6.946-12.062,14.174-19.83,20.131c5.285,4.543,12.278,12.72,17.83,26.869 - c10.333,26.333,23.001,65.666,48.667,140s36,86.667,36,86.667l32.5-36.5c-15.167-3-22.334-20.5-22.334-20.5L465.5,307.334z"/> - <path clip-path="url(#SVGID_2_)" fill="none" stroke="#603813" stroke-width="3" stroke-miterlimit="10" d="M234,448.5 - c0,0-1.25-69.5-4.5-91.5c-2.559-17.318-8.832-34.009-11.387-40.332c-0.185,0.037-0.369,0.074-0.554,0.111"/> +<?xml version='1.0' encoding='UTF-8'?> +<!-- This file was generated by dvisvgm 3.2.2 --> +<svg version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width="250px" height="250px" viewBox='-70.503905 -70.50391 452.105105 441.67801'> +<defs> +<clipPath id='clip'> +<path d='M361.3402 148.0117C361.3402 261.4457 269.3832 353.4067 155.9452 353.4067C42.5082 353.4067-49.4531 261.4457-49.4531 148.0117C-49.4531 34.5747 42.5082-57.3867 155.9452-57.3867C269.3832-57.3867 361.3402 34.5747 361.3402 148.0117Z'/> +</clipPath> +</defs> +<g id='page1'> +<path d='M361.3402 148.0117C361.3402 261.4457 269.3832 353.4067 155.9452 353.4067C42.5082 353.4067-49.4531 261.4457-49.4531 148.0117C-49.4531 34.5747 42.5082-57.3867 155.9452-57.3867C269.3832-57.3867 361.3402 34.5747 361.3402 148.0117Z' fill='#5ba3de'/> +<path d='M334.6092 311.0627C334.6092 311.0627 324.3162 298.7777 298.7422 224.7227C273.1762 150.6637 260.5542 111.4807 250.2582 85.2457C244.7262 71.1487 237.7622 62.9997 232.4962 58.4767C240.2342 52.5387 248.2152 45.3397 252.2502 38.4217C259.1252 26.6289 263.8752 14.0117 267.8592 .0664C270.2462-8.2969 277.4922-14.0508 277.4922-14.0508S222.6952-27 199.1172 15.3398C197.5862 18.0859 196.0942 20.7031 194.5942 23.2031L69.4762 48.4377C59.0122 59.5077 48.0002 73.7227 43.3672 88.2347C39.2542 101.1167 32.0742 104.1757 17.1289 116.1287C2.1875 128.0857-30.0898 159.7387-30.0898 159.7387L-18.0273 208.4097L37.8752 277.3987C51.2622 268.4177 65.9722 257.4067 84.2152 250.3787C98.0352 245.0467 117.2222 241.9297 135.1372 238.3397C137.6832 244.6367 143.9332 261.2657 146.4802 278.5237C149.7192 300.4377 150.9652 369.6797 150.9652 369.6797Z' fill='#ba8d5d' clip-path='url(#clip)'/> +<path d='M381.6012 229.0387C381.6012 229.0387 371.9692 214.2617 360.0122 208.1167C348.6442 202.2777 335.6052 200.9767 335.6052 200.9767S338.4452 189.3747 346.7302 178.2307C355.8592 165.9457 372.1372 155.6447 372.1372 155.6447L320.8282 138.2107C320.8282 138.2107 337.9292 131.7347 345.8982 124.4297C354.9612 116.1247 359.1832 94.5427 359.1832 94.5427S311.7422 97.3397 305.0512 79.4337C299.9062 65.6527 318.3362 36.4297 318.3362 36.4297S291.1012 30.1167 277.3242 30.2847C269.7812 30.3747 261.5542 31.1567 255.3042 32.8277C254.3282 34.7107 253.3242 36.5817 252.2502 38.4217C248.2152 45.3397 240.2342 52.5387 232.4962 58.4767C237.7622 62.9997 244.7262 71.1487 250.2582 85.2457C260.5542 111.4807 273.1762 150.6637 298.7422 224.7227C324.3162 298.7777 334.6092 311.0627 334.6092 311.0627L366.9882 274.6997C351.8752 271.7107 344.7382 254.2777 344.7382 254.2777Z' fill='#f68623' stroke='#512c15' stroke-width='2.9888' stroke-miterlimit='10' clip-path='url(#clip)'/> +<path d='M37.8712 277.3987C51.2622 268.4177 65.9722 257.4067 84.2152 250.3787C108.1682 241.1407 148.2502 238.5427 169.8632 228.6327C191.4762 218.7307 194.1792 185.4067 194.1792 185.4067M150.9652 369.6797C150.9652 369.6797 149.7192 300.4377 146.4802 278.5237C143.9332 261.2657 137.6832 244.6367 135.1332 238.3397C134.9492 238.3747 134.7692 238.4097 134.5862 238.4497M212.7342 71.7967C212.7342 71.7967 242.9532 54.3637 252.2502 38.4217C259.1252 26.6289 263.8752 14.0117 267.8592 .0664C270.2462-8.2969 277.4922-14.0508 277.4922-14.0508S222.6952-27 199.1172 15.3398C197.5862 18.0859 196.0942 20.7031 194.5942 23.2031M69.4762 48.4377C59.0122 59.5077 47.9962 73.7227 43.3672 88.2347C39.2542 101.1167 32.0742 104.1757 17.1289 116.1287C2.1875 128.0857-30.0898 159.7387-30.0898 159.7387' stroke='#512c15' fill='none' stroke-width='2.9888' stroke-miterlimit='10' clip-path='url(#clip)'/> +<path d='M106.4652 1.2266C106.4652 1.2266 105.9652-3.918 96.3322-13.8828C94.6292-15.6484 92.7692-17.0078 90.8672-18.0586C91.1792-11.9961 91.7852-6.9063 92.1642-4.1016C98.3012-4.2969 103.4262-2.5938 106.4652 1.2266Z' fill='#ba8d5d' stroke='#512c15' stroke-width='2.9888' stroke-miterlimit='10'/> +<path d='M96.1722-32.6484C106.4652-33.4766 119.5822-30.9844 125.7222-21.6875C128.7112-24.8398 128.7112-39.9531 128.7112-39.9531S136.2112-20.1836 148.1132-14.75C143.5472-30.8398 127.1132-45.75 120.3282-51.2422C113.3552-56.8906 103.7652-70.50391 103.7652-70.50391S94.8202-59.2109 91.8322-41.6133C91.2892-38.4297 90.9722-35.0938 90.8042-31.7695C92.5002-32.1836 94.2892-32.4961 96.1722-32.6484Z' fill='#ba8d5d' stroke='#512c15' stroke-width='2.9888' stroke-miterlimit='10'/> +<path d='M184.1722-2.2617C173.5472-11.8906 162.4222-13.0547 153.6172-13.3828C138.5702-13.9531 128.7112-39.9531 128.7112-39.9531S128.7112-24.8398 125.7222-21.6875C119.5822-30.9844 106.4652-33.4766 96.1722-32.6484C81.6252-31.4727 72.2622-21.0234 72.2622-21.0234S86.7072-23.8438 96.3322-13.8828C105.9652-3.918 106.4652 1.2266 106.4652 1.2266C99.3242-7.7422 80.7262-5.082 64.4532 6.543C48.1832 18.1602 52.9962 49.3787 52.9962 49.3787S56.6522 36.5937 73.5862 28.7887C80.1332 25.7734 97.4962 25.1367 97.4962 25.1367S72.7582 25.9687 67.9412 54.8597C65.0472 72.2457 71.5942 87.0707 71.5942 87.0707S73.0902 71.6287 87.8672 62.4957C98.1402 56.1487 109.6212 53.1997 109.6212 53.1997C104.4722 57.0157 106.4652 67.9767 106.4652 67.9767S115.4292 52.8667 139.1722 54.3637C169.5392 56.2737 182.0352 44.1877 194.5942 23.2031C194.0432 17.1289 191.9692 4.8008 184.1722-2.2617Z' fill='#f68623' stroke='#512c15' stroke-width='2.9888' stroke-miterlimit='10'/> +<path d='M37.8712 277.3987C46.1912 267.0387 57.7072 251.8637 60.5542 243.9027C68.0272 222.9807 59.3082 213.2657 54.5782 206.0427C49.8442 198.8207 57.8122 194.5857 44.6132 181.8827S-8.9336 190.1017-14.4141 187.6137C-19.8945 185.1207-19.3945 181.8827-20.8906 170.9257C-22.3867 159.9647-28.0469 158.7847-37.3281 159.9647C-49.9297 161.5627-55.7617 184.3747-58.9961 200.0667C-62.23437 215.7577-70.503905 215.5117-68.71094 228.9567C-67.86328 235.3317-64.28125 241.8907-52.8711 244.2927C-53.5937 250.0317-53.8047 257.0317-52.5898 264.6597C-49.4414 284.4727-17.918 294.3787 5.5 292.1247C16.2148 291.0977 26.5742 284.9727 37.8712 277.3987Z' fill='#976d46' stroke='#512c15' stroke-width='2.9888' stroke-miterlimit='10'/> +<path d='M159.6012 113.0977C159.6012 122.6597 150.8982 130.4097 140.1722 130.4097C129.4412 130.4097 120.7462 122.6597 120.7462 113.0977C120.7462 103.5347 129.4412 95.7887 140.1722 95.7887C150.8982 95.7887 159.6012 103.5347 159.6012 113.0977Z' fill='#fff' stroke='#512c15' stroke-width='2.9888' stroke-miterlimit='10'/> +<path d='M146.6482 115.1327C146.6482 118.9847 143.1172 122.1097 138.7622 122.1097C134.4062 122.1097 130.8712 118.9847 130.8712 115.1327C130.8712 111.2817 134.4062 108.1597 138.7622 108.1597C143.1172 108.1597 146.6482 111.2817 146.6482 115.1327Z' fill='#341a13'/> +<path d='M-1.9453 215.2187C-1.9453 215.2187 .4883 211.0157 4.1406 206.1677C8.5508 200.3047 16.4766 195.1837 20.4531 194.8357C27.5508 194.2107 32.6052 195.9337 29.7152 201.4997C26.8281 207.0707 17.3984 212.9567 10.4922 213.8907C3.5781 214.8167-1.9453 215.2187-1.9453 215.2187Z' fill='#341a13'/> +<path d='M-43.0742 245.1407C-43.793 249.6797-44.1641 256.3747-41.0664 260.0897C-36.082 266.0667-26.6211 275.0347-5.1992 262.0817C12.7813 251.2107 35.8402 229.8127 42.7892 223.2227C38.7772 226.3637 28.1367 232.1247 4.0156 231.9457C-22.5469 231.7417-28.8125 244.2577-43.0742 245.1407Z' fill='#fff' stroke='#512c15' stroke-width='2.9888' stroke-miterlimit='10'/> +<path d='M-52.8711 244.2927C-50.918 244.7027-48.7383 244.9997-46.2969 245.1487C-45.1719 245.2107-44.1055 245.2067-43.0742 245.1407' stroke='#512c15' fill='none' stroke-width='2.9888' stroke-miterlimit='10'/> +<path d='M25.7773 230.1017C9.6211 238.6997-18.1562 252.9177-25.7695 253.2777C-33.0273 253.6167-39.2852 248.5467-42.6719 245.1057C-42.8047 245.1167-42.9375 245.1287-43.0742 245.1407' stroke='#512c15' fill='none' stroke-width='2.9888' stroke-miterlimit='10'/> </g> -<path fill="#F7931E" stroke="#603813" stroke-width="3" stroke-miterlimit="10" d="M267.334,75.167 - C256.668,65.5,245.5,64.333,236.667,64c-15.107-0.57-25-26.667-25-26.667s0,15.167-3,18.333c-6.167-9.333-19.333-11.833-29.667-11 - c-14.596,1.177-24,11.667-24,11.667s14.5-2.833,24.167,7.167c9.667,10,10.167,15.167,10.167,15.167 - c-7.167-9-25.834-6.334-42.167,5.333s-11.5,43-11.5,43s3.667-12.833,20.667-20.667c6.572-3.028,24-3.667,24-3.667 - S155.5,103.5,150.667,132.5c-2.909,17.455,3.667,32.333,3.667,32.333s1.5-15.5,16.333-24.667c10.31-6.371,21.833-9.333,21.833-9.333 - c-5.167,3.833-3.166,14.833-3.166,14.833s9-15.167,32.833-13.667c30.479,1.918,43.022-10.208,55.629-31.275 - C277.24,94.63,275.157,82.257,267.334,75.167z"/> -<path fill="#A67C52" stroke="#603813" stroke-width="3" stroke-miterlimit="10" d="M120.487,355.872 - c8.348-10.395,19.908-25.626,22.763-33.622c7.5-21-1.25-30.75-6-38s3.25-11.5-10-24.25S73.5,268.25,68,265.75S63,260,61.5,249 - s-7.183-12.182-16.5-11c-12.646,1.604-18.5,24.5-21.75,40.25s-11.549,15.507-9.75,29c0.854,6.402,4.447,12.983,15.898,15.396 - c-0.721,5.758-0.935,12.787,0.283,20.442c3.164,19.888,34.804,29.832,58.308,27.572C98.749,369.626,109.143,363.479,120.487,355.872 - z"/> -<path fill="#C69C6D" stroke="#603813" stroke-width="3" stroke-miterlimit="10" d="M189.334,78.667c0,0-0.5-5.167-10.167-15.167 - c-1.713-1.772-3.58-3.135-5.489-4.188c0.317,6.082,0.921,11.189,1.303,14.006C181.138,73.124,186.281,74.833,189.334,78.667z"/> -<path fill="#C69C6D" stroke="#603813" stroke-width="3" stroke-miterlimit="10" d="M179,44.667c10.334-0.833,23.5,1.667,29.667,11 - c3-3.167,3-18.333,3-18.333s7.525,19.843,19.471,25.298c-4.58-16.15-21.08-31.12-27.888-36.632 - c-7-5.667-16.625-19.333-16.625-19.333s-8.979,11.333-11.979,29c-0.542,3.195-0.864,6.542-1.031,9.882 - C175.318,45.129,177.115,44.819,179,44.667z"/> -<ellipse fill="#FFFFFF" stroke="#603813" stroke-width="3" stroke-miterlimit="10" cx="223.167" cy="190.959" rx="19.5" ry="17.375"/> -<ellipse fill="#42210B" cx="221.751" cy="193" rx="7.917" ry="7"/> -<path fill="#603813" d="M80.519,293.464c0,0,2.443-4.219,6.106-9.089C91.052,278.49,99.007,273.351,103,273 - c7.125-0.625,12.198,1.105,9.299,6.695S99.936,291.193,93,292.125S80.519,293.464,80.519,293.464z"/> -<path fill="none" stroke="#603813" stroke-width="3" stroke-miterlimit="10" d="M296,149.5c0,0,30.334-17.5,39.667-33.5 - c6.902-11.834,11.667-24.5,15.667-38.5C353.731,69.108,361,63.333,361,63.333s-55-13-78.666,29.5 - c-1.534,2.754-3.036,5.383-4.538,7.892"/> -<path fill="none" stroke="#603813" stroke-width="3" stroke-miterlimit="10" d="M120.488,355.872 - c13.437-9.009,28.207-20.065,46.512-27.122c24.045-9.269,64.273-11.878,85.969-21.821s24.408-43.392,24.408-43.392"/> -<path fill="#FFFFFF" stroke="#603813" stroke-width="3" stroke-miterlimit="10" d="M127.5,299.5c0,0-0.749,0.729-2.083,1.995 - C126.919,300.316,127.5,299.5,127.5,299.5z"/> -<path fill="#FFFFFF" stroke="#603813" stroke-width="3" stroke-miterlimit="10" d="M39.236,323.495 - c-0.724,4.556-1.093,11.276,2.014,15.005c5,6,14.5,15,36,2c18.048-10.912,41.196-32.388,48.167-39.005 - c-4.023,3.157-14.707,8.937-38.917,8.755C59.839,310.05,53.549,322.611,39.236,323.495z"/> -<path fill="none" stroke="#603813" stroke-width="3" stroke-miterlimit="10" d="M29.398,322.646c1.963,0.413,4.15,0.708,6.602,0.854 - c1.129,0.067,2.202,0.06,3.236-0.005"/> -<path fill="none" stroke="#603813" stroke-width="3" stroke-miterlimit="10" d="M108.345,308.401 - c-16.22,8.63-44.097,22.899-51.74,23.26c-7.288,0.344-13.568-4.744-16.966-8.201c-0.135,0.01-0.266,0.026-0.403,0.035"/> -<path fill="none" stroke="#603813" stroke-width="3" stroke-miterlimit="10" d="M152.209,126.056 - C141.705,137.165,130.648,151.436,126,166c-4.126,12.93-11.333,16-26.333,28s-47.398,43.774-47.398,43.774"/> </svg> diff --git a/Master/texmf-dist/doc/latex/jsonparse/jason/jason.tex b/Master/texmf-dist/doc/latex/jsonparse/jason/jason.tex new file mode 100644 index 00000000000..28e9eb1b0c6 --- /dev/null +++ b/Master/texmf-dist/doc/latex/jsonparse/jason/jason.tex @@ -0,0 +1,289 @@ +% File: jason/jason.tex +% Copyright 2024 Jasper Habicht (mail(at)jasperhabicht.de). +% +% This work may be distributed and/or modified under the +% conditions of the LaTeX Project Public License version 1.3c, +% available at http://www.latex-project.org/lppl/. +% +% This file is part of the `jsonparse' package (The Work in LPPL) +% and all files in that bundle must be distributed together. +% +% This work has the LPPL maintenance status `maintained'. +% +\documentclass{standalone} +\usepackage{l3draw} + +\begin{document} +\ExplSyntaxOn + +\color_set:nnn { color_i } { rgb } { 0.356863 , 0.639216 , 0.870588 } +\color_set:nnn { color_ii } { rgb } { 0.729412 , 0.552941 , 0.364706 } +\color_set:nnn { color_iii } { rgb } { 0.964706 , 0.52549 , 0.137255 } +\color_set:nnn { color_iv } { rgb } { 0.592157 , 0.427451 , 0.27451 } +\color_set:nnn { color_v } { rgb } { 0.317647 , 0.172549 , 0.0823529 } +\color_set:nnn { color_vi } { rgb } { 0.203922 , 0.101961 , 0.0745098 } +\color_set:nnn { color_vii } { rgb } { 1 , 1 , 1 } + +\draw_begin: + +\cs_new:Npn \__jsonparse_jason_path_i: { + \draw_path_moveto:n { 433.418 , 221.836 } + \draw_path_curveto:nnn { 433.418 , 335.695 } { 341.117 , 428 } { 227.254 , 428 } + \draw_path_curveto:nnn { 113.391 , 428 } { 21.086 , 335.695 } { 21.086 , 221.836 } + \draw_path_curveto:nnn { 21.086 , 107.973 } { 113.391 , 15.668 } { 227.254 , 15.668 } + \draw_path_curveto:nnn { 341.117 , 15.668 } { 433.418 , 107.973 } { 433.418 , 221.836 } + \draw_path_close: +} + +\cs_new:Npn \__jsonparse_jason_path_ii: { + \draw_path_moveto:n { 406.586 , 385.5 } + \draw_path_curveto:nnn { 406.586 , 385.5 } { 396.254 , 373.168 } { 370.586 , 298.836 } + \draw_path_curveto:nnn { 344.922 , 224.5 } { 332.254 , 185.168 } { 321.918 , 158.836 } + \draw_path_curveto:nnn { 316.367 , 144.684 } { 309.375 , 136.508 } { 304.09 , 131.965 } + \draw_path_curveto:nnn { 311.859 , 126.008 } { 319.867 , 118.781 } { 323.918 , 111.836 } + \draw_path_curveto:nnn { 330.82 , 100 } { 335.586 , 87.336 } { 339.586 , 73.336 } + \draw_path_curveto:nnn { 341.984 , 64.941 } { 349.254 , 59.168 } { 349.254 , 59.168 } + \draw_path_curveto:nnn { 349.254 , 59.168 } { 294.254 , 46.168 } { 270.586 , 88.668 } + \draw_path_curveto:nnn { 269.051 , 91.422 } { 267.551 , 94.051 } { 266.047 , 96.559 } + \draw_path_lineto:n { 140.461 , 121.891 } + \draw_path_curveto:nnn { 129.957 , 133 } { 118.902 , 147.27 } { 114.254 , 161.836 } + \draw_path_curveto:nnn { 110.125 , 174.766 } { 102.918 , 177.836 } { 87.918 , 189.836 } + \draw_path_curveto:nnn { 72.918 , 201.836 } { 40.52 , 233.609 } { 40.52 , 233.609 } + \draw_path_lineto:n { 52.629 , 282.461 } + \draw_path_lineto:n { 108.742 , 351.707 } + \draw_path_curveto:nnn { 122.176 , 342.695 } { 136.945 , 331.641 } { 155.254 , 324.586 } + \draw_path_curveto:nnn { 169.125 , 319.234 } { 188.387 , 316.105 } { 206.367 , 312.504 } + \draw_path_curveto:nnn { 208.922 , 318.824 } { 215.195 , 335.516 } { 217.754 , 352.836 } + \draw_path_curveto:nnn { 221.004 , 374.836 } { 222.254 , 444.336 } { 222.254 , 444.336 } + \draw_path_close: +} + +\cs_new:Npn \__jsonparse_jason_path_iii: { + \draw_path_moveto:n { 453.754 , 303.168 } + \draw_path_curveto:nnn { 453.754 , 303.168 } { 444.086 , 288.336 } { 432.086 , 282.168 } + \draw_path_curveto:nnn { 420.676 , 276.305 } { 407.586 , 275 } { 407.586 , 275 } + \draw_path_curveto:nnn { 407.586 , 275 } { 410.438 , 263.355 } { 418.754 , 252.168 } + \draw_path_curveto:nnn { 427.918 , 239.836 } { 444.254 , 229.5 } { 444.254 , 229.5 } + \draw_path_lineto:n { 392.754 , 212 } + \draw_path_curveto:nnn { 392.754 , 212 } { 409.918 , 205.5 } { 417.918 , 198.168 } + \draw_path_curveto:nnn { 427.016 , 189.832 } { 431.254 , 168.168 } { 431.254 , 168.168 } + \draw_path_curveto:nnn { 431.254 , 168.168 } { 383.633 , 170.973 } { 376.918 , 153 } + \draw_path_curveto:nnn { 371.754 , 139.168 } { 390.254 , 109.836 } { 390.254 , 109.836 } + \draw_path_curveto:nnn { 390.254 , 109.836 } { 362.918 , 103.5 } { 349.086 , 103.668 } + \draw_path_curveto:nnn { 341.516 , 103.758 } { 333.258 , 104.543 } { 326.984 , 106.223 } + \draw_path_curveto:nnn { 326.004 , 108.113 } { 324.996 , 109.988 } { 323.918 , 111.836 } + \draw_path_curveto:nnn { 319.867 , 118.781 } { 311.859 , 126.008 } { 304.09 , 131.965 } + \draw_path_curveto:nnn { 309.375 , 136.508 } { 316.367 , 144.684 } { 321.918 , 158.836 } + \draw_path_curveto:nnn { 332.254 , 185.168 } { 344.922 , 224.5 } { 370.586 , 298.836 } + \draw_path_curveto:nnn { 396.254 , 373.168 } { 406.586 , 385.5 } { 406.586 , 385.5 } + \draw_path_lineto:n { 439.086 , 349 } + \draw_path_curveto:nnn { 423.918 , 346 } { 416.754 , 328.5 } { 416.754 , 328.5 } + \draw_path_close: +} + +\cs_new:Npn \__jsonparse_jason_path_iv: { + \draw_path_moveto:n { 255.586 , 71 } + \draw_path_curveto:nnn { 244.922 , 61.336 } { 233.754 , 60.168 } { 224.918 , 59.836 } + \draw_path_curveto:nnn { 209.812 , 59.266 } { 199.918 , 33.168 } { 199.918 , 33.168 } + \draw_path_curveto:nnn { 199.918 , 33.168 } { 199.918 , 48.336 } { 196.918 , 51.5 } + \draw_path_curveto:nnn { 190.754 , 42.168 } { 177.586 , 39.668 } { 167.254 , 40.5 } + \draw_path_curveto:nnn { 152.656 , 41.68 } { 143.254 , 52.168 } { 143.254 , 52.168 } + \draw_path_curveto:nnn { 143.254 , 52.168 } { 157.754 , 49.336 } { 167.418 , 59.336 } + \draw_path_curveto:nnn { 177.086 , 69.336 } { 177.586 , 74.5 } { 177.586 , 74.5 } + \draw_path_curveto:nnn { 170.418 , 65.5 } { 151.754 , 68.168 } { 135.418 , 79.836 } + \draw_path_curveto:nnn { 119.086 , 91.5 } { 123.918 , 122.836 } { 123.918 , 122.836 } + \draw_path_curveto:nnn { 123.918 , 122.836 } { 127.586 , 110 } { 144.586 , 102.168 } + \draw_path_curveto:nnn { 151.156 , 99.141 } { 168.586 , 98.5 } { 168.586 , 98.5 } + \draw_path_curveto:nnn { 168.586 , 98.5 } { 143.754 , 99.336 } { 138.918 , 128.336 } + \draw_path_curveto:nnn { 136.012 , 145.789 } { 142.586 , 160.668 } { 142.586 , 160.668 } + \draw_path_curveto:nnn { 142.586 , 160.668 } { 144.086 , 145.168 } { 158.918 , 136 } + \draw_path_curveto:nnn { 169.23 , 129.629 } { 180.754 , 126.668 } { 180.754 , 126.668 } + \draw_path_curveto:nnn { 175.586 , 130.5 } { 177.586 , 141.5 } { 177.586 , 141.5 } + \draw_path_curveto:nnn { 177.586 , 141.5 } { 186.586 , 126.336 } { 210.418 , 127.836 } + \draw_path_curveto:nnn { 240.898 , 129.754 } { 253.441 , 117.625 } { 266.047 , 96.559 } + \draw_path_curveto:nnn { 265.492 , 90.465 } { 263.41 , 78.09 } { 255.586 , 71 } + \draw_path_close: +} + +\cs_new:Npn \__jsonparse_jason_path_v: { + \draw_path_moveto:n { 108.738 , 351.707 } + \draw_path_curveto:nnn { 117.086 , 341.312 } { 128.648 , 326.078 } { 131.504 , 318.086 } + \draw_path_curveto:nnn { 139.004 , 297.086 } { 130.254 , 287.336 } { 125.504 , 280.086 } + \draw_path_curveto:nnn { 120.754 , 272.836 } { 128.754 , 268.586 } { 115.504 , 255.836 } + \draw_path_curveto:nnn { 102.254 , 243.086 } { 61.754 , 264.086 } { 56.254 , 261.586 } + \draw_path_curveto:nnn { 50.754 , 259.086 } { 51.254 , 255.836 } { 49.754 , 244.836 } + \draw_path_curveto:nnn { 48.254 , 233.836 } { 42.57 , 232.652 } { 33.254 , 233.836 } + \draw_path_curveto:nnn { 20.605 , 235.438 } { 14.754 , 258.336 } { 11.504 , 274.086 } + \draw_path_curveto:nnn { 8.254 , 289.836 } { -0.047 , 289.59 } { 1.754 , 303.086 } + \draw_path_curveto:nnn { 2.605 , 309.484 } { 6.199 , 316.066 } { 17.652 , 318.48 } + \draw_path_curveto:nnn { 16.93 , 324.238 } { 16.715 , 331.266 } { 17.934 , 338.922 } + \draw_path_curveto:nnn { 21.098 , 358.809 } { 52.738 , 368.754 } { 76.242 , 366.492 } + \draw_path_curveto:nnn { 87 , 365.461 } { 97.395 , 359.312 } { 108.738 , 351.707 } + \draw_path_close: +} + +\cs_new:Npn \__jsonparse_jason_path_vi: { + \draw_path_moveto:n { 108.738 , 351.707 } + \draw_path_curveto:nnn { 122.176 , 342.695 } { 136.945 , 331.641 } { 155.254 , 324.586 } + \draw_path_curveto:nnn { 179.297 , 315.316 } { 219.527 , 312.707 } { 241.223 , 302.762 } + \draw_path_curveto:nnn { 262.918 , 292.82 } { 265.629 , 259.371 } { 265.629 , 259.371 } + + \draw_path_moveto:n { 222.254 , 444.336 } + \draw_path_curveto:nnn { 222.254 , 444.336 } { 221.004 , 374.836 } { 217.754 , 352.836 } + \draw_path_curveto:nnn { 215.195 , 335.516 } { 208.922 , 318.824 } { 206.363 , 312.504 } + \draw_path_curveto:nnn { 206.18 , 312.539 } { 205.996 , 312.574 } { 205.812 , 312.613 } + + \draw_path_moveto:n { 284.254 , 145.336 } + \draw_path_curveto:nnn { 284.254 , 145.336 } { 314.586 , 127.836 } { 323.918 , 111.836 } + \draw_path_curveto:nnn { 330.82 , 100 } { 335.586 , 87.336 } { 339.586 , 73.336 } + \draw_path_curveto:nnn { 341.984 , 64.941 } { 349.254 , 59.168 } { 349.254 , 59.168 } + \draw_path_curveto:nnn { 349.254 , 59.168 } { 294.254 , 46.168 } { 270.586 , 88.668 } + \draw_path_curveto:nnn { 269.051 , 91.422 } { 267.551 , 94.051 } { 266.047 , 96.559 } + + \draw_path_moveto:n { 140.461 , 121.891 } + \draw_path_curveto:nnn { 129.957 , 133 } { 118.898 , 147.27 } { 114.254 , 161.836 } + \draw_path_curveto:nnn { 110.125 , 174.766 } { 102.918 , 177.836 } { 87.918 , 189.836 } + \draw_path_curveto:nnn { 72.918 , 201.836 } { 40.52 , 233.609 } { 40.52 , 233.609 } +} + +\cs_new:Npn \__jsonparse_jason_path_vii: { + \draw_path_moveto:n { 177.586 , 74.5 } + \draw_path_curveto:nnn { 177.586 , 74.5 } { 177.086 , 69.336 } { 167.418 , 59.336 } + \draw_path_curveto:nnn { 165.707 , 57.562 } { 163.84 , 56.199 } { 161.93 , 55.145 } + \draw_path_curveto:nnn { 162.246 , 61.227 } { 162.852 , 66.336 } { 163.234 , 69.152 } + \draw_path_curveto:nnn { 169.391 , 68.957 } { 174.535 , 70.668 } { 177.586 , 74.5 } + \draw_path_close: +} + +\cs_new:Npn \__jsonparse_jason_path_viii: { + \draw_path_moveto:n { 167.254 , 40.5 } + \draw_path_curveto:nnn { 177.586 , 39.668 } { 190.754 , 42.168 } { 196.918 , 51.5 } + \draw_path_curveto:nnn { 199.918 , 48.336 } { 199.918 , 33.168 } { 199.918 , 33.168 } + \draw_path_curveto:nnn { 199.918 , 33.168 } { 207.445 , 53.012 } { 219.391 , 58.465 } + \draw_path_curveto:nnn { 214.809 , 42.316 } { 198.312 , 27.348 } { 191.504 , 21.836 } + \draw_path_curveto:nnn { 184.504 , 16.168 } { 174.879 , 2.5 } { 174.879 , 2.5 } + \draw_path_curveto:nnn { 174.879 , 2.5 } { 165.898 , 13.836 } { 162.898 , 31.5 } + \draw_path_curveto:nnn { 162.355 , 34.695 } { 162.035 , 38.043 } { 161.867 , 41.383 } + \draw_path_curveto:nnn { 163.57 , 40.965 } { 165.367 , 40.652 } { 167.254 , 40.5 } + \draw_path_close: +} + +\cs_new:Npn \__jsonparse_jason_path_ix: { + \draw_path_moveto:n { 230.922 , 186.793 } + \draw_path_curveto:nnn { 230.922 , 196.391 } { 222.188 , 204.168 } { 211.422 , 204.168 } + \draw_path_curveto:nnn { 200.648 , 204.168 } { 191.922 , 196.391 } { 191.922 , 186.793 } + \draw_path_curveto:nnn { 191.922 , 177.195 } { 200.648 , 169.418 } { 211.422 , 169.418 } + \draw_path_curveto:nnn { 222.188 , 169.418 } { 230.922 , 177.195 } { 230.922 , 186.793 } + \draw_path_close: +} + +\cs_new:Npn \__jsonparse_jason_path_x: { + \draw_path_moveto:n { 217.922 , 188.836 } + \draw_path_curveto:nnn { 217.922 , 192.699 } { 214.375 , 195.836 } { 210.004 , 195.836 } + \draw_path_curveto:nnn { 205.633 , 195.836 } { 202.086 , 192.699 } { 202.086 , 188.836 } + \draw_path_curveto:nnn { 202.086 , 184.969 } { 205.633 , 181.836 } { 210.004 , 181.836 } + \draw_path_curveto:nnn { 214.375 , 181.836 } { 217.922 , 184.969 } { 217.922 , 188.836 } + \draw_path_close: +} + +% nostril +\cs_new:Npn \__jsonparse_jason_path_xi: { + \draw_path_moveto:n { 68.77 , 289.297 } + \draw_path_curveto:nnn { 68.77 , 289.297 } { 71.215 , 285.078 } { 74.879 , 280.211 } + \draw_path_curveto:nnn { 79.305 , 274.324 } { 87.262 , 269.184 } { 91.254 , 268.836 } + \draw_path_curveto:nnn { 98.379 , 268.211 } { 103.449 , 269.938 } { 100.551 , 275.527 } + \draw_path_curveto:nnn { 97.652 , 281.117 } { 88.188 , 287.027 } { 81.254 , 287.961 } + \draw_path_curveto:nnn { 74.316 , 288.891 } { 68.77 , 289.297 } { 68.77 , 289.297 } + \draw_path_close: +} + +% mouth +\cs_new:Npn \__jsonparse_jason_path_xii: { + \draw_path_moveto:n { 27.488 , 319.328 } + \draw_path_curveto:nnn { 26.766 , 323.887 } { 26.395 , 330.605 } { 29.504 , 334.336 } + \draw_path_curveto:nnn { 34.504 , 340.336 } { 44.004 , 349.336 } { 65.504 , 336.336 } + \draw_path_curveto:nnn { 83.551 , 325.422 } { 106.699 , 303.945 } { 113.672 , 297.328 } + \draw_path_curveto:nnn { 109.645 , 300.484 } { 98.965 , 306.266 } { 74.754 , 306.086 } + \draw_path_curveto:nnn { 48.09 , 305.883 } { 41.801 , 318.445 } { 27.488 , 319.328 } + \draw_path_close: +} + +% mouth edge +\cs_new:Npn \__jsonparse_jason_path_xiii: { + \draw_path_moveto:n { 17.652 , 318.48 } + \draw_path_curveto:nnn { 19.613 , 318.891 } { 21.801 , 319.188 } { 24.254 , 319.336 } + \draw_path_curveto:nnn { 25.383 , 319.402 } { 26.453 , 319.395 } { 27.488 , 319.328 } +} + +% teeth +\cs_new:Npn \__jsonparse_jason_path_xiv: { + \draw_path_moveto:n { 96.598 , 304.234 } + \draw_path_curveto:nnn { 80.379 , 312.863 } { 52.5 , 327.137 } { 44.855 , 327.496 } + \draw_path_curveto:nnn { 37.57 , 327.84 } { 31.289 , 322.75 } { 27.891 , 319.293 } + \draw_path_curveto:nnn { 27.758 , 319.305 } { 27.625 , 319.32 } { 27.488 , 319.328 } +} + +\draw_transform_yscale:n { -1 } +\draw_linewidth:n { 3pt } +\draw_miterlimit:n { 10 } +\color_stroke:n { color_v } + +\draw_scope_begin: + + \color_fill:n { color_i } + \__jsonparse_jason_path_i: + \draw_path_use_clear:n { fill , clip } + + \color_fill:n { color_ii } + \__jsonparse_jason_path_ii: + \draw_path_use_clear:n { fill } + + \color_fill:n { color_iii } + \__jsonparse_jason_path_iii: + \draw_path_use_clear:n { fill , draw } + + \__jsonparse_jason_path_vi: + \draw_path_use_clear:n { draw } + +\draw_scope_end: + +\color_fill:n { color_ii } +\__jsonparse_jason_path_vii: +\draw_path_use_clear:n { fill , draw } + +\__jsonparse_jason_path_viii: +\draw_path_use_clear:n { fill , draw } + +\color_fill:n { color_iii } +\__jsonparse_jason_path_iv: +\draw_path_use_clear:n { fill , draw } + +\color_fill:n { color_iv } +\__jsonparse_jason_path_v: +\draw_path_use_clear:n { fill , draw } + +\color_fill:n { color_vii } +\__jsonparse_jason_path_ix: +\draw_path_use_clear:n { fill , draw } + +\color_fill:n { color_vi } +\__jsonparse_jason_path_x: +\draw_path_use_clear:n { fill } + +\__jsonparse_jason_path_xi: +\draw_path_use_clear:n { fill } + +\color_fill:n { color_vii } +\__jsonparse_jason_path_xii: +\draw_path_use_clear:n { fill , draw } + +\__jsonparse_jason_path_xiii: +\draw_path_use_clear:n { draw } + +\__jsonparse_jason_path_xiv: +\draw_path_use_clear:n { draw } + +\draw_end: + +\ExplSyntaxOff +\end{document}
\ No newline at end of file diff --git a/Master/texmf-dist/doc/latex/jsonparse/jsonparse-doc.pdf b/Master/texmf-dist/doc/latex/jsonparse/jsonparse-doc.pdf Binary files differindex ed7a1dded66..e52f8631a0f 100644 --- a/Master/texmf-dist/doc/latex/jsonparse/jsonparse-doc.pdf +++ b/Master/texmf-dist/doc/latex/jsonparse/jsonparse-doc.pdf diff --git a/Master/texmf-dist/doc/latex/jsonparse/jsonparse-doc.tex b/Master/texmf-dist/doc/latex/jsonparse/jsonparse-doc.tex index 1cfcde1e184..7e775f7499f 100644 --- a/Master/texmf-dist/doc/latex/jsonparse/jsonparse-doc.tex +++ b/Master/texmf-dist/doc/latex/jsonparse/jsonparse-doc.tex @@ -11,8 +11,8 @@ % This work has the LPPL maintenance status `maintained'. % \documentclass[a4paper]{article} -\def\jsonparsefileversion{0.8.3} -\def\jsonparsefiledate{28 April 2024} +\def\jsonparsefileversion{0.8.7} +\def\jsonparsefiledate{8 August 2024} \usepackage[T1]{fontenc} \usepackage{Alegreya} @@ -193,10 +193,13 @@ \changes{v0.5.7}{2024/04/14}{Bug fixes, key-value option setting added.} \changes{v0.6.0}{2024/04/15}{Bug fixes, renaming of several commands.} \changes{v0.7.0}{2024/04/18}{Renaming and rearranging of keys, escaping of special JSON escape sequences added.} -\changes{v0.7.1}{2024/04/20}{Access to first-level keys of object added.} +\changes{v0.7.1}{2024/04/20}{Access to top-level keys of object added.} \changes{v0.8.0}{2024/04/24}{Internal rewrite, escaping procedures changed.} \changes{v0.8.2}{2024/04/26}{Bug fixes, externalizing parsed data.} \changes{v0.8.3}{2024/04/28}{Escaping of characters with special meaning in TeX.} +\changes{v0.8.5}{2024/05/05}{Enhanced key management.} +\changes{v0.8.6}{2024/05/09}{Bug fix in nesting function.} +\changes{v0.8.7}{2024/08/08}{Corrections in documentation, error messages.} \begin{document} \vspace*{-1cm} @@ -225,20 +228,22 @@ The package does not load any dependencies. \end{macrodef} The package can be loaded with the option \macro{debug}. It will then output to the log file every instance of a string, a boolean (true or false) value, a null value, a number as well as the start and end of every object and the start and end of every array that is found while parsing the JSON string or JSON file. +This key can be set either as package option or using \macro{\JSONParseSet}. It can also be set locally as option to the commands \macro{\JSONParse} and \macro{\JSONParseFromFile}. + \section{Escaping and special treatment of the input}\label{sec:escaping} In general, the package reads the JSON source as string, which means that all characters have category code 12 (other), except for spaces which have category code 10 (space). The \macro{\endlinechar} value is set to $-1$. Furthermore, if PDFLaTeX is used, the upper-half of the 8-bit range is set to ``active''. JSON, however, defines a small set of escape sequences and in order to be able to process these, the category code of the backslash is set to 0 (escpape). JSON strings cannot contain the two characters \macro{"} and \macro{\}. These two characters need to be escaped with a preceding backslash (\macro{\}). This package therefore redefines locally the TeX control symbols \macro{\"}, \macro{\/}, \macro{\\}, \macro{\b}, \macro{\f}, \macro{\n}, \macro{\r}, \macro{\t} and \macro{\u}. These control symbols are prevented from expanding during parsing. For example, \macro{\"} is first defined as \macro{\exp_not:N \"} and only hen typeset, \macro{\"} is expanded to \macro{"}, which ensures that strings are parsed properly. -Similarly, the control symbol \macro{\/} expands eventually to \macro{/} and \macro{\\} to \macro{\c_backslash_str} (i.\,e. a backslash with category code 12). The escape sequence \macro{\u} followed by a hex value consisting of four digits eventually eventually expands to \macro{\char"} followed by the relevant four hex digits. The JSON escape sequences \macro{\b}, \macro{\f}, \macro{\n}, \macro{\r}, \macro{\t} or \macro{\u} (followed by a hex value) eventually expand to token variables of which the contents can be set using the relevant \macro{replacement} key. See more on setting keys below in section \ref{sec:settings}. +Similarly, the control symbol \macro{\/} expands eventually to \macro{/} and \macro{\\} to \macro{\c_backslash_str} (i.\,e. a backslash with category code 12). The escape sequence \macro{\u} followed by a hex value consisting of four digits eventually eventually expands to \macro{\char"} followed by the relevant four hex digits. The JSON escape sequences \macro{\b}, \macro{\f}, \macro{\n}, \macro{\r}, \macro{\t} or \macro{\u} (followed by a hex value) eventually expand to token variables of which the contents can be set using the relevant \macro{replacement} key. See more on setting options below in section \ref{sec:options}. It is possible to insert TeX macros to the JSON source that will eventually be parsed when typesetting. Backslashes of TeX macros need to be escaped by another backslash. The TeX macros \macro{\"} and \macro{\\} must be escaped twice in the JSON source, so that they become \macro{\\\"} and \macro{\\\\} respectively. \begin{macrodef} -|\x|[<token variable name>][<key>] +|\x|{<token variable name>}{<key>} \end{macrodef} -Using the control sequence \macro{\x}, it is possible to nest JSON strings into each other. The control sequence takes two arguments delimited by square brackets. The first argument represents the name of the token variable that holds the parsed JSON data where the inserted JSON string should be taken from. The second argument sets the key that should be selected. The following example shows a simple use case: +Using the control sequence \macro{\x}, it is possible to nest JSON strings into each other. The control sequence takes two arguments delimited by curly braces. The first argument represents the name of the token variable that holds the parsed JSON data where the inserted JSON string should be taken from. The second argument sets the key that should be selected. The following example shows a simple use case: \begin{codeexamplecolumns} \JSONParse{\myJSONdataA}{ @@ -246,49 +251,52 @@ Using the control sequence \macro{\x}, it is possible to nest JSON strings into } \JSONParse{\myJSONdataB}{ - { "d" : \x[myJSONdataA][a] } + { "d" : \x{myJSONdataA}{a} } } \JSONParseValue{\myJSONdataB}{d.b} \end{codeexamplecolumns} +Note that the control sequence \macro{\x} is replaced by the value exactly. Therefore, if the value happens to be a string, the control sequence \macro{\x} should be placed between quotation marks (\macro{"}) in order for the resulting string to be valid JSON. + \begin{macrodef} -|escape|={<all>} -|escape|={<none>} -|escape|={<number sign>} -|escape|={<dollar sign>} -|escape|={<percent sign>} -|escape|={<ampersand>} -|escape|={<circumflex accent>} -|escape|={<low line>} -|escape|={<tilde>} +|escape|={all} +|escape|={none} +|escape|={number sign} +|escape|={dollar sign} +|escape|={percent sign} +|escape|={ampersand} +|escape|={circumflex accent} +|escape|={low line} +|escape|={tilde} \end{macrodef} -The key \macro{escape} can be used to convert characters that don't require escaping in JSON but in TeX into their relevant TeX escape sequences. Apart from the backslash and curly braces that need to be escaped anyways, these are the number sign, the dollar sign, the percent sign, the ampersand, the circumflex accent, the low line and the tilde. The characters can be selected individually separated by a comma (for example \macro{escape={dollar sign, circumflex accent, low line}}. With \macro{escape={all}}, all escaping sequences are selected, with \macro{escape={none}}, none is selected. +The key \macro{escape} can be used to convert characters that don't require escaping in JSON but in TeX into the relevant TeX escape sequences. Apart from the backslash and curly braces that need to be escaped anyways, these are the number sign, the dollar sign, the percent sign, the ampersand, the circumflex accent, the low line and the tilde. The characters can be selected individually separated by a comma (for example \macro{escape={dollar sign, circumflex accent, low line}}. With \macro{escape={all}}, all escaping sequences are selected, with \macro{escape={none}}, none is selected. The naming of the relevant characters follows their Unicode names. However, \macro{hash} exists as alias for \macro{number sign}, \macro{dollar} as alias for \macro{dollar sign}, \macro{percent} for \macro{percent sign}, \macro{circumflex} for \macro{circumflex accent} and \macro{underscore} for \macro{low line}. +This key can be set using \macro{\JSONParseSet}. It can also be set locally as option to the commands \macro{\JSONParseValue}, \macro{\JSONParseArrayValues} and \macro{\JSONParseArrayValuesMap}. + \begin{macrodef} -replacement/|backspace|={<string>} -replacement/|formfeed|={<string>} -replacement/|linefeed|={<string>} -replacement/|carriage return|={<string>} -replacement/|horizontal tab|={<string>} +|rescan| +|rescan|={<boolean>} \end{macrodef} -These keys can be used to set the replacement text for the JSON escape sequences \macro{\b} (backspace), \macro{\f} (formfeed), \macro{\n} (linefeed), \macro{\r} (carriage return) and \macro{\t} (horizontal tab). The default replacement string is a space. Only strings can be used as replacement. +The key \macro{rescan} can be used to activate and deactivate rescanning of the output. This key is active per default. Rescanning converts all tokens to their default category codes and TeX control sequences are expanded before typesetting. Further, during the rescanning process, JSON escape sequences are replaced and characters that don't require escaping in JSON but in TeX are replaced by the relevant TeX escape sequences. + +This key can be set using \macro{\JSONParseSet}. It can also be set locally as option to the commands \macro{\JSONParseValue}, \macro{\JSONParseArrayValues} and \macro{\JSONParseArrayValuesMap}. \section{Main user commands} \begin{macrodef} -|\JSONParse|[<file name>]{<token variable>}{<JSON string>} +|\JSONParse|[<options>]{<token variable>}{<JSON string>} \end{macrodef} The command \macro{\JSONParse} is used to parse a JSON string and store the parsed result in a token variable (a property list). The second argument takes the name of the token variable that is created by the command. The third argument takes the JSON string to be parsed. For example, using \macro{\JSONParse{\myJSONdata}{ { "key" : "value" } }}, the relevant JSON string will be parsed and the result stored in the token variable \macro{\myJSONdata} as property list. In this case, the property list only consists of one entry with the key \macro{key} and the value \macro{value}. The command \macro{\JSONParseValue{\myJSONdata}{key}}, for example, can then be used to extract the relevant value from this property list (see the description below). -The first optinal argument can be used to externalize the parsed JSON data to a file. See more on externalization in section \ref{sec:externalizing} below. +The first optional argument can be used to pass options to the command that are then applied locally. \begin{macrodef} -|\JSONParseFromFile|[<file name>]{<token variable>}{<JSON file>} +|\JSONParseFromFile|[<options>]{<token variable>}{<JSON file>} \end{macrodef} The command \macro{\JSONParseFromFile} is used to parse a JSON file and store the parsed result in a token variable (a property list). It works the same way as \macro{\JSONParse}, but instead of a JSON string, it takes as third argument the path to the JSON file relative to the working directory. @@ -298,8 +306,7 @@ The command \macro{\JSONParseFromFile} is used to parse a JSON file and store th The command \macro{\JSONParseKeys} is used to store all top-level keys of a parsed JSON object as array into a token variable. The command takes as first argument the token variable that holds the parsed JSON data. The second argument takes the token variable that is assigned a JSON array containing the top-level keys of the object represented by the token variable in the first argument. The token variable to store the keys as array is created if it does not exist. \begin{macrodef} -|\JSONParseValue|{<token variable>}{<key>} -|\JSONParseValue*|{<token variable>}{<key>} +|\JSONParseValue|[<options>]{<token variable>}{<key>} |\JSONParseExpandableValue|{<token variable>}{<key>} \end{macrodef} The command \macro{\JSONParseValue} is used to select values from the token variable (property list) that has been created using the commands \macro{\JSONParse} or \macro{\JSONParseFromFile}. The first argument takes the token variable that holds the parsed JSON data. The second argument takes the key to select the relevant entry from the parsed JSON data using JavaScript syntax. @@ -308,15 +315,14 @@ If the JSON string \macro{{ "key" : "value" }} is parsed into the token variable Nested objects and arrays are assigned keys that adhere to JavaScript syntax. For example, if the JSON string \macro{{ "outer_key" : { "inner_key" : "value" } }} is parsed into the token variable \macro{\myJSONdata}, to select the value associated with the key \macro{inner_key}, the command \macro{\JSONParseValue{\myJSONdata}{outer_key.inner_key}} can be used. To give an example for an array, the command \macro{\JSONParseValue{\myJSONdata}{key[0]}} selects the first value of the array associated with the key \macro{key} in the JSON string \macro{{ "key" : [ "one" , "two" ] }}. -The non-starred variant of this command, \macro{\JSONParseValue}, rescans the token list before it is typeset (which means that all category codes that may have been changed before are set to the default values). The starred variant, \macro{\JSONParseValue*}, does not rescan the ouput. The non-starred variants of this and similar commands should therefore not be placed in a \macro{\JSONParse} command. +The first optional argument can be used to pass options to the command, such as \macro{escape} or \macro{rescan}, that are then applied locally. When the option \macro{rescan} is used, the token list is rescanned before it is typeset (which means that all category codes that may have been changed before are set to the default values). This is the default behaviour. If rescanning is not desired, pass the option \macro{rescan=false} to the command. When a key is associated with an object or array, the whole object or array is output as JSON string. The special key \macro{.} (or the string defined using the key \macro{child sep}) returns the whole JSON object as string. Whole objects or arrays can also be output as JSON string for further use in other macros using the expandable command \macro{\JSONParseExpandableValue}. \begin{macrodef} -|\JSONParseArrayValues|{<token variable>}{<key>}[<subkey>]{<string>} -|\JSONParseArrayValues*|{<token variable>}{<key>}[<subkey>]{<string>} +|\JSONParseArrayValues|[<options>]{<token variable>}{<key>}[<subkey>]{<string>} \end{macrodef} The command \macro{\JSONParseArrayValues} is used to select all values from an array from a parsed JSON string or JSON file. The first argument takes the token variable that holds the parsed JSON data. The second argument takes the key to select the relevant entry from the parsed JSON data using JavaScript syntax. The third argument is optional and can be used to pass a subkey, i.\,e. a key that is used to select a value for every item. The last argument takes a string that is inserted between all values when they are typeset. @@ -339,11 +345,11 @@ For example, let us assume the following JSON data structure is parsed into the Then, when using \macro{\JSONParseArrayValues{\myJSONdata}{array}[key_a]{, }}, `one, three' is typeset to the document. -The starred variant, \macro{\JSONParseArrayValues*}, does not rescan the token lists before they are typeset. +The first optional argument can be used to pass options to the command, such as \macro{escape} or \macro{rescan}, that are then applied locally. \begin{macrodef} -|\JSONParseArrayValuesMap|{<token variable>}{<key>}[<subkey>]{<command name>} -|\JSONParseArrayValuesMap*|{<token variable>}{<key>}[<subkey>]{<command name>} +|\JSONParseArrayValuesMap|[<options>]{<token variable>}{<key>}[<subkey>] + {<command name>} \end{macrodef} The command \macro{\JSONParseArrayValuesMap} takes the same first three arguments as the command \macro{\JSONParseArrayValues} and works in a similar way. However, instead of a string that is added between the array items, it takes a command name as fourth argument. This command can be defined beforehand and will be called for every array item. Inside its definition, the commands \macro{\JSONParseArrayIndex}, \macro{\JSONParseArrayKey} and \macro{\JSONParseArrayValue} can be used which are updated for each item and output the index, the key and the value of the current item respectively. @@ -362,7 +368,7 @@ For example, let us assume the same JSON data structure as defined above parsed \end{itemize} \end{codeexamplecolumns} -The starred variant, \macro{\JSONParseArrayValuesMap*}, does not rescan the token lists before they are typeset. +The first optional argument can be used to pass options to the command, such as \macro{escape} or \macro{rescan}, that are then applied locally. \begin{macrodef} |\JSONParseArrayCount|{<token variable>}{<key>} @@ -371,45 +377,89 @@ The command \macro{\JSONParseArrayCount} takes as first argument a token variabl \subsection{Externalising parsed JSON data}\label{sec:externalizing} -Parsing large JSON files can take quite a while. In order to speed up follow-up compilation runs, this package provides a way to store parsed JSON data for future use. The first opional argument of the commands \macro{\JSONParse} and \macro{\JSONParseFromFile} can be used to provide the name of a file (without file extension) that will be created in the working directory and which stores the relevant information. The file name will have the extension \macro{.jsonparse}. If a file with the same name and file extension already exists, an error will be issued. Once the file has been created, the package will try to load the data from this file instead of parsing the JSON data again. +Parsing large JSON files can take quite a while. In order to speed up follow-up compilation runs, this package provides a way to store parsed JSON data for future use. Once a file for externalization has been created, the package will try to load the data from this file instead of parsing the JSON data again. + +\begin{macrodef} +|externalize| +|externalize|={<boolean>} +\end{macrodef} +With the key \macro{externalize} set (or set to true), a file will be created in the working directory that stores the externalization of the parsed JSON data. The file name gets the extension \macro{.jsonparse}. The file name is created automatically and consists of the name of the current file followed by an underscore and the name of the token variable where the JSON data is stored into. If a file with the same name and file extension already exists, an error will be issued. + +This key can be set using \macro{\JSONParseSet}. It can also be set locally as option to the commands \macro{\JSONParse} and \macro{\JSONParseFromFile}. + +\begin{macrodef} +|externalize prefix|={<string>} +\end{macrodef} +With the key \macro{externalize prefix}, a prefix can be defined that is added to the file name. Per default this is an empty string. + +This key can be set using \macro{\JSONParseSet}. It can also be set locally as option to the commands \macro{\JSONParse} and \macro{\JSONParseFromFile}. + +\begin{macrodef} +|externalize file name|={<token list>} +\end{macrodef} +The key \macro{externalize file name} sets the schema for the file name. The default schema is as follows: + +\begin{codeexample} +\l_jsonparse_externalize_prefix_str \c_sys_jobname_str + \c_underscore_str \l_jsonparse_current_prop_str +\end{codeexample} + +The token variable \macro{\l_jsonparse_externalize_prefix_str} contains the prefix that is set using the key \macro{externalize prefix}. \macro{\c_sys_jobname_str} holds the name of the current file (the current job name), \macro{\c_underscore_str} is an underscore and the token variable \macro{\l_jsonparse_current_prop_str} contains the name of the property list where the relevant JSON data is stored into. + +This key can be set using \macro{\JSONParseSet}. It can also be set locally as option to the commands \macro{\JSONParse} and \macro{\JSONParseFromFile}. \begin{macrodef} |\JSONParsePut|{<token variable>}{<key>}[<JSON string>] \end{macrodef} The command \macro{\JSONParsePut} is used by the externalization procedure to re-read already parsed JSON data to the main file. It just adds a key-value pair to the property list (where the value part is read as string). Hence, it can also be used to append more entries to an already existing property list containing parsed JSON data. -\subsection{Changing separators, output and other settings}\label{sec:settings} +\subsection{Changing separators, output and other options}\label{sec:options} The package provides a set of keys can be set to change the separators used to select the relevant value in the JSON structure, the output that is generated from the JSON data as well as other things. \begin{macrodef} -|\JSONParseSet|{<key-value list>} +|\JSONParseSet|{<options>} \end{macrodef} -The commands \macro{\JSONParseSet} can be used to specify settings via key-value pairs (separated by commas). Keys that are presented here as a subkey (i.\,e. preceded by another key and a slash) can also be set using the syntax \macro{key={subkey}} and multiple subkeys belonging to one key can be combined using a comma as separator. The following keys are available: +The commands \macro{\JSONParseSet} can be used to specify options via key-value pairs (separated by commas). Keys that are presented here as a subkey (i.\,e. preceded by another key and a slash) can also be set using the syntax \macro{key={subkey}} and multiple subkeys belonging to one key can be combined using a comma as separator. Several user commands allow to pass keys directly which are then applied locally. The following keys are available: \begin{macrodef} separator/|child|={<string>} +separator/|array left|={<string>} +separator/|array right|={<string>} \end{macrodef} -With the key \macro{child sep}, the separator for child objects that is used in the syntax to select a specific value in the JSON data structure can be changed. Per default, the child separator is a dot (\macro{.}). Changing the separator can be useful if keys in the JSON structure already use these characters. +With the key \macro{separator/child}, the separator for child objects that is used in the syntax to select a specific value in the JSON data structure can be changed. Per default, the child separator is a dot (\macro{.}). Changing the separator can be useful if keys in the JSON structure already use these characters. + +With the keys \macro{separator/array left} and \macro{separator/array right}, the separators for arrays that are used in the syntax to select a specific value in the JSON data structure can be changed. Per default, the separators are square brackets (\macro{[} and \macro{]}). Changing the separators can be useful if keys in the JSON structure already use these characters. Changing these separators to curly braces (\macro{{}}) is not supported due to their grouping function in TeX. + +These keys can be set using \macro{\JSONParseSet}. They can also be set locally as option to the commands \macro{\JSONParse} and \macro{\JSONParseFromFile}. \begin{macrodef} -separator/|array left|={<string>} -separator/|array right|={<string>} +|zero-based| +|zero-based|={<boolean>} \end{macrodef} -With the keys \macro{array sep left} and \macro{array sep right}, the separators for arrays that are used in the syntax to select a specific value in the JSON data structure can be changed. Per default, the separators are square brackets (\macro{[} and \macro{]}). Changing the separators can be useful if keys in the JSON structure already use these characters. +If set (or explicitly set to \macro{true}), the key \macro{zero-based} sets the numbering of the index of array items to zero-based. If set to false, the indexing starts with one instead. Per default, the package uses zero-based indexing to resemble JavaScript notation. + +This key can be set using \macro{\JSONParseSet}. It can also be set locally as option to the commands \macro{\JSONParse} and \macro{\JSONParseFromFile}. \begin{macrodef} -replacement/|true|={<string>} -replacement/|false|={<string>} -replacement/|null|={<string>} +replace/|true|={<string>} +replace/|false|={<string>} +replace/|null|={<string>} \end{macrodef} -With the keys \macro{true}, \macro{false} and \macro{null}, the string that is typeset for true, false and null values can be changed. The default strings that are typeset are \macro{true}, \macro{false} and \macro{null} respectively. Only strings can be used as replacement. +With the keys \macro{replace/true}, \macro{replace/false} and \macro{replace/null}, the string that is typeset for true, false and null values can be changed. The default strings that are typeset are \macro{true}, \macro{false} and \macro{null} respectively. Only strings can be used as replacement. These replacements take place already during parsing. + +These keys can be set using \macro{\JSONParseSet}. They can also be set locally as option to the commands \macro{\JSONParse} and \macro{\JSONParseFromFile}. \begin{macrodef} -|array index zero-based| -|array index zero-based|={<boolean>} +replace/|backspace|={<string>} +replace/|formfeed|={<string>} +replace/|linefeed|={<string>} +replace/|carriage return|={<string>} +replace/|horizontal tab|={<string>} \end{macrodef} -If set (or explicitly set to \macro{true}), the key \macro{array index zero-based} sets the numbering of the index of array items to zero-based. If set to false, the indexing starts with one instead. Per default, the package uses zero-based indexing to resemble JavaScript notation. +These keys can be used to set the replacement text for the JSON escape sequences \macro{\b} (backspace), \macro{\f} (formfeed), \macro{\n} (linefeed), \macro{\r} (carriage return) and \macro{\t} (horizontal tab). The default replacement string is a space. Only strings can be used as replacement. These replacements take place only during typesetting. + +These keys can be set using \macro{\JSONParseSet}. They can also be set locally as option to the commands \macro{\JSONParseValue}, \macro{\JSONParseArrayValues} and \macro{\JSONParseArrayValuesMap}. \subsection{L3 commands} diff --git a/Master/texmf-dist/doc/latex/kaytannollista-latexia/kaytannollista-latexia.pdf b/Master/texmf-dist/doc/latex/kaytannollista-latexia/kaytannollista-latexia.pdf Binary files differindex 0f802f5bf8d..92e9769f85b 100644 --- a/Master/texmf-dist/doc/latex/kaytannollista-latexia/kaytannollista-latexia.pdf +++ b/Master/texmf-dist/doc/latex/kaytannollista-latexia/kaytannollista-latexia.pdf diff --git a/Master/texmf-dist/doc/latex/kaytannollista-latexia/kaytannollista-latexia.tex b/Master/texmf-dist/doc/latex/kaytannollista-latexia/kaytannollista-latexia.tex index 643a5898fe9..b3294eb42a3 100644 --- a/Master/texmf-dist/doc/latex/kaytannollista-latexia/kaytannollista-latexia.tex +++ b/Master/texmf-dist/doc/latex/kaytannollista-latexia/kaytannollista-latexia.tex @@ -31,7 +31,7 @@ datezeros=false]{biblatex} \usepackage{tikz} \usepackage{totcount} -\usepackage{nowidow} \setnowidow \setnoclub +\usepackage[all]{nowidow} \usepackage{hanging} \usepackage{lettrine} \usepackage{multicol} @@ -94,7 +94,7 @@ SmallCapsFont={* Regular}, SmallCapsFeatures={Language=Default, Letters=SmallCaps}] \setmonofont{Libertinus Mono}[ -Scale=MatchLowercase, Ligatures={TeXReset, NoCommon}, +Scale=MatchLowercase, Ligatures={TeXOff, CommonOff}, FakeStretch=0.8, Numbers=SlashedZero] \setmathfont{Libertinus Math}[Scale=MatchLowercase] @@ -114,7 +114,7 @@ FakeStretch=0.8, Numbers=SlashedZero] \newcommand{\versaalinum}{\addfontfeatures{Numbers=Uppercase}} \newcommand{\murtoluku}[2]{{\addfontfeatures{Fractions=On}#1/#2}} -\setlength{\emergencystretch}{1em} +\setlength{\emergencystretch}{1.3em} \setlength{\parindent}{1em} \setlength{\bibhang}{\parindent} @@ -173,7 +173,7 @@ columnsep=1em] \begin{textblock*}{1cm}(-2em,3bp) \small\seurausnuoli \end{textblock*} - \begin{minipage}{\linewidth} + \begin{minipage}{\textwidth} \linespread{1}\small }{% \end{minipage} @@ -188,18 +188,18 @@ columnsep=1em] \end{list}} \floatsetup{ style=plain, font={small}, justification=raggedright, - margins=raggedright, captionskip=0ex, capposition=bottom } + margins=centering, captionskip=0ex, capposition=bottom } \floatsetup[table]{ style=plain, captionskip=2ex } \floatsetup[figure]{ style=plain, captionskip=2ex } \captionsetup{ font={small, sf}, labelfont={bf}, textfont={}, - textformat=period, margin=.5em, justification=RaggedRight, - singlelinecheck=off } + textformat=period, margin={.1em, 1.1em}, oneside, + justification=RaggedRight, singlelinecheck=off } \newcommand{\leijutlk}[2]{% \begin{table*} - \floatbox{table}{\versaalinum #1}{#2} + \floatbox{table}[\FBwidth]{\versaalinum #1}{#2} \end{table*}} \newcommand{\leijukuva}[2]{% @@ -215,7 +215,6 @@ columnsep=1em] \setlength{\itemsep}{.2ex plus .2ex} \setlength{\parsep}{0em} \setlength{\topsep}{.2ex plus .2ex} - \RaggedRight }}{\end{list}} \newenvironment{maaritelma}[1]{% @@ -442,6 +441,7 @@ columnsep=1em] \begin{list}{\textbullet}{ \setlength{\leftmargin}{1em} + \setlength{\labelsep}{.35em} \setlength{\topsep}{0ex} \setlength{\partopsep}{0ex} \setlength{\itemsep}{0ex} @@ -492,7 +492,6 @@ columnsep=1em] ladottu eri väreillä: \komentox{teksti} ja \mkomentox{matematiikka}.} \printindex[komennot] \printindex[laskurit] -\clearpage \printindex[mitat] \printindex[paketit] \indexprologue{\noindent Tekstitilan ja matematiikkatilan ympäristöt on diff --git a/Master/texmf-dist/doc/latex/kaytannollista-latexia/luku-asetukset.tex b/Master/texmf-dist/doc/latex/kaytannollista-latexia/luku-asetukset.tex index 88c31f03f69..b9bfa55d7d3 100644 --- a/Master/texmf-dist/doc/latex/kaytannollista-latexia/luku-asetukset.tex +++ b/Master/texmf-dist/doc/latex/kaytannollista-latexia/luku-asetukset.tex @@ -275,7 +275,7 @@ muokata sivun ylä- tai alatunnistetta eli verrattain pysyviä tunnistetietoja, jotka toistuvat joka sivulla ylä- tai alareunassa. Niiden muokkaamiseen käytetään \paketti{fancyhdr}\-/ pakettia, jonka ohjeita on luvussa \ref{luku/ylä-ala-tunnisteet}. Sivun taustavärin -asettamista käsitellään luvussa \ref{luku/korostus-värit}. +asettamista käsitellään luvussa \ref{luku/sivun-väri}. \subsection{Sivun koko ja marginaalit} \label{luku/sivun-mitat} @@ -886,6 +886,26 @@ toteutukseen. \label{esim/fancyhdr-koko} \end{esimerkki*} +\subsection{Taustaväri} +\label{luku/sivun-väri} + +Dokumentin sivun värin valitsemiseen sopii \pakettictan{xcolor}\-/ +paketti, jonka peruskäyttöön kannattaa tutustua luvussa +\ref{luku/värit}. Sivulle voi asettaa taustavärin komennolla +\komento{pagecolor}, joka vaihtaa värin nykyiselle ja seuraaville +sivuille, kunnes väri vaihdetaan toiseksi tai poistetaan. Komennolle +annetaan samanlaiset argumentit kuin muillekin värikomennoille (luku +\ref{luku/värit}). Komento \komento{nopagecolor} poistaa taustavärin +kokonaan eli palauttaa taustan oletustilaan. + +\komentoi{pagecolor} +\komentoi{nopagecolor} +\begin{koodilohkosis} +\pagecolor{nimi} % sivun taustaväriksi ennalta määritelty ”nimi” +\pagecolor[värimalli]{parametrit} +\nopagecolor +\end{koodilohkosis} + \section{Pdf-tiedosto} \label{luku/pdf-asetukset} @@ -1119,6 +1139,7 @@ komennoilla\footnote{Vaihtoehtoisesti fontit voi asettaa TeX Gyre Chorus & kalligrafinen \\ \midrule Libertinus Sans & groteski, humanistinen, kaksivahvuinen \\ + Latin Modern Sans & groteski \\ TeX Gyre Heros & groteski, uusgroteski \\ DejaVu Sans & groteski, uusgroteski \\ TeX Gyre Adventor & groteski, geometrinen \\ @@ -1126,6 +1147,7 @@ komennoilla\footnote{Vaihtoehtoisesti fontit voi asettaa Libertinus Mono & tasalevyinen \\ TeX Gyre Cursor & tasalevyinen \\ DejaVu Sans Mono & tasalevyinen \\ + Latin Modern Mono & tasalevyinen \\ \bottomrule \end{tabular} }{ @@ -1227,7 +1249,7 @@ loppupuolella. Letters=SmallCaps}] \setmonofont{Libertinus Mono}[ - Scale=MatchLowercase, FakeStretch=0.8, Ligatures=NoCommon] + Scale=MatchLowercase, FakeStretch=0.8, Ligatures=CommonOff] \end{koodilohko} \caption{Libertinus\-/ kirjainperheiden asettaminen. Tässä \englanti{Libertinus Serif} \=/perheen lihavoinniksi on valittu @@ -1837,7 +1859,10 @@ käyttämällä valitsinta \koodi{Renderer} seuraavan esimerkin tavoin: \noindent Tavallisimpia \koodi{Renderer}\-/ valitsimen arvoja ovat -\koodi{\mbox{Node}}, \koodi{Harf\-Buzz} ja \koodi{Open\-Type}. +\koodi{\mbox{Node}}, \koodi{Harf\-Buzz} ja \koodi{Open\-Type}. Toisinaan +\koodi{\mbox{Node}} on tuottanut paremman tuloksen kuin muut +vaihtoehdot. + Lisätietoa voi lukea \paketti{fontspec}\-/ paketin ohjekirjan luvusta, joka käsittelee Luatexin erityispiirteitä. Myös Xelatexissa (Xetex) on fontteihin liittyviä ominaisuuksia, joita ei muissa kääntäjissä ole. @@ -1867,7 +1892,7 @@ käsitellään tarkemmin luvussa \ref{luku/typo-liga}. Molemmat edellä mainitut ligatuurityypit saa pois päältä seuraavalla asetuksella: \begin{koodilohkosis} -Ligatures={TeXReset, NoCommon} +Ligatures={TeXOff, CommonOff} \end{koodilohkosis} \noindent @@ -1890,13 +1915,13 @@ HyphenChar=None \noindent Yleensä tasalevyisestä kirjainperheestä kannattaa kytkeä typografiset -ligatuurit pois päältä asetuksella \koodi{Liga\-tures=\katk No\-Common}. -Tasalevyisen fontin ajatukseen nimenomaan kuuluu, että merkit ovat -samanlevyisiä eikä yhden merkin tilaan sovi sulloa useampaa kirjainta. -Kaikki tasalevyiset kirjainperheet eivät edes sisällä ligatuurimerkkejä, -joten ominaisuus näyttää olevan automaattisesti pois päältä. Varmuuden -vuoksi on kuitenkin hyvä lisätä asetus \koodi{Liga\-tures=\katk - No\-Common} tasalevyiselle perheelle. +ligatuurit pois päältä asetuksella \koodi{Liga\-tures=\katk + Common\-Off}. Tasalevyisen fontin ajatukseen nimenomaan kuuluu, että +merkit ovat samanlevyisiä eikä yhden merkin tilaan sovi sulloa useampaa +kirjainta. Kaikki tasalevyiset kirjainperheet eivät edes sisällä +ligatuurimerkkejä, joten ominaisuus näyttää olevan automaattisesti pois +päältä. Varmuuden vuoksi on kuitenkin hyvä lisätä asetus +\koodi{Liga\-tures=\katk Common\-Off} tasalevyiselle perheelle. Oletuksena tavutus on kytketty pois päältä tasalevyiseltä kirjainperheeltä, koska sitä käytetään tavallisesti tietokoneisiin @@ -1998,13 +2023,13 @@ fi f\textcompwordmark i \noindent Mikäli tavallisia ligatuureja ei halua käyttöön lainkaan, on parasta valita jo kirjainperheen tai \=/leikkauksen käyttöönotossa asetus -\koodi{Liga\-tures=\katk No\-Com\-mon}. Väliaikaisesti fontin asetuksiin +\koodi{Liga\-tures=\katk Common\-Off}. Väliaikaisesti fontin asetuksiin voi vaikuttaa komennolla \komento{addfontfeatures}, joka sekin on \paketti{fontspec}\-/pakettiin sisältyvä komento. \komentoi{addfontfeatures} \begin{koodilohkosis} -{\addfontfeatures{Ligatures=NoCommon} fi fl} +{\addfontfeatures{Ligatures=CommonOff} fi fl} \end{koodilohkosis} \noindent @@ -2013,8 +2038,8 @@ sisältää myös harvinaisempia ligatuureja, jotka täytyy erikseen kytkeä päälle. Niiden tarkoituksena on esimerkiksi erityinen koristeellisuus tai historiallisen kirjainleikkauksen jäljittely. Harvinaisia ligatuureja ei ole tarkoitus käyttää joka tilanteessa vaan ainoastaan -erityisestä syystä. Kuvassa \ref{kuva/ligatuurit} ja tässäkin -tekstikappaleessa olevat {% +erityisestä syystä. Kuvassa \ref{kuva/ligatuurit} ja tässäkin virkkeessä +olevat {% \newcommand{\hlig}[1]{{\addfontfeatures{Ligatures=Historic}#1}}% \hlig{st}- ja \hlig{ct}\-/ligatuurit% } on saatu fontin asetuksella \koodi{Liga\-tures=\katk His\-toric}. @@ -2319,6 +2344,7 @@ math Mathematical Alphanumeric Symbols \rivi{TeX Gyre Schola}{TeX Gyre Schola Math} \rivi{TeX Gyre Termes}{TeX Gyre Termes Math} \rivi{DejaVu Serif}{TeX Gyre Dejavu Math} + \rivi{DejaVu Serif}{DejaVu Serif} \rivi{Garamond Libre}{Garamond Math} \rivi{Latin Modern Roman}{Latin Modern Math} \bottomrule @@ -2334,8 +2360,8 @@ Taulukkoon \ref{tlk/matematiikka-fontteja} on koottu \englanti{Open Type} \=/fontteja, joissa on yhteensopiva leipätekstin ja matematiikkatilan kirjainperhe. Teknisesti kaikkia voi käyttää kaikkien kanssa, mutta on tietenkin toivottavaa, että kirjainleikkaukset sopivat -ulkoasultaan yhteen. Kaikki fontit ovat vapaita ja toimitetaan Tex Live -\=/jakelun tai käyttöjärjestelmän mukana. +ulkoasultaan yhteen. Kaikki taulukon fontit ovat vapaita ja toimitetaan +Tex Live \=/jakelun tai käyttöjärjestelmän mukana. \section{Kieli} \label{luku/kieliasetukset} @@ -3270,8 +3296,8 @@ merkityksellisten osien rajakohdasta. Tavurajakin voi sattua samaan paikkaan, mutta tavutettaessa heittomerkki säilyy: \emph{show'-hun}.% \footnote{Asiaa ei yleensä mainita kielenhuolto\-/oppaissa. Tieto perustuu Kielikello\-/lehden 2/2006 artikkeliin: - \kulmaurl{https://www.kielikello.fi/-/lainausmerkit-}. Viittauspäivä - 6.7.2020.} Mikäli tällainen tavutuskohta halutaan mukaan, käytetään + \kulmaurl{https://kielikello.fi/lainausmerkit/}. Viittauspäivä + 5.5.2024.} Mikäli tällainen tavutuskohta halutaan mukaan, käytetään sanassa tavallista tavutusvihjettä: \koodi{show'}\komento{-}\koodi{hun}. Mieluummin ei kuitenkaan katkaista sanoja heittomerkin kohdalta. diff --git a/Master/texmf-dist/doc/latex/kaytannollista-latexia/luku-erikoiset.tex b/Master/texmf-dist/doc/latex/kaytannollista-latexia/luku-erikoiset.tex index c87d9c41501..b625e80d1b9 100644 --- a/Master/texmf-dist/doc/latex/kaytannollista-latexia/luku-erikoiset.tex +++ b/Master/texmf-dist/doc/latex/kaytannollista-latexia/luku-erikoiset.tex @@ -191,7 +191,7 @@ sisältöelementtien (\englanti{inner}) ulkoasuun ja diojen reunoille \providecommand{\teema}{} \renewcommand{\teema}[2][,]{\mbox{\koodi{#2}#1}} - \begin{tabularx}{\linewidth}{lL} + \begin{tabularx}{\textwidth}{lL} \toprule \ots{Komento} & \ots{Valmiita teemoja} \\ \rivi{usetheme}{ @@ -335,8 +335,7 @@ lisätietoihin. Muualla käytetään antiikvaa. \leijutlk{ \providecommand{\rivi}{} \renewcommand{\rivi}[2]{\koodi{#1} & #2 \\} - - \begin{tabularx}{\linewidth}{lL} + \begin{tabularx}{\textwidth}{lL} \toprule \ots{Valitsin} & \ots{Merkitys} \\ \midrule @@ -425,8 +424,8 @@ otsikon teksti valkeaksi ja tausta siniseksi: \noindent Värien nimien täytyy olla ennalta määriteltyjä. Perusvärit (\englanti{\koodi{white}, \koodi{blue}, \koodi{red}} ym.) on määritelty -valmiiksi, mutta lisää värejä voi määritellä ohjeilla, joita kerrotaan -luvussa \ref{luku/korostus-värit}. +valmiiksi, mutta lisää värejä voi määritellä luvun \ref{luku/värit} +ohjeilla. Oletuksena luetelmaympäristöt \ymparisto{itemize} ja \ymparisto{enumerate} latovat luetelmamerkit eri värillä kuin normaalin diff --git a/Master/texmf-dist/doc/latex/kaytannollista-latexia/luku-merkintakieli.tex b/Master/texmf-dist/doc/latex/kaytannollista-latexia/luku-merkintakieli.tex index 4c18794a421..7f1e589ae2b 100644 --- a/Master/texmf-dist/doc/latex/kaytannollista-latexia/luku-merkintakieli.tex +++ b/Master/texmf-dist/doc/latex/kaytannollista-latexia/luku-merkintakieli.tex @@ -330,17 +330,17 @@ Edellä kuvatut Latexin omat lainausmerkkien merkintätavat (\koodi{''}, pois päältä fontin asetuksista eli \paketti{fontspec}\-/ pakettiin kuuluvien toimintojen avulla. Fonteissa on yleensä oletuksena päällä Tex\-/ligatuurit eli asetus \koodi{Liga\-tures=\katk TeX}, mutta sen saa -poistettua asetuksella \koodi{Liga\-tures=\katk TeX\-Reset}. Asetusta +poistettua asetuksella \koodi{Liga\-tures=\katk TeX\-Off}. Asetusta muutetaan kirjainperheen määrittelyn yhteydessä tai väliaikaisesti komennolla \komento{addfontfeatures}. \komentoi{addfontfeatures} \begin{koodilohkosis} -{\addfontfeatures{Ligatures=TeXReset} `` '' >> '} +{\addfontfeatures{Ligatures=TeXOff} `` '' >> '} \end{koodilohkosis} \begin{tulossis} - {\addfontfeatures{Ligatures=TeXReset} `` '' >> '} + {\addfontfeatures{Ligatures=TeXOff} `` '' >> '} \end{tulossis} \noindent @@ -419,16 +419,16 @@ yhdysmerkkiä, voi käyttää tasalevyistä fonttia (\komento{texttt}\komentoarg{--}), joka oletuksena kytkee pois Latexin ajatusviivatoiminnon. Saman asetuksen saa kyllä mihin tahansa fonttiin, kun poistaa fontista niin sanotut Tex\-/ligatuurit asetuksella -\koodi{Liga\-tures=\katk TeX\-Reset}. Väliaikaisesti asetus tehdään +\koodi{Liga\-tures=\katk TeX\-Off}. Väliaikaisesti asetus tehdään seuraavasti: \komentoi{addfontfeatures} \begin{koodilohkosis} -{\addfontfeatures{Ligatures=TeXReset} -- ---} +{\addfontfeatures{Ligatures=TeXOff} -- ---} \end{koodilohkosis} \begin{tulossis} - {\addfontfeatures{Ligatures=TeXReset} -- ---} + {\addfontfeatures{Ligatures=TeXOff} -- ---} \end{tulossis} \noindent @@ -2124,9 +2124,6 @@ kehysviivan etäisyys sisällöstä määritellään mitassa \mitta{fboxsep}. \end{tulossis} \noindent -Värillisten laatikoiden ja kehysten tekemistä neuvotaan luvussa -\ref{luku/korostus-värit}, joka käsittelee väriasioita muutenkin. - Tekstiä sisältävien laatikoiden korkeus vaihtelee kirjainten ja muiden merkkien muodon mukaan. Esimerkiksi kirjainten ala- ja yläpidennykset kasvattavat laatikon kokoa gemenalinjan yläpuolelle tai peruslinjan @@ -2364,3 +2361,137 @@ kaksi seuraavista kirjaimista: \koodi{c} (\englanti{center}, keski), arvoksi täysympyrän yksikkömäärä, ja oletusasetus on \koodi{units=\katk 360}. Jos haluaa käyttää radiaaneja, sopiva asetus on \koodi{units=\katk 6.283185} (2π\,rad). + +\section{Tekstin ja laatikoiden värit} +\label{luku/värit} + +Latexiin saa värit \pakettictan{xcolor}\-/ paketin +avulla.\footnote{Toinen vaihtoehto on yksinkertaisempi väripaketti + \paketti{color}, joka sisältää värien käsittelyn perustoiminnot.} Se +tarjoaa muun muassa komentoja, joilla tekstin väriä, tekstin taustaväriä +tai sivun taustaväriä (luku \ref{luku/sivun-väri}) voi muuttaa. Lisäksi +paketti sisältää värien sekoittamiseen ja muuntamiseen liittyvää +tekniikkaa. Paketin komentojen avulla voi myös värittää taulukoiden +(luku \ref{luku/taulukot}) rivit vuorottelevin värein. + +Omassa dokumentissa käytettävät värit on hyvä määritellä alussa. +Määrittely tarkoittaa sitä, että annetaan väreille nimet -- esimerkiksi +käyttötarkoituksen mukaan -- ja myöhemmin lähdedokumentissa viitataan +väreihin käyttämällä alussa määriteltyjä nimiä. Näin väri on määritelty +yhdessä paikassa ja sen muuttaminen on myöhemmin helppoa. On kyllä +mahdollista käyttää värejä ilman etukäteismäärittelyäkin. + +\leijutlk{ + \providecommand{\rivi}{} + \renewcommand{\rivi}[3]{\koodi{#1} & #2 & \koodi{#3} + & \textcolor[#1]{#3}{\rule{.9em}{.9em}} \\} + \begin{tabular}{llll} + \toprule + \ots{Malli} + & \ots{Parametrit} + & \multicolumn{2}{l}{\ots{Esimerkki}} \\ + \midrule + \rivi{rgb}{punainen, vihreä, sininen}{1,.7,.3} + \rivi{HTML}{punainen vihreä sininen}{33aaf3} + \rivi{cmyk}{syaani, magenta, keltainen, musta}{.1,1,.5,0} + \rivi{hsb}{sävy, kylläisyys, kirkkaus}{.2,1,.6} + \rivi{gray}{harmaa}{.55} + \bottomrule + \end{tabular} +}{ + \caption{Erilaisia värimalleja ja niiden parametreja + \paketti{xcolor}\-/ paketissa} + \label{tlk/värimalleja} +} + +Omat värit määritellään komennolla \komento{definecolor}. Se tarvitsee +kolme argumenttia: värin nimen, värimallin ja värikoodin. Komennon +argumenttien rakenne on seuraavanlainen: + +\komentoi{definecolor} +\begin{koodilohkosis} +\definecolor{nimi}{välimalli}{parametrit} +\end{koodilohkosis} + +\noindent +Komennon argumentti \koodi{nimi} on kirjoittajan itse valitsema nimi, ja +se voi liittyä esimerkiksi värin käyttötarkoitukseen (''otsikko'') tai +värin yleiseen nimeen (''keltainen''). Argumentti \koodi{väri\-malli} +tarkoittaa värin ilmaisemisen tapaa. Niitä on useita erilaisia, mutta +yleisimmät on koottu taulukkoon \ref{tlk/värimalleja}. + +Eri värimalleilla on eri määrä parametreja, joilla ilmaistaan värin +ominaisuuksia. Kunkin parametrin arvo on yleensä desimaaliluku 0\==1, +mutta \koodi{HTML}\-/ värimallissa parametrit ilmaistaan yhtenä kolmen +kaksinumeroisen heksadesimaaliluvun sarjana \textsc{html}\-/ +merkintäkielen tavoin. Värin parametrit kirjoitetaan komennon +argumenttiin \koodi{para\-metrit} ja ne erotetaan toisistaan pilkulla. +Taulukon \ref{tlk/värimalleja} Esimerkki\-/sarakkeessa on parametrien +antamisesta esimerkki. Muista värimalleista voi lukea +\paketti{xcolor}\-/ paketin ohjekirjasta. + +Kun värit on määritelty, niitä voi käyttää eri komentojen yhteydessä. +Tekstin väri vaihdetaan toiseksi komennolla \komento{color}, josta on +kaksi erilaista versiota. Komento vaihtaa värin pysyvästi nykyisen +ympäristön (luku \ref{luku/ympäristöt}) tai aaltosulkeilla (luku +\ref{luku/aaltosulkeet}) rajatun alueen sisällä. + +\komentoi{color} +\begin{koodilohkosis} +\color{nimi} % väriksi ennalta määritelty ”nimi” +\color[värimalli]{parametrit} % värimallin ja parametrien avulla +\end{koodilohkosis} + +\noindent +Toinen vaihtoehto on käyttää komentoa \komento{textcolor}, jolle +annetaan edelliseen verrattuna vielä yksi argumentti lisää. Argumenttina +on teksti, johon värin halutaan vaikuttavan. Vaikutusalueena on siis +vain kyseinen teksti. + +\komentoi{textcolor} +\begin{koodilohkosis} +\textcolor{nimi}{teksti} +\textcolor[värimalli]{parametrit}{teksti} +\end{koodilohkosis} + +\noindent +Tekstin taustaväri vaihdetaan komennoilla \komento{colorbox} ja +\komento{fcolorbox}. Komennot luovat pienen laatikon (luku +\ref{luku/laatikot-pienet}), jonka sisällä taustaväri on voimassa. Ensin +mainittu komento vaihtaa vain taustavärin, ja jälkimmäinen sisältää +lisäksi värillisen kehyksen, eli sille määritellään kaksi väriä. + +\begin{koodilohkosis} +\colorbox{nimi}{teksti} % taustaväriksi ennalta määritelty ”nimi” +\colorbox[värimalli]{parametrit}{teksti} +\fcolorbox{nimi/kehys}{nimi/tausta}{teksti} +\fcolorbox[värimalli]{parametrit/kehys}{parametrit/tausta}{teksti} +\end{koodilohkosis} + +\noindent +Kehystetyn laatikon kehysviivan leveys on mitassa \mitta{fboxrule} ja +kehyksen etäisyys sisällöstä mitassa \mitta{fboxsep}. Seuraavassa on +esimerkki useiden edellä mainittujen komentojen käytöstä. Tästä tuskin +kannattaa ottaa mallia vakavaan typografiseen työhön. + +\komentoi{colorbox} +\komentoi{color} +\komentoi{definecolor} +\komentoi{fcolorbox} +\komentoi{setlength} +\komentoi{textcolor} +\mittai{fboxrule} +\mittai{fboxsep} +\begin{koodilohkosis} +\definecolor{pun}{rgb}{1,.2,.2} +\setlength{\fboxrule}{2bp} \setlength{\fboxsep}{1bp} +\fcolorbox[gray]{.4}{.2}{\color[gray]{1}Tekstiä} +\textcolor{pun}{voi korostaa} \colorbox{pun}{väreillä}. +\end{koodilohkosis} + +\begin{tulossis} + \definecolor{pun}{rgb}{1,.2,.2} + \setlength{\fboxrule}{2bp} \setlength{\fboxsep}{1bp} + \fcolorbox[gray]{.4}{.2}{\color[gray]{1}Tekstiä} + \textcolor{pun}{voi korostaa} \colorbox{pun}{väreillä}. +\end{tulossis} diff --git a/Master/texmf-dist/doc/latex/kaytannollista-latexia/luku-rakenne.tex b/Master/texmf-dist/doc/latex/kaytannollista-latexia/luku-rakenne.tex index 58e992b3ca7..8eccc972d5f 100644 --- a/Master/texmf-dist/doc/latex/kaytannollista-latexia/luku-rakenne.tex +++ b/Master/texmf-dist/doc/latex/kaytannollista-latexia/luku-rakenne.tex @@ -121,6 +121,52 @@ Taulukossa on mainittu ensin Latexin omat komennot ja sitten estävät sanojen tavuttamisen, kun taas \paketti{ragged2e}\-/ paketin komennot sallivat tavutuksen normaalisti. +\subsection{Optinen tasaus} + +Tekstin tasaamisessa halutaan toisinaan jättää jotkut merkit +tasauskohdan ulkopuolelle. Esimerkiksi suurikokoisissa otsikoissa on +joskus alussa lainausmerkki, joka halutaan latoa tasauskohdan vasemmalle +puolelle, jotta eri riveillä olevat sanat saadaan tasaan. + +\begin{tulossis} + \Large\makebox[0bp][r]{''}Optinen tasaus \\ + otsikossa'' +\end{tulossis} + +\noindent +Tasauskohdan ulkopuolinen lainausmerkki voidaan toteuttaa leveydettömän +laatikon avulla (luku \ref{luku/laatikot}). Lainausmerkki kirjoitetaan +laatikkoon, jonka leveys on nolla ja jonka sisältö tasataan laatikon +oikeaan reunaan. Tällöin laatikko ei vie yhtään tilaa, mutta sen sisältö +ladotaan kyseisen kohdan vasemmalle puolelle. + +\komentoi{makebox} +\begin{koodilohkosis} +\makebox[0bp][r]{''}Optinen tasaus \\ +otsikossa'' +\end{koodilohkosis} + +\noindent +Toisinaan keskitetyssä monirivisessä tekstissä tai otsikossa on rivin +lopussa yhdysmerkki, mutta keskitys ehkä halutaan toteuttaa vain +kirjainten perusteella ja jättää yhdysmerkki sen ulkopuolelle. Sellainen +yhdysmerkki voidaan kirjoittaa leveydettömään laatikkoon, jolloin sitä +ei huomioida keskittämisessä. + +\komentoi{makebox} +\ymparistoi{center} +\begin{koodilohkosis} +\begin{center} + \Large Latex\makebox[0bp][l]{-} \\ opas +\end{center} +\end{koodilohkosis} + +\begin{tulossis} + \begin{center} + \Large Latex\makebox[0bp][l]{-} \\ opas + \end{center} +\end{tulossis} + \subsection{Pystysuuntaiset välit} \label{luku/pystysuuntaiset-välit} @@ -1437,159 +1483,24 @@ seuraavalla tavalla: \end{koodilohkosis} \subsection{Värit} -\label{luku/korostus-värit} Eri värien käyttö voi sopia tekstin erilaisten osien korostamiseen. -Esimerkiksi otsikot, taulukot tai leijuvat osat saa erottumaan -selvemmin, kun niiden toteutuksessa käyttää värejä. Sen sijaan -leipätekstin sisällä värejä täytynee käyttää hillitysti, sillä värikäs -tekstipalsta näyttää rauhattomalta ja voi hidastaa lukemista. - -Latexiin saa värit \pakettictan{xcolor}\-/ paketin -avulla.\footnote{Toinen vaihtoehto on yksinkertaisempi väripaketti - \paketti{color}, joka sisältää värien käsittelyn perustoiminnot.} Se -tarjoaa muun muassa komentoja, joilla tekstin väriä, tekstin taustaväriä -tai sivun taustaväriä voi muuttaa. Lisäksi se sisältää värien -sekoittamiseen ja muuntamiseen liittyvää tekniikkaa. Paketin komentojen -avulla voi myös värittää taulukoiden (luku \ref{luku/taulukot}) rivit -vuorottelevin värein. - -Omassa dokumentissa käytettävät värit on hyvä määritellä alussa. -Määrittely tarkoittaa sitä, että annetaan väreille nimet -- esimerkiksi -käyttötarkoituksen mukaan -- ja myöhemmin lähdedokumentissa viitataan -väreihin käyttämällä alussa määriteltyjä nimiä. Näin väri on määritelty -yhdessä paikassa ja sen muuttaminen on myöhemmin helppoa. On kyllä -mahdollista käyttää värejä ilman etukäteismäärittelyäkin. - -\leijutlk{ - \providecommand{\rivi}{} - \renewcommand{\rivi}[3]{\koodi{#1} & #2 & \koodi{#3} - & \textcolor[#1]{#3}{\rule{.9em}{.9em}} \\} - \begin{tabular}{llll} - \toprule - \ots{Malli} - & \ots{Parametrit} - & \multicolumn{2}{l}{\ots{Esimerkki}} \\ - \midrule - \rivi{rgb}{punainen, vihreä, sininen}{1,.7,.3} - \rivi{HTML}{punainen vihreä sininen}{33aaf3} - \rivi{cmyk}{syaani, magenta, keltainen, musta}{.1,1,.5,0} - \rivi{hsb}{sävy, kylläisyys, kirkkaus}{.2,1,.6} - \rivi{gray}{harmaa}{.55} - \bottomrule - \end{tabular} -}{ - \caption{Erilaisia värimalleja ja niiden parametreja - \paketti{xcolor}\-/ paketissa} - \label{tlk/värimalleja} -} - -Omat värit määritellään komennolla \komento{definecolor}. Se tarvitsee -kolme argumenttia: värin nimen, värimallin ja värikoodin. Komennon -argumenttien rakenne on seuraavanlainen: - -\komentoi{definecolor} -\begin{koodilohkosis} -\definecolor{nimi}{välimalli}{parametrit} -\end{koodilohkosis} - -\noindent -Komennon argumentti \koodi{nimi} on kirjoittajan itse valitsema nimi, -ja se voi liittyä esimerkiksi värin käyttötarkoitukseen (''nuoli'') tai -värin yleiseen nimeen (''keltainen''). Argumentti \koodi{väri\-malli} -tarkoittaa värin ilmaisemisen tapaa. Niitä on useita erilaisia, mutta -yleisimmät on koottu taulukkoon \ref{tlk/värimalleja}. - -Eri värimalleilla on eri määrä parametreja, joilla ilmaistaan värin -ominaisuuksia. Kunkin parametrin arvo on yleensä desimaaliluku 0\==1, -mutta \koodi{HTML}\-/ värimallissa parametrit ilmaistaan yhtenä kolmen -kaksinumeroisen heksadesimaaliluvun sarjana \textsc{html}\-/ -merkintäkielen tavoin. Värin parametrit kirjoitetaan komennon -argumenttiin \koodi{para\-metrit} ja ne erotetaan toisistaan pilkulla. -Taulukon \ref{tlk/värimalleja} Esimerkki\-/sarakkeessa on parametrien -antamisesta esimerkki. Muista värimalleista voi lukea -\paketti{xcolor}\-/ paketin ohjekirjasta. - -Kun värit on määritelty, niitä voi käyttää eri komentojen yhteydessä. -Tekstin väri vaihdetaan toiseksi komennolla \komento{color}, josta on -kaksi erilaista versiota. Komento vaihtaa värin pysyvästi nykyisen -ympäristön (luku \ref{luku/ympäristöt}) tai aaltosulkeilla (luku -\ref{luku/aaltosulkeet}) rajatun alueen sisällä. - -\komentoi{color} -\begin{koodilohkosis} -\color{nimi} % väriksi ennalta määritelty ”nimi” -\color[värimalli]{parametrit} % värimallin ja parametrien avulla -\end{koodilohkosis} - -\noindent -Toinen vaihtoehto on käyttää komentoa \komento{textcolor}, jolle -annetaan edelliseen verrattuna vielä yksi argumentti lisää. Argumenttina -on teksti, johon värin halutaan vaikuttavan. Vaikutusalueena on siis -vain kyseinen teksti. - -\komentoi{textcolor} -\begin{koodilohkosis} -\textcolor{nimi}{teksti} -\textcolor[värimalli]{parametrit}{teksti} -\end{koodilohkosis} - -\noindent -Tekstin taustaväri vaihdetaan komennoilla \komento{colorbox} ja -\komento{fcolorbox}. Komennot luovat laatikon, jonka sisällä taustaväri -on voimassa. Ensin mainittu komento vaihtaa vain taustavärin, ja -jälkimmäinen sisältää lisäksi värillisen kehyksen, eli sille -määritellään kaksi väriä. - -\begin{koodilohkosis} -\colorbox{nimi}{teksti} % taustaväriksi ennalta määritelty ”nimi” -\colorbox[värimalli]{parametrit}{teksti} -\fcolorbox{nimi(kehys)}{nimi(tausta)}{teksti} -\fcolorbox[värimalli]{parametrit(kehys)}{parametrit(tausta)}{teksti} -\end{koodilohkosis} - -\noindent -Kehystetyn laatikon kehysviivan leveys on mitassa \mitta{fboxrule} ja -kehyksen etäisyys sisällöstä mitassa \mitta{fboxsep}. Seuraavassa on -esimerkki useiden edellä mainittujen komentojen käytöstä. Tästä tuskin -kannattaa ottaa mallia vakavaan typografiseen työhön. - -\komentoi{colorbox} -\komentoi{color} -\komentoi{definecolor} -\komentoi{fcolorbox} -\komentoi{setlength} -\komentoi{textcolor} -\mittai{fboxrule} -\mittai{fboxsep} -\begin{koodilohkosis} -\definecolor{pun}{rgb}{1,.2,.2} -\setlength{\fboxrule}{2bp} \setlength{\fboxsep}{1bp} -\fcolorbox[gray]{.4}{.2}{\color[gray]{1}Tekstiä} -\textcolor{pun}{voi korostaa} \colorbox{pun}{väreillä}. -\end{koodilohkosis} - -\begin{tulossis} - \definecolor{pun}{rgb}{1,.2,.2} - \setlength{\fboxrule}{2bp} \setlength{\fboxsep}{1bp} - \fcolorbox[gray]{.4}{.2}{\color[gray]{1}Tekstiä} - \textcolor{pun}{voi korostaa} \colorbox{pun}{väreillä}. -\end{tulossis} - -\noindent -Sivulle voi asettaa taustavärin komennolla \komento{pagecolor}. -Taustäväri vaihtuu nykyiselle ja seuraaville sivuille, kunnes väri -vaihdetaan toiseksi tai poistetaan. Komennolle annetaan samanlaiset -argumentit kuin muillekin värikomennoille. Komento \komento{nopagecolor} -poistaa taustavärin kokonaan eli palauttaa taustan oletustilaan. - -\komentoi{pagecolor} -\komentoi{nopagecolor} -\begin{koodilohkosis} -\pagecolor{nimi} % sivun taustaväriksi ennalta määritelty ”nimi” -\pagecolor[värimalli]{parametrit} -\nopagecolor -\end{koodilohkosis} +Esimerkiksi otsikot (luku \ref{luku/otsikot}), taulukot (luku +\ref{luku/taulukot}) tai leijuvat osat (luku \ref{luku/leijuosat}) saa +erottumaan selvemmin, kun niiden toteutuksessa käyttää värejä. Sen +sijaan leipätekstissä värejä kannattaa käyttää hillitymmin, sillä +värikäs tekstipalsta näyttää rauhattomalta. Katse voi hakeutua +poikkeavan värisiin osiin liian helposti, mikä hidastaa lukemista. +Värien käsittelyn tekniikkaa käsitellään luvussa \ref{luku/värit} ja +sivun taustaväriä luvussa \ref{luku/sivun-väri}. + +Tämän oppaan leipätekstissä on käytetty värejä Latexin komentojen ja +muiden rakenteiden ilmaisemiseen, esimerkiksi \komentox{komento}, +\ymparistox{ympäristö} ja \mittax{mitta}. Värisävyt on melko tummia, +jotta mustaa tekstiä sisältävä tekstipalsta näyttäisi verrattain +tasaiselta eikä katse kiinnittyisi värillisiin kohtiin kovin helposti. +Samanlaista ajatusta kannattanee toteuttaa muidenkin elementtien +värittämisessä. \section{Sivunvaihdot ja sivujen tasaaminen} \label{luku/sivunvaihdot} @@ -2661,12 +2572,44 @@ kirjaimia (a, b, c jne.). \label{esim/labelitem-labelenum} \end{esimerkki*} +\leijutlk{ + \providecommand{\rivi}{} + \renewcommand{\rivi}[3]{#1 & \uctunnus{#2} & #3 \\} + \begin{tabular}{cll} + \toprule + \multicolumn{2}{l}{\ots{Merkki ja Unicode-nimi}} & \ots{Komento} \\ + \midrule + \rivi{\textbullet}{u+2022 bullet}{\komento{textbullet}} + \rivi{◦}{u+25e6 white bullet}{} + \rivi{$\circ$}{u+2218 ring operator}{\koodi{\$\mkomento{circ}\$}} + % \rivi{⁃}{u+2043 hyphen bullet}{} + % \rivi{▪}{u+25aa black small square}{} + \rivi{\rule[.3ex]{.5ex}{.5ex}}{} + {\komento{rule}\komentoargv{.3ex}\komentoarg{.5ex}\komentoarg{.5ex}} + \rivi{‣}{u+2023 triangular bullet}{} + \rivi{--}{u+2013 en dash}{\komento{textendash}, \koodi{--}} + \rivi{$\star$}{u+22c6 star operator}{\koodi{\$\mkomento{star}\$}} + \rivi{\textasteriskcentered} + {u+2217 asterisk operator} {\komento{textasteriskcentered}} + \rivi{\textperiodcentered} + {u+00b7 middle dot}{\komento{textperiodcentered}} + \bottomrule + \end{tabular} +}{ + \caption{Erilaisia luetelmamerkkejä. Komento-sarakkeen + \koodi{\$}\=/merkit ovat matematiikkatilan aloitus- ja + lopetuskomentoja} + \label{tlk/luetelmamerkkejä} +} + Luetelmamerkit ja luetelmien numerointitavat ovat kirjoittajan muutettavissa. Ympäristössä \ymparisto{itemize} luetelmamerkit tulevat komennosta, joka alkaa sanoilla \komentox{label\-item} ja jatkuu luetelman tasoa ilmaisevalla roomalaisella numerolla \koodi{i}\==\koodi{iv}. Komennot voi määritellä uudelleen haluamallaan tavalla, kuten esimerkki \ref{esim/labelitem-labelenum} osoittaa. +Taulukkoon \ref{tlk/luetelmamerkkejä} on koottu erilaisia +luetelmamerkkejä sekä Latex\-/ komentoja, joilla niitä voi tuottaa. \ymparisto{enumerate}\-/ ympäristössä numeroidut kohdat tulevat komennosta, joka alkaa sanoilla \komentox{label\-enum} ja jatkuu @@ -2773,9 +2716,9 @@ vaikutetaan luetelman asetuksiin. Edellisen esimerkin argumentti \koodi{merk\-ki} sisältää tekstiä tai koodia, joka muodostaa luetelmakohdan merkin. Numeroimattomassa luetelmassa siihen voi laittaa esimerkiksi luetelmaympyrän eli komennon -\komento{textbullet} tai ajatusviivan (\koodi{--}). Numeroidussa -luetelmassa siihen kirjoitetaan komento, joka latoo jonkin laskurin -arvon. +\komento{textbullet} tai ajatusviivan (\koodi{--}). Muita esimerkkejä on +taulukossa \ref{tlk/luetelmamerkkejä}. Numeroidussa luetelmassa siihen +kirjoitetaan komento, joka latoo jonkin laskurin arvon. \ymparisto{list}\-/ ympäristön toinen argumentti \koodi{ase\-tuk\-set} sisältää mitä hyvänsä koodia, jolla vaikutetaan ympäristön asetuksiin. @@ -3701,7 +3644,7 @@ huolehtivat myös niiden ylä- ja alapuolisesta välistä paremmin kuin Latexin omat viivakomennot. Taulukon rivien taustan voi värittää \pakettictan{xcolor}\-/ paketin -(luku \ref{luku/korostus-värit}) komentojen avulla. Varsinkin leveiden +(luku \ref{luku/värit}) komentojen avulla. Varsinkin leveiden taulukoiden lukemista voi helpottaa, jos rivien eri taustavärit vuorottelevat. Tarkemmat tiedot selviävät paketin ohjekirjasta, mutta seuraavan esimerkin avulla ominaisuutta pääsee kokeilemaan: @@ -4515,7 +4458,7 @@ toisistaan erotettuja valitsimia ja niiden arvoja. \leijutlk{ \providecommand{\rivi}{} \renewcommand{\rivi}[2]{\koodi{#1} & #2 \\} - \begin{tabularx}{\linewidth}{lL} + \begin{tabularx}{\textwidth}{lL} \toprule \ots{Valitsin} & \ots{Merkitys ja vaihtoehtoja} \\ \midrule @@ -4589,7 +4532,7 @@ ympäristössä. \leijutlk{ \providecommand{\rivi}{} \renewcommand{\rivi}[2]{\koodi{#1} & #2 \\} - \begin{tabularx}{\linewidth}{lL} + \begin{tabularx}{\textwidth}{lL} \toprule \ots{Valitsin} & \ots{Merkitys ja vaihtoehtoja} \\ \midrule @@ -4742,9 +4685,11 @@ Niitä käytetään seuraavalla tavalla: \end{koodilohkosis} \begin{wrapfigure}{R}{5em} - \begin{tikzpicture}[x=.5em, y=.5em] - \draw [draw=black, fill=yellow, line width=1bp] (0,0) ellipse [x - radius=4, y radius=2, rotate=30]; + \begin{tikzpicture}[x=.5em, y=.5em, + tyyli/.style={draw=black, fill=yellow, line width=.6bp}] + \draw [tyyli] (0,0) ellipse [x radius=4, y radius=1.5, rotate=45]; + \draw [tyyli] (-2,2) circle [radius=1]; + \draw [tyyli] (2,-2) circle [radius=1]; \end{tikzpicture} \caption{Tekstipalstaan upotettu kuva} \label{kuva/wrapfig-esimerkki} @@ -4886,8 +4831,8 @@ Ristiviittaukset vaativat, että Latex\-/ lähdedokumentti käännetään kahdesti. Ensimmäisellä kääntämiskerralla \komento{label}\-/ komennolla mainittujen kohteiden tiedot kirjoitetaan muistiin väliaikaistiedostoon. Toisella kääntämiskerralla hyödynnetään väliaikaistiedostoa ja -\komento{ref}-, \komento{pageref}\-/\ ja \komento{nameref}\-/ komentojen -tilalle ladotaan viittauskohteen oikeat tiedot. +komentojen \komento{ref}, \komento{pageref} ja \komento{nameref} tilalle +ladotaan viittauskohteen oikeat tiedot. \section{Alaviitteet} \label{luku/alaviitteet} @@ -4895,12 +4840,14 @@ tilalle ladotaan viittauskohteen oikeat tiedot. Alaviitteet ovat sivun alareunassa olevia numeroituja tai muulla tavalla merkittyjä huomautuksia. Niihin viitataan sanojen tai virkkeiden perässä olevalla yläindeksinumerolla, \=/kirjaimella tai -\=/symbolilla.\footnote{Tässä on esimerkki alaviitteestä.} Alaviitteiden -tarkoituksena on lisätä tekstiin lähes huomaamaton lisätieto, joka ei -häiritse lukemista. Se sopii asioille, joilla ei ole suurta merkitystä -useimmille lukijoille tai jotka muuten sopivat huonosti leipätekstiin. -Varsin usein myös tiedonlähteet ilmaistaan alaviitteiden -avulla.\footcites[162]{kt_oik}[127--128]{typokk} +\=/symbolilla.\footnote{Katso myös ylä- ja alaindeksejä käsittelevä luku + \ref{luku/ylä-alaindeksit}. Siellä mainitun \paketti{realscripts}\-/ + paketin lataaminen on suositeltavaa, kun käyttää alaviitteitä.} +Alaviitteiden tarkoituksena on lisätä tekstiin lähes huomaamaton +lisätieto, joka ei häiritse lukemista. Se sopii asioille, joilla ei ole +suurta merkitystä useimmille lukijoille tai jotka muuten sopivat +huonosti leipätekstiin. Varsin usein myös tiedonlähteet ilmaistaan +alaviitteiden avulla.\footcites[162]{kt_oik}[127--128]{typokk} Alaviite tehdään komennolla \komento{footnote}, jonka argumentiksi kirjoitetaan alaviitteeseen tuleva teksti. Oletuksena Latex latoo @@ -5023,6 +4970,8 @@ väli hieman kasvaa. \rivi{norule}{vaakasuuntainen erotinviiva pois} \rivi{perpage}{numerointi sivukohtaiseksi} \rivi{bottom}{alaviite aina sivun alareunaan} + \rivi{ragged}{alaviitteeseen automaattinen \komento{raggedright} tai + \komento{RaggedRight}} \rivi{hang}{luetelmatyyppiset alaviitteet, riippuva sisennys} \rivi{multiple}{useat peräkkäiset yläindeksinumerot} \bottomrule @@ -5047,6 +4996,22 @@ voi sijoittua joskus ylemmäksi, jos sivun alaosaan ladotaan leijuva osa tai jos sivun alareunan tasaaminen on pois päältä (\komento{raggedbottom}, luku \ref{luku/sivunvaihdot}). +Valitsin \koodi{ragged} latoo alaviitteen tekstikappaleet +liehureunaisena eli suorittaa automaattisesti komennon +\komento{raggedright} tai \komento{RaggedRight} (luku +\ref{luku/kappaleen-tasaus}). Monipuolisempi keino alaviitteen tyylin +muokkaamiseen on komento \komento{footnotelayout}. Komennon voi +määritellä itse haluamakseen, ja komennon määritelmään kirjoitetaan mitä +hyvänsä komentoja, jotka halutaan suorittaa automaattisesti jokaisen +alaviitetekstin alussa. + +\komentoi{footnotelayout} +\komentoi{raggedright} +\begin{koodilohkosis} +\renewcommand{\footnotelayout}{\raggedright} +\end{koodilohkosis} + +\noindent Oletuksena alaviitekappaleet ladotaan samalla tavalla kuin tekstikappaleet oletuksena muutenkin, eli alaviitteen ensimmäinen rivi on sisennetty, ja sen alussa on alaviitteen numero. Seuraavia rivejä ei @@ -5064,7 +5029,7 @@ valitsimella \koodi{hang}. Sisennyksen suuruuteen voi vaikuttaa mitan \pakettii{footmisc} \begin{koodilohkosis} \usepackage[hang]{footmisc} -\setlength{\footnotemargin}{1.5em} +\setlength{\footnotemargin}{.8em} \end{koodilohkosis} \noindent @@ -5472,7 +5437,8 @@ esimerkkiteos on peräisin esimerkistä \ref{esim/thebibliography}. \bottomrule \end{tabular} }{ - \caption{\paketti{natbib}\-/paketin lähdeviittauskomentoja} + \caption{\paketti{natbib}\-/paketin + läh\-de\-viit\-taus\-ko\-men\-toja} \label{tlk/natbib-cite} } @@ -6351,7 +6317,7 @@ asetuksia käsitellään luvussa \ref{luku/asiasanat-asetukset}. \leijutlk{ \providecommand{\rivi}{} \renewcommand{\rivi}[2]{\koodi{#1} & #2 \\} - \begin{tabularx}{\linewidth}{lL} + \begin{tabularx}{\textwidth}{lL} \toprule \ots{Valitsin} & \ots{Merkitys} \\ \midrule @@ -6730,7 +6696,7 @@ valitsimia ja niiden arvoja. Valitsimia on koottu taulukkoon \leijutlk{ \providecommand{\rivi}{} \renewcommand{\rivi}[2]{\koodi{#1} & #2 \\} - \begin{tabularx}{\linewidth}{lL} + \begin{tabularx}{\textwidth}{lL} \toprule \ots{Valitsin} & \ots{Merkitys ja vaihtoehtoja} \\ \midrule @@ -6862,7 +6828,7 @@ merkkivalikoimassa. \leijutlk{ \providecommand{\rivi}{} \renewcommand{\rivi}[2]{\koodi{#1} & #2 \\} - \begin{tabularx}{\linewidth}{lL} + \begin{tabularx}{\textwidth}{lL} \toprule \ots{Valitsin} & \ots{Merkitys} \\ \midrule @@ -7044,7 +7010,7 @@ ilmaistaan tällaisten lisätietojen avulla. Esimerkki \ref{esim/tikz-asetuksia} havainnollistaa tavallisimpia valinnaisia argumentteja. Värivalitsimien \koodi{draw} ja \koodi{fill} arvoksi voi antaa mitä hyvänsä nimettyjä värejä, joita käsitellään tarkemmin luvussa -\ref{luku/korostus-värit}. +\ref{luku/värit}. \begin{esimerkki*} \ymparistoi{tikzpicture} @@ -7151,13 +7117,13 @@ paketin omasta ohjekirjasta. \end{tikzpicture} \end{koodilohko} - \begin{tulossis} + \begin{tulos} \begin{tikzpicture}[x=1mm, y=1mm] \node (ympyrä) at (0,0) [draw, circle] {vasen}; \node (suorakulmio) at (20,0) [draw, rectangle] {oikea}; \draw [->, shorten >=1mm] (ympyrä) to [out=45, in=135] (suorakulmio); \end{tikzpicture} - \end{tulossis} + \end{tulos} \caption{Solmujen nimeäminen ja kytkeminen viivan avulla} \label{esim/tikz-solmujen-yhdistäminen} diff --git a/Master/texmf-dist/doc/latex/kaytannollista-latexia/luku-valmistautuminen.tex b/Master/texmf-dist/doc/latex/kaytannollista-latexia/luku-valmistautuminen.tex index 027eb397fad..eda9ffd6b4e 100644 --- a/Master/texmf-dist/doc/latex/kaytannollista-latexia/luku-valmistautuminen.tex +++ b/Master/texmf-dist/doc/latex/kaytannollista-latexia/luku-valmistautuminen.tex @@ -386,7 +386,7 @@ Minun Latex-dokumenttini! \end{esimerkki*} Dokumentin alkuosaa riville 9 saakka kutsutaan esittelyosaksi -(\englanti{preamble}). Tässä osassa ladataan tarvittavat paketit ja +(\englanti{pre\-am\-ble}). Tässä osassa ladataan tarvittavat paketit ja määritetään dokumentin asetuksia ja taustatietoja. Riviltä 10 alkaa varsinainen tekstiosa eli dokumentin sivuille ladottava sisältö. Se osa kirjoitetaan \ymparisto{document}\-/ ympäristön sisään eli riveillä 10 diff --git a/Master/texmf-dist/doc/latex/kaytannollista-latexia/tavutusvihjeet.tex b/Master/texmf-dist/doc/latex/kaytannollista-latexia/tavutusvihjeet.tex index 19d78109d10..68c0120943c 100644 --- a/Master/texmf-dist/doc/latex/kaytannollista-latexia/tavutusvihjeet.tex +++ b/Master/texmf-dist/doc/latex/kaytannollista-latexia/tavutusvihjeet.tex @@ -208,6 +208,7 @@ font-ti-koko-komen-to-jen font-ti-komen-to-ja foot-misc foot-note +foot-note-lay-out foot-note-mark foot-note-sep foot-note-text diff --git a/Master/texmf-dist/doc/latex/kaytannollista-latexia/versio.tex b/Master/texmf-dist/doc/latex/kaytannollista-latexia/versio.tex index 93a754457b0..60bbc868ef4 100644 --- a/Master/texmf-dist/doc/latex/kaytannollista-latexia/versio.tex +++ b/Master/texmf-dist/doc/latex/kaytannollista-latexia/versio.tex @@ -1 +1 @@ -\newcommand{\versio}{2024.2} +\newcommand{\versio}{2024.7} diff --git a/Master/texmf-dist/doc/latex/l3kernel/CHANGELOG.md b/Master/texmf-dist/doc/latex/l3kernel/CHANGELOG.md index c58c1a61883..76ee35a0f1b 100644 --- a/Master/texmf-dist/doc/latex/l3kernel/CHANGELOG.md +++ b/Master/texmf-dist/doc/latex/l3kernel/CHANGELOG.md @@ -7,6 +7,17 @@ this project uses date-based 'snapshot' version identifiers. ## [Unreleased] +## [2024-07-20] + +### Fixed +- Implementation of deprecated `\tl_mixed_case:n(n)` +- Redo the fix for LaTeX2e key properties (issue latex3/latex2e\#1415) + +## [2024-06-19] + +### Fixed +- Avoid a low-level error when LaTeX2e key properties are given without a value + ## [2024-05-27] ### Added @@ -1742,7 +1753,9 @@ this project uses date-based 'snapshot' version identifiers. - Step functions have been added for dim variables, e.g. `\dim_step_inline:nnnn` -[Unreleased]: https://github.com/latex3/latex3/compare/2024-05-27...HEAD +[Unreleased]: https://github.com/latex3/latex3/compare/2024-07-20...HEAD +[2024-07-20]: https://github.com/latex3/latex3/compare/2024-06-19...2024-07-20 +[2024-06-19]: https://github.com/latex3/latex3/compare/2024-05-27...2024-06-19 [2024-05-27]: https://github.com/latex3/latex3/compare/2024-05-08...2024-05-27 [2024-05-08]: https://github.com/latex3/latex3/compare/2024-04-11...2024-05-08 [2024-04-11]: https://github.com/latex3/latex3/compare/2024-03-14...2024-04-11 diff --git a/Master/texmf-dist/doc/latex/l3kernel/README.md b/Master/texmf-dist/doc/latex/l3kernel/README.md index 8946af12933..0afb38a9ba2 100644 --- a/Master/texmf-dist/doc/latex/l3kernel/README.md +++ b/Master/texmf-dist/doc/latex/l3kernel/README.md @@ -1,7 +1,7 @@ LaTeX3 Programming Conventions ============================== -Release 2024-05-27 +Release 2024-07-20 Overview -------- diff --git a/Master/texmf-dist/doc/latex/l3kernel/expl3.pdf b/Master/texmf-dist/doc/latex/l3kernel/expl3.pdf Binary files differindex a6eca24ce47..650e6999f92 100644 --- a/Master/texmf-dist/doc/latex/l3kernel/expl3.pdf +++ b/Master/texmf-dist/doc/latex/l3kernel/expl3.pdf diff --git a/Master/texmf-dist/doc/latex/l3kernel/interface3.pdf b/Master/texmf-dist/doc/latex/l3kernel/interface3.pdf Binary files differindex 5c72322e357..1b89f2f257a 100644 --- a/Master/texmf-dist/doc/latex/l3kernel/interface3.pdf +++ b/Master/texmf-dist/doc/latex/l3kernel/interface3.pdf diff --git a/Master/texmf-dist/doc/latex/l3kernel/interface3.tex b/Master/texmf-dist/doc/latex/l3kernel/interface3.tex index 62501cfa53f..0219809dabd 100644 --- a/Master/texmf-dist/doc/latex/l3kernel/interface3.tex +++ b/Master/texmf-dist/doc/latex/l3kernel/interface3.tex @@ -58,7 +58,7 @@ for those people who are interested. {latex-team@latex-project.org}% }% } -\date{Released 2024-05-27} +\date{Released 2024-07-20} \pagenumbering{roman} \maketitle diff --git a/Master/texmf-dist/doc/latex/l3kernel/l3doc.pdf b/Master/texmf-dist/doc/latex/l3kernel/l3doc.pdf Binary files differindex 42960f5e6f2..0d5a3494c00 100644 --- a/Master/texmf-dist/doc/latex/l3kernel/l3doc.pdf +++ b/Master/texmf-dist/doc/latex/l3kernel/l3doc.pdf diff --git a/Master/texmf-dist/doc/latex/l3kernel/l3docstrip.pdf b/Master/texmf-dist/doc/latex/l3kernel/l3docstrip.pdf Binary files differindex efc8882c361..07f24848e3d 100644 --- a/Master/texmf-dist/doc/latex/l3kernel/l3docstrip.pdf +++ b/Master/texmf-dist/doc/latex/l3kernel/l3docstrip.pdf diff --git a/Master/texmf-dist/doc/latex/l3kernel/l3news.pdf b/Master/texmf-dist/doc/latex/l3kernel/l3news.pdf Binary files differindex 4b57ef41c84..eb4c42d8c54 100644 --- a/Master/texmf-dist/doc/latex/l3kernel/l3news.pdf +++ b/Master/texmf-dist/doc/latex/l3kernel/l3news.pdf diff --git a/Master/texmf-dist/doc/latex/l3kernel/l3news01.pdf b/Master/texmf-dist/doc/latex/l3kernel/l3news01.pdf Binary files differindex b5f45059d3c..21997cf9808 100644 --- a/Master/texmf-dist/doc/latex/l3kernel/l3news01.pdf +++ b/Master/texmf-dist/doc/latex/l3kernel/l3news01.pdf diff --git a/Master/texmf-dist/doc/latex/l3kernel/l3news02.pdf b/Master/texmf-dist/doc/latex/l3kernel/l3news02.pdf Binary files differindex 0ee8ffaf96a..db1ac5b85b4 100644 --- a/Master/texmf-dist/doc/latex/l3kernel/l3news02.pdf +++ b/Master/texmf-dist/doc/latex/l3kernel/l3news02.pdf diff --git a/Master/texmf-dist/doc/latex/l3kernel/l3news03.pdf b/Master/texmf-dist/doc/latex/l3kernel/l3news03.pdf Binary files differindex fef9bf3a7b5..6630201b1f7 100644 --- a/Master/texmf-dist/doc/latex/l3kernel/l3news03.pdf +++ b/Master/texmf-dist/doc/latex/l3kernel/l3news03.pdf diff --git a/Master/texmf-dist/doc/latex/l3kernel/l3news04.pdf b/Master/texmf-dist/doc/latex/l3kernel/l3news04.pdf Binary files differindex 0afbb9591e3..c74f9f0a7c9 100644 --- a/Master/texmf-dist/doc/latex/l3kernel/l3news04.pdf +++ b/Master/texmf-dist/doc/latex/l3kernel/l3news04.pdf diff --git a/Master/texmf-dist/doc/latex/l3kernel/l3news05.pdf b/Master/texmf-dist/doc/latex/l3kernel/l3news05.pdf Binary files differindex 0a44ce68119..18d4df32909 100644 --- a/Master/texmf-dist/doc/latex/l3kernel/l3news05.pdf +++ b/Master/texmf-dist/doc/latex/l3kernel/l3news05.pdf diff --git a/Master/texmf-dist/doc/latex/l3kernel/l3news06.pdf b/Master/texmf-dist/doc/latex/l3kernel/l3news06.pdf Binary files differindex 10cec7c17f3..643b8f1f685 100644 --- a/Master/texmf-dist/doc/latex/l3kernel/l3news06.pdf +++ b/Master/texmf-dist/doc/latex/l3kernel/l3news06.pdf diff --git a/Master/texmf-dist/doc/latex/l3kernel/l3news07.pdf b/Master/texmf-dist/doc/latex/l3kernel/l3news07.pdf Binary files differindex 6bfbab4d96a..b457fd6033a 100644 --- a/Master/texmf-dist/doc/latex/l3kernel/l3news07.pdf +++ b/Master/texmf-dist/doc/latex/l3kernel/l3news07.pdf diff --git a/Master/texmf-dist/doc/latex/l3kernel/l3news08.pdf b/Master/texmf-dist/doc/latex/l3kernel/l3news08.pdf Binary files differindex a0130195cc4..a5b4744d286 100644 --- a/Master/texmf-dist/doc/latex/l3kernel/l3news08.pdf +++ b/Master/texmf-dist/doc/latex/l3kernel/l3news08.pdf diff --git a/Master/texmf-dist/doc/latex/l3kernel/l3news09.pdf b/Master/texmf-dist/doc/latex/l3kernel/l3news09.pdf Binary files differindex 3616cc20caf..a2242937d2e 100644 --- a/Master/texmf-dist/doc/latex/l3kernel/l3news09.pdf +++ b/Master/texmf-dist/doc/latex/l3kernel/l3news09.pdf diff --git a/Master/texmf-dist/doc/latex/l3kernel/l3news10.pdf b/Master/texmf-dist/doc/latex/l3kernel/l3news10.pdf Binary files differindex 00ec553d1c1..17751670086 100644 --- a/Master/texmf-dist/doc/latex/l3kernel/l3news10.pdf +++ b/Master/texmf-dist/doc/latex/l3kernel/l3news10.pdf diff --git a/Master/texmf-dist/doc/latex/l3kernel/l3news11.pdf b/Master/texmf-dist/doc/latex/l3kernel/l3news11.pdf Binary files differindex 59a672d339e..8e14906f032 100644 --- a/Master/texmf-dist/doc/latex/l3kernel/l3news11.pdf +++ b/Master/texmf-dist/doc/latex/l3kernel/l3news11.pdf diff --git a/Master/texmf-dist/doc/latex/l3kernel/l3news12.pdf b/Master/texmf-dist/doc/latex/l3kernel/l3news12.pdf Binary files differindex 9c4f937b006..15a8332f071 100644 --- a/Master/texmf-dist/doc/latex/l3kernel/l3news12.pdf +++ b/Master/texmf-dist/doc/latex/l3kernel/l3news12.pdf diff --git a/Master/texmf-dist/doc/latex/l3kernel/l3prefixes.csv b/Master/texmf-dist/doc/latex/l3kernel/l3prefixes.csv index e85412b9d80..339f6625fd1 100644 --- a/Master/texmf-dist/doc/latex/l3kernel/l3prefixes.csv +++ b/Master/texmf-dist/doc/latex/l3kernel/l3prefixes.csv @@ -26,6 +26,7 @@ block,latex2e,The LaTeX Project,https://www.latex-project.org/latex3.html,https: bool,l3kernel,The LaTeX Project,https://www.latex-project.org/latex3.html,https://github.com/latex3/latex3.git,https://github.com/latex3/latex3/issues,2012-09-27,2012-09-27, box,l3kernel,The LaTeX Project,https://www.latex-project.org/latex3.html,https://github.com/latex3/latex3.git,https://github.com/latex3/latex3/issues,2012-09-27,2012-09-27, bxjh,BXjaholiday,Takuto Asakura,https://github.com/wtsnjp/BXjaholiday,https://github.com/wtsnjp/BXjaholiday.git,https://github.com/wtsnjp/BXjaholiday/issues,2018-02-02,2019-02-02, +cal,spath3,Andrew Stacey,https://github.com/loopspace/spath3,https://github.com/loopspace/spath3.git,https://github.com/loopspace/spath3/issues,2024-07-18,2024-07-18, cascade,cascade,F. Pantigny,,,,2020-07-21,2020-07-21, catcode,l3kernel,The LaTeX Project,https://www.latex-project.org/latex3.html,https://github.com/latex3/latex3.git,https://github.com/latex3/latex3/issues,2018-05-12,2018-05-12, cctab,l3kernel,The LaTeX Project,https://www.latex-project.org/latex3.html,https://github.com/latex3/latex3.git,https://github.com/latex3/latex3/issues,2012-09-28,2012-09-28, @@ -135,6 +136,7 @@ keys,"l3kernel,l3keys2e,ltkeys",The LaTeX Project,https://www.latex-project.org/ keyval,l3kernel,The LaTeX Project,https://www.latex-project.org/latex3.html,https://github.com/latex3/latex3.git,https://github.com/latex3/latex3/issues,2012-09-27,2012-09-27, kgl,kantlipsum,Enrico Gregorio,,,,2013-03-16,2013-03-16, kivitendo,"kiviletter, kivitables",Marei Peischl for Kivitendo,https://www.kivitendo.de/,https://github.com/kivitendo/kivitendo-erp,https://forum.kivitendo.de/,2021-05-28,2021-05-28, +knot,spath3,Andrew Stacey,https://github.com/loopspace/spath3,https://github.com/loopspace/spath3.git,https://github.com/loopspace/spath3/issues,2024-07-18,2024-07-18, langsci,langscibook,Language Science Press,https://langsci-press.org,https://github.com/langsci/langscibook,https://github.com/langsci/langscibook/issues,2021-07-20,2021-07-21, left,l3kernel,The LaTeX Project,https://www.latex-project.org/latex3.html,https://github.com/latex3/latex3.git,https://github.com/latex3/latex3/issues,2018-05-12,2018-05-12, liftarm,liftarm,Matthias Floré,,,,2024-05-25,2024-05-25, @@ -210,6 +212,7 @@ property,latex2e,The LaTeX Project,https://www.latex-project.org/latex3.html,htt pseudo,pseudo,Magnus Lie Hetland,https://github.com/mlhetland/pseudo.sty,https://github.com/mlhetland/pseudo.sty.git,https://github.com/mlhetland/pseudo.sty/issues,2019-06-24,2019-06-24, ptex,l3kernel,The LaTeX Project,https://www.latex-project.org/latex3.html,https://github.com/latex3/latex3.git,https://github.com/latex3/latex3/issues,2015-07-28,2015-07-28, ptxcd,ptxcd,Marei Peischl,,,,2020-07-27,2020-07-27,Used for specific corporate design templates +ptxtools,"depp, ptxtools",Marei Peischl,https://gitlab.com/islandoftex/texmf/depp,https://gitlab.com/islandoftex/texmf/depp.git,https://gitlab.com/islandoftex/texmf/depp,2024-07-09,2024-07-09, qrbill,qrbill,Marei Peischl,https://github.com/peiTeX/qrbill,https://github.com/peiTeX/qrbill.git,https://github.com/peiTeX/qrbill/issues,2020-06-27,2020-06-27, quark,l3kernel,The LaTeX Project,https://www.latex-project.org/latex3.html,https://github.com/latex3/latex3.git,https://github.com/latex3/latex3/issues,2012-09-27,2012-09-27, rainbow,beamertheme-rainbow,samcarter,https://github.com/samcarter/beamertheme-rainbow,https://github.com/samcarter/beamertheme-rainbow,https://github.com/samcarter/beamertheme-rainbow/issues,2023-07-04,2023-07-04, @@ -239,6 +242,7 @@ slcd,se2thesis,Stephan Lukasczyk,https://github.com/se2p/se2thesis,https://githu socket,latex2e,The LaTeX Project,https://www.latex-project.org/latex3.html,https://github.com/latex3/latex2e.git,https://github.com/latex3/latex2e/issues,2023-10-17,2023-10-17, sort,l3kernel,The LaTeX Project,https://www.latex-project.org/latex3.html,https://github.com/latex3/latex3.git,https://github.com/latex3/latex3/issues,2012-09-27,2017-02-13, space,l3kernel,The LaTeX Project,https://www.latex-project.org/latex3.html,https://github.com/latex3/latex3.git,https://github.com/latex3/latex3/issues,2018-05-12,2018-05-12, +spath,spath3,Andrew Stacey,https://github.com/loopspace/spath3,https://github.com/loopspace/spath3.git,https://github.com/loopspace/spath3/issues,2024-07-18,2024-07-18, starray,starray,Alceu Frigeri,https://github.com/alceu-frigeri/starray,https://github.com/alceu-frigeri/starray,https://github.com/alceu-frigeri/starray/issues,2023-05-15,2023-05-15, statistics,statistics,Julien Rivaud,https://gitlab.com/frnchfrgg-latex/statistics,https://gitlab.com/frnchfrgg-latex/statistics.git,https://gitlab.com/frnchfrgg-latex/statistics/issues,2018-06-25,2018-06-25, stm,lt3-stm,CV Radhakrishnan,http://www.cvr.cc/,,,2014-02-26,2014-02-26, @@ -258,6 +262,7 @@ tex,l3kernel,The LaTeX Project,https://www.latex-project.org/latex3.html,https:/ text,l3kernel,The LaTeX Project,https://www.latex-project.org/latex3.html,https://github.com/latex3/latex3.git,https://github.com/latex3/latex3/issues,2020-01-15,2020-01-15, tikzfill,tikzfill,Thomas F. Sturm,https://github.com/T-F-S/tikzfill,https://github.com/T-F-S/tikzfill.git,https://github.com/T-F-S/tikzfill/issues,2022-07-19,2022-07-19, tikzlings,tikzlings,samcarter,https://github.com/samcarter/tikzlings,git@github.com:samcarter/tikzlings.git,https://github.com/samcarter/tikzlings/issues,2023-02-17,2023-02-17, +tikzspath,spath3,Andrew Stacey,https://github.com/loopspace/spath3,https://github.com/loopspace/spath3.git,https://github.com/loopspace/spath3/issues,2024-07-18,2024-07-18, tikzsymbols,tikzsymbols,Ben Vitecek,https://github.com/Vidabe/tikzsymbols,https://github.com/Vidabe/tikzsymbols.git,https://github.com/Vidabe/tikzsymbols/issues,2018-09-26,2018-09-26, tilde,l3kernel,The LaTeX Project,https://www.latex-project.org/latex3.html,https://github.com/latex3/latex3.git,https://github.com/latex3/latex3/issues,2018-05-12,2018-05-12, tl,"l3kernel,l3tl-build",The LaTeX Project,https://www.latex-project.org/latex3.html,https://github.com/latex3/latex3.git,https://github.com/latex3/latex3/issues,2012-09-27,2012-09-27, @@ -288,6 +293,7 @@ xmarks,latex2e,The LaTeX Project,https://www.latex-project.org/latex3.html,https xparse,xparse,The LaTeX Project,https://www.latex-project.org/latex3.html,https://github.com/latex3/latex3.git,https://github.com/latex3/latex3/issues,2012-09-27,2012-09-27, xpatch,"regexpatch,xpatch",Enrico Gregorio,,,,2013-03-16,2013-03-16, xpeek,xpeek,Joel C. Salomon,,,,2013-03-16,2013-03-16, +xpg,polyglossia,Jürgen Spitzmüller,https://github.com/reutenauer/polyglossia/,https://github.com/reutenauer/polyglossia/,https://github.com/reutenauer/polyglossia/issues,2024-07-02,2024-07-02, xpinyin,xpinyin,Qing Lee,https://github.com/CTeX-org/ctex-kit,https://github.com/CTeX-org/ctex-kit.git,https://github.com/CTeX-org/ctex-kit/issues,2013-03-16,2013-05-26, xsb,xsavebox,Alexander Grahn,,https://gitlab.com/agrahn/xsavebox,https://gitlab.com/agrahn/xsavebox/issues,2016-02-26,2020-04-15, xsim,xsim,Clemens Niederberger,https://github.com/cgnieder/xsim/,https://github.com/cgnieder/xsim.git,https://github.com/cgnieder/xsim/issues,2020-04-14,2020-04-14, @@ -299,4 +305,5 @@ zhnum,zhnumber,Qing Lee,https://github.com/CTeX-org/ctex-kit,https://github.com/ zrefcheck,zref-check,gusbrs,https://github.com/gusbrs/zref-check,https://github.com/gusbrs/zref-check,https://github.com/gusbrs/zref-check/issues,2021-08-05,2021-08-05, zrefclever,zref-clever,gusbrs,https://github.com/gusbrs/zref-clever,https://github.com/gusbrs/zref-clever,https://github.com/gusbrs/zref-clever/issues,2021-11-29,2021-11-29, zrefvario,zref-vario,gusbrs,https://github.com/gusbrs/zref-vario,https://github.com/gusbrs/zref-vario,https://github.com/gusbrs/zref-vario/issues,2022-02-02,2022-02-02, +zugferd,zugferd,Marei Peischl,https://github.com/TeXhackse/LaTeX-ZUGFeRD,https://github.com/TeXhackse/LaTeX-ZUGFeRD.git,https://github.com/TeXhackse/LaTeX-ZUGFeRD/issues,2024-07-09,2024-07-09, zxjt,zxjatype,Takayuki Yato,,,,2013-03-16,2013-03-16, diff --git a/Master/texmf-dist/doc/latex/l3kernel/l3prefixes.pdf b/Master/texmf-dist/doc/latex/l3kernel/l3prefixes.pdf Binary files differindex 602ccaaa597..ab4d18e9164 100644 --- a/Master/texmf-dist/doc/latex/l3kernel/l3prefixes.pdf +++ b/Master/texmf-dist/doc/latex/l3kernel/l3prefixes.pdf diff --git a/Master/texmf-dist/doc/latex/l3kernel/l3styleguide.pdf b/Master/texmf-dist/doc/latex/l3kernel/l3styleguide.pdf Binary files differindex 0113bac5713..31ff7889ff0 100644 --- a/Master/texmf-dist/doc/latex/l3kernel/l3styleguide.pdf +++ b/Master/texmf-dist/doc/latex/l3kernel/l3styleguide.pdf diff --git a/Master/texmf-dist/doc/latex/l3kernel/l3styleguide.tex b/Master/texmf-dist/doc/latex/l3kernel/l3styleguide.tex index bcea3de06e6..985f20a68cb 100644 --- a/Master/texmf-dist/doc/latex/l3kernel/l3styleguide.tex +++ b/Master/texmf-dist/doc/latex/l3kernel/l3styleguide.tex @@ -32,7 +32,7 @@ The released version of this bundle is available from CTAN. {latex-team@latex-project.org}% }% } -\date{Released 2024-05-27} +\date{Released 2024-07-20} \begin{document} diff --git a/Master/texmf-dist/doc/latex/l3kernel/l3syntax-changes.pdf b/Master/texmf-dist/doc/latex/l3kernel/l3syntax-changes.pdf Binary files differindex 99e93c2cccb..515a9eb803c 100644 --- a/Master/texmf-dist/doc/latex/l3kernel/l3syntax-changes.pdf +++ b/Master/texmf-dist/doc/latex/l3kernel/l3syntax-changes.pdf diff --git a/Master/texmf-dist/doc/latex/l3kernel/l3syntax-changes.tex b/Master/texmf-dist/doc/latex/l3kernel/l3syntax-changes.tex index 30d8d47747d..b9ffcb011af 100644 --- a/Master/texmf-dist/doc/latex/l3kernel/l3syntax-changes.tex +++ b/Master/texmf-dist/doc/latex/l3kernel/l3syntax-changes.tex @@ -32,7 +32,7 @@ The released version of this bundle is available from CTAN. {latex-team@latex-project.org}% }% } -\date{Released 2024-05-27} +\date{Released 2024-07-20} \newcommand{\TF}{\textit{(TF)}} diff --git a/Master/texmf-dist/doc/latex/l3kernel/l3term-glossary.pdf b/Master/texmf-dist/doc/latex/l3kernel/l3term-glossary.pdf Binary files differindex 01598ca79ae..d1a2058e9fb 100644 --- a/Master/texmf-dist/doc/latex/l3kernel/l3term-glossary.pdf +++ b/Master/texmf-dist/doc/latex/l3kernel/l3term-glossary.pdf diff --git a/Master/texmf-dist/doc/latex/l3kernel/l3term-glossary.tex b/Master/texmf-dist/doc/latex/l3kernel/l3term-glossary.tex index 141749aa6bb..fca28863372 100644 --- a/Master/texmf-dist/doc/latex/l3kernel/l3term-glossary.tex +++ b/Master/texmf-dist/doc/latex/l3kernel/l3term-glossary.tex @@ -32,7 +32,7 @@ The released version of this bundle is available from CTAN. {latex-team@latex-project.org}% }% } -\date{Released 2024-05-27} +\date{Released 2024-07-20} \newcommand{\TF}{\textit{(TF)}} diff --git a/Master/texmf-dist/doc/latex/l3kernel/source3.pdf b/Master/texmf-dist/doc/latex/l3kernel/source3.pdf Binary files differindex 34279f9e004..26c62e620d5 100644 --- a/Master/texmf-dist/doc/latex/l3kernel/source3.pdf +++ b/Master/texmf-dist/doc/latex/l3kernel/source3.pdf diff --git a/Master/texmf-dist/doc/latex/l3kernel/source3.tex b/Master/texmf-dist/doc/latex/l3kernel/source3.tex index 00095ad3191..228d3ca93c6 100644 --- a/Master/texmf-dist/doc/latex/l3kernel/source3.tex +++ b/Master/texmf-dist/doc/latex/l3kernel/source3.tex @@ -57,7 +57,7 @@ for those people who are interested. {latex-team@latex-project.org}% }% } -\date{Released 2024-05-27} +\date{Released 2024-07-20} \pagenumbering{roman} \maketitle diff --git a/Master/texmf-dist/doc/latex/lastpage/README b/Master/texmf-dist/doc/latex/lastpage/README index 4545b13a601..b7c3c78bb26 100644 --- a/Master/texmf-dist/doc/latex/lastpage/README +++ b/Master/texmf-dist/doc/latex/lastpage/README @@ -1,4 +1,4 @@ -README for lastpage package, 2024-04-27, v2.1a +README for lastpage package, 2024-07-07, v2.1c TABLE OF CONTENTS diff --git a/Master/texmf-dist/doc/latex/lastpage/lastpage-example.pdf b/Master/texmf-dist/doc/latex/lastpage/lastpage-example.pdf Binary files differindex 6d1c748525f..db990f6942b 100644 --- a/Master/texmf-dist/doc/latex/lastpage/lastpage-example.pdf +++ b/Master/texmf-dist/doc/latex/lastpage/lastpage-example.pdf diff --git a/Master/texmf-dist/doc/latex/lastpage/lastpage-example.tex b/Master/texmf-dist/doc/latex/lastpage/lastpage-example.tex index a601fc1fd30..2fd859c44e7 100644 --- a/Master/texmf-dist/doc/latex/lastpage/lastpage-example.tex +++ b/Master/texmf-dist/doc/latex/lastpage/lastpage-example.tex @@ -9,7 +9,7 @@ %% This is a generated file. %% %% Project: lastpage -%% Version: 2024-04-27 v2.1a +%% Version: 2024-07-07 v2.1c %% Info: Refers to last page's name %% %% Copyright (C) 2010 - 2024 by @@ -32,10 +32,9 @@ %% %% This package was invented by Jeffrey P. Goldberg. %% I thought that a replacement was needed and therefore created the pageslts package, -%% https://ctan.org/pkg/pageslts -%% . Nevertheless, for compatibility with existing documents/packages as well as for -%% the low amount of resources needed by the lastpage package (no new counter!), -%% I updated this package. +%% https://ctan.org/pkg/pageslts. Nevertheless, for compatibility with existing +%% documents/packages as well as for the low amount of resources needed by the +%% lastpage package (no new counter!), I updated this package. %% Thanks go to Jeffrey P. Goldberg for allowing me to do this. %% %% While this package allows for things like "Page slash thepage{} of slash pageref{LastPage}" @@ -57,17 +56,17 @@ %% Tommy Muench + 2014-01-02 %% Hans-Klaus Muench + 2014-08-24 %% -\documentclass[british]{article}[2023/05/17]% v1.4n Standard LaTeX document class +\documentclass[british]{article}[2024/02/08]% v1.4n Standard LaTeX document class \makeatletter \@ifl@t@r\fmtversion{2022/11/01}{% \AddToHook{enddocument/afterlastpage}[lastpage]{% \message{^^JLaTeX Info: Executing hook `enddocument/afterlastpage'.}}% }{\AtEndDocument{\message{^^JLaTeX Info: Executing hook `AtEndDocument'.}}% } -\usepackage[draft]{showkeys}[2023/07/08]% v3.19 Show cite and label keys (DPC, MH) +\usepackage[draft]{showkeys}[2024/05/23]% v3.21 Show cite and label keys (DPC, MH) %% Use final instead of draft to hide the keys. %% \usepackage[pdfpagelabels=true,hyperindex=false]{hyperref}[2024-01-20]% v7.01h -%% Hypertext links for LaTeX +\@ifpackageloaded{hyperref}{% Hypertext links for LaTeX \hypersetup{extension=pdf,% plainpages=false,% pdflang={en},% @@ -78,9 +77,8 @@ pdfview=Fit,% pdfstartview=Fit,% pdfpagelayout=SinglePage% -} -\@ifpackageloaded{hyperref}{}{\usepackage{url}[2013/09/16]}% v3.4 -\usepackage{lastpage}[2024/04/27]% v2.1a +}}{\usepackage{url}[2013/09/16]}% v3.4 +\usepackage{lastpage}[2024/07/07]% v2.1c \renewcommand{\@evenfoot}{% \normalsize\slshape \today\hfil \upshape % page \thepage{} of \pageref{LastPage}} @@ -92,7 +90,7 @@ \section*{Example for lastpage} \markboth{Example for lastpage}{Example for lastpage} This example demonstrates the use of package\newline -\textsf{lastpage}, v2.1a as of 2024-04-27 (HMM; JPG).\newline +\textsf{lastpage}, v2.1c as of 2024-07-07 (HMM; JPG).\newline The package takes no options.\newline For more details please see the documentation!\newline @@ -117,7 +115,7 @@ trademark owner. There is no intention of infringement; the usage is to the benefit of the trademark owner.\newline \textbf{Tip}: Use \textit{logical page numbers} -for the display of the pdf (in Adobe Acrobat Reader 2024.002.20687: +for the display of the pdf (in Adobe Acrobat Reader 2024.002.20895: Edit $>$ Preferences $>$ Page Display $>$ Page Content and Information: Use logical page numbers)!\newline @@ -171,8 +169,8 @@ The code does not generally work even without hyperref. \end{verbatim} \end{quote} -\noindent does work, because \verb|\lastpage@lastpage| contains the name -of the page, \mbox{example:} +\noindent does work (two compilations needed), because \verb|\lastpage@lastpage| +contains the name of the page, \mbox{example:} \begin{verbatim} Page \thepage{} is (not) page \makeatletter\lastpage@lastpage\makeatother. \end{verbatim} diff --git a/Master/texmf-dist/doc/latex/lastpage/lastpage.pdf b/Master/texmf-dist/doc/latex/lastpage/lastpage.pdf Binary files differindex 02cb1362b7f..9d224e6772e 100644 --- a/Master/texmf-dist/doc/latex/lastpage/lastpage.pdf +++ b/Master/texmf-dist/doc/latex/lastpage/lastpage.pdf diff --git a/Master/texmf-dist/doc/latex/lie-hasse/README b/Master/texmf-dist/doc/latex/lie-hasse/README index e63a82cc605..1bd63c4cba2 100644 --- a/Master/texmf-dist/doc/latex/lie-hasse/README +++ b/Master/texmf-dist/doc/latex/lie-hasse/README @@ -2,9 +2,9 @@ ___________________________________ Lie Hasse - v1.0 + v1.01 - 3 February 2020 + 9 July 2024 ___________________________________ Authors : Ben McKay diff --git a/Master/texmf-dist/doc/latex/lie-hasse/lie-hasse.pdf b/Master/texmf-dist/doc/latex/lie-hasse/lie-hasse.pdf Binary files differindex 5be5791e7ff..ed444cc7d17 100644 --- a/Master/texmf-dist/doc/latex/lie-hasse/lie-hasse.pdf +++ b/Master/texmf-dist/doc/latex/lie-hasse/lie-hasse.pdf diff --git a/Master/texmf-dist/doc/latex/lie-hasse/lie-hasse.tex b/Master/texmf-dist/doc/latex/lie-hasse/lie-hasse.tex index 82643fee141..762639c6038 100644 --- a/Master/texmf-dist/doc/latex/lie-hasse/lie-hasse.tex +++ b/Master/texmf-dist/doc/latex/lie-hasse/lie-hasse.tex @@ -1,5 +1,5 @@ \documentclass{amsart} -\title[The Lie Hasse package]{The Lie Hasse package \\ Version 1.0} +\title[The Lie Hasse package]{The Lie Hasse package \\ Version 1.01} %% My name: \makeatletter \DeclareRobustCommand{\scotsMc}{\scotsMcx{c}} @@ -19,8 +19,7 @@ \author{\authorsname} \address{School of Mathematical Sciences, University College Cork, Cork, Ireland} \email{b.mckay@ucc.ie} -\date{3 February 2020} -\usepackage{etex} +\date{9 July 2024} \usepackage[T1]{fontenc} \usepackage[utf8]{inputenx} \usepackage{etoolbox} @@ -87,7 +86,7 @@ root radius=.02cm, edge length=.5cm, edge quotes/.style={opacity=0}% - ]{E}{8}% + ]E8% \end{tikzpicture}% \end{center}% \begin{center} @@ -106,26 +105,26 @@ This package draws the Hasse diagram of the poset of the positive simple roots o \begin{document} The Hasse diagram of \(F_4\) is \begin{center} -\hasse[edge length=1cm]{F}{4} +\hasse F4 \end{center} \end{document} \end{Verbatim} \end{tcolorbox} \par\noindent{}The Hasse diagram of \(F_4\) is \begin{center} -\hasse[edge length=1cm]{F}{4} +\hasse[edge length=1cm]F4 \end{center} Each edge is labelled with the simple root by which vertices differ. \begin{tcblisting}{title={Inside a \TikZ statement}} -\(B_4\) has Dynkin diagram \tikz \dynkin[edge length=.35cm]{B}{4};, Hasse diagram +\(B_4\) has Dynkin diagram \tikz \dynkin{B}{4};, Hasse diagram \begin{center} -\hasse[edge length=1cm]{B}{4} +\hasse[edge length=1cm]B4 \end{center} \end{tcblisting} \begin{tcblisting}{title={Inside a Dynkin diagram environment, diagrams fit together}} The Hasse diagram of \(B_4\) is \begin{dynkinDiagram}[vertical shift=0,edge length=1cm]{B}{4} -\hasse{B}{4} +\hasse[edge length=1cm]B4 \end{dynkinDiagram} \end{tcblisting} We shut off the default vertical shift of the Dynkin diagram, so that it starts at the origin. @@ -133,35 +132,26 @@ There is an option to \verb!\hasse! for this: \begin{tcblisting}{title={Attaching the Dynkin diagram}} The Hasse diagram of \(B_4\) is \begin{center} -\hasse[attach Dynkin diagram=true]{B}{4} +\hasse[attach Dynkin diagram=true]B4 \end{center} \end{tcblisting} Unfortunately, attaching a Dynkin diagram looks terrible for \(D\) or \(E\) series, so a Dynkin diagram appears below. \begin{tcblisting}{title={Attaching the Dynkin diagram}} The Hasse diagram of \(D_5\) is \begin{center} -\hasse[attach Dynkin diagram=true]{D}{5} +\hasse[attach Dynkin diagram=true]D5 \end{center} \end{tcblisting} \begin{tcblisting}{title={Inside a \TikZ environment}} \begin{tikzpicture} -\hasse{A}{4} +\hasse A4 \draw (4;1) circle (5pt); \draw[red] (2;3) circle (5pt); \end{tikzpicture} \end{tcblisting} In this example, we see that the roots of the Hasse diagram are \TikZ{} nodes labelled \(g;i\) for grade \(g\) (i.e. \(g\) units up the page) and index \(i\) (i.e. \(i^{\text{th}}\) root of grade \(g\) drawn on the page, starting from the left). -\section{Inherited options} -The Lie Hasse package inherits options from the Dynkin diagrams package: the edge lengths are set with -\begin{Verbatim} -\tikzset{/Dynkin diagram/edge lengths=1.2cm} -\end{Verbatim} -and similarly the ordering of roots with -\begin{Verbatim} -\tikzset{/Dynkin diagram/ordering=Bourbaki} -\end{Verbatim} - +\newpage \section{Prettier} The package includes a more elaborate \verb!\hasseDiagrams! command, taking a list of semicolon separated Dynkin diagram identfiers. \begin{tcolorbox}[title={With some global options to make prettier diagrams}] @@ -198,11 +188,20 @@ The package includes a more elaborate \verb!\hasseDiagrams! command, taking a li \endgroup Global options: \begin{verbatim} - edge/.style={ultra thick}, - edge quotes/.style={/Dynkin diagram/text style,auto,inner sep=2pt}, +\tikzset{/Lie Hasse, + edge/.style={ultra thick}, + edge quotes/.style={ + /Dynkin diagram/text style, + auto, + inner sep=2pt}, \end{verbatim} allow to change the edges, and to change the way that labels are printed, and how close labels are to the edges. - +To give even greater control, the user can define a command \verb!\edgeQuote! of one argument, which is applied to the label placed on every edge of the Hasse diagram. +The default is +\begin{verbatim} +\NewDocumentCommand\edgeQuote{m}{\contour{white}{#1}} +\end{verbatim} +which ensures that every label, which is black text by default, has a slight white outline to make it easier to read against a coloured background. \section{Root order} @@ -222,6 +221,10 @@ We can use this like: \hasseDiagrams{[ordering=Carter]E6;[ordering=Dynkin]E6} \hasseDiagrams{[ordering=Kac]E6} \endgroup +The Lie Hasse package inherits the ordering of roots from the Dynkin diagrams package, so we can set it with +\begin{Verbatim} +\tikzset{/Dynkin diagram/ordering=Bourbaki} +\end{Verbatim} \section{Graph height and width} The \emph{height} of a Hasse diagram is the number of grades. @@ -238,7 +241,7 @@ to store the height of \(G_2\) in a counter called \verb!\h!, and \end{Verbatim} to store the width of \(G_2\) at grade \(3\) in a counter called \verb!\w!. -Once you use \verb!\dynkin{G}{2}! or \verb!\hasse{G}{2}! or the other commands, like +Once you use \verb!\dynkin G2! or \verb!\hasse G2! or the other commands, like \begin{Verbatim} \rootSystemHeight[G][2]{\h} \end{Verbatim} @@ -260,7 +263,8 @@ The \verb!show height! option: \hasseDiagrams{G2} \end{Verbatim} \tikzset{/Lie Hasse diagram,show name=true,show height=true} -\hasseDiagrams{G2} +\hasse G2 + The \verb!show widths! option: \begin{Verbatim} \tikzset{/Lie Hasse diagram/show widths=true} @@ -293,11 +297,11 @@ Here is the Dynkin diagram of \(E_8\), indicating the order of the roots in Cart Here is the same Dynkin diagram, except showing, at each simple root, the coefficient of that simple root in the highest root. \begin{Verbatim} \rootSum[E][8]{29}{1}{\rs} -\dynkin[labels=\rs,ordering=Carter,edge length=.35cm]{E}{8} +\dynkin[expand labels=\rs,ordering=Carter,edge length=.35cm]{E}{8} \end{Verbatim} \rootSum[E][8]{29}{1}{\rs} \begin{center} -\dynkin[labels=\rs,ordering=Carter,edge length=.35cm]{E}{8} +\dynkin[expand labels=\rs,ordering=Carter,edge length=.35cm]{E}{8} \end{center} The option \verb!for all roots! allows execution of code once on every root. @@ -312,7 +316,7 @@ The option \verb!for all roots! allows execution of code once on every root. root radius=.05cm }, for all roots/.code 2 args={\drawRootAsDynkinSum{#1}{#2}}} -\hasseDiagrams{D5} +\hasse D5 \end{Verbatim} \begingroup \tikzset{/Lie Hasse diagram, @@ -341,23 +345,23 @@ A simple example: \end{Verbatim} \newcommand{\foo}[2]% {% - \node[below,scale=.75] at (#1;#2) {\(#1,#2\)};% + \node[below,scale=.5] at (#1;#2) {\(#1,#2\)};% }% Inside a \TikZ{} or \verb!dynkinDiagram! environment: \begin{Verbatim} \tikzset{/Lie Hasse diagram/edge quotes/.style={opacity=0}, /Dynkin diagram/edge length=1.5cm} \begin{tikzpicture} - \hasse{D}{6}% - \forAllPositiveRootsInHasseDiagram{\foo}% + \hasse D6% + \forAllPositiveRoots{\foo}% \end{tikzpicture} \end{Verbatim} \begingroup \tikzset{/Lie Hasse diagram/edge quotes/.style={opacity=0}, /Dynkin diagram/edge length=1.5cm} \begin{tikzpicture} - \hasse{D}{6}% - \forAllPositiveRootsInHasseDiagram{\foo}% + \hasse D6% + \forAllPositiveRoots{\foo}% \end{tikzpicture} If you put this into the \verb!for all roots! option, it executes on its own: @@ -378,19 +382,19 @@ Opposite sides of any square have the same edge label, by commutativity of addit Hence we don't need to see every edge perfectly. The three dimensional effect is the default: \begin{Verbatim} -\hasse{D}{4}\hasse{E}{6} +\hasse D4\hasse E6 \end{Verbatim} \begin{center} -\hasse{D}{4}\hasse{E}{6} +\hasse D4\hasse E6 \end{center} We can turn it off: \begin{Verbatim} -\hasse[three D=false]{D}{4} -\hasse[three D=false]{E}{6} +\hasse[three D=false] D4 +\hasse[three D=false] E6 \end{Verbatim} \begin{center} -\hasse[three D=false]{D}{4} -\hasse[three D=false]{E}{6} +\hasse[three D=false] D4 +\hasse[three D=false] E6 \end{center} or globally with \verb!\tikzset{/Lie Hasse diagram/three D=false}!. @@ -430,9 +434,9 @@ You can change these: \section{Label the simple roots} Ringel \cite{Ringel:2013} labels his edges like \begin{Verbatim} -\hasseDiagrams{[labels={f,e,d,c,u,b,a}]E7} +\hasse[labels={f,e,d,c,u,b,a}]E7 \end{Verbatim} -\hasseDiagrams{[labels={f,e,d,c,u,b,a}]E7} +\hasse[labels={f,e,d,c,u,b,a}]E7 \section{Parabolic subgroups} This package offers nothing over Ringel's original pictures, except that the user can pick some simple roots whose associated edges are drawn differently. @@ -440,47 +444,48 @@ The chosen simple roots are called \emph{compact}, following terminology from th We let the reader explore the notation for parabolic subgroups in the Dynkin diagrams package, and use this to declare various roots compact. \begin{Verbatim} \tikzset{/Lie Hasse diagram,attach Dynkin diagram=true,three D=false} -\hasseDiagrams{D{**x*x*x*}} +\hasse D{**x*x*x*} \end{Verbatim} \begingroup \tikzset{/Lie Hasse diagram,attach Dynkin diagram=true,three D=false} -\hasseDiagrams{D{**x*x*x*}} +\hasse D{**x*x*x*} \endgroup + Our motivation comes from trying to identify the invariant vector subbundles of the tangent bundle of a rational homogeneous variety \cite{MathOverflow:123801}. Such diagrams are often unreadable if we don't turn off the three dimensional graphics. By default, noncompact root edges are not drawn. \begingroup \tikzset{/Lie Hasse diagram,attach Dynkin diagram=true,show name=false,three D=false} \begin{Verbatim} -\hasseDiagrams{E{*xx*x*}} +\hasse E{*xx*x*} \end{Verbatim} -\hasseDiagrams{E{*xx*x*}} +\hasse E{*xx*x*} \begin{Verbatim} -\hasseDiagrams{A{x*x*}} +\hasse A{x*x*} \end{Verbatim} -\hasseDiagrams{A{x*x*}} +\hasse A{x*x*} \begin{Verbatim} -\hasseDiagrams{[parabolic=113]B8} +\hasse[parabolic=113]B8 \end{Verbatim} -\hasseDiagrams{[parabolic=113]B8} +\hasse[parabolic=113]B8 \begin{Verbatim} -\hasseDiagrams{C{**xx*x**}} +\hasse C{**xx*x**} \end{Verbatim} -\hasseDiagrams{C{**xx*x**}} +\hasse C{**xx*x**} \newpage \begin{Verbatim} -\hasseDiagrams{E{*x*x*x**}} +\hasse E{*x*x*x**} \end{Verbatim} -\hasseDiagrams{E{*x*x*x**}} +\hasse E{*x*x*x**} \newpage \begin{Verbatim} -\hasseDiagrams{F{**xx}} +\hasse F{**xx} \end{Verbatim} -\hasseDiagrams{F{**xx}} +\hasse F{**xx} \begin{Verbatim} -\hasseDiagrams{G{*x}} +\hasse G{*x} \end{Verbatim} -\hasseDiagrams{G{*x}} +\hasse G{*x} \endgroup \section{Examples} diff --git a/Master/texmf-dist/doc/latex/litesolution/README.md b/Master/texmf-dist/doc/latex/litesolution/README.md index f597d5fb091..452c7e9de93 100644 --- a/Master/texmf-dist/doc/latex/litesolution/README.md +++ b/Master/texmf-dist/doc/latex/litesolution/README.md @@ -10,7 +10,7 @@ This work may be distributed and/or modified under the conditions of the [LaTeX This work has the LPPL maintenance status `maintained`. -The Current Maintainer of this work is [Mingyu Hsia](https://www.ctan.org/author/xia-my). +The Current Maintainer of this work is [Mingyu XIA](https://www.ctan.org/author/xia-my). ## Derivative Works diff --git a/Master/texmf-dist/doc/latex/litesolution/figure/universe.pdf b/Master/texmf-dist/doc/latex/litesolution/figure/universe.pdf Binary files differindex 6ebe5201dc0..244c7770a76 100644 --- a/Master/texmf-dist/doc/latex/litesolution/figure/universe.pdf +++ b/Master/texmf-dist/doc/latex/litesolution/figure/universe.pdf diff --git a/Master/texmf-dist/doc/latex/litesolution/figure/universe.tex b/Master/texmf-dist/doc/latex/litesolution/figure/universe.tex index f2fa69eaabc..7cce50ecd2f 100644 --- a/Master/texmf-dist/doc/latex/litesolution/figure/universe.tex +++ b/Master/texmf-dist/doc/latex/litesolution/figure/universe.tex @@ -5,7 +5,7 @@ \usephysicsmodule{ab.legacy} \usetikzlibrary{tikzmark} \tikzset{every node/.style={align=center,DarkSlateGray!30}, - every path/.style={DarkSlateGray!30,line cap=round}} + every path/.style={DarkSlateGray!30,line cap=round}} \begin{document}\tikz{ \node [above right] at (0,0) {$\color{DarkSlateGray!30} diff --git a/Master/texmf-dist/doc/latex/litesolution/litesolution.pdf b/Master/texmf-dist/doc/latex/litesolution/litesolution.pdf Binary files differindex 8d9efb2ba37..eb14917941b 100644 --- a/Master/texmf-dist/doc/latex/litesolution/litesolution.pdf +++ b/Master/texmf-dist/doc/latex/litesolution/litesolution.pdf diff --git a/Master/texmf-dist/doc/latex/litesolution/litesolution.tex b/Master/texmf-dist/doc/latex/litesolution/litesolution.tex index 678e4cd4aa7..34d82694a25 100644 --- a/Master/texmf-dist/doc/latex/litesolution/litesolution.tex +++ b/Master/texmf-dist/doc/latex/litesolution/litesolution.tex @@ -1,17 +1,34 @@ +%% ****************************************************** +%% * This work may be distributed and/or modified under * +%% * the conditions of the LaTeX Project Public License * +%% * http://www.latex-project.org/lppl.txt * +%% * either version 1.3c of this license or any later * +%% * version. * +%% ****************************************************** \documentclass[mtpro2,twoside,openany]{litesolution} - \usepackage[listings]{tcolorbox} +\usepackage{pmboxdraw} \lstset{language=[LaTeX]TeX,basicstyle=\small\ttfamily,breaklines=true,columns=flexible} -\title{\sffamily The \pkg{LiteSolution} Class} -\subtitle{\sffamily\scshape Hangzhou Dianzi University} -\bioinfo{Mingyu Hsia (\mailto{xiamyphys@hdu.edu.cn})\quad|\quad\today\quad|\quad Version 2.2b} -\cover[checkerboard]{schrodinger}\coverhead[3]{universe} +\coverset{ + title = \sffamily The \pkg{LiteSolution} Class, + subtitle = \sffamily\scshape Hangzhou Dianzi University, + bioinfo = Mingyu XIA (\mailto{xiamyphys@gmail.com})\quad|\quad Version 2.4a, + covercolor = DarkSeaGreen, + coverhead = universe, + coverhead.rotate = 3, + cover = schrodinger, + cover.pattern = sixpointed stars +} \begin{document} -\maketitle[DarkSlateGray] -\frontmatter\tableofcontents\mainmatter +\maketitle + +\frontmatter +\tableofcontents +\mainmatter + \chapterimage{\UPFadingImage*[trim={0 {.9\paperheight} 0 0},clip]{Beautiful-realities}} \chapter{Introduction to the \pkg{LiteSolution} Class} @@ -20,7 +37,7 @@ This is the document for the \pkg{LiteSolution} class, which is designed for typesetting solutions of problems in exams, textbooks, etc. -Welcome to feedback bugs or ideas via email \href{mailto:xiamyphys@hdu.edu.cn}{\ttfamily xiamyphys@hdu.edu.cn} or \href{https://github.com/xiamyphys/litesolution}{GitHub}. +Welcome to feedback bugs or ideas via email \href{mailto:xiamyphys@gmail.com}{\ttfamily xiamyphys@gmail.com} or \href{https://github.com/xiamyphys/litesolution}{GitHub}. \subsection{Installing \pkg{LiteSolution} and loading it} @@ -39,18 +56,18 @@ The test environments are macOS + Mac\hologo{TeX} 2024 / Overleaf / Ubuntu 22.04 \section{Global Options of this Class} \begin{verbatim} - \documentclass[<options>]{litesolution} + \documentclass[⟨options⟩]{litesolution} \end{verbatim} \subsection{The \mode{answer} option} -The \mode{hideanswer} mode can hide contents in \cmd{solution} environment and \cmd{ans} command. +The \mode{hideanswer} mode can hide contents in the \cmd{solution} environment and \cmd{ans} command, and make the effect of \cmd{emph} weaker. \subsection{The \mode{math} option} The \mode{mtpro2}, \mode{newtx} and \mode{newtxsf} modes can format the font of formulas in the document. Please check if mtpro2 font has been installed on your computer correctly before using \mode{mtpro2} mode. -\section{Related Packages} +\section{Derivative Works} \begin{description} \item[Package \pkg{notebeamer}] provides macros for inputting slides on note papers quickly. \item[Package \pkg{fadingimage}] provides macros for inputting full width picture at the edges of pages quickly. @@ -63,27 +80,23 @@ The \mode{mtpro2}, \mode{newtx} and \mode{newtxsf} modes can format the font of \subsection{The cover page configurations} \begin{verbatim} - \title{<content>} \subtitle{<content>} - \bioinfo{<content>} \cover[<pattern>]{<image>} - \coverhead[<angle>]{<image>} \coverhead*[<angle>]{<content>} - - \begin{document} \maketitle[<color>] -\end{verbatim} - -\begin{verbatim} - \title{\sffamily The \pkg{LiteSolution} Class} - \subtitle{\sffamily\scshape Hangzhou Dianzi University} - \bioinfo{Mingyu Hsia (\mailto{xiamyphys@hdu.edu.cn}) - \quad|\quad\today\quad|\quad Version 2.2b} - \cover[checkerboard]{schrodinger} \coverhead[5]{universe} - - \begin{document} \maketitle[Midnightblue] + \coverset{ + title = \sffamily The \pkg{LiteSolution} Class, + subtitle = \sffamily\scshape Hangzhou Dianzi University, + bioinfo = Mingyu XIA (\mailto{xiamyphys@gmail.com})\quad|\quad + Version 2.4a, + covercolor = DarkSeaGreen, + coverhead = universe, + coverhead.rotate = 3, + cover = schrodinger, + cover.pattern = sixpointed stars + } \end{verbatim} \subsection{The chapter head configurations} \begin{verbatim} - \chapterimage {<insert image macro>} + \chapterimage {⟨insert image macro⟩} \end{verbatim} This command can assign the format of the image at every chapters begin and you can adjust the format of the image with the \pkg{fadingimage} package. @@ -94,24 +107,32 @@ This template has preset many packages. The following packages are the common on \begin{table}[htbp] \centering\small - \begin{tabular}{l l l l l l l l} + \begin{tabularx}{.96\linewidth}{*{6}{X}} \toprule - \pkg{amsthm} & \pkg{amssymb} & \pkg{bm} & \pkg{booktabs} & - \pkg{cancel} & \pkg{caption} & \pkg{circuitikz} & \pkg{datetime} \\ + \pkg{amsthm} & \pkg{amssymb} & \pkg{bm} & + \pkg{booktabs} & \pkg{cancel} & \pkg{caption}\\ + \midrule + \pkg{circuitikz} & \pkg{datetime} & \pkg{derivative} & + \pkg{diagbox} & \pkg{enumitem} & \pkg{esvect}\\ + \midrule + \pkg{extarrows} & \pkg{fadingimage} & \pkg{fancyhdr} & + \pkg{fixdif} & \pkg{fontawesome5}& \pkg{geometry}\\ \midrule - \pkg{derivative} & \pkg{diagbox} & \pkg{esvect} & \pkg{extarrows} & - \pkg{fadingimage} & \pkg{fancyhdr} & \pkg{fixdif} & \pkg{fontawesome5} \\ + \pkg{graphicx} & \pkg{hyperref} & \pkg{indentfirst} & + \pkg{lipsum} & \scriptsize\pkg{magicwatermark} & \pkg{mathtools}\\ \midrule - \pkg{geometry} & \pkg{graphics} & \pkg{graphicx} & \pkg{hyperref} & - \pkg{indentfirst} & \pkg{lipsum} & \pkg{mathtools} & \pkg{multicol} \\ + \pkg{mhchem} & \pkg{multicol} & \pkg{multirow} & + \pkg{nicematrix} & \pkg{notebeamer} & \pkg{paracol}\\ \midrule - \pkg{multirow} & \pkg{nicematrix} & \pkg{notebeamer} & \pkg{paracol} & - \pkg{pgfplots} & \pkg{physics2} & \pkg{qrcode} & \pkg{refstyle} \\ + \pkg{pgfplots} & \pkg{physics2} & \pkg{qrcode} & + \pkg{refstyle} & \pkg{setspace} & \pkg{siunitx}\\ \midrule - \pkg{setspace} & \pkg{siunitx} & \pkg{tabularx} & \pkg{tasks} & - \pkg{wallpaper} & \pkg{xcolor} & \pkg{xeCJK} & \pkg{xfrac} \\ + \pkg{subcaption} & \pkg{tabularx} & \pkg{soul} & + \pkg{tasks} & \pkg{ulem} & \pkg{xcolor}\\ + \midrule + \pkg{xeCJK} & \pkg{xeCJKfntef} & \pkg{xfrac}\\ \bottomrule - \end{tabular} + \end{tabularx} \end{table} \section{Preset Commands} @@ -119,7 +140,7 @@ This template has preset many packages. The following packages are the common on \subsection{The \cmd{ans} command} \begin{verbatim} - \ans {<contents>} + \ans {⟨contents⟩} \end{verbatim} This command can underline the answer, and if mode \mode{noans} is enabled the answer will be hidden. @@ -127,11 +148,21 @@ This command can underline the answer, and if mode \mode{noans} is enabled the a \subsection{The \cmd{solute} command} \begin{verbatim} - \solute {<number>} \solute* {<contents>} + \solute {⟨number⟩} \solute* {⟨contents⟩} \end{verbatim} This command can create a fixable answer box when the mode \mode{noans} is enabled. +\subsection{The \cmd{emph} command} + +\begin{verbatim} + \emph {⟨content⟩} \emph* {⟨content⟩} +\end{verbatim} + +\emph{The Quick Brown Fox Jumps Over the Lazy Dog: non-hideanswer mode} + +\emph*{The Quick Brown Fox Jumps Over the Lazy Dog: hideanswer mode} + \subsection{Other preset commands} \begin{verbatim} @@ -144,7 +175,7 @@ This command can create a fixable answer box when the mode \mode{noans} is enabl \subsection{The \cmd{problem} environment} \begin{tcblisting}{sidebyside,colback=DarkGreen!5,colframe=DarkGreen!80} -\begin{problem}[<Keywords>]\leavevmode +\begin{problem}[Keywords]\leavevmode \begin{tasks}(2) \task Choice A \task[\true] Choice B \task Choice C \task Choice D @@ -167,16 +198,9 @@ This command can create a fixable answer box when the mode \mode{noans} is enabl \begin{note} We note that. \end{note} -\end{tcblisting} +\end{tcblisting} \end{minipage} -\section{Equation test} - -\[\begin{cases} - \i\hbar\partial_t\psi(\mathbf x,t)=\ab(-\frac{\hbar^2}{2m}\bm\nabla^2+V)\\ - \i\hbar\partial_t\psi(\mathbf x,t)=-(\i\hbar c\bm\alpha\cdot\bm\nabla+\beta mc^2)\psi(\mathbf x,t) -\end{cases}\] - \section*{Original Code for the Cover Head} \setstretch{1.15} diff --git a/Master/texmf-dist/doc/latex/lni/CHANGELOG.md b/Master/texmf-dist/doc/latex/lni/CHANGELOG.md index 84bff5fcc6e..377ce68c438 100644 --- a/Master/texmf-dist/doc/latex/lni/CHANGELOG.md +++ b/Master/texmf-dist/doc/latex/lni/CHANGELOG.md @@ -6,6 +6,18 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/). ## [Unreleased] +## [1.10] - 2024-07-23 +### Changed +- Footnotes are set as superscripts in the footer +- URLs are set using the text font instead of a typewriter font + +### Fixed +- Support for multiple affiliations (#173) + +## [1.9] - 2024-07-01 +### Added +- Support for multiple affiliations (#158) + ## [1.8.1] - 2024-01-08 ### Changed @@ -167,7 +179,9 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/). First release of the revised files -[Unreleased]: https://github.com/gi-ev/LNI/compare/v1.8.1...HEAD +[Unreleased]: https://github.com/gi-ev/LNI/compare/v1.10...HEAD +[1.10]: https://github.com/gi-ev/LNI/compare/v1.9...v1.10 +[1.9]: https://github.com/gi-ev/LNI/compare/v1.8.1...v1.9 [1.8.1]: https://github.com/gi-ev/LNI/compare/v1.8...v1.8.1 [1.8]: https://github.com/gi-ev/LNI/compare/v1.7...v1.8 [1.7]: https://github.com/gi-ev/LNI/compare/v1.6...v1.7 diff --git a/Master/texmf-dist/doc/latex/lni/README.md b/Master/texmf-dist/doc/latex/lni/README.md index 31fbf3da10f..9935391e3b1 100644 --- a/Master/texmf-dist/doc/latex/lni/README.md +++ b/Master/texmf-dist/doc/latex/lni/README.md @@ -4,7 +4,7 @@ ---------------------------------------------------------------------------- lni -- A class for submissions to the ``Lecture Notes in Informatics'' (c) 2016-2024 Gesellschaft für Informatik (GI) -Version: 1.8.1 +Version: 1.10 Maintainer: Martin Sievers Email: martin.sievers@schoenerpublizieren.de License: Released under the LaTeX Project Public License v1.3c or later diff --git a/Master/texmf-dist/doc/latex/lni/lni-author-template.tex b/Master/texmf-dist/doc/latex/lni/lni-author-template.tex index 411fea056ad..9a39a2d585b 100644 --- a/Master/texmf-dist/doc/latex/lni/lni-author-template.tex +++ b/Master/texmf-dist/doc/latex/lni/lni-author-template.tex @@ -19,12 +19,13 @@ \title[Ein Kurztitel]{Ein sehr langer Titel über mehrere Zeilen mit sehr vielen Worten und noch mehr Buchstaben} %% \subtitle{Untertitel / Subtitle} % if needed -\author[1]{Firstname1 Lastname1}{firstname1.lastname1@affiliation1.org}{0000-0000-0000-0000} -\author[2]{Firstname2 Lastname2}{firstname2.lastname2@affiliation2.org}{0000-0000-0000-0000} -\author[1]{Firstname3 Lastname3}{firstname3.lastname3@affiliation1.org}{0000-0000-0000-0000} -\author[1]{Firstname4 Lastname4}{firstname4.lastname4@affiliation1.org}{0000-0000-0000-0000}% -\affil[1]{Universität\\Abteilung\\Straße\\Postleitzahl Ort\\Land} -\affil[2]{University\\Department\\Address\\Country} + \author[1,2]{Firstname1 Lastname1}{firstname1.lastname1@affiliation1.org}{0000-0000-0000-0000} + \author[2]{Firstname2 Lastname2}{firstname2.lastname2@affiliation2.org}{0000-0000-0000-0000} + \author[3]{Firstname3 Lastname3}{firstname3.lastname3@affiliation1.org}{0000-0000-0000-0000} + \author[1]{Firstname4 Lastname4}{firstname4.lastname4@affiliation1.org}{0000-0000-0000-0000}% + \affil[1]{Universität 1\\Abteilung\\Straße\\Postleitzahl Ort\\Land} + \affil[2]{University 2 \\Department\\Address\\Country} + \affil[3]{University 3\\Department\\Address\\Country} \maketitle \begin{abstract} diff --git a/Master/texmf-dist/doc/latex/lni/lni.pdf b/Master/texmf-dist/doc/latex/lni/lni.pdf Binary files differindex ae032bd25bd..b79a12a0915 100644 --- a/Master/texmf-dist/doc/latex/lni/lni.pdf +++ b/Master/texmf-dist/doc/latex/lni/lni.pdf diff --git a/Master/texmf-dist/doc/latex/magicwatermark/README.md b/Master/texmf-dist/doc/latex/magicwatermark/README.md index db59f622e81..39615d2bb40 100644 --- a/Master/texmf-dist/doc/latex/magicwatermark/README.md +++ b/Master/texmf-dist/doc/latex/magicwatermark/README.md @@ -3,6 +3,4 @@ - Repository: https://github.com/ljguo1020/magicwatermark - License: The LaTeX Project Public License 1.3c -> magicwatermark is a package based on everypage and tikz and encapsulated by LATEX3 İt can -> flexibly set and clear watermarks. All watermark content is placed in inside a node of verbtikz and -> in the center of the page. +magicwatermark is based on tikz and expl3, and can flexibly set backgrounds or watermarks. diff --git a/Master/texmf-dist/doc/latex/magicwatermark/doc/magicwatermark-cn.pdf b/Master/texmf-dist/doc/latex/magicwatermark/doc/magicwatermark-cn.pdf Binary files differnew file mode 100644 index 00000000000..c43ac7ff92d --- /dev/null +++ b/Master/texmf-dist/doc/latex/magicwatermark/doc/magicwatermark-cn.pdf diff --git a/Master/texmf-dist/doc/latex/magicwatermark/doc/magicwatermark-cn.tex b/Master/texmf-dist/doc/latex/magicwatermark/doc/magicwatermark-cn.tex new file mode 100644 index 00000000000..883f2b6808e --- /dev/null +++ b/Master/texmf-dist/doc/latex/magicwatermark/doc/magicwatermark-cn.tex @@ -0,0 +1,373 @@ +\documentclass{article} + +\usepackage{lipsum} + +\usepackage{../magicwatermark} + +\usepackage[margin = 2.51828cm]{geometry} + + +\def\pkgname{\textcolor{teal}{\texttt{magicwatermark}}} +\usepackage{indentfirst} +\pagestyle{empty} + +\usepackage[UTF8, scheme=plain, fontset=none, heading=true, zihao=-4]{ctex} +\setCJKmainfont[BoldFont={LXGWWenKai-Bold},ItalicFont={LXGWWenKai-Light}]{LXGWWenKai-Regular} +\setCJKsansfont[BoldFont={LXGWWenKai-Bold}]{LXGWWenKai-Regular} +\setCJKmonofont[BoldFont={LXGWWenKaiMono-Bold},ItalicFont={LXGWWenKaiMono-Light}]{LXGWWenKaiMono-Regular} + +\ctexset{ +% chapter={ +% format+=\raggedright, +% name = {第,部分}, +% afterskip = .5cm +% }, + section={ + format+=\raggedright, + afterskip = .5cm + }, + contentsname = {目次} +} + +\usepackage{fontspec} +\IfFontExistsTF{calibri.ttf} +{ + \setmainfont{calibri.ttf}[ + BoldFont = calibrib.ttf, + ItalicFont = calibrii.ttf, + BoldItalicFont = calibriz.ttf + ] +} +{} + +\usepackage[listings,breakable]{tcolorbox} + +\ExplSyntaxOn +\clist_new:N \l_function_variant_list %fuction variant list +\NewDocumentCommand{\function}{svo} % #1:function name #2: variant list +{ + \IfBooleanTF{#1} + { + \IfNoValueTF{#3} + { + \begin{tcolorbox}[width=\textwidth,left=1mm,right=1mm,top=1mm,bottom=1mm,sharp~corners,colback=white,boxrule=.5pt,colback=lime!30] + \texttt{Function}\hskip -2pt \Triangle\hskip -3pt \texttt{#2}\hfill \examplelabel* + \end{tcolorbox} + } + { + \clist_gset:Nn \l_function_variant_list {#3} + \begin{tcolorbox}[width=\textwidth,left=1mm,right=1mm,top=1mm,bottom=1mm,sharp~corners,colback=white,boxrule=.5pt,colback=lime!30] + \texttt{Function}\hskip -2pt \Triangle\hskip -3pt \texttt{#2\textcolor{gray}{(\clist_use:Nn \l_function_variant_list{|})}} \hfill \examplelabel* + \end{tcolorbox} + } + } + { + \IfNoValueTF{#3} + { + \def\functionn{ + \texttt{#2} + } + } + { + \clist_gset:Nn \l_function_variant_list {#3} + \def\functionn{ + \texttt{ + #2 + \textcolor{gray}{(\clist_use:Nn \l_function_variant_list{|})} + } + } + } + } + +} +\NewDocumentCommand{\examplelabel}{s} +{ + \IfBooleanTF{#1}{ + \raisebox{-0.5ex}{ + \tikz{ + \node[ball~color=purple,circle,outer~sep=0pt,scale=0.5] {\phantom{2}}; + }} + }{ + \raisebox{-0.5ex}{ + \tikz{ + \node[ball~color=cyan,circle,outer~sep=0pt,scale=0.5,font=\bfseries] {\theexample}; + }} + } +} +\ExplSyntaxOff +\def\Triangle{ % triangle icon + \raisebox{-0.3ex}{ + \tikz{ + \fill[scale=2,outer sep=0pt] (240:0.5ex) -- (0:0.5ex) -- (120:0.5ex); + } +}} +\newcounter{example} +\tcbset{ + example style/.style={ + sharp corners, + colback=white, + boxrule=.5pt, + breakable, + left=1mm,right=1mm,top=1mm,bottom=1mm, + fonttitle=\bfseries, + colbacktitle=lime!30, + coltitle=black, + % title={MagicWatermark}, + listing only + } +} + +\newtcblisting[use counter=example]{example}[1][]{ + listing options={ + style=tcblatex, + tabsize = 1, + language={[LaTeX]TeX}, + classoffset=0, + morekeywords = {MagicWatermark, foreach, includegraphics}, + keywordstyle={\color[RGB]{178,34,34}\bfseries}, + commentstyle={\color[RGB]{102,205,170}\itshape}, + classoffset=1, + morekeywords = {setup, pages, content, is, append, style}, + keywordstyle=\color{cyan!50!green}\bfseries, + }, + example style, + #1 + } + + +\MagicWatermark{ + setup = { + pages = {*}, + content = {P-\thepage}, + style = {shift = {(.5\textwidth, .5\textheight + \headheight + \headsep)}, scale = 3, text = cyan, font = \ttfamily} + }, + setup = { + pages = {even}, + style = {scale = 5, text = pink}, + content = {Watermark}, + is append + }, + setup = { + pages = {1}, + style = {text width = 1.7\paperwidth, rotate = 45, align = left, font = \Large\linespread{1}\selectfont, opacity = .1}, + content = { + \foreach \x in {0, ..., 500} {Magic Watermark } + }, + is append + } +} + + +\def\opt#1{\textcolor{magenta}{\texttt{#1}}} +\def\para#1{\textcolor[rgb]{0.13, 0.67, 0.8}{\texttt{#1}}} + +\usepackage[hidelinks]{hyperref} +\begin{document} + + +\vspace*{\fill} +\begin{center} + {\Huge \textcolor{teal}{\texttt{magicwatermark}} 宏包\footnote{\url{https://github.com/ljguo1020/magicwatermark}}} \\[.5cm] + {\Large 郭李军<ljguo1020@gmail.com>} \\[.5cm] + {\Large V1.2B}\\[1cm] +\begin{example}[] +\MagicWatermark{ + setup = { + pages = {*}, + content = {P-\thepage}, + style = {shift = {(.5\textwidth, .5\textheight + \headheight + \headsep)}, scale = 3, text = cyan, font = \ttfamily} + }, + setup = { + pages = {even}, + style = {scale = 5, text = pink}, + content = {Watermark}, + is append + }, + setup = { + pages = {1}, + style = {text width = 1.7\paperwidth, rotate = 45, align = left, font = \Large, opacity = .1}, + content = { + \foreach \x in {0, ..., 500} {Magic Watermark } + }, + is append + } +} +\end{example} +\end{center} + +\vspace*{\fill} + +\newpage + + +\linespread{1.3}\selectfont +\tableofcontents + +\section{介绍} + +\pkgname{} 是一个全新的水印宏包, 在 2022 年 6 月 17 日发布了第一版, 本次更新并不是基于第一版, 而是进行了重构. + +\pkgname{} 基于 \texttt{tikz} 和 \texttt{expl3}, 可以灵活的设置背景或水印. + +\section{使用} +\pkgname{} 的使用, 相比于其它同类功能的包来说, 可以说是易用性最高的, 它只提供了一个命令 \verb|\MagicWatermark|, 命令参数由多个 \opt{setup} 规则组成. +\begin{example}[] +\MagicWatermark{ + setup = {}, + setup = {}, + ... +} +\end{example} + +\opt{setup} 内部接受四个键值选项, 用于配置水印的表现形式. + +\subsection{pages} +\opt{pages} 接受一个逗号分割列表, 用于配置水印作用范围, 例如 \verb|pages = {2, 4, 5, 8-10}|, 表示选中页码为第 2, 4, 5, 8, 9, 10 这些页面. + +\opt{pages} 共接受 4 种配置规则, +\begin{itemize} + \item \para{*}, 表示所有页面; + \item \para{odd} 和 \para{oven}, 表示奇偶页; + \item 范围, 形如 \para{3-5}, \para{12-ii}; + \item 表达式, 形如 \para{2X+1}, \para{2X\^{}2+X+1}, 但是变量必须为 \para{X}. +\end{itemize} + +这里假定页面总页数为 24 页, +\begin{example}[title = pages 配置规则] +pages = {*} => 1, 2, 3, ..., 24 +pages = {odd} => 1, 3, 5, ..., 23 +pages = {1, 3, 5-10} => 1, 3, 5, 6, 7, ..., 10 +pages = {1-5, 8, 20-ii} => 1, 2, ..., 5, 8, 20, 21, ..., 23 +pages = {3X + 1} => 1, 4, 7, 10, ..., 22 +\end{example} + +\subsection{tikz} +\opt{tikz} 用于设置是否将水印内容放置在 \texttt{tikz} 的 \texttt{node} 中, 见下文, 可选值为 \para{true} 和 \para{false}, 默认为 \para{true}. 当你需要使用 \opt{tikz} 时, 需要手动加载 \texttt{tikz} 宏包. + +\subsection{content} +\opt{content} 用来设置水印的内容, 当 \opt{tikz} 被启用时, 它被放在了 \texttt{tikz} 的 \texttt{node} 中, 为此, 想要灵活的设置它, 您需要对 \texttt{node} 有一些了解. + +\subsection{style} +\opt{style} 用于设置容纳水印内容的 \texttt{node} 的样式, 默认为 \para{inner~sep = 0pt, outer~sep = 0pt, opacity = .5, align = left}, 当 \opt{tikz} 被禁用时, 它会被忽略. + +\subsection{is append} +\opt{is append} 用于设置是否覆盖当前页已有的水印, 可选值为 \para{true} 和 \para{false}, 默认为 \para{false}. + +\section{使用案例} +\begin{example}[title = 为所有页面右上角添加页码] +% \usepackage{tikz} +\MagicWatermark{ + setup = { + pages = {*}, + content = {P-\thepage}, + style = {shift = {(.5\textwidth, .5\textheight + \headheight + \headsep)}, scale = 3, text = cyan, font = \ttfamily} + } +} +\end{example} + +\begin{example}[title = 为偶数页页面中心添加文字 Watermark] +% \usepackage{tikz} +\MagicWatermark{ + setup = { + pages = {even}, + style = {scale = 5, text = pink}, + content = {Watermark}, + is append + } +} +\end{example} + +\begin{example}[title = 为第二页到最后一页设置铺满整个页面的文字] +% \usepackage{tikz} +\MagicWatermark{ + setup = { + pages = {2-i}, + style = {text width = 1.7\paperwidth, rotate = 45, align = left, font = \Large, opacity = .1}, + content = { + \foreach \x in {0, ..., 500} {Magic Watermark } + }, + is append + } +} +\end{example} + +\begin{example}[title = 为奇偶页设置不同水印] +% \usepackage{tikz} +\MagicWatermark{ + setup = { + pages = {even}, + style = {scale = 8, rotate = 45, text=red, align = center,font = \linespread{2}\selectfont}, + content = { + Even MagicWatermark\\ + Even MagicWatermark\\ + Even MagicWatermark\\ + Even MagicWatermark + } + }, + setup = { + pages = {odd}, + style = {scale = 6, rotate = -45, text = cyan, text width = 1.7\paperwidth, font = \linespread{1.5}\selectfont, align = center}, + content = { + \foreach \x in {0,...,5}{ + Odd MagicWatermark + } + } + } +} +\end{example} + +\begin{example}[title = 设置图片为水印] +% \usepackage{tikz} +\MagicWatermark{ + setup = { + pages = {even}, + style = {opacity = 0.3}, + content = { + \includegraphics{example-image-a} + } + }, + setup = { + pages = {odd}, + style = {opacity = .3, rotate=45, text width = 3\paperwidth}, + content = { + \foreach \x in {0, ..., 20}{ + \foreach \y in {1, 2, 3} { + \includegraphics{example-image-b} + } \\ + } + } + } +} +\end{example} + +\begin{example}[title = 禁用 tikz] +\def\addhead#1#2{% + \expandafter\gdef\csname head@content@#1\endcsname{#2}% +} + +\def\printhead#1{% + \csname head@content@#1\endcsname% +} + +\addhead{2}{The only way to do great work is to love what you do.} +\addhead{3}{Success is not final, failure is not fatal: It is the courage to continue that counts.} +\addhead{4}{In the end, we will remember not the words of our enemies, but the silence of our friends.} +\addhead{5}{It does not matter how slowly you go as long as you do not stop.} + +\NewDocumentCommand{\mywatermark}{}{% + \begin{tikzpicture}[remember picture, overlay] + \node[yshift = -\headheight - \headsep, text = teal, font = \large] at (current page.north) {\printhead{\thepage}}; + \end{tikzpicture} +} + +\MagicWatermark{ + setup = { + pages = {2-5}, + tikz = false, + content = \mywatermark + } +} +\end{example} + + +\end{document} diff --git a/Master/texmf-dist/doc/latex/magicwatermark/doc/magicwatermark-en.pdf b/Master/texmf-dist/doc/latex/magicwatermark/doc/magicwatermark-en.pdf Binary files differnew file mode 100644 index 00000000000..30b84bd6cd6 --- /dev/null +++ b/Master/texmf-dist/doc/latex/magicwatermark/doc/magicwatermark-en.pdf diff --git a/Master/texmf-dist/doc/latex/magicwatermark/doc/magicwatermark-en.tex b/Master/texmf-dist/doc/latex/magicwatermark/doc/magicwatermark-en.tex new file mode 100644 index 00000000000..e6520fa3306 --- /dev/null +++ b/Master/texmf-dist/doc/latex/magicwatermark/doc/magicwatermark-en.tex @@ -0,0 +1,400 @@ +\documentclass{article} + +\usepackage{lipsum} + +\usepackage{../magicwatermark} + +\usepackage[margin = 2.51828cm]{geometry} + + +\def\pkgname{\textcolor{teal}{\texttt{magicwatermark}}} +\usepackage{indentfirst} +\pagestyle{empty} + +\usepackage[UTF8, scheme=plain, fontset=none, heading=true, zihao=-4]{ctex} +%\setCJKmainfont[BoldFont={LXGWWenKai-Bold},ItalicFont={LXGWWenKai-Light}]{LXGWWenKai-Regular} +%\setCJKsansfont[BoldFont={LXGWWenKai-Bold}]{LXGWWenKai-Regular} +%\setCJKmonofont[BoldFont={LXGWWenKaiMono-Bold},ItalicFont={LXGWWenKaiMono-Light}]{LXGWWenKaiMono-Regular} + +\ctexset{ +% chapter={ +% format+=\raggedright, +% name = {第,部分}, +% afterskip = .5cm +% }, + section={ + format+=\raggedright, + afterskip = .5cm + }, + contentsname = {Table of contents} +} + +\usepackage{fontspec} +\IfFontExistsTF{calibri.ttf} +{ + \setmainfont{calibri.ttf}[ + BoldFont = calibrib.ttf, + ItalicFont = calibrii.ttf, + BoldItalicFont = calibriz.ttf + ] +} +{} + +\newcommand\blfootnote[1]{ + \begingroup + \renewcommand\thefootnote{}\footnote{#1} + \addtocounter{footnote}{-1} + \endgroup +} + +\usepackage[listings,breakable]{tcolorbox} + +\ExplSyntaxOn +\clist_new:N \l_function_variant_list %fuction variant list +\NewDocumentCommand{\function}{svo} % #1:function name #2: variant list +{ + \IfBooleanTF{#1} + { + \IfNoValueTF{#3} + { + \begin{tcolorbox}[width=\textwidth,left=1mm,right=1mm,top=1mm,bottom=1mm,sharp~corners,colback=white,boxrule=.5pt,colback=lime!30] + \texttt{Function}\hskip -2pt \Triangle\hskip -3pt \texttt{#2}\hfill \examplelabel* + \end{tcolorbox} + } + { + \clist_gset:Nn \l_function_variant_list {#3} + \begin{tcolorbox}[width=\textwidth,left=1mm,right=1mm,top=1mm,bottom=1mm,sharp~corners,colback=white,boxrule=.5pt,colback=lime!30] + \texttt{Function}\hskip -2pt \Triangle\hskip -3pt \texttt{#2\textcolor{gray}{(\clist_use:Nn \l_function_variant_list{|})}} \hfill \examplelabel* + \end{tcolorbox} + } + } + { + \IfNoValueTF{#3} + { + \def\functionn{ + \texttt{#2} + } + } + { + \clist_gset:Nn \l_function_variant_list {#3} + \def\functionn{ + \texttt{ + #2 + \textcolor{gray}{(\clist_use:Nn \l_function_variant_list{|})} + } + } + } + } + +} +\NewDocumentCommand{\examplelabel}{s} +{ + \IfBooleanTF{#1}{ + \raisebox{-0.5ex}{ + \tikz{ + \node[ball~color=purple,circle,outer~sep=0pt,scale=0.5] {\phantom{2}}; + }} + }{ + \raisebox{-0.5ex}{ + \tikz{ + \node[ball~color=cyan,circle,outer~sep=0pt,scale=0.5,font=\bfseries] {\theexample}; + }} + } +} +\ExplSyntaxOff +\def\Triangle{ % triangle icon + \raisebox{-0.3ex}{ + \tikz{ + \fill[scale=2,outer sep=0pt] (240:0.5ex) -- (0:0.5ex) -- (120:0.5ex); + } +}} +\newcounter{example} +\tcbset{ + example style/.style={ + sharp corners, + colback=white, + boxrule=.5pt, + breakable, + left=1mm,right=1mm,top=1mm,bottom=1mm, + fonttitle=\bfseries, + colbacktitle=lime!30, + coltitle=black, + % title={MagicWatermark}, + listing only + } +} + +\newtcblisting[use counter=example]{example}[1][]{ + listing options={ + style=tcblatex, + tabsize = 1, + language={[LaTeX]TeX}, + classoffset=0, + morekeywords = {MagicWatermark, foreach, includegraphics}, + keywordstyle={\color[RGB]{178,34,34}\bfseries}, + commentstyle={\color[RGB]{102,205,170}\itshape}, + classoffset=1, + morekeywords = {setup, pages, content, is, append, style}, + keywordstyle=\color{cyan!50!green}\bfseries, + }, + example style, + #1 + } + + +\MagicWatermark{ + setup = { + pages = {*}, + content = {P-\thepage}, + style = {shift = {(.5\textwidth, .5\textheight + \headheight + \headsep)}, scale = 3, text = cyan, font = \ttfamily} + }, + setup = { + pages = {even}, + style = {scale = 5, text = pink}, + content = {Watermark}, + is append + }, + setup = { + pages = {1}, + style = {text width = 1.7\paperwidth, rotate = 45, align = left, font = \Large\linespread{1}\selectfont, opacity = .1}, + content = { + \foreach \x in {0, ..., 500} {Magic Watermark } + }, + is append + } +} + + +\def\opt#1{\textcolor{magenta}{\texttt{#1}}} +\def\para#1{\textcolor[rgb]{0.13, 0.67, 0.8}{\texttt{#1}}} + +\usepackage[hidelinks]{hyperref} +\begin{document} + + +\vspace*{\fill} +\begin{center} + {\Huge The \textcolor{teal}{\texttt{magicwatermark}}\footnote{\url{https://github.com/ljguo1020/magicwatermark}} package\blfootnote{English version of the documentation by Jérémy Just <\url{jeremy@jejust.fr}>.}} \\[.5cm] + {\Large Guo Li Jun <ljguo1020@gmail.com>} \\[.5cm] + {\Large V1.2B}\\[1cm] +\begin{example}[] +\MagicWatermark{ + setup = { + pages = {*}, + content = {P-\thepage}, + style = {shift = {(.5\textwidth, .5\textheight + \headheight + \headsep)}, scale = 3, text = cyan, font = \ttfamily} + }, + setup = { + pages = {even}, + style = {scale = 5, text = pink}, + content = {Watermark}, + is append + }, + setup = { + pages = {1}, + style = {text width = 1.7\paperwidth, rotate = 45, align = left, font = \Large, opacity = .1}, + content = { + \foreach \x in {0, ..., 500} {Magic Watermark } + }, + is append + } +} +\end{example} +\end{center} + +\vspace*{\fill} + +\newpage + + +\linespread{1.3}\selectfont +\tableofcontents + +\section{Presentation} + +\pkgname{} is a new watermarking package. Tts first version was released on June 17\textsuperscript{th}, 2022, +but this update is a complete refactoring. + +\pkgname{} is based on \texttt{ti\textit{k}z} and \texttt{expl3}, which gives you a lot of flexibility +to add a background or a watermark to the pages of your document. + +\section{Use} + +The use of \pkgname{}, compared to other packages of similar functionality, is a lot easier, +as it provides a single command, \verb|\MagicWatermark|. +This command takes a parameter consisting in a number of \opt{setup} rules. +\begin{example}[] +\MagicWatermark{ + setup = {}, + setup = {}, + ... +} +\end{example} + +\opt{setup} internally accepts four key options to configure the presentation of the watermark. + +\subsection{pages} +\opt{pages} accepts a comma-separated list which defines the scope of the watermark,\linebreak[4] \textit{e.g.} \verb|pages = {2, 4, 5, 8-10}| indicates that the watermark is to appear on pages 2, 4, 5, 8, 9 and 10. + +\opt{pages} accepts a total of four configuration rules: +\begin{itemize} + \item \para{*}, indicating all pages; + \item \para{odd} and \para{even}, for odd/even pages; + \item a range, like \para{3-5} or \para{12-ii}; + \item expressions, such as \para{2X+1}, \para{2X\^{}2+X+1} (the variable \textbf{has to be} \para{X}). +\end{itemize} + +Here, we assume that the total number of pages is 24: +\begin{example}[title = pages machine rules] +pages = {*} => 1, 2, 3, ..., 24 +pages = {odd} => 1, 3, 5, ..., 23 +pages = {1, 3, 5-10} => 1, 3, 5, 6, 7, ..., 10 +pages = {1-5, 8, 20-ii} => 1, 2, ..., 5, 8, 20, 21, ..., 23 +pages = {3X + 1} => 1, 4, 7, 10, ..., 22 +\end{example} + +\subsection{tikz} + +\opt{tikz} is used to choose whether the watermark content will be placed +in a \texttt{tikz} \texttt{node} (see below). +The two possible values are \para{true} and \para{false}. The default is \para{true}. +When you choose to use \opt{tikz}, you need to load the \texttt{tikz} package manually. + +\subsection{content} + +\opt{content} is used to define the content of the watermark, when \opt{tikz} is enabled. +The given value is placed inside the \texttt{tikz} \texttt{node}; +for this reason, to take full avantage of this syntax, you need to have some knowledge +of the available \texttt{node} options. + +\subsection{style} + +\opt{style} is used to set the style of the \texttt{node} that holds the watermark content. +The default style is \para{inner~sep = 0pt, outer~sep = 0pt, opacity = .5, align = left}, +and is ignored when \opt{tikz} is disabled. + +\subsection{is append} + +\opt{is append} is used to choose whether or not to override the existing watermark on the +current page. The available values are \para{true} and \para{false}, the default is \para{false}. + + +\section{Examples} + +\begin{example}[title = Add page number to the top right corner of each pages:] +% \usepackage{tikz} +\MagicWatermark{ + setup = { + pages = {*}, + content = {P-\thepage}, + style = {shift = {(.5\textwidth, .5\textheight + \headheight + \headsep)}, scale = 3, text = cyan, font = \ttfamily} + } +} +\end{example} + +\begin{example}[title = Add text watermark at the center of even numbered pages:] +% \usepackage{tikz} +\MagicWatermark{ + setup = { + pages = {even}, + style = {scale = 5, text = pink}, + content = {Watermark}, + is append + } +} +\end{example} + +\begin{example}[title = Add a full page of text as watermark to the second to last page:] +% \usepackage{tikz} +\MagicWatermark{ + setup = { + pages = {2-i}, + style = {text width = 1.7\paperwidth, rotate = 45, align = left, font = \Large, opacity = .1}, + content = { + \foreach \x in {0, ..., 500} {Magic Watermark } + }, + is append + } +} +\end{example} + +\begin{example}[title = Use different watermarks for odd and even pages:] +% \usepackage{tikz} +\MagicWatermark{ + setup = { + pages = {even}, + style = {scale = 8, rotate = 45, text=red, align = center,font = \linespread{2}\selectfont}, + content = { + Even MagicWatermark\\ + Even MagicWatermark\\ + Even MagicWatermark\\ + Even MagicWatermark + } + }, + setup = { + pages = {odd}, + style = {scale = 6, rotate = -45, text = cyan, text width = 1.7\paperwidth, font = \linespread{1.5}\selectfont, align = center}, + content = { + \foreach \x in {0,...,5}{ + Odd MagicWatermark + } + } + } +} +\end{example} + +\begin{example}[title = Use an image as watermark:] +% \usepackage{tikz} +\MagicWatermark{ + setup = { + pages = {even}, + style = {opacity = 0.3}, + content = { + \includegraphics{example-image-a} + } + }, + setup = { + pages = {odd}, + style = {opacity = .3, rotate=45, text width = 3\paperwidth}, + content = { + \foreach \x in {0, ..., 20}{ + \foreach \y in {1, 2, 3} { + \includegraphics{example-image-b} + } \\ + } + } + } +} +\end{example} + +\begin{example}[title = Disable tikz] +\def\addhead#1#2{% + \expandafter\gdef\csname head@content@#1\endcsname{#2}% +} + +\def\printhead#1{% + \csname head@content@#1\endcsname% +} + +\addhead{2}{The only way to do great work is to love what you do.} +\addhead{3}{Success is not final, failure is not fatal: It is the courage to continue that counts.} +\addhead{4}{In the end, we will remember not the words of our enemies, but the silence of our friends.} +\addhead{5}{It does not matter how slowly you go as long as you do not stop.} + +\NewDocumentCommand{\mywatermark}{}{% + \begin{tikzpicture}[remember picture, overlay] + \node[yshift = -\headheight - \headsep, text = teal, font = \large] at (current page.north) {\printhead{\thepage}}; + \end{tikzpicture} +} + +\MagicWatermark{ + setup = { + pages = {2-5}, + tikz = false, + content = \mywatermark + } +} +\end{example} + + +\end{document} diff --git a/Master/texmf-dist/doc/latex/magicwatermark/magicwatermark-en.pdf b/Master/texmf-dist/doc/latex/magicwatermark/magicwatermark-en.pdf Binary files differdeleted file mode 100644 index 5ee2d2d9f59..00000000000 --- a/Master/texmf-dist/doc/latex/magicwatermark/magicwatermark-en.pdf +++ /dev/null diff --git a/Master/texmf-dist/doc/latex/magicwatermark/magicwatermark-en.tex b/Master/texmf-dist/doc/latex/magicwatermark/magicwatermark-en.tex deleted file mode 100644 index 03a3e6db112..00000000000 --- a/Master/texmf-dist/doc/latex/magicwatermark/magicwatermark-en.tex +++ /dev/null @@ -1,212 +0,0 @@ -\documentclass{l3doc} -\usepackage{graphicx} -\usepackage{enumitem} -\usepackage{listings} -\lstset{ -frame=tb,framerule=2pt,language={[LaTeX]TeX},basicstyle={\ttfamily}, -language={[LaTeX]TeX}, -keywordstyle=\color{red!70!black}\bfseries, -keywordstyle={[2]\color{blue!70!black}\bfseries}, -morekeywords={PageSetup,Watermark,NewWatermark,MyPageSetup,MyWatermark,EvenPageSetup,OddPageSetup,EvenWatermark,OddWatermark,ClearWatermark}} -\usepackage{fontspec} -\IfFontExistsTF{calibri.ttf} -{ - \setmainfont{calibri.ttf}[ - BoldFont = calibrib.ttf, - ItalicFont = calibrii.ttf, - BoldItalicFont = calibriz.ttf - ] -} -{} -\usepackage{magicwatermark} -\renewcommand*\marg[1]{\{\meta{#1}\}} -\renewcommand*\oarg[1]{[\meta{#1}]} -\renewcommand*\parg[1]{(\meta{#1})} -\title{\pkg{magicwatermark}} -\author{lijun guo \\ liguo1020@gmail.com} -\def\version{v1.0.1} -\date{\today\quad\version} -\pagestyle{empty} -\PageSetup* -{ - \begin{tikzpicture}[remember picture,overlay] - \node[cyan,scale = 2,shift={(-1,-1)}] at (current page.north east){--~\thepage~--}; - \end{tikzpicture} -} -\Watermark -\begin{document} -\maketitle -\tableofcontents -\begin{abstract} -\pkg{magicwatermark} is a package based on \pkg{everypage} and \pkg{tikz} and encapsulated by \LaTeX3 \. It can flexibly set and clear watermarks. All watermark content is placed in \ inside a \verb|node| of \verb|tikz| and in the center of the page. -\end{abstract} -\section{Introduction} -Currently the \pkg{magicwatermark} package can only implement the following functions -\begin{itemize} - \item Set watermark for all pages - \item Set watermark for odd pages - \item Set the watermark for even pages - \item Create a new watermark and set multiple watermarks on the same page - \item Clear watermark -\end{itemize} -\section{Interface} -\subsection{Some command} -\begin{function}[added=2021-12-21,updated=2021-12-21]{\PageSetup} - \begin{syntax} - \tn{PageSetup} \oarg{option} \marg{content for watermark} - \end{syntax} - This command is used to set the watermark content of all pages. It accepts two parameters. The first parameter is used to set some properties and is given in the form of \verb|key=value|. The second parameter is used to set the watermark content. It is text, pictures, etc. -\end{function} -\begin{function}[added=2021-12-21,updated=2021-12-21]{\Watermark} -\begin{syntax} - \tn{Watermark} -\end{syntax} -This command is used to display the watermark set above -\end{function} -\begin{function}[added=2021-12-21,updated=2021-12-21]{\EvenPageSetup} -\begin{syntax} -\tn{EvenPageSetup}\oarg{option}\marg{content for watermark} -\end{syntax} -This command is used to set the watermark content of even pages -\end{function} -\begin{function}[added=2021-12-21,updated=2021-12-21]{\EvenWatermark} -\begin{syntax} - \tn{EvenWatermark} -\end{syntax} -This command is used to display the even page watermark set above -\end{function} -\begin{function}[added=2021-12-21,updated=2021-12-21]{\OddPageSetup} -\begin{syntax} -\tn{OddPageSetup}\oarg{option}\marg{content for watermark} -\end{syntax} -This command is used to set the watermark content of odd pages -\end{function} -\begin{function}[added=2021-12-21,updated=2021-12-21]{\OddWatermark} -\begin{syntax} - \tn{OddWatermark} -\end{syntax} -This command is used to display the odd page watermark set above -\end{function} -\subsection{Add command} -The usage of the following commands with asterisks is similar to the above. It is not so much an extension as it is a cancellation of restrictions. The above commands all write the watermark content in a \verb|node|, for users who are not familiar with TikZ , the former is more square is convenient and fast, while the latter is more flexible -\begin{function}[added=2022-01-07,updated=2022-01-07]{\PageSetup*} -\begin{syntax} -\tn{PageSetup*}\marg{content for watermark} -\end{syntax} -\end{function} -\begin{function}[added=2022-01-07,updated=2022-01-07]{\EvenPageSetup*} -\begin{syntax} -\tn{EvenPageSetup*}\marg{content for watermark} -\end{syntax} -\end{function} -\begin{function}[added=2022-01-07,updated=2022-01-07]{\OddPageSetup*} -\begin{syntax} -\tn{OddPageSetup*}\marg{content for watermark} -\end{syntax} -\end{function} -\begin{function}[added=2021-12-21,updated=2021-12-21]{\NewWatermark} -\begin{syntax} -\tn{NewWatermark}\marg{watermark name} -\end{syntax} -This command is used to create a new watermark. Note that the watermark name cannot be \verb|main|, \verb|even|, \verb|odd|. -\end{function} -\begin{function}[added=2021-12-21,updated=2021-12-21]{\MyPageSetup} -\begin{syntax} -\tn{MyPageSetup}\oarg{option}\marg{watermark name}\marg{content for watermark} -\end{syntax} -Used to set the new watermark content -\end{function} -\begin{function}[added=2021-12-21,updated=2021-12-21]{\MyWatermark} -\begin{syntax} - \tn{MyWatermark}\marg{watermark name} -\end{syntax} -This command is used to display the watermark set above -\end{function} -\begin{function}[added=2021-12-21,updated=2021-12-21]{\ClearWatermark} -\begin{syntax} - \tn{ClearWatermark}\marg{watermark list} -This command is used to clear the set watermark, accepts a comma list as parameter, for example: -\begin{itemize} - \item \verb|\ClearWatermark{main}| clears the watermark set by \verb|\Watermark| - \item \verb|\ClearWatermark{even,odd}| clears the watermark on odd and even pages - \item \verb|\ClearWatermark{all}| Clear all watermarks - \item \verb|\ClearWatermark{name1,name2,name3,...}| -\end{itemize} -\end{syntax} -\end{function} -\subsection{option list} -The \textbf{option} in the above setting command is as follows -\begin{itemize} - \item \verb|scale = <number>| set the scale - \item \verb|opacity = <number>| set the opacity - \item \verb|shift = {(x,y)}| for translation by vector (x,y) - \item \verb|color = <color expression>| set the color - \item \verb|rotate = <angle>| Set the rotation angle - \item \verb+align = <center|left|right>+ Set the alignment of multi-line text, the default is center - \item \verb+showframe = <true|false>+ Set whether to display the frame, the default is false -\end{itemize} -\subsection{notes} -All show and clear commands take effect only on the text following the command. - -\section{Examples} -\subsection{basic} -\begin{lstlisting} -\documentclass{ctexart} -\usepackage{magicwatermark} -\PageSetup[ - rotate = 30, % set the rotation angle - color = red!80, % set color for watermark content - scale = 6 % set the scale -]{ - watermark content -} -\Watermark -\begin{document} -... -\end{document} -\end{lstlisting} -\subsection{Odd and Even Pages} -\begin{lstlisting} -\documentclass{ctexart} -\usepackage{magicwatermark} -\EvenPageSetup[color=cyan,showframe,scale=4]{Even page} % Even page -\OddPageSetup[color=purple,showframe,scale=4]{Odd page} % Odd page -\EvenWatermark % show watermark -\OddWatermark -\begin{document} -... -\end{document} -\end{lstlisting} -\subsection{star} -\begin{lstlisting} -\documentclass{ctexart} -\usepackage{magicwatermark} -\PageSetup*{ - \begin{tikzpicture}[remember picture,overlay] - \node[cyan,scale = 2,shift={(-1,-1)}] at - (current page.north east){--~\thepage~--}; - \end{tikzpicture} -} -\begin{document} -... -\Watermark % This order did not take effect before -\end{document} -\end{lstlisting} -\subsection{New watermark} -\begin{lstlisting} -\documentclass{ctexart} -\usepackage{magicwatermark} -\NewWatermark{one} % new -\NewWatermark{two} -\MyPageSetup[scale=5,color=blue]{one}{content one} % setting -\MyPageSetup[scale=5,color=red]{two}{content two} -\begin{document} -\MyWatermark{one} % use watermark one -... -\newpage -\ClearWatermark{one} % clear watermark one -\MyWatermark{two} % use watermark two -... -\end{document} -\end{lstlisting} -\end{document}
\ No newline at end of file diff --git a/Master/texmf-dist/doc/latex/magicwatermark/magicwatermark.pdf b/Master/texmf-dist/doc/latex/magicwatermark/magicwatermark.pdf Binary files differdeleted file mode 100644 index 396233aba2e..00000000000 --- a/Master/texmf-dist/doc/latex/magicwatermark/magicwatermark.pdf +++ /dev/null diff --git a/Master/texmf-dist/doc/latex/mailing/CATALOG b/Master/texmf-dist/doc/latex/mailing/CATALOG new file mode 100644 index 00000000000..bfc37ff238b --- /dev/null +++ b/Master/texmf-dist/doc/latex/mailing/CATALOG @@ -0,0 +1,15 @@ +Name: mailing +Problems-To: texniek at texniek.nl +Author: J.L. Braams +Version: 1.0c + +Description: + +The mailing package implements support for producing letters to +multiple people. + +Keywords: latex mailing + +Address: +TeXniek +The Netherlands diff --git a/Master/texmf-dist/doc/latex/mailing/manifest.txt b/Master/texmf-dist/doc/latex/mailing/MANIFEST index b0653434c7f..b93e68a619f 100644 --- a/Master/texmf-dist/doc/latex/mailing/manifest.txt +++ b/Master/texmf-dist/doc/latex/mailing/MANIFEST @@ -2,11 +2,11 @@ % CONTENTS OF THE MAILING PACKAGE % =============================== % -% manifest.txt -- This file +% MANIFEST -- This file % % mailing.dtx -- A package to produce a `mailing' ie a large number % of letters with (almost) identical text. -% mailing.pdf -- The `printed version of mailing.dtx +% mailing.pdf -- The `printed´ version of mailing.dtx % % Installation script for the various parts: % ------------------------------------------- diff --git a/Master/texmf-dist/doc/latex/mailing/README b/Master/texmf-dist/doc/latex/mailing/README new file mode 100644 index 00000000000..6dccf798b90 --- /dev/null +++ b/Master/texmf-dist/doc/latex/mailing/README @@ -0,0 +1,14 @@ + mailing bundle + + July 2024, 2024 + +This bundle contains a package that provides functionality to +produce multiple letters with the same text to different addressses. +It provides three commands \addressfile, \mailingtext and \makemailing. + +Copyright (C) 2024 Johannes L. Braams texniek(at)texniek.nl + +This program can be redistributed and/or modified under the terms +of the LaTeX Project Public License Distributed from CTAN +archives in directory macros/latex/base/lppl.txt; either +version 1.3c of the License, or any later version. diff --git a/Master/texmf-dist/doc/latex/mailing/mailing.pdf b/Master/texmf-dist/doc/latex/mailing/mailing.pdf Binary files differindex 1625f90e04e..109c5c3de06 100644 --- a/Master/texmf-dist/doc/latex/mailing/mailing.pdf +++ b/Master/texmf-dist/doc/latex/mailing/mailing.pdf diff --git a/Master/texmf-dist/doc/latex/mathastext/ChangeLog.md b/Master/texmf-dist/doc/latex/mathastext/ChangeLog.md index 30f4113e968..8e2c1387e84 100644 --- a/Master/texmf-dist/doc/latex/mathastext/ChangeLog.md +++ b/Master/texmf-dist/doc/latex/mathastext/ChangeLog.md @@ -1,6 +1,98 @@ MATHASTEXT CHANGE LOG ===================== +1.4b \[2024/07/27\] +---- + +* Fix a regression at `1.4` regarding option `nodigits`. + +* New option: `noletters`. I am in old age now so I can provide an option + completely antithetical to my life work. + +* Option `everymath` which is destined to be removed at next major + release warns user about it. As major releases tend to happen once + per decade I think the constant nagging will become insufferable + and you will adapt to the `1.4` changes rather than persisting into + using this option. + +1.4a \[2024/07/20\] +---- + +* There was a documentation glitch in 1.4 and also a problem with the + `\MTprimeskip` feature being lost under the emergency fall-back + `everymath` option. + +1.4 \[2024/07/20\] +--- + +* Since 1.2 of 2012/12/20, mathastext has used mathematically active + characters to propose certain advanced functionalities. For reasons half + lost in the mists of time but whose main one was surely to keep the + meaning of the active shape of characters unchanged outside of math mode, + this mathematical activation, and (in most cases) the definitions of what + active characters do, were done again at *each* entrance into math mode. + At this 1.4 release, mathastext does not inject *any* code whatsoever into + the `\everymath` and `\everydisplay` toks registers anymore (except for + one font-related hack needed under LuaLaTeX, see below). Your documents + will compile a tiny bit faster. + +* In (unsual) documents where users play with catcodes and mathcodes it is + impossible to keep exact backward compatibility, because documented user + commands which acted formerly a toggles with delayed action now will enact + changes immediately if in the document body. In practice consequences are + expected to be few, because catcode active characters are (as was already + the case with earlier releases) hacked only when they are Babel shorthands + and they are then modified in a way altering only their action in math + mode. The precise description of what mathastext does when mathematically + activating (or not) a character, depending on circumstances, is to be + found among small-print comments in the section "Extended scope of the + math alphabets commands". See also the documentation of the + `\MTmathactiveletters` command for some specifics regarding ascii letters. + +* New option: `everymath`. It instructs mathastext to revert (partially) + to its legacy code which uses `\everymath/\everydisplay`. This reversal + is partial, the handling of ascii letters not being included into it. The + `everymath` option is there only to try as a quick fix in case transition + to this release causes a major problem in a user document and time is + lacking to investigate. Please report to the author such issues. Option + `everymath` is destined to be removed at next major release. + +* New option: `activedigits`. Enjoy. + +* It is now easier to hook into the mathastext architecture for + mathematically activated ascii letters. See the new section "Hacking + letters (and even digits) for special tasks". + +* Bugfix: do not override special behavior of the math mode dot in + babel-spanish. + +* Bugfix: A desperate hack related to LuaLaTeX font matters and dating + back to 1.3o 2016/05/03 had been for some years in dire need of an update + regarding fonts using `Renderer=HarfBuzz`. This is done now. Thanks to + tex.sx `user691586` for report. This is currently the sole remaining + usage of `\everymath/\everydisplay`. + +* Bugfix: an optional feature related to `\{` and `\}` was broken since an + upstream LaTeX change at its 2020-02-02 release. + +* With option symbolmisc, those math symbol macros formerly defined via + `\DeclareRobustCommand` are now declared via `\protected\def`. + +* Removal of legacy branches previously kept to support LaTeX earlier than + 2020-02-02. + +* Removal of support for EU1 and EU2 font encodings. + +* Option `noasterisk` deprecated at 1.2d 2013/01/02 has (finally) been removed. + +* Four test files previously included and auto-extracted from the + distributed dtx have been dropped. One of them is still available + on the package homepage. + +* Some parts of the documentation have been massively re-ordered and even to some + extent improved. But there may be some occasions where obsolete statements will + be found having the legacy `\everymath/\everydisplay` situation as background. + 1.3zb \[2023/12/29\] ----- @@ -156,7 +248,7 @@ been pushed to CTAN, hence the version increase to 1.3y) to some other (robust) math alphabet macros, but were not robust in the strict sense. This does cause some issues for moving arguments in the context of multiple math versions, - hence it was a bug. The special behaviour of the math + hence it was a bug. The special behavior of the math alphabet commands (they redefine themselves and other macros on first use) makes is somewhat problematic for mathastext to keep them updated across math versions and at the same @@ -400,16 +492,14 @@ been pushed to CTAN, hence the version increase to 1.3y) * bugfix: under option nosmalldelims, `\lbrace` and `\rbrace` were redefined as math symbols and could not be used as delimiters. -1.3d \[2015/02/26\] +1.3d \[2014/05/23\] ---- -* the documentation mentions the improved compatibility of mathastext +* A 2015/02/26 edit to the documentation mentions the + improved compatibility of mathastext with the latest (3.34) beamer release: no more need for `\usefonttheme{professionalfonts}`. -1.3d \[2014/05/23\] ----- - * new commands `\MTstandardgreek` and `\MTcustomgreek`. * The Greek letters, in case of use of one of the package related @@ -540,6 +630,8 @@ use of mathematically active characters in versions 1.2 and 1.2b. mechanism of letting non-letter symbols obey the math alphabet commands. +* the `noasterisk` option is deprecated and made a no-op. + * documentation extended and improved. 1.2c \[2012/12/31\] @@ -684,6 +776,11 @@ use of mathematically active characters in versions 1.2 and 1.2b. complete manner to adapt the math configuration to fonts provided with no math support. +1.13d +---- + +* new macros `\MTstandardgreek` and `\MTcustomgreek` + 1.13b ---- diff --git a/Master/texmf-dist/doc/latex/mathastext/README.md b/Master/texmf-dist/doc/latex/mathastext/README.md index 44b778b7288..f2c55cf1490 100644 --- a/Master/texmf-dist/doc/latex/mathastext/README.md +++ b/Master/texmf-dist/doc/latex/mathastext/README.md @@ -8,13 +8,13 @@ +-------------------------------------------+ This Work may be distributed and/or modified under the conditions -of the [LPPL1.3c](http://www.latex-project.org/lppl/lppl-1-3c.txt) +of the [LPPL 1.3c](https://www.latex-project.org/lppl/lppl-1-3c.txt) The Author of this Work is Jean-Francois Burnol (`jfbu at free dot fr`) -Copyright (C) 2011-2019, 2022, 2023 Jean-Francois Burnol +Copyright (C) 2011-2019, 2022-2024 Jean-Francois Burnol - Source: mathastext.dtx 1.3zb 2023/12/29 + Source: mathastext.dtx 1.4b 2024/07/27 DESCRIPTION @@ -82,6 +82,98 @@ Main options: `italic`, `frenchmath`, `subdued`, `LGRgreek`. RECENT CHANGES ============== +1.4b \[2024/07/27\] +---- + +* Fix a regression at `1.4` regarding option `nodigits`. + +* New option: `noletters`. I am in old age now so I can provide an option + completely antithetical to my life work. + +* Option `everymath` which is destined to be removed at next major + release warns user about it. As major releases tend to happen once + per decade I think the constant nagging will become insufferable + and you will adapt to the `1.4` changes rather than persisting into + using this option. + +1.4a \[2024/07/20\] +---- + +* There was a documentation glitch in 1.4 and also a problem with the + `\MTprimeskip` feature being lost under the emergency fall-back + `everymath` option. + +1.4 \[2024/07/20\] +--- + +* Since 1.2 of 2012/12/20, mathastext has used mathematically active + characters to propose certain advanced functionalities. For reasons half + lost in the mists of time but whose main one was surely to keep the + meaning of the active shape of characters unchanged outside of math mode, + this mathematical activation, and (in most cases) the definitions of what + active characters do, were done again at *each* entrance into math mode. + At this 1.4 release, mathastext does not inject *any* code whatsoever into + the `\everymath` and `\everydisplay` toks registers anymore (except for + one font-related hack needed under LuaLaTeX, see below). Your documents + will compile a tiny bit faster. + +* In (unsual) documents where users play with catcodes and mathcodes it is + impossible to keep exact backward compatibility, because documented user + commands which acted formerly a toggles with delayed action now will enact + changes immediately if in the document body. In practice consequences are + expected to be few, because catcode active characters are (as was already + the case with earlier releases) hacked only when they are Babel shorthands + and they are then modified in a way altering only their action in math + mode. The precise description of what mathastext does when mathematically + activating (or not) a character, depending on circumstances, is to be + found among small-print comments in the section "Extended scope of the + math alphabets commands". See also the documentation of the + `\MTmathactiveletters` command for some specifics regarding ascii letters. + +* New option: `everymath`. It instructs mathastext to revert (partially) + to its legacy code which uses `\everymath/\everydisplay`. This reversal + is partial, the handling of ascii letters not being included into it. The + `everymath` option is there only to try as a quick fix in case transition + to this release causes a major problem in a user document and time is + lacking to investigate. Please report to the author such issues. Option + `everymath` is destined to be removed at next major release. + +* New option: `activedigits`. Enjoy. + +* It is now easier to hook into the mathastext architecture for + mathematically activated ascii letters. See the new section "Hacking + letters (and even digits) for special tasks". + +* Bugfix: do not override special behavior of the math mode dot in + babel-spanish. + +* Bugfix: A desperate hack related to LuaLaTeX font matters and dating + back to 1.3o 2016/05/03 had been for some years in dire need of an update + regarding fonts using `Renderer=HarfBuzz`. This is done now. Thanks to + tex.sx `user691586` for report. This is currently the sole remaining + usage of `\everymath/\everydisplay`. + +* Bugfix: an optional feature related to `\{` and `\}` was broken since an + upstream LaTeX change at its 2020-02-02 release. + +* With option symbolmisc, those math symbol macros formerly defined via + `\DeclareRobustCommand` are now declared via `\protected\def`. + +* Removal of legacy branches previously kept to support LaTeX earlier than + 2020-02-02. + +* Removal of support for EU1 and EU2 font encodings. + +* Option `noasterisk` deprecated at 1.2d 2013/01/02 has (finally) been removed. + +* Four test files previously included and auto-extracted from the + distributed dtx have been dropped. One of them is still available + on the package homepage. + +* Some parts of the documentation have been massively re-ordered and even to some + extent improved. But there may be some occasions where obsolete statements will + be found having the legacy `\everymath/\everydisplay` situation as background. + 1.3zb \[2023/12/29\] ----- @@ -133,63 +225,3 @@ RECENT CHANGES * Fix long-standing hyperlink problems in the documentation: blue color words should now all be functioning hyperlinks. -1.3z \[2023/09/01\] ----- - -Fix 1.3y regression which broke `selfGreek` option due to internal -renamings. Thanks to Stephan Korell for report. - -1.3y \[2022/11/04\] ----- - -(the 1.3x had an annoying documentation bug, and had already -been pushed to CTAN, hence the version increase to 1.3y) - -* mathastext now requires the `\expanded` primitive (which is - available with all major engines since TeXLive 2019). - -* Revisit parts of the documentation (mainly - the Examples, and the section on Greek letters) and shuffle - the other parts to surely improve things. Mention - the [mathfont](https://ctan.org/pkg/mathfont) - and [frenchmath](https://ctan.org/pkg/frenchmath) packages. - -* Add the `ncccomma` option which loads the - [ncccomma](https://ctan.org/pkg/ncccomma) - package to allow the comma as decimal separator. - -* Add the `binarysemicolon` option to let the semi-colon - be of type `\mathbin`, not `\mathpunct`. - -* Add the `frenchmath*` option which does all three of - `frenchmath`, `ncccomma` and `binarysemicolon`. - -* Under the `LGRgreek` and `LGRgreeks` options only: - - - make available upright and italic Greek letters in math mode - via `\alphaup`, `\alphait`, ... control sequences, in - addition to those not using such postfixed-names. - - - add `\mathgreekup` and `\mathgreekit` math alphabets. - - - add `\MTgreekupdefault` and `\MTgreekitdefault`. The former - replaces `\updefault` which was used in some places and since - LaTeX 2020-02-02 caused systematic Font Warnings about the - substitution of `up` by `n`. - - These new features required an extensive internal refactoring - which is expected to not induce changes to most existing - documents. But it may induce changes to those using some - unusual configuration in the preamble, as made possible via the - package macros; this can apply only to documents authored by - those few people who actually read the documentation. For full - details make sure to read the PDF documentation about this - change. - -* Fix "`\Digamma` under `LGRgreek` option uses the shape for - lowercase not uppercase Greek". - -* Fix some incongruities in log messages related to Greek - letters and emitted during math version creation in the - preamble. - diff --git a/Master/texmf-dist/doc/latex/mathastext/mathastext.pdf b/Master/texmf-dist/doc/latex/mathastext/mathastext.pdf Binary files differindex 6e952274102..635b6149fb7 100644 --- a/Master/texmf-dist/doc/latex/mathastext/mathastext.pdf +++ b/Master/texmf-dist/doc/latex/mathastext/mathastext.pdf diff --git a/Master/texmf-dist/doc/latex/mathastext/mathastext.tex b/Master/texmf-dist/doc/latex/mathastext/mathastext.tex index 8ba1503a8a3..8fd899e4bc1 100644 --- a/Master/texmf-dist/doc/latex/mathastext/mathastext.tex +++ b/Master/texmf-dist/doc/latex/mathastext/mathastext.tex @@ -1,12 +1,12 @@ -\def\MSTpkgdate {2023/12/29} -\def\MSTpkgversion {1.3zb} +\def\MSTpkgdate {2024/07/27} +\def\MSTpkgversion {1.4b} %%---------------------------------------------------------------- %% Package: mathastext %% Info: Use the text font in math mode (JFB) -%% Version: 1.3zb 2023/12/29 +%% Version: 1.4b 2024/07/27 %% License: LPPL 1.3c (http://www.latex-project.org/lppl/lppl-1-3c.txt) -%% Copyright (C) 2011-2019, 2022, 2023 Jean-Francois Burnol -%% <jfbu at free dot fr> +%% Copyright (C) 2011-2019, 2022-2024 Jean-Francois Burnol +%% <jfbu at free dot fr> %% Examples of use of mathastext: %% http://jf.burnol.free.fr/mathastext.html %% http://jf.burnol.free.fr/showcase.html diff --git a/Master/texmf-dist/doc/latex/mathastext/mathastexttestalphabets.tex b/Master/texmf-dist/doc/latex/mathastext/mathastexttestalphabets.tex deleted file mode 100644 index e31202c079a..00000000000 --- a/Master/texmf-dist/doc/latex/mathastext/mathastexttestalphabets.tex +++ /dev/null @@ -1,265 +0,0 @@ -\def\testfileincipit{Test file to accompany \texttt{mathastext} -version \texttt{1.3zb} of \texttt{2023/12/29}} -%%---------------------------------------------------------------- -%% Package: mathastext -%% Info: Use the text font in math mode (JFB) -%% Version: 1.3zb 2023/12/29 -%% License: LPPL 1.3c (http://www.latex-project.org/lppl/lppl-1-3c.txt) -%% Copyright (C) 2011-2019, 2022, 2023 Jean-Francois Burnol -%% <jfbu at free dot fr> -%% Examples of use of mathastext: -%% http://jf.burnol.free.fr/mathastext.html -%% http://jf.burnol.free.fr/showcase.html -%%---------------------------------------------------------------- -%% This file `mathastexttestalphabets.tex' is for testing the extended -%% scope of the math alphabet commands with package `mathastext', via -%% the package command \MTnonlettersobeymathxx. -%% -%% Compile either with latex, pdflatex, lualatex (pdf output) or xelatex. -%% -%% See `mathastext.dtx' for the copyright and conditions of distribution or -%% modification. -%% -\documentclass{article} -\usepackage[hscale=0.66, vscale=0.72]{geometry} -\usepackage{amsmath} -\usepackage{mathtools}\mathtoolsset{centercolon} -%% WARNING THIS IS INCOMPATIBLE WITH BABEL+FRENCHB -%% BUT WITH MATHASTEXT LOADED THIS IS CORRECTED -%% *IF* \MTnonlettersobeymathxx IS MADE USE OF. -\usepackage{iftex} -\ifXeTeX -\expandafter\def\expandafter\testfileincipit\expandafter - {\testfileincipit\ (compiled with \XeLaTeX)} -\usepackage[no-math]{fontspec} -\setmainfont[ExternalLocation, - Mapping=tex-text, - BoldFont=texgyretermes-bold, - ItalicFont=texgyretermes-italic, - BoldItalicFont=texgyretermes-bolditalic]{texgyretermes-regular} -\setmonofont[ExternalLocation, - Mapping=tex-text]{texgyrecursor-regular} -\setsansfont[ExternalLocation, - Mapping=tex-text]{texgyreheros-regular} -\else -\ifLuaTeX % for pdf output -\expandafter\def\expandafter\testfileincipit\expandafter - {\testfileincipit\ (compiled with \LuaLaTeX)} -\usepackage[no-math]{fontspec} -\setmainfont[Ligatures=TeX]{TeX Gyre Termes} -\setmonofont[Ligatures=TeX]{TeX Gyre Cursor} -\setsansfont[Ligatures=TeX]{TeX Gyre Heros} -\else -\usepackage[utf8]{inputenc} -\usepackage[T1]{fontenc} -\usepackage{tgtermes} -\usepackage{tgcursor} -\usepackage{tgheros} -\fi\fi -\usepackage{metalogo} % must be loaded /after/ [no-math]fontspec -\usepackage[french]{babel} -\usepackage[italic,asterisk]{mathastext} -\MTlettershape{n}\Mathastext[upright] -\MTnonlettersobeymathxx -\MTexplicitbracesobeymathxx -\delimitershortfall-1pt -\usepackage{color} -\begin{document} -\testfileincipit - -\begin{center} - \bfseries Two features of \texttt{mathastext}:\\ -extended scope of the math alphabets and added italic corrections\par -\end{center} - -The package makes -${!}\,{?}\,{,}\,{:}\,{;}\,{+}\,{-}\,{=}\,{(}\,{)}\,{[}\,{]}\,{<}\,{>}\,{\{}\,{\}}$, -the asterisk $*$, and $.\,/\,\vert\,\backslash\,{\#}\,{\$}\,{\%}\,{\&}$ obey the -math alphabet commands (this is the maximal list, some characters may have been -excluded by the corresponding package options). For the characters listed first -the mechanism involves a `mathematical activation'. - -As this process may create incompatibilities, it will be put into action -for -${!}\,{?}\,{,}\,{:}\,{;}\,{+}\,{-}\,{=}\,{(}\,{)}\,{[}\,{]}\,{<}\,{>}$ -only if the user makes use of the package command -\verb|\MTnonlettersobeymathxx| (and the braces necessitate -\verb|\MTexplicitbracesobeymathxx|). - -It could be that one such character has been made `active' in the entire -document by some other package, typically a language definition file for the -\verb|babel| system. Here for example we have used \verb|babel| with the -\verb|french| option, which makes the high punctuation characters !?:; active -throughout the document (extra spacing is put in front of the character when -used in text; no change in math but perhaps for other languages and characters -this could happen, it is up to the language definition file to decide). - -When \verb|mathastext| detects that a character it wants to `mathematically -activate' is already `active', it does not go further except if it seems that -the activation was done by Babel. If the activation was done by Babel, then -\verb|mathastext| replaces the expansion of the active character in math mode by -what is necessary to achieve its goal. It does not additionally mathematically -activate the character; rather it makes sure that the character is \emph{not} -mathematically active. In the present document the colon was made mathematically -active by \verb|mathtools| but this was already canceled in the preamble by -\verb|mathastext| as it was loaded later. And it is better so, because the -combination \verb|babel| (with option \verb|frenchb|) +\verb|mathtools| (with -\verb|centercolon|) makes \verb|$:$| create an infinite loop! - -But even if someone had mathematically activated the colon after the preamble, -or after the loading of \verb|mathastext|, this would be canceled again -automatically for each inline or displayed mathematical formula (if the user -does \verb|\MTnonlettersobeymathxx|). - -The conclusion with \verb|\MTnonlettersobeymathxx| is: if some package has tried -to make the character mathematically active, this will be overruled by -\verb|mathastext|; if some package has made the character globally active, then -the package wins except if it is Babel, as \verb|mathastext| may in the latter -case safely modify the action in math mode (paying attention to the fact that -the character should be usable in \verb|\label| and \verb|\ref| in and outside -of math mode). - -The displayed equations next illustrate the extended scope of the math alphabets -which now apply to $=$, $-$, $($, $)$, $[$, $]$ (but not to the large delimiters -of course). Furthermore, for testing purposes the equations were labeled using -such characters, for example the last one has label \verb|eq=7|, to check that -the mathematical activation of $=$ does not cause problems with -\verb|\label/\ref|. - -\def\testformula{\quad\Biggl\lbrace\biggl(\left(\left[[\sin(a) + \cos(b) - \log(c) = -\sec(d)]\right]\right)\biggr)\Biggr\rbrace} -\begin{equation}\testformula\label{eq:1}\end{equation} -\begin{equation}\mathnormalbold{mathnormalbold:\testformula}\label{eq;2}\end{equation} -\begin{equation}\mathrm{mathrm:\testformula}\label{eq?3}\end{equation} -\begin{equation}\mathbf{mathbf:\testformula}\label{eq!4}\end{equation} -\begin{equation}\mathit{mathit:\testformula}\label{eq(5}\end{equation} -\begin{equation}\mathtt{mathtt:\testformula}\label{eq)6}\end{equation} -\begin{equation}\mathsf{mathsf:\testformula}\label{eq=7}\end{equation} - -Equations above are numbered \ref{eq:1}, \ref{eq;2}, \ref{eq?3}, \ref{eq!4}, and -$\ref{eq(5}$, $\ref{eq)6}$, and $\ref{eq=7}$. - -\def\testline#1{$#1$&$\mathnormalbold{#1}$&$\mathrm{#1}$&$\mathbf{#1}$&$\mathit{#1}$&$\mathtt{#1}$&$\mathsf{#1}$} - -\centerline{\begin{tabular}{ccccccc} -\testline{a!b}\\ -\testline{a?b}\\ -\testline{a,b}\\ -\testline{a;b}\\ -\testline{a:b}\\ -\testline{a:=b}\\ -\testline{a\vcentcolon= b}\\ -\testline{a\colon b}\\ -\testline{a.b}\\ -\testline{a-b}\\ -\testline{a+b}\\ -\testline{a=b}\\ -\testline{a<b}\\ -\testline{a>b}\\ -\testline{<x,y>}\\ -\testline{\mathopen{<} x,y\mathclose{>}}\\ -\testline{\left< x,y\right>}\\ -\testline{a/b}\\ -\testline{a\backslash b}\\ -\testline{a\setminus b}\\ -\testline{a|b}\\ -\testline{a\mid b}\\ -\testline{(a,b)}\\ -\testline{[a,b]}\\ -\testline{\{a,b\}} -\end{tabular}} - -The question mark has been made active by \verb|babel+frenchb|. -\verb|mathastext| has imposed in math mode its ways (now \verb|$\mathbf{???}$| -gives $\mathbf{???}$). As the extra spacing is added by \verb|frenchb| only in -text, we had to use the math alphabet to check that indeed \verb|mathastext| -overruled Babel. - -To double-check we will now make \string? mathematically active: -\verb|\mathcode`?="8000|\mathcode`?="8000. This is a sure cause for disaster -normally with Babel (don't do this at home without \verb|mathastext|!). But here -with \verb|$?$| no bad surprise (infinite loop!) awaits us: just $?$. - -Let's take some other character, for example the opening parenthesis, and make -it catcode active: -\verb|\catcode`(=\active \def ({X}|. -Let's try the input -\verb|( and $($|. -\begingroup -\catcode`(=\active \gdef ({X} -This gives ( and $($. We see that \verb|mathastext| does not attempt to modify -the definition of the active character, as this activation was not done via the -\verb|babel| services. \catcode`\(=12 \mathcode`(="8000 We now revert the -parenthesis to catcode other (but maintain \verb|\def ({X}| as definition of its -active version), and then make it mathematically active using the command -\verb|\mathcode`(="8000|. If we try \verb|$((($| we see that the parenthesis is -not converted into an $X$: $((($. The mathematically active character was -overruled by \verb|mathastext|. - -Issuing \verb|\MTnonlettersdonotobeymathxx|\MTnonlettersdonotobeymathxx\ we do -get the $X$'s from the input \verb|$((($|: $((($ -\endgroup -This shows that \verb|mathastext| now does not modify in math mode the -non-letter \verb|(|. - -\MTversion{upright}\MTnonlettersobeymathxx -We defined in the preamble of the document a \verb|mathastext|-enhanced -math version (named \verb|upright|) having the Latin letters upright in -math mode. Let's switch to -it: \newline -\hbox to\linewidth{\hss\verb|\MTversion{upright}|\hss} - -With a font which is neither italic nor slanted, \verb|mathastext| automatically -inserts italic corrections for better positioning of the subscript: -\verb|$f_i^i$| gives -$f_i^i$. -After \verb|\MTnoicinmath| which turns off this feature\MTnoicinmath{}, the same -input gives $f_i^i$, which is different. -\footnote{last time I tried, this only worked with PDF\LaTeX{}, not with - \LuaLaTeX{} or \XeTeX{}.} - -Again with italic corrections on (\verb|\MTicinmath|)\MTicinmath{} -\verb|$f_{abc}^{def}$| gives $f_{abc}^{def}$, and here is another one: -$f^{f_{abc}^{def}}_u$. Without italic corrections\MTnoicinmath: $f_{abc}^{def}$, -and respectively $f^{f_{abc}^{def}}_u$. - -\MTicinmath - -\verb|mathastext| does not add these italic corrections inside arguments of -math alphabets, as this would prevent the formation of ligatures: -$\mathnormal{ff}$, $\mathrm{ff}$, $\mathit{ff}$, $\mathbf{ff}$, $\mathtt{ff}$ -(no ligature in teletype) and $\mathsf{ff}$.\footnote{\llap{\textcolor{magenta}{\bfseries Changed!\kern3em}}Prior to 1.3i, - italic corrections were added to the \string\mathnormal\ arguments.} - -\centerline{\begin{tabular}{ccccccc} -\testline{a!b}\\ -\testline{a?b}\\ -\testline{a,b}\\ -\testline{a;b}\\ -\testline{a:b}\\ -\testline{a:=b}\\ -\testline{a\vcentcolon= b}\\ -\testline{a\colon b}\\ -\testline{a.b}\\ -\testline{a-b}\\ -\testline{a+b}\\ -\testline{a=b}\\ -\testline{a<b}\\ -\testline{a>b}\\ -\testline{<x,y>}\\ -\testline{\mathopen{<} x,y\mathclose{>}}\\ -\testline{\left< x,y\right>}\\ -\testline{a/b}\\ -\testline{a\backslash b}\\ -\testline{a\setminus b}\\ -\testline{a|b}\\ -\testline{a\mid b}\\ -\testline{(a,b)}\\ -\testline{[a,b]}\\ -\testline{\{a,b\}} -\end{tabular}} - -\end{document} -\endinput -%% -%% End of file `mathastexttestalphabets.tex'. diff --git a/Master/texmf-dist/doc/latex/mathastext/mathastexttestmathversions.tex b/Master/texmf-dist/doc/latex/mathastext/mathastexttestmathversions.tex deleted file mode 100644 index d5f4447d3ba..00000000000 --- a/Master/texmf-dist/doc/latex/mathastext/mathastexttestmathversions.tex +++ /dev/null @@ -1,43 +0,0 @@ -\def\testfileincipit{Test file to accompany \texttt{mathastext} -version \texttt{1.3zb} of \texttt{2023/12/29}} -%%---------------------------------------------------------------- -%% Package: mathastext -%% Info: Use the text font in math mode (JFB) -%% Version: 1.3zb 2023/12/29 -%% License: LPPL 1.3c (http://www.latex-project.org/lppl/lppl-1-3c.txt) -%% Copyright (C) 2011-2019, 2022, 2023 Jean-Francois Burnol -%% <jfbu at free dot fr> -%% Examples of use of mathastext: -%% http://jf.burnol.free.fr/mathastext.html -%% http://jf.burnol.free.fr/showcase.html -%%---------------------------------------------------------------- -%% This file `mathastexttestversions.tex' is for testing the enhanced -%% concept of math versions provided by the package `mathastext'. -%% -%% See `mathastext.dtx' for the copyright and conditions of distribution or -%% modification. -%% -\documentclass{article} -\usepackage[T1]{fontenc} -\usepackage{newcent} -\usepackage[subdued]{mathastext} -\Mathastext[newcent] -\renewcommand\familydefault\ttdefault -\Mathastext[courier] -\renewcommand\familydefault\sfdefault -\Mathastext[avantgarde] -\renewcommand\familydefault\rmdefault -\begin{document} -\testfileincipit - -text in NewCentury and $math\ as\ in\ default$,% -\MTversion{courier} text in Courier and $math\ in\ Courier$,% -\MTversion{avantgarde} text in AvantGarde and $math\ in\ AvantGarde$,% -\MTversion[newcent]{courier} text in NewCentury and $math\ in\ -Courier$,\MTversion{bold} text in bold NewCentury and $math\ as\ in\ -bold\ default$,\MTversion[courier]{avantgarde} text in Courier and -$math\ in\ AvantGarde$. -\end{document} -\endinput -%% -%% End of file `mathastexttestmathversions.tex'. diff --git a/Master/texmf-dist/doc/latex/mathastext/mathastexttestunicodelinux.tex b/Master/texmf-dist/doc/latex/mathastext/mathastexttestunicodelinux.tex deleted file mode 100644 index 3a22a6e0f2b..00000000000 --- a/Master/texmf-dist/doc/latex/mathastext/mathastexttestunicodelinux.tex +++ /dev/null @@ -1,120 +0,0 @@ -\def\testfileincipit{Test file to accompany \texttt{mathastext} -version \texttt{1.3zb} of \texttt{2023/12/29}} -%%---------------------------------------------------------------- -%% Package: mathastext -%% Info: Use the text font in math mode (JFB) -%% Version: 1.3zb 2023/12/29 -%% License: LPPL 1.3c (http://www.latex-project.org/lppl/lppl-1-3c.txt) -%% Copyright (C) 2011-2019, 2022, 2023 Jean-Francois Burnol -%% <jfbu at free dot fr> -%% Examples of use of mathastext: -%% http://jf.burnol.free.fr/mathastext.html -%% http://jf.burnol.free.fr/showcase.html -%%---------------------------------------------------------------- -%% This file `mathastexttestunicodelinux.tex' is for testing the use -%% of the package `mathastext' with the unicode engines XeTeX or LuaLaTeX. -%% -%% Fonts which were available on a Linux machine are used. Beware that -%% compilation with LuaLaTeX will abort with errors if specified fonts do not -%% exist on your system. -%% -%% See `mathastext.dtx' for the copyright and conditions of distribution or -%% modification. -%% -\documentclass{article} -\usepackage[hscale=0.8]{geometry} -\usepackage{multicol} -\usepackage[no-math]{fontspec} -\usepackage{lmodern} -\usepackage{metalogo} -\usepackage{iftex} -\ifXeTeX -\expandafter\def\expandafter\testfileincipit\expandafter - {\testfileincipit\ (compiled with \XeLaTeX)} -\else -\ifLuaTeX -\expandafter\def\expandafter\testfileincipit\expandafter - {\testfileincipit\ (compiled with \LuaLaTeX)} -\fi\fi -\usepackage[subdued,italic,asterisk]{mathastext} -\setmainfont[Color=999999]{Verdana} \Mathastext[Verdana] -\setmainfont[Color=0000FF]{Arial} \Mathastext[Arial] -\setmainfont[Color=00C000]{DejaVu Serif} \Mathastext[DejaVu] -\setmainfont[Color=FF0000]{Andale Mono} \Mathastext[Andale] -%% commented out as these fonts do not exist anymore on the Linux box -%% I have access to (test last done 2016/01/15) -%%\setmainfont[Color=C000C0]{URW Chancery L} \Mathastext[Chancery] -%%\setmainfont[Color=800080]{URW Palladio L} \Mathastext[Palladio] -\setmainfont[Color=808000]{Liberation Serif} \Mathastext[Liberation] -\MTDeclareVersion{Times}{T1}{ptm}{m}{n} -\begin{document} -\MTversion{normal} -\testfileincipit - -This test uses \verb|mathastext| with its \emph{italic}, \emph{asterisk}, and -\emph{subdued} options. The base document fonts are the Latin Modern ones (in -OpenType format). The other OpenType fonts were chosen from those available on -a Linux machine. We also used the Times font in traditional \TeX\ font T1 -encoding, to demonstrate the removal since release \texttt{1.3u} of a former -limitation that all math versions had to share the same font encoding, else -some characters such as the dotless \texttt{i} ($\imath$), or the minus sign -could well vanish from the output in the non-normal math versions. - -Furthermore we test (last line of each block, on the left) if the non-letter -characters obey the math alphabet \verb|\mathbf|. In the normal and bold math -versions, this feature is de-activated, as option \emph{subdued} was used; and -if activated we should then use in these math versions the package -\verb|\Mathbf| rather than \verb|\mathbf| which is there still the original -one, which will use encoding \verb|OT1| in the normal and bold versions, as we -loaded \verb|fontspec| with its option \emph{no-math}. - -Some among the fonts tested have no bold variant or no italic variant. - -Note: the two unicode engines \XeLaTeX\ and \LuaLaTeX\ give likely not fully -identical results particularly for the math mode. At least this is what I -observed regularly over the years with the variant of this file prepared for -fonts available on Mac OS, which is my main system where I develop -|\mathastext|. Lastly for example (TL2019, august 2019), \LuaLaTeX\ could not -find the bold variant of some system font, but \XeLaTeX\ did. And the spacing -for the letters of the Didot font was vastly different between the two -engines. - -\newcommand\TEST[1]{\MTversion{#1}\def\tmpa{#1}% - \def\tmpb{normal}\def\tmpc{bold}% - \ifx\tmpa\tmpb\else\ifx\tmpa\tmpc\else \MTnonlettersobeymathxx - \MTexplicitbracesobeymathxx\fi\fi -\begin{multicols}{2} -\hbox to\columnwidth{\hbox to\columnwidth{\hfil - $abcdefghijklmnopqrstuvwxyz$\hfil}\kern-2.5em{#1}} - \centerline{ $ABCDEFGHIJKLMNOPQRSTUVWXYZ$ } - \centerline{ $0123456789$ } - \centerline{ $!\,?\,*\,,\,.\,:\,;\,+\,-\,=\,(\,)\,[\,]\,/\,\#\,% - \$\,\%\,\&\,<\,>\,|\,\{\,\}\,\backslash$ } - \centerline{ $\mathbf{!\,?\,*\,,\,.\,:\,;\,+\,-\,=\,(\,)\,[\,]\,/\,\#\,% - \$\,\%\,\&\,<\,>\,|\,\{\,\}\,\backslash}$ } -\columnbreak - \centerline{ abcdefghijklmnopqrstuvwxyz } - \centerline{ ABCDEFGHIJKLMNOPQRSTUVWXYZ } - \centerline{ 0123456789} - \centerline{ !\,?\,*\,,\,.\,:\,;\,+\,-\,=\,(\,)\,[\,]\,/\,\#\,% - \$\,\%\,\&\,<\,>\,|\,\{\,\}\,\char92 } - \centerline{\bfseries !\,?\,*\,,\,.\,:\,;\,+\,-\,=\,(\,)\,[\,]\,/\,\#\,% - \$\,\%\,\&\,<\,>\,|\,\{\,\}\,\char92 } -\end{multicols}} -\begin{multicols}{2} - \centerline{\textbf{math mode}} -\columnbreak - \centerline{ \textbf{text} } -\end{multicols} -\TEST{DejaVu} -\TEST{Verdana} -\TEST{Andale} -%%\TEST{Palladio} -\TEST{Arial} -%%\TEST{Chancery} -\TEST{Liberation} -\TEST{bold}\TEST{normal}\TEST{Times} -\end{document} -\endinput -%% -%% End of file `mathastexttestunicodelinux.tex'. diff --git a/Master/texmf-dist/doc/latex/mathastext/mathastexttestunicodemacos.tex b/Master/texmf-dist/doc/latex/mathastext/mathastexttestunicodemacos.tex deleted file mode 100644 index ed6a3c2560e..00000000000 --- a/Master/texmf-dist/doc/latex/mathastext/mathastexttestunicodemacos.tex +++ /dev/null @@ -1,124 +0,0 @@ -\def\testfileincipit{Test file to accompany \texttt{mathastext} -version \texttt{1.3zb} of \texttt{2023/12/29}} -%%---------------------------------------------------------------- -%% Package: mathastext -%% Info: Use the text font in math mode (JFB) -%% Version: 1.3zb 2023/12/29 -%% License: LPPL 1.3c (http://www.latex-project.org/lppl/lppl-1-3c.txt) -%% Copyright (C) 2011-2019, 2022, 2023 Jean-Francois Burnol -%% <jfbu at free dot fr> -%% Examples of use of mathastext: -%% http://jf.burnol.free.fr/mathastext.html -%% http://jf.burnol.free.fr/showcase.html -%%---------------------------------------------------------------- -%% This file `mathastexttestunicodemacos.tex' is for testing the use -%% of the package `mathastext' with the unicode engines XeTeX or LuaLaTeX. -%% -%% Mac OS X specific fonts are used (initially tested on 10.8.2). -%% -%% See `mathastext.dtx' for the copyright and conditions of distribution or -%% modification. -%% -\documentclass{article} -\usepackage[hscale=0.85]{geometry} -\usepackage{multicol} -\usepackage[no-math]{fontspec} -\usepackage{lmodern} -\usepackage{metalogo} -\usepackage{iftex} -\ifXeTeX -\expandafter\def\expandafter\testfileincipit\expandafter - {\testfileincipit\ (compiled with \XeLaTeX)} -\else -\ifLuaTeX -\expandafter\def\expandafter\testfileincipit\expandafter - {\testfileincipit\ (compiled with \LuaLaTeX)} -\fi\fi -\usepackage[subdued,italic,asterisk]{mathastext} -\setmainfont[Color=FF0000]{Hoefler Text} \Mathastext[Hoefler] -\setmainfont[Color=336633]{American Typewriter}\Mathastext[Typewriter] -\setmainfont[Color=0000FF]{Herculanum} \Mathastext[Herculanum] -\setmainfont[Color=FF00FF]{Didot} \Mathastext[Didot] -\setmainfont[Color=999999]{Comic Sans MS} \Mathastext[Comic] -\MTDeclareVersion{Times}{T1}{ptm}{m}{n} -\begin{document} -\MTversion{normal} -\testfileincipit - -This test uses \verb|mathastext| with its \emph{italic}, \emph{asterisk}, and -\emph{subdued} options. The base document fonts are the Latin Modern ones (in -OpenType format). The other OpenType fonts were chosen from those available on -a Mac OS machine. We also used the Times font in traditional \TeX\ font T1 -encoding, to demonstrate the removal since release \texttt{1.3u} of a former -limitation that all math versions had to share the same font encoding, else -some characters such as the dotless \texttt{i} ($\imath$), or the minus sign -could well vanish from the output in the non-normal math versions. - -Furthermore we test (last line of each block, on the left) if the non-letter -characters obey the math alphabet \verb|\mathbf|. In the normal and bold math -versions, this feature is de-activated, as option \emph{subdued} was used; and -if activated we should then use in these math versions the package -\verb|\Mathbf| rather than \verb|\mathbf| which is there still the original -one, which will use encoding \verb|OT1| in the normal and bold versions, as we -loaded \verb|fontspec| with its option \emph{no-math}. - -Some among the fonts tested have no bold variant or no italic variant. - -Note (tested 2013/09/03): for some reason the \verb|Color| specifications in the -\verb|\setmainfont| commands work only -with \XeLaTeX{}, not with \LuaLaTeX{}; a few months back I had not noticed -such a difference between the two engines. - -Update (tested 2016/01/15 with reasonably up-to-date TL2015): \verb|Color| -spec in use of \verb|\setmainfont| command now functional again with -\LuaLaTeX. - -Note (tested 2019/08/11, reasonably up-to-date TL2019): spacing with the Didot -font differs widely between \XeLaTeX\ and \LuaLaTeX{} (perhaps related to -italic corrections, see the package documentation), and also it seems -\LuaLaTeX{} will not find (from our generic usage of the \verb|fontspec| -interface, at least) bold variants of the Hoefler Text and American Typewriter -fonts, contrarily to \XeLaTeX. Also, the \emph{italic} option remains -seemingly without effect with \LuaLaTeX{} in the case of the Hoefler Text font -(see the package source code comments on some problems with the two ``modes'' -for text fonts under \LuaLaTeX, which may be related with this specific issue -here). - -Update (tested 2022/10/29, with 1.3x and up-to-date TL2022): it appears that -most, perhaps even all, of the remarks in the preceding note are now obsolete -as I do not see obvious differences between outputs from \XeLaTeX{} versus -\LuaLaTeX{} but I did not seriously compare, only quickly done. - -\newcommand\TEST[1]{\MTversion{#1}\def\tmpa{#1}% - \def\tmpb{normal}\def\tmpc{bold}% - \ifx\tmpa\tmpb\else\ifx\tmpa\tmpc\else \MTnonlettersobeymathxx - \MTexplicitbracesobeymathxx\fi\fi -\begin{multicols}{2} -\hbox to\columnwidth{\hbox to\columnwidth{\hfil - $abcdefghijklmnopqrstuvwxyz$\hfil}\kern-2.5em{#1}} - \centerline{ $ABCDEFGHIJKLMNOPQRSTUVWXYZ$ } - \centerline{ $0123456789$ } - \centerline{ $!\,?\,*\,,\,.\,:\,;\,+\,-\,=\,(\,)\,[\,]\,/\,\#\,% - \$\,\%\,\&\,<\,>\,|\,\{\,\}\,\backslash$ } - \centerline{ $\mathbf{!\,?\,*\,,\,.\,:\,;\,+\,-\,=\,(\,)\,[\,]\,/\,\#\,% - \$\,\%\,\&\,<\,>\,|\,\{\,\}\,\backslash}$ } -\columnbreak - \centerline{ abcdefghijklmnopqrstuvwxyz } - \centerline{ ABCDEFGHIJKLMNOPQRSTUVWXYZ } - \centerline{ 0123456789 } - \centerline{ !\,?\,*\,,\,.\,:\,;\,+\,-\,=\,(\,)\,[\,]\,/\,\#\,% - \$\,\%\,\&\,<\,>\,|\,\{\,\}\,\char92 } - \centerline{\bfseries !\,?\,*\,,\,.\,:\,;\,+\,-\,=\,(\,)\,[\,]\,/\,\#\,% - \$\,\%\,\&\,<\,>\,|\,\{\,\}\,\char92 } -\end{multicols}} -\begin{multicols}{2} - \centerline{\textbf{math mode}} -\columnbreak - \centerline{ \textbf{text} } -\end{multicols} -\TEST{Didot}\TEST{Comic}\TEST{normal}\TEST{Herculanum} -\TEST{Hoefler}\TEST{Typewriter}\TEST{bold}\TEST{Times} -\end{document} -\endinput -%% -%% End of file `mathastexttestunicodemacos.tex'. diff --git a/Master/texmf-dist/doc/latex/mercatormap/CHANGES.md b/Master/texmf-dist/doc/latex/mercatormap/CHANGES.md new file mode 100644 index 00000000000..49ef66fb7a9 --- /dev/null +++ b/Master/texmf-dist/doc/latex/mercatormap/CHANGES.md @@ -0,0 +1,176 @@ +# Changelog +All notable changes to this project will be documented in this file. + +The format is based on +[Keep a Changelog](https://keepachangelog.com/en/1.1.0/), +and this project adheres to +[Semantic Versioning](http://semver.org/spec/v2.0.0.html). + +## [Unreleased] + +### Added +### Changed +### Deprecated +### Removed +### Fixed +### Security + + + +## [1.2.0] - 2024-08-05 + +### Added +- Command `\ifmrcNPexists` to test existence of a named position +- Macros `\mrcAnimAngle` and `\l_mermap_anim_angle_fp` to measure + the current orthodrome angle +- Animation example for static maps + +### Changed +- `\mrcNPlat` and `\mrcNPlon` result to 0 now, if named position does not exist +- `\ifmrcNPinmap` and `\ifmrcNPinvicinity` result to `false` now, if named position does not exist +- Point definitions on an orthodrome now take an optional angle as result: + - Command `mrcNPfromOrthoFraction` + - Command `mrcNPfromOrthoFractionNamed` + - Command `mrcNPfromOrthoDistance` + - Command `mrcNPfromOrthoDistanceNamed` + +### Fixed +- Documentation contained dates from `2023` instead of `2024` + + + +## [1.1.0] - 2024-08-01 + +### Added +- New supply sources (web tile servers): + - `thunderforest atlas` + - `topplusopen web light` + - `topplusopen web light grau` +- Needed LaTeX version 2023-11-01 +- Point definitions on an orthodrome: + - Command `mrcNPfromOrthoFraction` + - Command `mrcNPfromOrthoFractionNamed` + - Command `mrcNPfromOrthoDistance` + - Command `mrcNPfromOrthoDistanceNamed` +- Animation support: + - Environment `mrcAnimation` + - Command `\mrcTimewarpIdentity` + - Command `\mrcTimewarpSlowStart` + - Command `\mrcTimewarpSlowFinal` + - Command `\mrcTimewarpSlowStartFinal` + - Command `\mrcAnimFrame` + - Command `\l_mermap_anim_frame_int` + - Command `\mrcAnimTime` + - Command `\l_mermap_anim_time_fp` + - Command `\mrcAnimScaleDenom` + - Command `\l_mermap_anim_scaledenom_fp` + - Command `\mrcAnimLatitude` + - Command `\l_mermap_anim_lat_fp` + - Command `\mrcAnimLongitude` + - Command `\l_mermap_anim_lon_fp` + - Option `start-position` + - Option `named-start-position` + - Option `final-position` + - Option `named-final-position` + - Option `position` + - Option `named-position` + - Option `frames` + - Option `drop-first-frame` + - Option `drop-last-frame` + - Option `drop-no-frame` + - Option `scale-denominators` + - Option `common-scale-denominator` + - Option `timewarp` + - Option `timewarp-identity` + - Option `timewarp-slow-start` + - Option `timewarp-slow-final` + - Option `timewarp-slow-start-final` + +### Changed +- Version history moved from documentation Chapter 11 to this changelog +- Versioning changed to [Semantic Versioning](http://semver.org/spec/v2.0.0.html) + starting with 1.1.0 +- `README` changed to `README.md` +- Key names start with `mermap` instead of `/mermap` now +- All common scratch variables like `\l_tmpa_tl` replaced by package variables +- Orthodrome code +- Several code further revisions + +### Deprecated +- Stamen Design has discontinued to server map tiles since 2023-07-31. + Therefore, all `supply/source` options based on Stamen Design are + deprecated now, namely + - `stamen terrain` + - `stamen terrain-background` + - `stamen terrain-labels` + - `stamen terrain-lines` + - `stamen toner` + - `stamen toner-lite` + - `stamen toner-hybrid` + - `stamen toner-background` + - `stamen toner-labels` + - `stamen toner-lines` + - `stamen watercolor` + All these options are now not documented any more, but for some time + are still available for old documents with cached map tiles. + +### Removed +- Requirement for packages `expl3`, `xparse`, and `pdftexcmds` + +### Fixed +- Links to the WMS maps of Bundesamt für Kartographie und Geodäsie changed +- Overwrite warning while generating `maptiles.texpy` +- Orthodrome drawing with identical starting and final point is now silently ignored + + + +## [1.02] - 2020-08-06 + +### Added +- New options + `/mermap/supply/area from marker input` and + `/mermap/supply/add area from marker input` + which allow to fit a map to a given external list of marker positions. +- New option `/mermap/fail on missing resource` to control + compilation behavior for missing resource files. +- New marker option `/mermap/marker/distance` with corresponding + macro `\mrcmarkerdistance` (issue #2) + +### Deprecated +- Openrouteservice has discontinued mapsurfer tiles since June 2020. + Therefore, `/mermap/supply/source=openrouteservice mapsurfer` + is deprecated now. It is not documented any more, but + for some time it is still available for old documents with + cached map tiles. + + + +## [1.01] - 2020-05-05 + +### Added +- New general marker option + `/mermap/marker/generic` with corresponding macros + `\mrcmarkergeneric` and `\l_mermap_marker_generic_tl`. + Also, the marker uuid is made expl3 accessible as `\l_mermap_marker_uuid_tl`. +- New hyper marker options: + - `/mermap/marker/url` + - `/mermap/marker/link` + - `/mermap/marker/use urls` + - `/mermap/marker/ignore urls` + - `/mermap/marker/use links` + - `/mermap/marker/ignore links` + +### Changed +- User messages for failed Python script calls are changed from warnings to + errors to fail fast and to provide more information and hints about + possible reasons. + +### Fixed +- Sorting of index key entries fixed for the documentation. + + + +## [1.00] - 2020-04-20 + +### Added +- Initial public release diff --git a/Master/texmf-dist/doc/latex/mercatormap/README b/Master/texmf-dist/doc/latex/mercatormap/README deleted file mode 100644 index c33ea991128..00000000000 --- a/Master/texmf-dist/doc/latex/mercatormap/README +++ /dev/null @@ -1,43 +0,0 @@ -%% The LaTeX package mercatormap - version 1.02 (2020/08/06) -%% -%% ------------------------------------------------------------------------------------------- -%% Copyright (c) 2020 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de> -%% ------------------------------------------------------------------------------------------- -%% -%% This work may be distributed and/or modified under the -%% conditions of the LaTeX Project Public License, either version 1.3 -%% of this license or (at your option) any later version. -%% 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 2005/12/01 or later. -%% -%% This work has the LPPL maintenance status `author-maintained'. -%% -%% This work consists of all files listed in README -%% - -The package ... - -Contents of the package -======================= - 'README' this file - 'mercatormap.sty' LaTeX package file (style file) - 'mercatorsupplier.def' LaTeX package file (include file for style) - 'mercatorpy.def' LaTeX package file (Python generator) - 'mercatormap.pdf' Documentation - 'mercatormap.tex' Source code of the documentation (main file) - '*.doc.*' Source code of the documentation (include files) - 'mercatormap-example.tex' Source code of an example - 'mercatormap.bib' Bibliography of the documentation - -Installation -============ -Copy the contents of the 'mercatormap.tds.zip' from CTAN to your local TeX file tree. - -Alternatively, put the files to their respective locations within the TeX installation: - 'mercatormap.sty' -> /tex/latex/mercatormap - 'mercatorpy.def' -> /tex/latex/mercatormap - 'mercatorsupplier.def' -> /tex/latex/mercatormap - - all other files -> /doc/latex/mercatormap diff --git a/Master/texmf-dist/doc/latex/mercatormap/README.md b/Master/texmf-dist/doc/latex/mercatormap/README.md new file mode 100644 index 00000000000..b7b4be29abd --- /dev/null +++ b/Master/texmf-dist/doc/latex/mercatormap/README.md @@ -0,0 +1,50 @@ +# The LaTeX package mercatormap - version 1.2.0 (2024/08/05) + + +> Copyright (c) 2020-2024 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de> + +> This work may be distributed and/or modified under the +> conditions of the LaTeX Project Public License, either version 1.3 +> of this license or (at your option) any later version. +> The latest version of this license is in +> https://www.latex-project.org/lppl.txt +> and version 1.3c or later is part of all distributions of LaTeX +> version 2008-05-04 or later. + +> This work has the LPPL maintenance status `author-maintained`. + +> This work consists of all files listed in README.md + + +The mercatormap package extends TikZ with tools to +create map graphics. The provided coordinate system relies on the +Web Mercator projection used on the Web by OpenStreetMap and others. +The package supports the seamless integration of graphics +from public map tile servers by a Python script. Also, common map +elements like markers, geodetic networks, bar scales, routes, orthodrome +pieces, and more are part of the package. + + +## Contents of the package + +- `README.md` this file +- `CHANGES.md` log of changes (history) +- `mercatormap.sty` LaTeX package file (style file) +- `mercatorsupplier.def` LaTeX package file (include file for style) +- `mercatorpy.def` LaTeX package file (Python generator) +- `mercatormap.pdf` Documentation +- `mercatormap.tex` Source code of the documentation (main file) +- `*.doc.*` Source code of the documentation (include files) +- `mercatormap-example.tex` Source code of an example +- `mercatormap.bib` Bibliography of the documentation + + +## Installation + +Copy the contents of the `mercatormap.tds.zip` from CTAN to your local TeX file tree. + +Alternatively, put the files to their respective locations within the TeX installation: +- `mercatormap.sty` -> /tex/latex/mercatormap +- `mercatorpy.def` -> /tex/latex/mercatormap +- `mercatorsupplier.def` -> /tex/latex/mercatormap +- all other files -> /doc/latex/mercatormap diff --git a/Master/texmf-dist/doc/latex/mercatormap/mercatormap-example.tex b/Master/texmf-dist/doc/latex/mercatormap/mercatormap-example.tex index 0951bf14d11..333a2495906 100644 --- a/Master/texmf-dist/doc/latex/mercatormap/mercatormap-example.tex +++ b/Master/texmf-dist/doc/latex/mercatormap/mercatormap-example.tex @@ -1,11 +1,11 @@ % \LaTeX-Main\ % !TeX encoding=UTF-8 %% -%% The LaTeX package mercatormap - version 1.02 (2020/08/06) +%% The LaTeX package mercatormap - version 1.2.0 (2024/08/05) %% mercatormap-example.tex: Example document with a map %% %% ------------------------------------------------------------------------------------------- -%% Copyright (c) 2020 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de> +%% Copyright (c) 2020-2024 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de> %% ------------------------------------------------------------------------------------------- %% %% This work may be distributed and/or modified under the diff --git a/Master/texmf-dist/doc/latex/mercatormap/mercatormap.bib b/Master/texmf-dist/doc/latex/mercatormap/mercatormap.bib index ef2e9b62131..36a3e976ec5 100644 --- a/Master/texmf-dist/doc/latex/mercatormap/mercatormap.bib +++ b/Master/texmf-dist/doc/latex/mercatormap/mercatormap.bib @@ -1,4 +1,5 @@ % Encoding: UTF-8 + % include file of mercatormap.tex (manual of the LaTeX package mercatormap) @Report{Sturm:2020, @@ -14,35 +15,27 @@ } -@manual{package:tikz, - author = {Till Tantau}, - title = {The TikZ and PGF Packages}, - subtitle = {Manual for version 3.1.5b}, - url = {http://mirrors.ctan.org/graphics/pgf/base/doc/pgfmanual.pdf}, - date = {2020-01-08}, +@Manual{package:tikz, + author = {Till Tantau}, + date = {2023-01-15}, + title = {The TikZ and PGF Packages}, + subtitle = {Manual for version 3.1.10}, + url = {https://mirrors.ctan.org/graphics/pgf/base/doc/pgfmanual.pdf}, } -@manual{package:xparse, - author = {{The \LaTeX3 Project}}, - title = {The xparse package}, - subtitle = {Document command parser}, - url = {http://mirrors.ctan.org/macros/latex/contrib/l3packages/xparse.pdf}, - date = {2020-03-06}, +@Manual{l3kernel:interfaces, + author = {{The \LaTeX3 Project}}, + date = {2024-05-27}, + title = {The \LaTeX3 Interfaces}, } -@manual{package:siunitx, - author = {Joseph Wright}, - title = {siunitx -- A comprehensive (SI) units package}, - url = {http://mirrors.ctan.org/macros/latex/contrib/siunitx/siunitx.pdf}, - date = {2020-02-25}, +@Manual{package:siunitx, + author = {Joseph Wright}, + date = {2024-06-24}, + title = {siunitx -- A comprehensive (SI) units package}, + url = {https://mirrors.ctan.org/macros/latex/contrib/siunitx/siunitx.pdf}, } - -@manual{package:expl3, - author = {{The \LaTeX3 Project}}, - title = {The expl3 package and \LaTeX3 programming}, - url = {http://mirrors.ctan.org/macros/latex/contrib/l3kernel/expl3.pdf}, - date = {2020-04-06}, -} +@Comment{jabref-meta: databaseType:biblatex;} diff --git a/Master/texmf-dist/doc/latex/mercatormap/mercatormap.doc.animations.tex b/Master/texmf-dist/doc/latex/mercatormap/mercatormap.doc.animations.tex new file mode 100644 index 00000000000..022b856a61b --- /dev/null +++ b/Master/texmf-dist/doc/latex/mercatormap/mercatormap.doc.animations.tex @@ -0,0 +1,538 @@ +% !TeX root = mercatormap.tex +% !TeX encoding=UTF-8 +% !TeX spellcheck=en_US +% include file of mercatormap.tex (manual of the LaTeX package mercatormap) +\clearpage +\section{Animations}\label{sec:animations}% + +An animation in the context of map drawing is considered to be a direct movement +from a starting position to a final position with possible adaption of +scale denominators. + +This package does not provide animation production, but allows to create a +PDF with a sequence of maps (frames) following such an animation path. + + +%------------------------------------------------------------------------------- +\subsection{Animation Environment} + +\begin{docEnvironment}[doc new=2024-07-31]{mrcAnimation}{\marg{options}} + According to the given \meta{options}, the environment loops over the + \meta{environment content} several times generating \textit{frames} + for an external animation program. + A detailed description for the \meta{options} is found in \Fullref{ref:animOptions}. + \begin{itemize} + \item Basically, the position is moved from + a given \refKey{mermap/anim/start-position} with time index |0| + following an orthodrome + to a \refKey{mermap/anim/final-position} with time index |1|. + \item + This time interval $[0,1]$ is divided into \refKey{mermap/anim/frames}. + The current frame number is denoted by \refCom{mrcAnimFrame}, + the current time is denoted by \refCom{mrcAnimTime}, and + the current position is denoted by + \refCom{mrcAnimLatitude} and \refCom{mrcAnimLongitude}, + alternatively by the named positon \docValue{AnimNP}. + \item + During movement, a time dependent sequence of \refKey{mermap/anim/scale-denominators} + defines the current scale denominator \refCom{mrcAnimScaleDenom}. + \item + The frames may have an equal time distance or have different time + distances using a \refKey{mermap/anim/timewarp}. This could be used + to slow down movement near ground and to speed up with more height. + \end{itemize} + The generated sequence of frames is applicable for + \begin{itemize} + \item Movement along an orthodrome from starting to final position with an unchanged + common scale denominator. + \item Zoom in or out on a fixed position. + \item Combination of both animations. + \item Animated orthodrome drawing on a static map. + \end{itemize} + For more complex animations, several \refEnv{mrcAnimation} environments may be + used consecutively. +\end{docEnvironment} + +\clearpage +\begin{dispExample*}{breakable} + \mrcNPdef{heathrow}{51.4678}{-0.4548} + \mrcNPdef{fiumicino}{41.8151}{12.2508} + + \begin{tcbraster}[raster height=22cm,raster columns=4,raster rows=7, + tile,size=minimal,boxsep=1pt,colback=black!20 ] + \begin{mrcAnimation} + { + named-start-position = heathrow, + named-final-position = fiumicino, + frames = 36, + scale-denominators = 0/1000000 - 0.3/8000000 - 0.7/8000000 - 1/1000000, + timewarp-slow-start-final = 1.5, + } + \begin{tcolorbox} + \begin{tikzpicture} + \mermapset + { + named flex scale = \mrcAnimScaleDenom:AnimNP, + } + \mrcmap + [ + type = reference, + named position = AnimNP, + source = topplusopen web, + tex width = \tcbtextwidth, + tex height = \tcbtextheight + ]{london-roma-\mrcAnimFrame} + \mrcdrawmap + \node[above left,font=\fontsize{3.5pt}{3.5pt}\sffamily] + at (mrcmap.south east) {\mrcmapattribution}; + \mrcclipmap + \end{tikzpicture} + \end{tcolorbox} + \end{mrcAnimation} + \end{tcbraster} +\end{dispExample*} + + + +\clearpage +\begin{dispExample*}{breakable} + % \usepackage{fontawesome5} + \mrcNPdef{heathrow}{51.4678}{-0.4548} + \mrcNPdef{lax}{33.9421}{-118.4088} + \mrcNPdef{reykjavik}{64.1289}{-21.9369} + + \begin{tcbraster}[raster height=22cm,raster columns=2,raster rows=4, + tile,size=minimal,boxsep=1pt,colback=black!20 ] + \begin{mrcAnimation} + { + named-start-position = heathrow, + named-final-position = lax, + frames = 8, + } + \begin{tcolorbox} + \begin{tikzpicture} + \mrcmap + [ + type = areafit, + area = {heathrow,lax,reykjavik}, + source = topplusopen web, + tex width = \tcbtextwidth, + tex height = \tcbtextheight, + flex area fit = 8mm, + ]{london-lax-\mrcAnimFrame} + \mrcdrawmap + \node[above left,font=\fontsize{3.5pt}{3.5pt}\sffamily] + at (mrcmap.south east) {\mrcmapattribution}; + \mrcclipmap + \mrcNPdraworthodrome[red,very thick]{heathrow}{AnimNP} + \node[red!70!black,rotate=\mrcAnimAngle] + at (\mrcNPcs{AnimNP}) {\large\faPlane}; + \end{tikzpicture} + \end{tcolorbox} + \end{mrcAnimation} + \end{tcbraster} +\end{dispExample*} + + +\clearpage +%------------------------------------------------------------------------------- +\subsection{Animation Options}\label{ref:animOptions} + +\begin{docMrcKeys}[ + doc keypath = anim, + doc new = 2024-07-31, + ]{ + { + doc name = start-position, + doc parameter = {=\meta{latitude}/\meta{longitude}}, + doc description = initially |51.4779/0| + }, + { + doc name = named-start-position, + doc parameter = {=\meta{name}}, + } + } + Starting position of the animation given by + \meta{latitude} and \meta{longitude} or by a named position using \meta{name}. +\end{docMrcKeys} + + +\begin{docMrcKeys}[ + doc keypath = anim, + doc new = 2024-07-31, + ]{ + { + doc name = final-position, + doc parameter = {=\meta{latitude}/\meta{longitude}}, + doc description = initially |51.4779/0| + }, + { + doc name = named-final-position, + doc parameter = {=\meta{name}}, + } + } + Final position of the animation given by + \meta{latitude} and \meta{longitude} or by a named position using \meta{name}. +\end{docMrcKeys} + + +\begin{docMrcKeys}[ + doc keypath = anim, + doc new = 2024-07-31, + ]{ + { + doc name = position, + doc parameter = {=\meta{latitude}/\meta{longitude}}, + doc description = initially |51.4779/0| + }, + { + doc name = named-position, + doc parameter = {=\meta{name}}, + } + } + Fixed position of the animation given by + \meta{latitude} and \meta{longitude} or by a named position using \meta{name}. + This sets \refKey{mermap/anim/start-position} and + \refKey{mermap/anim/final-position} to the identical value. +\end{docMrcKeys} + + + +\begin{docMrcKeys}[ + doc keypath = anim, + doc new = 2024-07-31, + ]{ + { + doc name = frames, + doc parameter = {=\meta{frame number}}, + doc description = initially |20| + }, + } + Integer \meta{frame number} for the animation, at least |2|. For maps made with tiles, + even a large \meta{frame number} typically results in limited downloads, + because the tiles a reused as far as possible. For WMS maps, every frame + could give another download! +\end{docMrcKeys} + + +\begin{docMrcKeys}[ + doc keypath = anim, + doc new = 2024-07-31, + doc parameter = {\colOpt{=true\textbar false}}, + doc description = {default |true|, initially |false|}, + ]{ + { + doc name = drop-first-frame, + }, + { + doc name = drop-last-frame, + }, + } + If several \refEnv{mrcAnimation} environments are used consecutively, + the end frame of one animation is identical to the start frame of the + next animation. These options allow to remove one superfluous connecting frame. +\end{docMrcKeys} + + +\begin{docMrcKeys}[ + doc keypath = anim, + doc new = 2024-07-31, + ]{ + { + doc name = drop-no-frame, + doc description = {no value, initially set}, + }, + } + Reset to drop no frames. +\end{docMrcKeys} + + +\begin{docMrcKeys}[ + doc keypath = anim, + doc new = 2024-07-31, + ]{ + { + doc name = scale-denominators, + doc parameter = {=\marg{time and scale sequence}}, + doc description = {initially |0/25000-1/25000|}, + }, + } + The \meta{time and scale sequence} has to obey the following pattern: + \par + \meta{time$_1$}|/|\meta{scale$_1$} |-| + \meta{time$_2$}|/|\meta{scale$_2$} |-| $\ldots$ |-| + \meta{time$_n$}|/|\meta{scale$_n$} + \par + The time values have to be taken from the interval $[0,1]$ and have to be + strictly monotonically increasing, i.e. + \par + $0\le$ \meta{time$_1$} $<$ + \meta{time$_2$} $<$ $\ldots$ $<$ + \meta{time$_n$} $\le 1$ + \par + If not given, time and scale for time $0$ and $1$ are automatically added + as constant continuation.\par + Depending on the current time value \refCom{mrcAnimTime}, the current + scale denominator \refCom{mrcAnimScaleDenom} is interpolated from this + sequence using a logarithmic approach. +\end{docMrcKeys} + + +\begin{docMrcKeys}[ + doc keypath = anim, + doc new = 2024-07-31, + ]{ + { + doc name = common-scale-denominator, + doc parameter = {=\marg{scale denominator}}, + doc description = {initially |25000|}, + }, + } + This is a shortcut for\par + \refKey{mermap/anim/scale-denominators} |=|\\ + \hspace*{5mm} |0/|\marg{scale denominator} |- 1/|\marg{scale denominator} + \par + Thereby, a fixed \marg{scale denominator} is set for the animation. +\end{docMrcKeys} + + +\clearpage +\begin{docMrcKeys}[ + doc keypath = anim, + doc new = 2024-07-31, + ]{ + { + doc name = timewarp, + doc parameter = {=\meta{macro}}, + doc description = initially \texttt{\textbackslash mrcTimewarpIdentity} + }, + } + \meta{macro} has to be a fully expandable \LaTeX\ macro with one parameter. + The expansion has to be a valid |expl3| \meta{floating point expression} + denoting a strictly monotonically increasing function mapping from + the interval \mbox{$[0,1]$} into \mbox{$[0,1]$} again. + This timewarp may slow down and accelerate time over the span from $0$ to $1$. +\end{docMrcKeys} + + +\begin{docCommands}[ + doc new = 2024-07-31, + ]{ + { + doc name = mrcTimewarpIdentity, + doc parameter = {=\marg{time}}, + }, + } + Identity function from \mbox{$[0,1]$} into \mbox{$[0,1]$}. +\end{docCommands} + + +\begin{docMrcKeys}[ + doc keypath = anim, + doc new = 2024-07-31, + ]{ + { + doc name = timewarp-identity, + doc description = {no value, initially set} + }, + } + Sets \refKey{mermap/anim/timewarp} to \refCom{mrcTimewarpIdentity}. + This means that time flows constantly. +\end{docMrcKeys} + + +\begin{docCommands}[ + doc new = 2024-07-31, + ]{ + { + doc name = mrcTimewarpSlowStart, + doc parameter = {=\marg{exponent}\marg{time}}, + doc description = {default |2|} + }, + } + Function term $t^{\text{\meta{exponent}}}$ +\end{docCommands} + + +\begin{docMrcKeys}[ + doc keypath = anim, + doc new = 2024-07-31, + ]{ + { + doc name = timewarp-slow-start, + doc parameter = \colOpt{=\meta{exponent}}, + doc description = {default |2|} + }, + } + Sets \refKey{mermap/anim/timewarp} to \refCom{mrcTimewarpSlowStart}\marg{exponent}. + \par + If $\text{\meta{exponent}}>1$ is used, time flows slower at the begin of the + interval \mbox{$[0,1]$}. This can be used, if a low scale denominator is + present at begin of a movement and is becoming larger later. Here, for smoothness, + you may want this to have slower speed near ground and larger speed later. +\end{docMrcKeys} + + +\begin{docCommands}[ + doc new = 2024-07-31, + ]{ + { + doc name = mrcTimewarpSlowFinal, + doc parameter = {=\marg{exponent}\marg{time}}, + doc description = {default |2|} + }, + } + Function term $1 - (1-t)^{\text{\meta{exponent}}}$ +\end{docCommands} + + +\begin{docMrcKeys}[ + doc keypath = anim, + doc new = 2024-07-31, + ]{ + { + doc name = timewarp-slow-final, + doc parameter = \colOpt{=\meta{exponent}}, + doc description = {default |2|} + }, + } + Sets \refKey{mermap/anim/timewarp} to \refCom{mrcTimewarpSlowFinal}\marg{exponent}. + \par + If $\text{\meta{exponent}}>1$ is used, time flows slower at the end of the + interval \mbox{$[0,1]$}. This can be used, if a large scale denominator is + present at begin of a movement and is becoming lower later. Here, for smoothness, + you may want this to have slower speed near ground at the end. +\end{docMrcKeys} + + +\begin{docCommands}[ + doc new = 2024-07-31, + ]{ + { + doc name = mrcTimewarpSlowStartFinal, + doc parameter = {=\marg{exponent}\marg{time}}, + doc description = {default |2|} + }, + } + Combination of \refCom{mrcTimewarpSlowStart} and \refCom{mrcTimewarpSlowFinal} + using case discrimination for the first and the second half of the intervall. +\end{docCommands} + + +\begin{docMrcKeys}[ + doc keypath = anim, + doc new = 2024-07-31, + ]{ + { + doc name = timewarp-slow-start-final, + doc parameter = \colOpt{=\meta{exponent}}, + doc description = {default |2|} + }, + } + Sets \refKey{mermap/anim/timewarp} to \refCom{mrcTimewarpSlowStartFinal}\marg{exponent}. + \par + If $\text{\meta{exponent}}>1$ is used, time flows slower at the begin and at the end of the + interval \mbox{$[0,1]$}. This can be used, if a low scale denominator is + present at begin of a movement, becomes larger in the middle, and finally + is becoming lower later. Here, for smoothness, + you may want this to have slower speed near ground at the begin and the end. +\end{docMrcKeys} + + +\clearpage +%------------------------------------------------------------------------------- +\subsection{Macros inside the Animation Environment}\label{ref:animMacros} + +\begin{docCommands}[ + doc new = 2024-07-31, + ]{ + { + doc name = mrcAnimFrame, + }, + { + doc name = l_mermap_anim_frame_int, + }, + } + The current frame number ranging from $1$ to \refKey{mermap/anim/frames}. +\end{docCommands} + + +\begin{docCommands}[ + doc new = 2024-07-31, + ]{ + { + doc name = mrcAnimTime, + }, + { + doc name = l_mermap_anim_time_fp, + }, + } + The current time ranging from $0$ to $1$. +\end{docCommands} + + +\begin{docCommands}[ + doc new = 2024-07-31, + ]{ + { + doc name = mrcAnimScaleDenom, + }, + { + doc name = l_mermap_anim_scaledenom_fp, + }, + } + The current scale denominator according to \refKey{mermap/anim/scale-denominators}. +\end{docCommands} + + +\begin{docCommands}[ + doc new = 2024-07-31, + ]{ + { + doc name = mrcAnimLatitude, + }, + { + doc name = l_mermap_anim_lat_fp, + }, + } + The latitude of the current position. +\end{docCommands} + + +\begin{docCommands}[ + doc new = 2024-07-31, + ]{ + { + doc name = mrcAnimLongitude, + }, + { + doc name = l_mermap_anim_lon_fp, + }, + } + The longitude of the current position. +\end{docCommands} + + +\begin{docCommands}[ + doc new = 2024-08-05, + ]{ + { + doc name = mrcAnimAngle, + }, + { + doc name = l_mermap_anim_angle_fp, + }, + } + Current angle between the tangent vector to the orthodrome and + the current parallel circle. +\end{docCommands} + + + + +\docValue{AnimNP}\tcbdocmarginnote{\tcbdocnew{2024-07-31}}: + The current named position. + + + + diff --git a/Master/texmf-dist/doc/latex/mercatormap/mercatormap.doc.definition.tex b/Master/texmf-dist/doc/latex/mercatormap/mercatormap.doc.definition.tex index ad285fb7c90..01667cd1d32 100644 --- a/Master/texmf-dist/doc/latex/mercatormap/mercatormap.doc.definition.tex +++ b/Master/texmf-dist/doc/latex/mercatormap/mercatormap.doc.definition.tex @@ -23,14 +23,14 @@ \subsection{Option Setting} \begin{docCommand}{mermapset}{\marg{options}} Sets \meta{options} for all following maps inside the current \TeX\ group. - All options share the common prefix |/mermap/|, e.g. for setting - \refKey{/mermap/vicinity} use + All options share the common prefix |mermap/|, e.g. for setting + \refKey{mermap/vicinity} use \begin{dispListing} \mermapset{vicinity=3cm} \end{dispListing} Also see \refCom{mrcdefinemap}, \refCom{mermapsetsupply}, and \refCom{mermapsetmarker}.\par - Note that the options by \refCom{mermapset} are |expl3| \cite{package:expl3} + Note that the options by \refCom{mermapset} are |expl3| \cite{l3kernel:interfaces} keys while \tikzname\ \cite{package:tikz} uses its own key management. \end{docCommand} @@ -45,7 +45,7 @@ See \Fullref{sec:automated_map} for script aided map definitions. \begin{docCommand}{mrcdefinemap}{\marg{options}} Establishes a map inside a |tikzpicture| environment following and applying the given \meta{options}. - All options share the common prefix |/mermap/mapdef/|. + All options share the common prefix |mermap/mapdef/|. After \refCom{mrcdefinemap} is applied, map drawing and map coordinates can be used. \begin{itemize} @@ -60,25 +60,25 @@ See \Fullref{sec:automated_map} for script aided map definitions. \begin{docMrcKey}[mapdef]{north}{=\meta{map north latitude}}{no default, initially 50} Northern latitude degree of the visible map, possibly negative for the southern hemisphere, - lower than $90$ but always larger than \refKey{/mermap/mapdef/south}. + lower than $90$ but always larger than \refKey{mermap/mapdef/south}. It is accessible as \docAuxCommand{mrcmapnorth} (use read-only). \end{docMrcKey} \begin{docMrcKey}[mapdef]{south}{=\meta{map south latitude}}{no default, initially 48} Southern latitude degree of the visible map, possibly negative for the southern hemisphere, - larger than $-90$ but always lower than \refKey{/mermap/mapdef/north}. + larger than $-90$ but always lower than \refKey{mermap/mapdef/north}. It is accessible as \docAuxCommand{mrcmapsouth} (use read-only). \end{docMrcKey} \begin{docMrcKey}[mapdef]{west}{=\meta{map west longitude}}{no default, initially 11} Western longitude degree of the visible map, possibly negative for the western hemisphere, - possibly shifted periodically, but always lower than \refKey{/mermap/mapdef/east}. + possibly shifted periodically, but always lower than \refKey{mermap/mapdef/east}. It is accessible as \docAuxCommand{mrcmapwest} (use read-only). \end{docMrcKey} \begin{docMrcKey}[mapdef]{east}{=\meta{map east longitude}}{no default, initially 13} Eastern longitude degree of the visible map, possibly negative for the western hemisphere, - possibly shifted periodically, but always larger than \refKey{/mermap/mapdef/west}. + possibly shifted periodically, but always larger than \refKey{mermap/mapdef/west}. It is accessible as \docAuxCommand{mrcmapeast} (use read-only). \end{docMrcKey} @@ -149,7 +149,7 @@ information. \begin{docMrcKey}[mapdef]{attribution print}{=\meta{attribution text}}{no default, initially empty} Attribution text for the map source. - In contrast to \refKey{/mermap/mapdef/attribution} it is intended for media + In contrast to \refKey{mermap/mapdef/attribution} it is intended for media that does not support hyperlinks like printed posters, books, etc. It is accessible as \docAuxCommand{mrcmapattributionprint} (use read-only). \end{docMrcKey} @@ -166,7 +166,7 @@ information. \end{docMrcKey} \begin{docMrcKey}[mapdef]{tile size}{=\meta{length}}{no default, initially |32.512mm|} - Typically set computationally. It is identical to \refKey{/mermap/tile size} + Typically set computationally. It is identical to \refKey{mermap/tile size} which is the recommended user option for manual setup. \end{docMrcKey} @@ -204,7 +204,7 @@ The border of the visible map is denoted by a \tikzname\ node \docNode{mrcmap}. \medskip The |mrc cs| coordinate system defines a map point by -\refKey{/mermap/cs/latitude} and \refKey{/mermap/cs/longitude} +\refKey{mermap/cs/latitude} and \refKey{mermap/cs/longitude} \begin{docMrcKey}[cs]{latitude}{=\meta{latitude}}{no default} Sets the \meta{latitude} of a map point. @@ -220,7 +220,7 @@ The |mrc cs| coordinate system defines a map point by \medskip A map point can also be defined by shorter variants -\refKey{/mermap/cs/lat} and \refKey{/mermap/cs/lon} +\refKey{mermap/cs/lat} and \refKey{mermap/cs/lon} \begin{docMrcKey}[cs]{lat}{=\meta{latitude}}{no default} Sets the \meta{latitude} of a map point. @@ -298,9 +298,10 @@ A map point can be defined even quicker by \end{docCommand} -\begin{docCommand}{mrcNPlat}{\marg{name}} +\begin{docCommand}[doc updated=2024-08-02]{mrcNPlat}{\marg{name}} Inserts the \emph{latitude} of a \emph{named position} with given \meta{name}. \refCom{mrcNPlat} is expandable and may be used in floating point expressions. + If the \meta{name} does not exist, the macro expands to |0|. \begin{dispExample} \mrcNPdef{nuremberg}{49.45522}{11.07631} Latitude: \mrcNPlat{nuremberg}\\ @@ -309,9 +310,16 @@ A map point can be defined even quicker by \end{docCommand} -\begin{docCommand}{mrcNPlon}{\marg{name}} +\begin{docCommand}[doc updated=2024-08-02]{mrcNPlon}{\marg{name}} Inserts the \emph{longitude} of a \emph{named position} with given \meta{name}. \refCom{mrcNPlon} is expandable and may be used in floating point expressions. + If the \meta{name} does not exist, the macro expands to |0|. +\end{docCommand} + + +\begin{docCommand}[doc new=2024-08-02]{ifmrcNPexists}{\marg{name}\marg{true}\marg{false}} + If the given \emph{named position} with given \meta{name} exists, the \meta{true} code is executed, otherwise + the \meta{false} code. \end{docCommand} @@ -356,7 +364,7 @@ Very similar to \refCom{ifmrcinmap} is \refCom{ifmrcinvicinity}. \begin{docCommand}{ifmrcinvicinity}{\marg{latitude}\marg{longitude}\marg{true}\marg{false}} If the given \meta{latitude} and \meta{longitude} describes a point - inside a vicinity of the visible map, i.e. the map \emph{plus} a margin of \refKey{/mermap/vicinity}, + inside a vicinity of the visible map, i.e. the map \emph{plus} a margin of \refKey{mermap/vicinity}, the \meta{true} code is executed, otherwise the \meta{false} code.\par Inside the \meta{true} code a \tikzname\ coordinate \docNode{mrcpos} diff --git a/Master/texmf-dist/doc/latex/mercatormap/mercatormap.doc.drawing.tex b/Master/texmf-dist/doc/latex/mercatormap/mercatormap.doc.drawing.tex index dd86fcedbdc..0b484da09bb 100644 --- a/Master/texmf-dist/doc/latex/mercatormap/mercatormap.doc.drawing.tex +++ b/Master/texmf-dist/doc/latex/mercatormap/mercatormap.doc.drawing.tex @@ -11,7 +11,7 @@ \begin{docCommand}{mrcdrawmap}{\oarg{options}} Inside a |tikzpicture| environment, \refCom{mrcdrawmap} draws a map prepared by \refCom{mrcdefinemap}, \refCom{mrcapplymap}, or \refCom{mrcmap}. - All \meta{options} share the common prefix |/mermap/|. + All \meta{options} share the common prefix |mermap/|. This is the principal macro to draw a prepared map respectively the background of the map. The background consists of downloaded map tiles or just a color rectangle. @@ -19,10 +19,10 @@ \begin{docMrcKey}{draw}{=\meta{tile draw}}{no default, initially |auto|} \begin{itemize} - \item\docValue{auto}: Draws the map according to \refKey{/mermap/mapdef/resource}, + \item\docValue{auto}: Draws the map according to \refKey{mermap/mapdef/resource}, i.e. downloaded maps or tiles are used, if available. \item\docValue{path}: Draws the map according to the style given by - \refKey{/mermap/map path}. Existing map tiles or merged maps are ignored + \refKey{mermap/map path}. Existing map tiles or merged maps are ignored \item\docValue{tiles}: Draws the map with downloaded map tiles, if available. \item\docValue{mergedmap}: Draws the map with a merged picture, if @@ -75,24 +75,24 @@ Typically, the pixel size of a map tile is fixed and a map tile is a pixel graphics file. The actual size of such an included picture inside the document is freely selectable. Note that a very small -\refKey{/mermap/tile size} results in very small map lettering, -while a very large \refKey{/mermap/tile size} results results in +\refKey{mermap/tile size} results in very small map lettering, +while a very large \refKey{mermap/tile size} results results in very blurred images. The general idea of a \emph{flexible} tile size is to specify an aspired -tile size called \refKey{/mermap/flex tile size} and to give \LaTeX\ -the freedom to select \refKey{/mermap/tile size} in \emph{about the same size} -as \refKey{/mermap/flex tile size}. +tile size called \refKey{mermap/flex tile size} and to give \LaTeX\ +the freedom to select \refKey{mermap/tile size} in \emph{about the same size} +as \refKey{mermap/flex tile size}. This freedom is used to achieve a \emph{pseudo zoom} called -\refKey{/mermap/flex zoom} which is a nearly arbitrary rational number instead -of \refKey{/mermap/supply/zoom} which is a natural number. +\refKey{mermap/flex zoom} which is a nearly arbitrary rational number instead +of \refKey{mermap/supply/zoom} which is a natural number. This \emph{pseudo zoom} is applied by several options which share \emph{flex} in their names, e.g. -\refKey{/mermap/flex scale}, \refKey{/mermap/named flex scale}, -\refKey{/mermap/supply/flex reference scale}, -\refKey{/mermap/supply/flex area scale}, -\refKey{/mermap/supply/flex area fit}. +\refKey{mermap/flex scale}, \refKey{mermap/named flex scale}, +\refKey{mermap/supply/flex reference scale}, +\refKey{mermap/supply/flex area scale}, +\refKey{mermap/supply/flex area fit}. @@ -101,30 +101,30 @@ in their names, e.g. For standard tiles with 256 times 256 pixels a tile size of \SI{32.512}{mm} = \SI{1.28}{in} results in an approximate \SI{200}{dpi} output for the document. - For a |beamer| document, consider to use a \refKey{/mermap/tile size} of + For a |beamer| document, consider to use a \refKey{mermap/tile size} of \SI{21.333333}{mm} to get approximate 1:1 pixel input and output (depending on |beamer| settings - and used hardware). Also see \refKey{/mermap/mapdef/tile size}. + and used hardware). Also see \refKey{mermap/mapdef/tile size}. \end{docMrcKey} \begin{docMrcKey}{flex tile size}{=\meta{length}}{no default, initially |32.512mm|} Aspired width and height of a tile picture are set to \meta{length}. - This value is used while applying \refKey{/mermap/flex zoom}. + This value is used while applying \refKey{mermap/flex zoom}. \end{docMrcKey} \begin{docMrcKey}{flex zoom}{=\meta{pseudo zoom}}{style, no default} - This style sets \refKey{/mermap/supply/zoom} and \refKey{/mermap/tile size} in combination. + This style sets \refKey{mermap/supply/zoom} and \refKey{mermap/tile size} in combination. \begin{itemize} \item If \meta{pseudo zoom} is a natural number, - \refKey{/mermap/supply/zoom} is set to \meta{pseudo zoom} and - \refKey{/mermap/tile size} is set to \refKey{/mermap/flex tile size}. - \item Otherwise, \refKey{/mermap/supply/zoom} is set to the natural number - closest to \meta{pseudo zoom} and \refKey{/mermap/tile size} is such + \refKey{mermap/supply/zoom} is set to \meta{pseudo zoom} and + \refKey{mermap/tile size} is set to \refKey{mermap/flex tile size}. + \item Otherwise, \refKey{mermap/supply/zoom} is set to the natural number + closest to \meta{pseudo zoom} and \refKey{mermap/tile size} is such enlarged or reduced that the \meta{pseudo zoom} value is simulated, i.e. the \emph{impression} of a rational zoom factor is given. \end{itemize} - Note that \refKey{/mermap/flex zoom} has to be used \emph{before} + Note that \refKey{mermap/flex zoom} has to be used \emph{before} \refCom{mrcsupplymap} or \refCom{mrcmap}, because the zoom setup is adapted. \end{docMrcKey} @@ -133,12 +133,12 @@ in their names, e.g. \clearpage \begin{docMrcKey}{flex scale}{=\meta{scale denominator}:\meta{latitude}}{style, no default} For different latitude scopes, an identical zoom factor produces maps of - different scale. With \refKey{/mermap/flex scale}, a \refKey{/mermap/flex zoom} + different scale. With \refKey{mermap/flex scale}, a \refKey{mermap/flex zoom} is computed to achieve the given \meta{scale denominator} at a given \meta{latitude}. Note that this only applies to the center of a map. If the produced map is not centered at \meta{latitude}, the produced scale may differ from the intended one. - Also see \refKey{/mermap/supply/flex reference scale}. + Also see \refKey{mermap/supply/flex reference scale}. \tikzsetnextfilename{drawing_flex_scale}% \begin{dispExample} @@ -162,7 +162,7 @@ in their names, e.g. \begin{docMrcKey}{named flex scale}{=\meta{scale denominator}:\meta{name}}{style, no default} - Identical to \refKey{/mermap/flex scale}, but used the \emph{named position} + Identical to \refKey{mermap/flex scale}, but used the \emph{named position} \meta{name} to provide a \emph{latitude}, see \Fullref{sec:names_positions}. \begin{dispListing} \mrcNPdef{munich}{48.137222}{11.575556} @@ -179,12 +179,12 @@ in their names, e.g. \begin{docCommand}{mrcdrawnetwork}{\oarg{options}} Draws a geodetic network with meridians and parallels. - All \meta{options} share the common prefix |/mermap/|. + All \meta{options} share the common prefix |mermap/|. The displayed lines are selected automatically according to some tuning parameters. - The map is sliced in \emph{about} maximal \refKey{/mermap/network pieces} in each + The map is sliced in \emph{about} maximal \refKey{mermap/network pieces} in each direction. Meridians and parallels share a minimal distance of - \emph{about} \refKey{/mermap/network distance}. The algorithm is + \emph{about} \refKey{mermap/network distance}. The algorithm is allowed to violate these conditions \emph{somewhat}. Note that oversized maps are not supported, i.e. maps which are wider @@ -213,7 +213,7 @@ in their names, e.g. \begin{docMrcKey}{network pieces}{=\meta{number}}{no default, initially |8|} The map is sliced in \emph{about} maximal \meta{number} pieces in each direction. \meta{number} may be exceeded \emph{somewhat}. - It is underrun to comply with \refKey{/mermap/network distance}. + It is underrun to comply with \refKey{mermap/network distance}. \end{docMrcKey} @@ -221,7 +221,7 @@ in their names, e.g. Meridians and parallels share a minimal distance of \emph{about} \meta{mesh width}. \meta{mesh width} may be underrun \emph{somewhat}. - It is exceeded to comply with \refKey{/mermap/network pieces}. + It is exceeded to comply with \refKey{mermap/network pieces}. For parallels on small scale maps, it refers to an averaged mesh width. \end{docMrcKey} diff --git a/Master/texmf-dist/doc/latex/mercatormap/mercatormap.doc.examples.tex b/Master/texmf-dist/doc/latex/mercatormap/mercatormap.doc.examples.tex index 7eb5b5f86e2..11c3068f311 100644 --- a/Master/texmf-dist/doc/latex/mercatormap/mercatormap.doc.examples.tex +++ b/Master/texmf-dist/doc/latex/mercatormap/mercatormap.doc.examples.tex @@ -14,13 +14,13 @@ Note to do all preparations documented in \Fullref{sec:python}. %------------------------------------------------------------------------------- \subsection{Reference Position} -With \refKey{/mermap/supply/type}|=|\docValue{reference} a map with a +With \refKey{mermap/supply/type}|=|\docValue{reference} a map with a \emph{reference position} is constructed. Here, Munich is taken as reference position and center of the map. Since the position is used more than once, it is stored with \refCom{mrcNPdef} for further reference. -With \refKey{/mermap/supply/flex reference scale} the scale +With \refKey{mermap/supply/flex reference scale} the scale is set to 1:6\,000\,000. For the background map tiles, a -\refKey{/mermap/supply/source} is selected for download. +\refKey{mermap/supply/source} is selected for download. This setup is done by \refCom{mrcmap} while \refCom{mrcdrawmap} draws the downloaded map tiles. @@ -84,10 +84,10 @@ the downloaded map tiles. %------------------------------------------------------------------------------- \subsection{Fitting Area} -With \refKey{/mermap/supply/type}|=|\docValue{areafit} a map is constructed +With \refKey{mermap/supply/type}|=|\docValue{areafit} a map is constructed where a given area is fitted in. The following example lists some -US-American cities and constructs an \refKey{/mermap/supply/area} which -contains all of them. With \refKey{/mermap/supply/flex area fit}|=15mm| a +US-American cities and constructs an \refKey{mermap/supply/area} which +contains all of them. With \refKey{mermap/supply/flex area fit}|=15mm| a border region is added. @@ -102,7 +102,7 @@ border region is added. \mrcNPdef{denver}{39.7372435}{-104.997378} \mrcmap[type=areafit, area={honolulu,fairbanks,sandiego,miami,boston,denver}, - source=stamen terrain, + source=topplusopen web, tex width=15cm, tex height=11cm, flex area fit=15mm, ]{examples_fitting_area} @@ -122,12 +122,12 @@ border region is added. %------------------------------------------------------------------------------- \subsection{Fixed Boundaries} -With \refKey{/mermap/supply/type}|=|\docValue{boundaries} a map is constructed +With \refKey{mermap/supply/type}|=|\docValue{boundaries} a map is constructed with fixed boundaries. In contrast to the other map types, the document map size cannot be given directly but derives from the map setup. This bears the risk of too large maps. The following example is a map with exact boundaries \mrcformlat{-45} to \mrcformlat{-10} -and \mrcformlon{110} to \mrcformlon{155}. A decent \refKey{/mermap/supply/zoom} +and \mrcformlon{110} to \mrcformlon{155}. A decent \refKey{mermap/supply/zoom} is 5 (every zoom step doubles the map size in each direction). \tikzsetnextfilename{examples_boundaries}% @@ -160,7 +160,7 @@ is 5 (every zoom step doubles the map size in each direction). \subsection{Map Without Map Tiles} There is no coercion to use downloaded map tiles, if they are not needed or -wanted. With \refKey{/mermap/supply/target}|=none| no map tiles are downloaded. +wanted. With \refKey{mermap/supply/target}|=none| no map tiles are downloaded. The following example draws a rough polygon shape of Germany using \refEnv{mrcroute*}. @@ -299,7 +299,7 @@ The following example draws a rough polygon shape of Germany using %------------------------------------------------------------------------------- \subsection{Alignment of the Reference Position} -With \refKey{/mermap/supply/align} the reference position can be aligned +With \refKey{mermap/supply/align} the reference position can be aligned at different map positions. \tikzsetnextfilename{examples_alignment}% @@ -332,13 +332,13 @@ at different map positions. \subsection{Flexible Zoom} Map tiles are only provided at fixed zoom levels with natural numbers, -but the package allows a \refKey{/mermap/flex zoom} with rational numbers. +but the package allows a \refKey{mermap/flex zoom} with rational numbers. The flexible zoom is realized by combining a suitable fixed zoom with an adapted document tile scaling, see \Fullref{sec:flexible_tile_size}. The following example shows a more or less smooth zoom increase. The same technique is used by all options starting with |flex|, e.g. -\refKey{/mermap/supply/flex reference scale} -or \refKey{/mermap/supply/flex area fit} +\refKey{mermap/supply/flex reference scale} +or \refKey{mermap/supply/flex area fit} as seen in the examples before. \tikzexternaldisable diff --git a/Master/texmf-dist/doc/latex/mercatormap/mercatormap.doc.intro.tex b/Master/texmf-dist/doc/latex/mercatormap/mercatormap.doc.intro.tex index 294f5e278fc..29514fb0f03 100644 --- a/Master/texmf-dist/doc/latex/mercatormap/mercatormap.doc.intro.tex +++ b/Master/texmf-dist/doc/latex/mercatormap/mercatormap.doc.intro.tex @@ -18,9 +18,7 @@ and the algorithms of this packages, you are invited to read \enquote{\fullcite{Sturm:2020}}. With very few exceptions, the package is programmed with the -|expl3| \cite{package:expl3} programming interface for \LaTeX3 -and loads the packages -|xparse| \cite{package:xparse} and |siunitx| \cite{package:siunitx}. +|expl3| programming interface for \LaTeX3 \cite{l3kernel:interfaces}. \medskip @@ -103,7 +101,7 @@ This should give a version number starting with 3. Otherwise, try \begin{dispListing} python3 --version \end{dispListing} -If this is successful, \refKey{/mermap/python} has to be adapted to |python3| +If this is successful, \refKey{mermap/python} has to be adapted to |python3| \subsubsection{Python Packages} The Python packages |Pillow| (\url{https://pypi.org/project/Pillow/}) diff --git a/Master/texmf-dist/doc/latex/mercatormap/mercatormap.doc.limitations.tex b/Master/texmf-dist/doc/latex/mercatormap/mercatormap.doc.limitations.tex index 0c44427ca54..70a08de273a 100644 --- a/Master/texmf-dist/doc/latex/mercatormap/mercatormap.doc.limitations.tex +++ b/Master/texmf-dist/doc/latex/mercatormap/mercatormap.doc.limitations.tex @@ -42,8 +42,8 @@ remember that the eastern hemisphere lies \emph{west} and the western hemisphere lies \emph{east} for your map. Consider the following example displaying Vladivostok and Anchorage. - Here, \refKey{/mermap/supply/west} is set to \ang{130}\,E (|130|) - and \refKey{/mermap/supply/east} is set to \ang{149}\,W (|211| instead of |-149|). + Here, \refKey{mermap/supply/west} is set to \ang{130}\,E (|130|) + and \refKey{mermap/supply/east} is set to \ang{149}\,W (|211| instead of |-149|). There is some automatic correction for positions to fit inside the defined map (see Anchorage in the example below), but @@ -123,7 +123,7 @@ \tikzsetnextfilename{limit_zoom_scale_1} \begin{dispExample} - \mermapsetsupply{source=stamen terrain, type=reference, zoom=12, + \mermapsetsupply{source=topplusopen web, type=reference, zoom=12, tex width=7cm, tex height=5cm} \begin{tikzpicture} \mrcmap[latitude=59.91,longitude=10.75]{oslo1} \mrcdrawmap @@ -133,12 +133,12 @@ \begin{center}\fontsize{7pt}{7pt}\sffamily\mrcmapattribution\end{center} \end{dispExample} - Same example again, but with \refKey{/mermap/flex scale} which gives + Same example again, but with \refKey{mermap/flex scale} which gives 1:150000 for both cities and comparable maps. \tikzsetnextfilename{limit_zoom_scale_2} \begin{dispExample} - \mermapsetsupply{source=stamen terrain, type=reference} + \mermapsetsupply{source=topplusopen web, type=reference} \begin{tikzpicture} \mrcmap[latitude=59.91,longitude=10.75, flex reference scale=150000, tex width=7cm, tex height=5cm]{oslo2} \mrcdrawmap diff --git a/Master/texmf-dist/doc/latex/mercatormap/mercatormap.doc.maptiles.tex b/Master/texmf-dist/doc/latex/mercatormap/mercatormap.doc.maptiles.tex index 9786414753f..aa306f59627 100644 --- a/Master/texmf-dist/doc/latex/mercatormap/mercatormap.doc.maptiles.tex +++ b/Master/texmf-dist/doc/latex/mercatormap/mercatormap.doc.maptiles.tex @@ -73,7 +73,7 @@ accompanying Python script. The technical background is documented in \cite[Section~5]{Sturm:2020}. \begin{enumerate} -\item \refKey{/mermap/supply/type}|=|\docValue{reference}: +\item \refKey{mermap/supply/type}|=|\docValue{reference}: \tcbsidebyside[sidebyside adapt=left,blankest,grow to left by=1cm] { \tikzexternaldisable @@ -85,12 +85,12 @@ accompanying Python script. The technical background is documented in }{ The default method determines the map dimensions from a reference position and given document map dimensions. - Also, a zoom level \refKey{/mermap/supply/zoom} + Also, a zoom level \refKey{mermap/supply/zoom} is required which relates to the Web Mercator map tile covering of the Earth. A higher zoom level gives a growing number of smaller map tiles. Alternative to the zoom level, a \meta{scale denominator} can be provided - by \refKey{/mermap/supply/flex area scale}, \refKey{/mermap/flex scale} - or \refKey{/mermap/supply/flex reference scale} which determines + by \refKey{mermap/supply/flex area scale}, \refKey{mermap/flex scale} + or \refKey{mermap/supply/flex reference scale} which determines the zoom level implicitly. As default, the reference position is the center of the map, but can be aligned at the map borders. This method is quite safe to use and could @@ -100,7 +100,7 @@ accompanying Python script. The technical background is documented in be more tricky. } -\item \refKey{/mermap/supply/type}|=|\docValue{areafit}: +\item \refKey{mermap/supply/type}|=|\docValue{areafit}: \tcbsidebyside[sidebyside adapt=left,blankest,grow to left by=1cm] { \tikzexternaldisable @@ -114,7 +114,7 @@ accompanying Python script. The technical background is documented in The map dimensions are determined by an area with latitude and longitude boundaries which is fitted into given document map dimensions. The zoom level is computed accordingly - for a fixed document tile size or by \refKey{/mermap/supply/flex area fit}. + for a fixed document tile size or by \refKey{mermap/supply/flex area fit}. In any case, the map contains the target area plus some protrusion. This method is also quite safe to use and may be the preferred one for many applications like showing a map which contains @@ -123,7 +123,7 @@ accompanying Python script. The technical background is documented in the third method can be regarded. } -\item \refKey{/mermap/supply/type}|=|\docValue{boundaries}: +\item \refKey{mermap/supply/type}|=|\docValue{boundaries}: \tcbsidebyside[sidebyside adapt=left,blankest,grow to left by=1cm] { \tikzexternaldisable @@ -134,11 +134,11 @@ accompanying Python script. The technical background is documented in }{ The most obvious method determines the map dimensions from latitude and longitude boundaries. For this, a corresponding zoom level - \refKey{/mermap/supply/zoom} + \refKey{mermap/supply/zoom} is required which relates to the Web Mercator map tile covering of the Earth. Alternative to the zoom level, a \meta{scale denominator} can be provided - by \refKey{/mermap/supply/flex area scale} - or \refKey{/mermap/supply/flex reference scale} which determines + by \refKey{mermap/supply/flex area scale} + or \refKey{mermap/supply/flex reference scale} which determines the zoom level implicitly. Note that a too high zoom level imposes the risk of downloading an unwanted high quantity of map tiles resulting in a much too large document map. @@ -156,9 +156,9 @@ accompanying Python script. The technical background is documented in \begin{docCommand}{mrcsupplymap}{\oarg{options}\marg{definition}} The \meta{options} provide parameters for the Python~3 script to supply all materials for a map. - All options share the common prefix |/mermap/supply/|.\par + All options share the common prefix |mermap/supply/|.\par The map is identified by\\ - \meta{id}=\refKey{/mermap/definition prefix}+\meta{definition}\\ + \meta{id}=\refKey{mermap/definition prefix}+\meta{definition}\\ for later drawing. This identifier \meta{id} has to be unique for the document. It corresponds to generated files \meta{id}|.def|, \meta{id}|.md5|, and @@ -172,8 +172,8 @@ accompanying Python script. The technical background is documented in \begin{docCommand}{mermapsetsupply}{\marg{options}} Sets \meta{options} for all following maps inside the current \TeX\ group. - All options share the common prefix |/mermap/supply/|, e.g. for setting - \refKey{/mermap/supply/type} use + All options share the common prefix |mermap/supply/|, e.g. for setting + \refKey{mermap/supply/type} use \begin{dispListing} \mermapsetsupply{type=reference} \end{dispListing} @@ -184,7 +184,7 @@ accompanying Python script. The technical background is documented in \begin{docMrcKey}{definition prefix}{=\meta{definition prefix}}{no default, initially |maps/|} Prefix for map identifiers and generated map files, see \refCom{mrcsupplymap} and \refCom{mrcapplymap}. - Note that \refKey{/mermap/definition prefix} is not to be used inside + Note that \refKey{mermap/definition prefix} is not to be used inside the option list for \refCom{mrcsupplymap}. \end{docMrcKey} @@ -193,30 +193,30 @@ accompanying Python script. The technical background is documented in \begin{itemize} \item\docValue{reference}: \flqq map with reference position\frqq\\ The map is constructed from a given reference position - \refKey{/mermap/supply/latitude},\\ - \refKey{/mermap/supply/longitude},\\ - a zoom level \refKey{/mermap/supply/zoom},\\ + \refKey{mermap/supply/latitude},\\ + \refKey{mermap/supply/longitude},\\ + a zoom level \refKey{mermap/supply/zoom},\\ map dimensions\\ - \refKey{/mermap/supply/width},\\ - \refKey{/mermap/supply/height},\\ - and alignment \refKey{/mermap/supply/align}. + \refKey{mermap/supply/width},\\ + \refKey{mermap/supply/height},\\ + and alignment \refKey{mermap/supply/align}. \item\docValue{areafit}: \flqq map fitting an area\frqq\\ The map is constructed from a given area boundaries\\ - \refKey{/mermap/supply/west},\\ - \refKey{/mermap/supply/east},\\ - \refKey{/mermap/supply/north},\\ - \refKey{/mermap/supply/south},\\ + \refKey{mermap/supply/west},\\ + \refKey{mermap/supply/east},\\ + \refKey{mermap/supply/north},\\ + \refKey{mermap/supply/south},\\ map dimensions\\ - \refKey{/mermap/supply/width},\\ - \refKey{/mermap/supply/height},\\ - and alignment \refKey{/mermap/supply/align}. + \refKey{mermap/supply/width},\\ + \refKey{mermap/supply/height},\\ + and alignment \refKey{mermap/supply/align}. \item\docValue{boundaries}: \flqq map with boundaries\frqq\\ The map is constructed from given boundaries\\ - \refKey{/mermap/supply/west},\\ - \refKey{/mermap/supply/east},\\ - \refKey{/mermap/supply/north},\\ - \refKey{/mermap/supply/south},\\ - and zoom level \refKey{/mermap/supply/zoom}. + \refKey{mermap/supply/west},\\ + \refKey{mermap/supply/east},\\ + \refKey{mermap/supply/north},\\ + \refKey{mermap/supply/south},\\ + and zoom level \refKey{mermap/supply/zoom}. \end{itemize} \end{docMrcKey} @@ -229,25 +229,25 @@ accompanying Python script. The technical background is documented in \begin{docMrcKey}[supply]{north}{=\meta{setup north latitude}}{no default, initially |50|} Northern latitude degree, possibly negative for the southern hemisphere, - lower than $90$ but always larger than \refKey{/mermap/supply/south}. + lower than $90$ but always larger than \refKey{mermap/supply/south}. Used for map types \docValue{boundaries} and \docValue{areafit}. \end{docMrcKey} \begin{docMrcKey}[supply]{south}{=\meta{setup south latitude}}{no default, initially |48|} Southern latitude degree, possibly negative for the southern hemisphere, - larger than $-90$ but always lower than \refKey{/mermap/supply/north}. + larger than $-90$ but always lower than \refKey{mermap/supply/north}. Used for map types \docValue{boundaries} and \docValue{areafit}. \end{docMrcKey} \begin{docMrcKey}[supply]{west}{=\meta{setup west longitude}}{no default, initially |11|} Western longitude degree, possibly negative for the western hemisphere, - possibly shifted periodically, but always lower than \refKey{/mermap/supply/east}. + possibly shifted periodically, but always lower than \refKey{mermap/supply/east}. Used for map types \docValue{boundaries} and \docValue{areafit}. \end{docMrcKey} \begin{docMrcKey}[supply]{east}{=\meta{setup east longitude}}{no default, initially |13|} Eastern longitude degree, possibly negative for the western hemisphere, - possibly shifted periodically, but always larger than \refKey{/mermap/supply/west}. + possibly shifted periodically, but always larger than \refKey{mermap/supply/west}. Used for map types \docValue{boundaries} and \docValue{areafit}. \end{docMrcKey} @@ -262,19 +262,19 @@ accompanying Python script. The technical background is documented in { doc name = add area }, } Sets - \refKey{/mermap/supply/north}, \refKey{/mermap/supply/south}, - \refKey{/mermap/supply/west}, \refKey{/mermap/supply/east} + \refKey{mermap/supply/north}, \refKey{mermap/supply/south}, + \refKey{mermap/supply/west}, \refKey{mermap/supply/east} according to the given \meta{comma separated list of named positions}, i.e. the described area contains all these positions.\\ - \refKey{/mermap/supply/area} resets the current area which requires + \refKey{mermap/supply/area} resets the current area which requires at least two points inside the list.\\ - \refKey{/mermap/supply/add area} does not reset the current area, + \refKey{mermap/supply/add area} does not reset the current area, i.e. the positions are added to the current area which possibly grows to fit all positions.\\ Also note to take special care, if the international dateline is on your resulting map, see \Fullref{sec:dateline}. Used for map types \docValue{boundaries} and \docValue{areafit} - or in combination with \refKey{/mermap/supply/area to reference} also + or in combination with \refKey{mermap/supply/area to reference} also for for map type \docValue{reference}. \end{docMrcKeys} @@ -290,19 +290,19 @@ accompanying Python script. The technical background is documented in { doc name = add area from marker input }, } Sets - \refKey{/mermap/supply/north}, \refKey{/mermap/supply/south}, - \refKey{/mermap/supply/west}, \refKey{/mermap/supply/east} + \refKey{mermap/supply/north}, \refKey{mermap/supply/south}, + \refKey{mermap/supply/west}, \refKey{mermap/supply/east} according to the given \refCom{mrcmarker} positions contained in a file with the given \meta{file name}.\\ - \refKey{/mermap/supply/area from marker input} resets the current area which requires + \refKey{mermap/supply/area from marker input} resets the current area which requires at least two marker positions inside the file.\\ - \refKey{/mermap/supply/add area from marker input} does not reset the current area, + \refKey{mermap/supply/add area from marker input} does not reset the current area, i.e. the positions are added to the current area which possibly grows to fit all positions.\\ Also note to take special care, if the international dateline is on your resulting map, see \Fullref{sec:dateline}. Used for map types \docValue{boundaries} and \docValue{areafit} - or in combination with \refKey{/mermap/supply/area to reference} also + or in combination with \refKey{mermap/supply/area to reference} also for for map type \docValue{reference}. \end{docMrcKeys} @@ -310,10 +310,10 @@ accompanying Python script. The technical background is documented in \begin{docMrcKey}[supply]{area to reference}{}{no value, initially unset} The map settings - \refKey{/mermap/supply/north}, \refKey{/mermap/supply/south}, - \refKey{/mermap/supply/west}, \refKey{/mermap/supply/east} + \refKey{mermap/supply/north}, \refKey{mermap/supply/south}, + \refKey{mermap/supply/west}, \refKey{mermap/supply/east} are taken to compute the map center. This center position is saved - to \refKey{/mermap/supply/latitude} and \refKey{/mermap/supply/longitude}. + to \refKey{mermap/supply/latitude} and \refKey{mermap/supply/longitude}. Used for map type \docValue{reference}. \end{docMrcKey} @@ -352,8 +352,8 @@ accompanying Python script. The technical background is documented in \begin{docMrcKey}[supply]{tex width}{=\meta{width}}{style, no default} Width of the map as \TeX\ dimension. - This is a style to compute \refKey{/mermap/supply/width} according to - the current \refKey{/mermap/tile size}. + This is a style to compute \refKey{mermap/supply/width} according to + the current \refKey{mermap/tile size}. \end{docMrcKey} \begin{docMrcKey}[supply]{height}{=\meta{setup height in tiles}}{no default, initially |4|} @@ -363,8 +363,8 @@ accompanying Python script. The technical background is documented in \begin{docMrcKey}[supply]{tex height}{=\meta{width}}{style, no default} Height of the map as \TeX\ dimension. - This is a style to compute \refKey{/mermap/supply/height} according to - the current \refKey{/mermap/tile size}. + This is a style to compute \refKey{mermap/supply/height} according to + the current \refKey{mermap/tile size}. \end{docMrcKey} \begin{docMrcKey}[supply]{align}{=\meta{setup alignment}}{no default, initially |center|} @@ -379,12 +379,12 @@ accompanying Python script. The technical background is documented in \begin{itemize} \item\docValue{none}: No tiles are downloaded and no merged map is generated, just map computation. This is the fastest method and needs no tile supplier. - \item\docValue{tiles}: Download map tiles from a tile map service (TMS) \refKey{/mermap/supply/url}. + \item\docValue{tiles}: Download map tiles from a tile map service (TMS) \refKey{mermap/supply/url}. Compilation of a document with map tile takes longer than compilation with a merged map and transparency should not be used with tiles, but the resulting document is smaller than a document with merged maps. \item\docValue{mergedmap}: Download map tiles from a tile map service (TMS) - \refKey{/mermap/supply/url} and merge them into a single map picture. + \refKey{mermap/supply/url} and merge them into a single map picture. This speeds compilation and allows transparency effects, but the resulting document is possibly larger than a document with map tiles, because map tiles often are optimized 8-bit image files while the merged @@ -394,7 +394,7 @@ accompanying Python script. The technical background is documented in may differ (shift/size) from the more accurate tile representation by one pixel. \item\docValue{wmsmap}: Download a single map from a web map service (WMS) - \refKey{/mermap/supply/url}. Internally, the package treats a WMS like + \refKey{mermap/supply/url}. Internally, the package treats a WMS like a tile map service including all tile calculations. Actually, a single file is downloaded. \end{itemize} @@ -404,7 +404,7 @@ accompanying Python script. The technical background is documented in \begin{docMrcKey}[][doc new=2020-08-06]{fail on missing resource}{\colOpt{=true\textbar false}}{default |true|, initially |true|} If set to |true|, compilation stops with an error, if - \refKey{/mermap/supply/target} and \refKey{/mermap/mapdef/resource} are different. + \refKey{mermap/supply/target} and \refKey{mermap/mapdef/resource} are different. Typically, this means that something went wrong while trying to download map tiles. Set this option temporarily to |false|, if the map tile service or the internet @@ -427,7 +427,7 @@ accompanying Python script. The technical background is documented in \begin{docMrcKey}[supply]{url with api key}{=\marg{prefix}\marg{name}\marg{postfix}}{no default} - This is an alternative version of \refKey{/mermap/supply/url}. + This is an alternative version of \refKey{mermap/supply/url}. The URL is constructed from some fixed \meta{prefix} and \meta{postfix} with an API key in between. The API key is retrieved by \meta{name} from a repository filled by \refCom{mrcsetapikey}. @@ -442,7 +442,7 @@ accompanying Python script. The technical background is documented in Stores an API key \meta{value} for access with the given \meta{name}. Typically, \meta{value} is a received ID from a map tile service provider after personal registration. \meta{name} is a placeholder which is used - inside \refKey{/mermap/supply/url with api key} to mark the insertion + inside \refKey{mermap/supply/url with api key} to mark the insertion point for the API key. \begin{dispListing} \mrcsetapikey{myservice}{....K942XY....} @@ -454,7 +454,7 @@ accompanying Python script. The technical background is documented in \begin{docMrcKey}[supply]{attribution}{=\meta{attribution text}}{no default, initially empty} Attribution text for the map source. Typically, it acknowledges the copyright of the map data provider. It may contain hyperlinks. - It is used to set up \refKey{/mermap/mapdef/attribution} afterwards + It is used to set up \refKey{mermap/mapdef/attribution} afterwards and it is accessible as \docAuxCommand{mrcmapattribution} (use read-only).\par For technical reasons, do not use \verb+"+. \docAuxCommand{mrcumlaut} may be used for masking umlauts, e.g. use \verb+\mrcumlaut{u}+ instead of @@ -463,9 +463,9 @@ accompanying Python script. The technical background is documented in \begin{docMrcKey}[supply]{attribution print}{=\meta{attribution text}}{no default, initially empty} Attribution text for the map source. - In contrast to \refKey{/mermap/supply/attribution} it is intended for media + In contrast to \refKey{mermap/supply/attribution} it is intended for media that does not support hyperlinks like printed posters, books, etc. - It is used to set up \refKey{/mermap/mapdef/attribution print} afterwards + It is used to set up \refKey{mermap/mapdef/attribution print} afterwards and it is accessible as \docAuxCommand{mrcmapattributionprint} (use read-only). \end{docMrcKey} @@ -477,10 +477,10 @@ accompanying Python script. The technical background is documented in \clearpage \begin{docMrcKey}[supply]{flex reference scale}{=\meta{scale denominator}}{no default} - With the given \meta{scale denominator}, an appropriate \refKey{/mermap/supply/zoom} - and \refKey{/mermap/tile size} is computed. Note that + With the given \meta{scale denominator}, an appropriate \refKey{mermap/supply/zoom} + and \refKey{mermap/tile size} is computed. Note that the \meta{scale denominator} - always applies to the current \refKey{/mermap/supply/latitude} + always applies to the current \refKey{mermap/supply/latitude} and is used for map type \docValue{boundaries} and \docValue{reference}. For example, if the reference point is on the north side of the map, also the \meta{scale denominator} @@ -489,16 +489,16 @@ accompanying Python script. The technical background is documented in Note to take special care to the order of the options. \begin{itemize} \item The reference point has to be set \emph{before} - \refKey{/mermap/supply/flex reference scale}, e.g. by - \refKey{/mermap/supply/latitude}, \refKey{/mermap/supply/position}, - \refKey{/mermap/supply/named position}. - \item \refKey{/mermap/supply/tex height}, \refKey{/mermap/supply/tex width} + \refKey{mermap/supply/flex reference scale}, e.g. by + \refKey{mermap/supply/latitude}, \refKey{mermap/supply/position}, + \refKey{mermap/supply/named position}. + \item \refKey{mermap/supply/tex height}, \refKey{mermap/supply/tex width} (only for map type \docValue{reference}) - have to be set \emph{after} \refKey{/mermap/supply/flex reference scale}, - because the \refKey{/mermap/tile size} is adapted. + have to be set \emph{after} \refKey{mermap/supply/flex reference scale}, + because the \refKey{mermap/tile size} is adapted. \end{itemize} - Also see \refKey{/mermap/flex tile size}, \refKey{/mermap/flex zoom}, - and \refKey{/mermap/flex scale}. + Also see \refKey{mermap/flex tile size}, \refKey{mermap/flex zoom}, + and \refKey{mermap/flex scale}. \tikzsetnextfilename{maptiles_flex_reference_scale}% \begin{dispExample} \begin{tikzpicture} @@ -519,17 +519,17 @@ accompanying Python script. The technical background is documented in \begin{docMrcKey}[supply]{flex area scale}{=\meta{scale denominator}}{no default} - This is a shortcut for setting \refKey{/mermap/supply/area to reference} - and \refKey{/mermap/supply/flex reference scale}=\meta{scale denominator}. + This is a shortcut for setting \refKey{mermap/supply/area to reference} + and \refKey{mermap/supply/flex reference scale}=\meta{scale denominator}. Used for map type \docValue{boundaries} and \docValue{reference}. Note to take special care to the order of the options. \begin{itemize} \item The reference point has to be set \emph{before} - \refKey{/mermap/supply/flex area scale}. - \item \refKey{/mermap/supply/tex height}, \refKey{/mermap/supply/tex width} + \refKey{mermap/supply/flex area scale}. + \item \refKey{mermap/supply/tex height}, \refKey{mermap/supply/tex width} (only for map type \docValue{reference}) - have to be set \emph{after} \refKey{/mermap/supply/flex reference scale}. + have to be set \emph{after} \refKey{mermap/supply/flex reference scale}. \end{itemize} \end{docMrcKey} @@ -538,13 +538,13 @@ accompanying Python script. The technical background is documented in \begin{docMrcKey}[supply]{flex area fit}{\colOpt{=\meta{size}}}{default |0pt|} This key can be used for map type \docValue{areafit} as \emph{final} option \emph{after} all other options. - It applies a fine tuning to \refKey{/mermap/tile size}, - \refKey{/mermap/supply/width}, and \refKey{/mermap/supply/height} such + It applies a fine tuning to \refKey{mermap/tile size}, + \refKey{mermap/supply/width}, and \refKey{mermap/supply/height} such that the defined area fits exactly into the map region. If a \meta{size} is specified, width and height are reduced for the calculation by this \meta{size}, e.g. \meta{size}|=1cm| ensures a border of |5mm| on each side. - Also see \refKey{/mermap/flex tile size} and \refKey{/mermap/flex zoom}. + Also see \refKey{mermap/flex tile size} and \refKey{mermap/flex zoom}. \tikzsetnextfilename{maptiles_flex_area_fit}% \begin{dispExample} @@ -580,24 +580,24 @@ accompanying Python script. The technical background is documented in \begin{docMrcKey}[supply]{dpi}{=\meta{dpi value}}{style, no default} - This style sets \refKey{/mermap/supply/pixel} such that the given \meta{dpi value} + This style sets \refKey{mermap/supply/pixel} such that the given \meta{dpi value} is resulting (approximately). \begin{itemize} \item Note that this only applies for WMS Servers and not for TMS (Tile Map Service) Servers, - because there \refKey{/mermap/supply/pixel} is a fixed number depending on + because there \refKey{mermap/supply/pixel} is a fixed number depending on Server settings and cannot be chosen arbitrarily. \item A high \meta{dpi value} results in large downloaded map files. If the server does not provide a high resolution map, you will get unnecessary large files with blurred content. \item The \meta{dpi value} for TMS data can be changed by adapting - \refKey{/mermap/tile size} or \refKey{/mermap/flex tile size}. + \refKey{mermap/tile size} or \refKey{mermap/flex tile size}. \end{itemize} \tikzsetnextfilename{maptiles_dpi_value} \begin{dispExample} \begin{tikzpicture} - \mrcmap[type=reference,latitude=48.14,longitude=11.57, + \mrcmap[type=reference,latitude=48.14,longitude=11.57, flex reference scale=250000, source=topplusopen p250, target=wmsmap, dpi=300, tex width=\linewidth,tex height=5cm]{dpi_value} @@ -654,7 +654,7 @@ map data is free for everyone to use. \textbf{But, map tile servers based on OpenStreetMap are not necessarily free}. A list of online raster tile servers based on OpenStreetMap data is found here:\\ -\url{https://wiki.openstreetmap.org/wiki/Tile_servers} +\url{https://wiki.openstreetmap.org/wiki/Raster_tile_providers} \begin{itemize} \item\bfseries I do not run a map tile server. @@ -681,8 +681,8 @@ want to add more to avoid any legal uncertainties. \medskip \begin{docMrcKey}[supply]{source}{=\meta{source}}{style, no default} - This style sets \refKey{/mermap/supply/url}, \refKey{/mermap/supply/attribution},\\ - \refKey{/mermap/supply/attribution print} and \refKey{/mermap/supply/basename}.\\ + This style sets \refKey{mermap/supply/url}, \refKey{mermap/supply/attribution},\\ + \refKey{mermap/supply/attribution print} and \refKey{mermap/supply/basename}.\\ Feasible values for \meta{source} are: %\mermapset{tile size=3.2512cm} \newcommand{\mapexample}[3][]{% @@ -690,10 +690,10 @@ want to add more to avoid any legal uncertainties. \mermapset{supply/source=#2}% \begin{itemize} \item Required attribution (\docAuxCommand{mrcmapattribution}): - \begin{tcolorbox}[sharp corners,size=fbox,colback=yellow!8,colframe=yellow!80!gray,halign=flush left] + \begin{tcolorbox}[sharp corners,size=fbox,colback=yellow!8,colframe=yellow!80!gray,halign=flush left,before skip=2pt] \mrcmapattribution\end{tcolorbox} \item Required attribution for media without hyperlinks (\docAuxCommand{mrcmapattributionprint}): - \begin{tcolorbox}[sharp corners,size=fbox,colback=yellow!8,colframe=yellow!80!gray,halign=flush left] + \begin{tcolorbox}[sharp corners,size=fbox,colback=yellow!8,colframe=yellow!80!gray,halign=flush left,before skip=2pt] \mrcmapattributionprint\end{tcolorbox} %\par\smallskip\ \end{itemize} @@ -713,71 +713,13 @@ want to add more to avoid any legal uncertainties. Dummy tile server at loopback |127.0.0.1| for test purposes. \item\docValue{opentopomap}:\\ - Tile server (TMS) of \href{http://opentopomap.org/}{OpenTopoMap}. + Tile server (TMS) of \href{https://opentopomap.org/}{OpenTopoMap}. \begin{itemize} \item Usage (German language): \url{https://opentopomap.org/about#verwendung} \end{itemize} \mapexample{opentopomap}{opentopomap} \clearpage - \item\docValue{stamen terrain}:\\ - Tile server of \href{http://stamen.com}{Stamen Design}.\\ - Usage: \url{http://maps.stamen.com/#terrain} - \mapexample{stamen terrain}{stamen_terrain} - - \item\docValue{stamen terrain-background}:\\ - Tile server of \href{http://stamen.com}{Stamen Design}.\\ - Usage: \url{http://maps.stamen.com/#terrain-background} - \mapexample{stamen terrain-background}{stamen_terrain-background} - - \item\docValue{stamen terrain-labels}:\\ - Tile server of \href{http://stamen.com}{Stamen Design}.\\ - Usage: \url{http://maps.stamen.com/#terrain-labels} - \mapexample{stamen terrain-labels}{stamen_terrain-labels} - -\clearpage - \item\docValue{stamen terrain-lines}:\\ - Tile server of \href{http://stamen.com}{Stamen Design}.\\ - Usage: \url{http://maps.stamen.com/#terrain-lines} - \mapexample{stamen terrain-lines}{stamen_terrain-lines} - - \item\docValue{stamen toner}:\\ - Tile server of \href{http://stamen.com}{Stamen Design}.\\ - Usage: \url{http://maps.stamen.com/#toner} - \mapexample{stamen toner}{stamen_toner} - - \item\docValue{stamen toner-lite}:\\ - Tile server of \href{http://stamen.com}{Stamen Design}.\\ - Usage: \url{http://maps.stamen.com/#toner-lite} - \mapexample{stamen toner-lite}{stamen_toner-lite} - -\clearpage - \item\docValue{stamen toner-hybrid}:\\ - Tile server of \href{http://stamen.com}{Stamen Design}.\\ - Usage: \url{http://maps.stamen.com/#toner-hybrid} - \mapexample{stamen toner-hybrid}{stamen_toner-hybrid} - - \item\docValue{stamen toner-background}:\\ - Tile server of \href{http://stamen.com}{Stamen Design}.\\ - Usage: \url{http://maps.stamen.com/#toner-background} - \mapexample{stamen toner-background}{stamen_toner-background} - - \item\docValue{stamen toner-labels}:\\ - Tile server of \href{http://stamen.com}{Stamen Design}.\\ - Usage: \url{http://maps.stamen.com/#toner-labels} - \mapexample{stamen toner-labels}{stamen_toner-labels} - -\clearpage - \item\docValue{stamen toner-lines}:\\ - Tile server of \href{http://stamen.com}{Stamen Design}.\\ - Usage: \url{http://maps.stamen.com/#toner-lines} - \mapexample{stamen toner-lines}{stamen_toner-lines} - - \item\docValue{stamen watercolor}:\\ - Tile server of \href{http://stamen.com}{Stamen Design}.\\ - Usage: \url{http://maps.stamen.com/#watercolor} - \mapexample{stamen watercolor}{stamen_watercolor} - \item\docValue{thunderforest opencyclemap}:\\ Tile server of \href{https://www.thunderforest.com}{Thunderforest}.\\ A registered \meta{api-key} is needed (free plan available) @@ -789,7 +731,6 @@ want to add more to avoid any legal uncertainties. \end{itemize} \mapexample{thunderforest opencyclemap}{thunderforest_opencyclemap} -\clearpage \item\docValue{thunderforest transport}:\\ Tile server of \href{https://www.thunderforest.com}{Thunderforest}.\\ A registered \meta{api-key} is needed (free plan available) @@ -812,6 +753,7 @@ want to add more to avoid any legal uncertainties. \end{itemize} \mapexample{thunderforest landscape}{thunderforest_landscape} +\clearpage \item\docValue{thunderforest outdoors}:\\ Tile server of \href{https://www.thunderforest.com}{Thunderforest}.\\ A registered \meta{api-key} is needed (free plan available) @@ -823,7 +765,17 @@ want to add more to avoid any legal uncertainties. \end{itemize} \mapexample{thunderforest outdoors}{thunderforest_outdoors} -\clearpage + \item\docValue{thunderforest atlas}:\tcbdocmarginnote{\tcbdocnew{2024-07-29}}\\ + Tile server of \href{https://www.thunderforest.com}{Thunderforest}.\\ + A registered \meta{api-key} is needed (free plan available) + which is applied by\\ + \refCom{mrcsetapikey}\brackets{\docValue{thunderforest}}\marg{api-key}. + \begin{itemize} + \item Usage: \url{https://www.thunderforest.com/terms} + \item API documentation: \url{https://www.thunderforest.com/maps/atlas} + \end{itemize} + \mapexample{thunderforest atlas}{thunderforest_atlas} + \item\docValue{thunderforest transport-dark}:\\ Tile server of \href{https://www.thunderforest.com}{Thunderforest}.\\ A registered \meta{api-key} is needed (free plan available) @@ -835,6 +787,7 @@ want to add more to avoid any legal uncertainties. \end{itemize} \mapexample{thunderforest transport-dark}{thunderforest_transport-dark} +\clearpage \item\docValue{thunderforest spinal-map}:\\ Tile server of \href{https://www.thunderforest.com}{Thunderforest}.\\ A registered \meta{api-key} is needed (free plan available) @@ -857,7 +810,6 @@ want to add more to avoid any legal uncertainties. \end{itemize} \mapexample{thunderforest pioneer}{thunderforest_pioneer} -\clearpage \item\docValue{thunderforest mobile-atlas}:\\ Tile server of \href{https://www.thunderforest.com}{Thunderforest}.\\ A registered \meta{api-key} is needed (free plan available) @@ -869,6 +821,7 @@ want to add more to avoid any legal uncertainties. \end{itemize} \mapexample{thunderforest mobile-atlas}{thunderforest_mobile-atlas} +\clearpage \item\docValue{thunderforest neighbourhood}:\\ Tile server of \href{https://www.thunderforest.com}{Thunderforest}.\\ A registered \meta{api-key} is needed (free plan available) @@ -880,31 +833,49 @@ want to add more to avoid any legal uncertainties. \end{itemize} \mapexample{thunderforest neighbourhood}{thunderforest_neighbourhood} -\clearpage \item\docValue{topplusopen web}:\\ - Tile server (TMS) of \href{http://www.bkg.bund.de}{Bundesamt f\"{u}r Kartographie und Geod\"{a}sie}. + Tile server (TMS) of \href{https://www.bkg.bund.de}{Bundesamt f\"{u}r Kartographie und Geod\"{a}sie}. \begin{itemize} \item Covers world / Europe / Germany depending on zoom level - \item Usage (German language): \url{https://gdz.bkg.bund.de/index.php/default/webdienste/topplus-produkte/wmts-topplusopen-wmts-topplus-open.html} + \item Usage (German language): \url{https://gdz.bkg.bund.de/index.php/default/digitale-geodaten/topplusopen-produkte.html} \end{itemize} \mapexample{topplusopen web}{topplusopen_web} \item\docValue{topplusopen web grau}:\\ - Tile server (TMS) of \href{http://www.bkg.bund.de}{Bundesamt f\"{u}r Kartographie und Geod\"{a}sie}. + Tile server (TMS) of \href{https://www.bkg.bund.de}{Bundesamt f\"{u}r Kartographie und Geod\"{a}sie}. \begin{itemize} \item Covers world / Europe / Germany depending on zoom level - \item Usage (German language): \url{https://gdz.bkg.bund.de/index.php/default/webdienste/topplus-produkte/wmts-topplusopen-wmts-topplus-open.html} + \item Usage (German language): \url{https://gdz.bkg.bund.de/index.php/default/digitale-geodaten/topplusopen-produkte.html} \end{itemize} \mapexample{topplusopen web grau}{topplusopen_web_grau} +\clearpage + \item\docValue{topplusopen web light}:\tcbdocmarginnote{\tcbdocnew{2024-07-29}}\\ + Tile server (TMS) of \href{https://www.bkg.bund.de}{Bundesamt f\"{u}r Kartographie und Geod\"{a}sie}. + \begin{itemize} + \item Covers world / Europe / Germany depending on zoom level + \item Usage (German language): \url{https://gdz.bkg.bund.de/index.php/default/digitale-geodaten/topplusopen-produkte.html} + \end{itemize} + \mapexample{topplusopen web light}{topplusopen_web_light} + + \item\docValue{topplusopen web light grau}\tcbdocmarginnote{\tcbdocnew{2024-07-29}}:\\ + Tile server (TMS) of \href{https://www.bkg.bund.de}{Bundesamt f\"{u}r Kartographie und Geod\"{a}sie}. + \begin{itemize} + \item Covers world / Europe / Germany depending on zoom level + \item Usage (German language): \url{https://gdz.bkg.bund.de/index.php/default/digitale-geodaten/topplusopen-produkte.html} + \end{itemize} + \mapexample{topplusopen web light grau}{topplusopen_web_light_grau} + \end{itemize} -\clearpage + +\vfill \begin{tcolorbox}[spartan,colback=white] The following sources are Web map server (WMS). Therefore, -\refKey{/mermap/supply/target} can only be set to \docValue{wmsmap} +\refKey{mermap/supply/target} can only be set to \docValue{wmsmap} or \docValue{none}. \end{tcolorbox} +\clearpage \begingroup \ExplSyntaxOn @@ -928,19 +899,19 @@ or \docValue{none}. { \cleanstep \item\docValue{topplusopen \name}:\\ - Web map server (WMS) of \href{http://www.bkg.bund.de}{Bundesamt f\"{u}r Kartographie und Geod\"{a}sie}. + Web map server (WMS) of \href{https://www.bkg.bund.de}{Bundesamt f\"{u}r Kartographie und Geod\"{a}sie}. \begin{itemize} \item 1:\scdenom, covers Europe / Germany depending on zoom level - \item Usage (German language): \url{https://gdz.bkg.bund.de/index.php/default/webdienste/topplus-produkte/wmts-topplusopen-wmts-topplus-open.html} + \item Usage (German language): \url{https://gdz.bkg.bund.de/index.php/default/digitale-geodaten/topplusopen-produkte.html} \end{itemize} \mapexample[target=wmsmap]{topplusopen \name}{topplusopen_\name} \cleanstep \item\docValue{topplusopen \name\ grau}:\\ - Web map server (WMS) of \href{http://www.bkg.bund.de}{Bundesamt f\"{u}r Kartographie und Geod\"{a}sie}. + Web map server (WMS) of \href{https://www.bkg.bund.de}{Bundesamt f\"{u}r Kartographie und Geod\"{a}sie}. \begin{itemize} \item 1:\scdenom, covers Europe / Germany depending on zoom level - \item Usage (German language): \url{https://gdz.bkg.bund.de/index.php/default/webdienste/topplus-produkte/wmts-topplusopen-wmts-topplus-open.html} + \item Usage (German language): \url{https://gdz.bkg.bund.de/index.php/default/digitale-geodaten/topplusopen-produkte.html} \end{itemize} \def\grau{ grau}% \mapexample[target=wmsmap]{topplusopen \name\grau}{topplusopen_\name_grau} @@ -954,16 +925,16 @@ or \docValue{none}. \begin{docCommand}{mrcnewsupplysource}{\marg{source}\marg{options}} - Adds a new \meta{source} value to \refKey{/mermap/supply/source}. + Adds a new \meta{source} value to \refKey{mermap/supply/source}. The \meta{options} should set the keys - \refKey{/mermap/supply/url}, \refKey{/mermap/supply/attribution},\\ - \refKey{/mermap/supply/attribution print} and \refKey{/mermap/supply/basename}. + \refKey{mermap/supply/url}, \refKey{mermap/supply/attribution},\\ + \refKey{mermap/supply/attribution print} and \refKey{mermap/supply/basename}. It is recommend to use |x ...| for \meta{source} to avoid conflicts - with future official additions to \refKey{/mermap/supply/source}. + with future official additions to \refKey{mermap/supply/source}. \begin{dispListing} \mrcnewsupplysource{x example} { - url = http://127.0.0.1/dummy/{z}/{x}/{y}.png, + url = https://127.0.0.1/dummy/{z}/{x}/{y}.png, attribution = {Dummy tile server}, attribution print = {Dummy tile server}, basename = tiles/dummy, diff --git a/Master/texmf-dist/doc/latex/mercatormap/mercatormap.doc.marker.tex b/Master/texmf-dist/doc/latex/mercatormap/mercatormap.doc.marker.tex index dcd0e072b86..fb206c339eb 100644 --- a/Master/texmf-dist/doc/latex/mercatormap/mercatormap.doc.marker.tex +++ b/Master/texmf-dist/doc/latex/mercatormap/mercatormap.doc.marker.tex @@ -14,8 +14,8 @@ may be helpful which provides some predefined marker types. \begin{docCommand}{mrcmarker}{\marg{options}} Places a marker according to the given \meta{options} on the map. - All \meta{options} share the common prefix |/mermap/marker/|. - Different \refKey{/mermap/marker/type} settings are available which are + All \meta{options} share the common prefix |mermap/marker/|. + Different \refKey{mermap/marker/type} settings are available which are more or less customizable. \tikzsetnextfilename{marker_mrcmarker}% @@ -48,8 +48,8 @@ may be helpful which provides some predefined marker types. \begin{docCommand}{mermapsetmarker}{\marg{options}} Sets \meta{options} for all following markers inside the current \TeX\ group. - All options share the common prefix |/mermap/marker/|, e.g. for setting - \refKey{/mermap/marker/type} use + All options share the common prefix |mermap/marker/|, e.g. for setting + \refKey{mermap/marker/type} use \begin{dispListing} \mermapsetmarker{type=pin} \end{dispListing} @@ -74,7 +74,7 @@ may be helpful which provides some predefined marker types. \end{docMrcKey} \begin{docMrcKey}[marker]{lat}{=\meta{latitude}}{no default, initially |12|} - Alias for \refKey{/mermap/marker/latitude}. + Alias for \refKey{mermap/marker/latitude}. \end{docMrcKey} \begin{docMrcKey}[marker]{longitude}{=\meta{longitude}}{no default, initially |49|} @@ -83,7 +83,7 @@ may be helpful which provides some predefined marker types. \end{docMrcKey} \begin{docMrcKey}[marker]{lon}{=\meta{longitude}}{no default, initially |49|} - Alias for \refKey{/mermap/marker/longitude}. + Alias for \refKey{mermap/marker/longitude}. \end{docMrcKey} \begin{docMrcKey}[marker]{position}{=\meta{place latitude}:\meta{place longitude}}{no default, initially |12:49|} @@ -100,7 +100,7 @@ may be helpful which provides some predefined marker types. given \meta{area}. Feasible values for \meta{area} are: \begin{itemize} \item\docValue{map}: Use inside map. - \item\docValue{vicinity}: Use inside map plus vicinity, see \refKey{/mermap/vicinity}. + \item\docValue{vicinity}: Use inside map plus vicinity, see \refKey{mermap/vicinity}. \end{itemize} \end{docMrcKey} @@ -157,36 +157,36 @@ may be helpful which provides some predefined marker types. \begin{docMrcKey}[marker]{hide}{\colOpt{=true\textbar false}}{default |true|, initially |false|} If set to |true|, the marker is not used. - \refKey{/mermap/marker/hide} is inverse to \refKey{/mermap/marker/show}. + \refKey{mermap/marker/hide} is inverse to \refKey{mermap/marker/show}. \end{docMrcKey} \begin{docMrcKey}[marker]{show category}{=\meta{category}}{style, no default} - Sets \refKey{/mermap/marker/show} to |true|, if \refKey{/mermap/marker/category} equals \meta{category}. + Sets \refKey{mermap/marker/show} to |true|, if \refKey{mermap/marker/category} equals \meta{category}. Otherwise, nothing happens. - \refKey{/mermap/marker/category} has to be set \emph{before}. + \refKey{mermap/marker/category} has to be set \emph{before}. \end{docMrcKey} \begin{docMrcKey}[marker]{show all but category}{=\meta{category}}{style, no default} - Sets \refKey{/mermap/marker/show} to |true|, if \refKey{/mermap/marker/category} does not equal \meta{category}. + Sets \refKey{mermap/marker/show} to |true|, if \refKey{mermap/marker/category} does not equal \meta{category}. Otherwise, nothing happens. - \refKey{/mermap/marker/category} has to be set \emph{before}. + \refKey{mermap/marker/category} has to be set \emph{before}. \end{docMrcKey} \begin{docMrcKey}[marker]{hide category}{=\meta{category}}{style, no default} - Sets \refKey{/mermap/marker/show} to |false|, if \refKey{/mermap/marker/category} equals \meta{category}. + Sets \refKey{mermap/marker/show} to |false|, if \refKey{mermap/marker/category} equals \meta{category}. Otherwise, nothing happens. - \refKey{/mermap/marker/category} has to be set \emph{before}. + \refKey{mermap/marker/category} has to be set \emph{before}. \end{docMrcKey} \begin{docMrcKey}[marker]{hide all but category}{=\meta{category}}{style, no default} - Sets \refKey{/mermap/marker/show} to |false|, if \refKey{/mermap/marker/category} does not equal \meta{category}. + Sets \refKey{mermap/marker/show} to |false|, if \refKey{mermap/marker/category} does not equal \meta{category}. Otherwise, nothing happens. - \refKey{/mermap/marker/category} has to be set \emph{before}. + \refKey{mermap/marker/category} has to be set \emph{before}. \tikzsetnextfilename{marker_hide}% \begin{dispExample} \begin{tikzpicture} @@ -206,10 +206,10 @@ may be helpful which provides some predefined marker types. \clearpage The following options require the package |hyperref| to be loaded. -If |hyperref| is not loaded, \refKey{/mermap/marker/url} and -\refKey{/mermap/marker/link} are ignored.\\ -Note that if \refKey{/mermap/marker/url} and \refKey{/mermap/marker/link} -are applied concurrently, then \refKey{/mermap/marker/link} will win. +If |hyperref| is not loaded, \refKey{mermap/marker/url} and +\refKey{mermap/marker/link} are ignored.\\ +Note that if \refKey{mermap/marker/url} and \refKey{mermap/marker/link} +are applied concurrently, then \refKey{mermap/marker/link} will win. \begin{docMrcKeys}[ @@ -279,9 +279,9 @@ are applied concurrently, then \refKey{/mermap/marker/link} will win. doc description = {default |true|, initially |false|}, }, } - If \refKey{/mermap/marker/use urls} is set to |false|, external links - with \refKey{/mermap/marker/url} are ignored.\\ - \refKey{/mermap/marker/ignore urls} is inverse to \refKey{/mermap/marker/use urls}. + If \refKey{mermap/marker/use urls} is set to |false|, external links + with \refKey{mermap/marker/url} are ignored.\\ + \refKey{mermap/marker/ignore urls} is inverse to \refKey{mermap/marker/use urls}. \end{docMrcKeys} @@ -299,9 +299,9 @@ are applied concurrently, then \refKey{/mermap/marker/link} will win. doc description = {default |true|, initially |false|}, }, } - If \refKey{/mermap/marker/use links} is set to |false|, internal links - with \refKey{/mermap/marker/link} are ignored.\\ - \refKey{/mermap/marker/ignore links} is inverse to \refKey{/mermap/marker/use links}. + If \refKey{mermap/marker/use links} is set to |false|, internal links + with \refKey{mermap/marker/link} are ignored.\\ + \refKey{mermap/marker/ignore links} is inverse to \refKey{mermap/marker/use links}. \end{docMrcKeys} @@ -596,7 +596,7 @@ The different marker types can be customized by some additional options: \subsection{New Marker Types} \begin{docCommand}{mrcnewmarkertype}{\marg{type name}\marg{\tikzname\ code}} - Creates a new \refKey{/mermap/marker/type} value \meta{type name} using the + Creates a new \refKey{mermap/marker/type} value \meta{type name} using the given \meta{\tikzname\ code} for drawing a place marker. To avoid future name clashes, you should start a private \meta{type name} with letter |x|. For \meta{\tikzname\ code} settings like @@ -630,9 +630,9 @@ The different marker types can be customized by some additional options: \subsection{New Marker Styles} \begin{docCommand}{mrcnewmarkerstyle}{\marg{style name}\marg{options}} - Creates a new \refKey{/mermap/marker/style} value \meta{style name} using the + Creates a new \refKey{mermap/marker/style} value \meta{style name} using the given \meta{options} for drawing a place marker. - All \meta{options} share the common prefix |/mermap/marker/|. Here, a \emph{style} + All \meta{options} share the common prefix |mermap/marker/|. Here, a \emph{style} has the same concept as a \tikzname\ style. \tikzsetnextfilename{marker_markerstyle}% diff --git a/Master/texmf-dist/doc/latex/mercatormap/mercatormap.doc.orthodromes.tex b/Master/texmf-dist/doc/latex/mercatormap/mercatormap.doc.orthodromes.tex index cddb277c86b..6f9620fae0c 100644 --- a/Master/texmf-dist/doc/latex/mercatormap/mercatormap.doc.orthodromes.tex +++ b/Master/texmf-dist/doc/latex/mercatormap/mercatormap.doc.orthodromes.tex @@ -26,7 +26,7 @@ The mathematical background and further information are found in \cite{Sturm:202 \begin{docTikzKey}{mermap samples}{=\meta{number}}{style, no default} - \tikzname\ variant to set \refKey{/mermap/samples}. + \tikzname\ variant to set \refKey{mermap/samples}. \end{docTikzKey} \enlargethispage*{1cm} @@ -56,7 +56,7 @@ The mathematical background and further information are found in \cite{Sturm:202 \mrcclipmap \draw (mrcmap.south west) rectangle (mrcmap.north east); \mrcdraworthodrome[red,very thick,mermap samples=100] - {48.14}{11.58}{40.71}{-74.01} + {48.14}{11.58}{40.71}{-74.01} \node[red,fill=white] at ([above=1.3cm]mrcmap) { \mrcprettyorthodistance{48.14}{11.58}{40.71}{-74.01} }; \end{tikzpicture} @@ -99,6 +99,120 @@ The mathematical background and further information are found in \cite{Sturm:202 \clearpage %------------------------------------------------------------------------------- +\subsection{Orthodrome Points} + +\begin{docCommands}[ + ]{ + { + doc new and updated = {2024-08-01}{2024-08-05}, + doc name = mrcNPfromOrthoFraction, + doc parameter = \marg{name}\oarg{\textbackslash angle}\marg{lat1}\marg{lon1}\marg{lat2}\marg{lon2}\marg{fraction}, + }, + { + doc name = mrcNPfromOrthoFractionNamed, + doc parameter = \marg{name}\oarg{\textbackslash angle}\marg{name1}\marg{name2}\marg{fraction}, + }, + } + Defines a new named position \meta{name} which is located on a \meta{fraction} + from the starting point of the orthodromic curve + from a point with + latitude \meta{lat1} and longitude \meta{lon1} (or described by a named position \meta{name1}) + to a point with + latitude \meta{lat2} and longitude \meta{lon2} (or described by a named position \meta{name2}). + The given starting and final point of the orthodrome need to have a distance of more than + \SI{1}{\meter}. + If \meta{\textbackslash angle} is given, this macro is set to the + angle between the tangent vector to the orthodrome and + the current parallel circle. + +\tikzsetnextfilename{ortho_orthodrome3}% +\begin{dispExample} + \begin{tikzpicture} + \mrcNPdef{munich}{48.14}{11.58} + \mrcNPdef{newyork}{40.71}{-74.01} + \mrcmap[type=areafit, area={munich,newyork}, + source=topplusopen web, + tex width=\linewidth,tex height=6cm, + ]{ortho_orthodrome3} + \mrcdrawmap + \node[below,font=\fontsize{7pt}{7pt}\sffamily] at (mrcmap.south) + {\mrcmapattribution}; + \mrcclipmap + \draw (mrcmap.south west) rectangle (mrcmap.north east); + \mrcmarker{type=pin,named position=munich,contents={M\"unchen}} + \mrcmarker{type=pinflip,shift=5mm,named position=newyork, + contents={New York City}} + \mrcNPdraworthodrome[red,very thick] {munich}{newyork} + \foreach \fraction in { 0.1,0.3,0.5,0.7,1.0,1.1 } + { + \mrcNPfromOrthoFractionNamed{waypoint}[\myangle] + {munich}{newyork}{\fraction} + \mrcmarker{type=pin,named position=waypoint, + contents={\fraction: \fpeval{round(\myangle)}\textdegree }} + } + \end{tikzpicture} +\end{dispExample} +\end{docCommands} + +\clearpage + +\begin{docCommands}[ + ]{ + { + doc new and updated = {2024-08-01}{2024-08-05}, + doc name = mrcNPfromOrthoDistance, + doc parameter = \marg{name}\oarg{\textbackslash angle}\marg{lat1}\marg{lon1}\marg{lat2}\marg{lon2}\marg{distance}, + }, + { + doc name = mrcNPfromOrthoDistanceNamed, + doc parameter = \marg{name}\oarg{\textbackslash angle}\marg{name1}\marg{name2}\marg{distance}, + }, + } + Defines a new named position \meta{name} which is located on a \meta{distance} + from the starting point of the orthodromic curve + from a point with + latitude \meta{lat1} and longitude \meta{lon1} (or described by a named position \meta{name1}) + to a point with + latitude \meta{lat2} and longitude \meta{lon2} (or described by a named position \meta{name2}). + The given starting and final point of the orthodrome need to have a distance of more than + \SI{1}{\meter}. The unit for the \meta{distance} is kilometer. + If \meta{\textbackslash angle} is given, this macro is set to the + angle between the tangent vector to the orthodrome and + the current parallel circle. + +\tikzsetnextfilename{ortho_orthodrome4}% +\begin{dispExample} + \begin{tikzpicture} + \mrcNPdef{munich}{48.14}{11.58} + \mrcNPdef{newyork}{40.71}{-74.01} + \mrcmap[type=areafit, area={munich,newyork}, + source=topplusopen web, + tex width=\linewidth,tex height=6cm, + ]{ortho_orthodrome4} + \mrcdrawmap + \node[below,font=\fontsize{7pt}{7pt}\sffamily] at (mrcmap.south) + {\mrcmapattribution}; + \mrcclipmap + \draw (mrcmap.south west) rectangle (mrcmap.north east); + \mrcmarker{type=pin,named position=munich,contents={M\"unchen}} + \mrcmarker{type=pinflip,shift=5mm,named position=newyork, + contents={New York City}} + \mrcNPdraworthodrome[red,very thick] {munich}{newyork} + \foreach \distance in { 1000,2000,3000,4000,5000,6000 } + { + \mrcNPfromOrthoDistanceNamed{waypoint}{munich}{newyork}{\distance} + \mrcmarker{type=pin,named position=waypoint, + contents={\SI{\distance}{\kilo\meter}}} + } + \end{tikzpicture} +\end{dispExample} +\end{docCommands} + + + + +\clearpage +%------------------------------------------------------------------------------- \subsection{Orthodromic and Loxodromic Distances} \begin{docCommand}{mrcprettyorthodistance}{\marg{lat1}\marg{lon1}\marg{lat2}\marg{lon2}} diff --git a/Master/texmf-dist/doc/latex/mercatormap/mercatormap.doc.scales.tex b/Master/texmf-dist/doc/latex/mercatormap/mercatormap.doc.scales.tex index 6efc4fe0d09..9e210c2a240 100644 --- a/Master/texmf-dist/doc/latex/mercatormap/mercatormap.doc.scales.tex +++ b/Master/texmf-dist/doc/latex/mercatormap/mercatormap.doc.scales.tex @@ -164,7 +164,7 @@ but not for critical navigation purposes etc. \begin{docCommand}{mrcdrawscalebar}{\oarg{options}} Draws a scale bar according to the given \meta{options}. - All \meta{options} share the common prefix |/mermap/scalebar/|. + All \meta{options} share the common prefix |mermap/scalebar/|. The most essential option is the \emph{width} of the scale bar. \tikzsetnextfilename{scales_scalebar1} @@ -216,7 +216,7 @@ but not for critical navigation purposes etc. \end{docMrcKey} \begin{docMrcKey}[scalebar]{width-in-kilometer}{=\meta{number}}{no default, initially |0|} - Alias for \refKey{/mermap/scalebar/width-in-km} + Alias for \refKey{mermap/scalebar/width-in-km} \end{docMrcKey} \begin{docMrcKey}[scalebar]{width-in-meter}{=\meta{number}}{no default, initially |0|} @@ -247,7 +247,7 @@ but not for critical navigation purposes etc. \begin{docMrcKey}[scalebar]{at}{=\marg{\tikzname\ coordinate}}{no default, initially \texttt{\brackets{(0,0)}}} The scale bar is positioned at the given \meta{\tikzname\ coordinate}. - The placement is done with the \refKey{/mermap/scalebar/placement} option. + The placement is done with the \refKey{mermap/scalebar/placement} option. Both option correspond to the \tikzname\ options for positioning nodes. The scale bar can be positioned outside the map (e.g. below), but remember to use \refCom{mrcclipmap} \emph{after} the scale bar @@ -285,7 +285,7 @@ but not for critical navigation purposes etc. \begin{docMrcKey}[scalebar]{placement}{=\meta{\tikzname\ positioning}}{no default, initially empty} \meta{\tikzname\ positioning} of a scale bar in combination with - \refKey{/mermap/scalebar/at}. All \tikzname\ placement options for nodes + \refKey{mermap/scalebar/at}. All \tikzname\ placement options for nodes can be used, e.g. \texttt{above left} or \texttt{anchor=mid west}, etc. Actually, \emph{any} node option could be applied here, but the intended use is for placement options only. @@ -298,7 +298,7 @@ but not for critical navigation purposes etc. absolute shift values in each direction, i.e. the algebraic sign is automatically complemented. If only \meta{x shift} is given, then \meta{y shift} is set - to the same value. \refKey{/mermap/scalebar/at} and \refKey{/mermap/scalebar/placement} + to the same value. \refKey{mermap/scalebar/at} and \refKey{mermap/scalebar/placement} are set by this option. \end{docMrcKey} @@ -349,8 +349,8 @@ but not for critical navigation purposes etc. The \emph{minor} part of the scale bar is a single \tikzname\ path object which can be customized by the given \meta{\tikzname\ options}. The \emph{minor} part is seen as holes in the default case. - \refKey{/mermap/scalebar/minor style} has only an effect, if - the minor part is drawn \refKey{/mermap/scalebar/solid}. + \refKey{mermap/scalebar/minor style} has only an effect, if + the minor part is drawn \refKey{mermap/scalebar/solid}. \tikzsetnextfilename{scales_scalebar5} \begin{dispExample} \begin{tikzpicture} @@ -369,7 +369,7 @@ but not for critical navigation purposes etc. \begin{docMrcKey}[scalebar]{single}{\colOpt{=true\textbar false}}{default |true|, initially |false|} If set to |true|, the scale bar is drawn as a single ruler. - \refKey{/mermap/scalebar/single} is inverse to \refKey{/mermap/scalebar/double}. + \refKey{mermap/scalebar/single} is inverse to \refKey{mermap/scalebar/double}. \tikzsetnextfilename{scales_scalebar6} \begin{dispExample} \begin{tikzpicture} @@ -387,8 +387,8 @@ but not for critical navigation purposes etc. \begin{docMrcKey}[scalebar]{solid}{\colOpt{=true\textbar false}}{default |true|, initially |false|} If set to |true|, the \emph{minor} part of the scale bar is drawn opaque. - It is drawn white or according to \refKey{/mermap/scalebar/minor style}. - \refKey{/mermap/scalebar/solid} is inverse to \refKey{/mermap/scalebar/transparent}. + It is drawn white or according to \refKey{mermap/scalebar/minor style}. + \refKey{mermap/scalebar/solid} is inverse to \refKey{mermap/scalebar/transparent}. \end{docMrcKey} diff --git a/Master/texmf-dist/doc/latex/mercatormap/mercatormap.doc.sty b/Master/texmf-dist/doc/latex/mercatormap/mercatormap.doc.sty index 80b38241ce2..95b45544d7e 100644 --- a/Master/texmf-dist/doc/latex/mercatormap/mercatormap.doc.sty +++ b/Master/texmf-dist/doc/latex/mercatormap/mercatormap.doc.sty @@ -4,10 +4,9 @@ \renewcommand*\l@subsubsection{\@dottedtocline{3}{4.2em}{3.2em}} \RequirePackage[T1]{fontenc} -\RequirePackage[utf8]{inputenc} \RequirePackage[english]{babel} \RequirePackage{lmodern,parskip,array} -\RequirePackage[svgnames,table,hyperref]{xcolor} +\RequirePackage[svgnames,table]{xcolor} \RequirePackage{tikz} \RequirePackage{varioref} \RequirePackage[makeindex]{imakeidx} @@ -31,15 +30,17 @@ \RequirePackage{array,tabularx,booktabs} \RequirePackage{lipsum} \RequirePackage[extendedchars,encoding,filenameencoding=utf-8]{grffile} -\RequirePackage{siunitx,xfp} +\RequirePackage{xfp} \RequirePackage{tcolorbox} -\tcbuselibrary{skins,xparse,minted,breakable,documentation,raster} +\tcbuselibrary{skins,minted,breakable,documentation,raster} \providecommand\mrcpkgprefix{} \RequirePackage{\mrcpkgprefix mercatormap} \IfFileExists{../private/privatekeys.tex}{\input{../private/privatekeys.tex}}{} +\RequirePackage{fontawesome5} + \RequirePackage{csquotes} \RequirePackage[%style=authoryear, style=numeric-comp, @@ -96,8 +97,8 @@ borderline horizontal={0.3mm}{0pt}{red!50}, #1}{#2} -\tcbmakedocSubKey{docMrcKey}{mermap} -\tcbmakedocSubKeys{docMrcKeys}{mermap} +\tcbmakedocSubKey[doc key prefix=]{docMrcKey}{mermap} +\tcbmakedocSubKeys[doc key prefix=]{docMrcKeys}{mermap} \tcbmakedocSubKey{docTikzKey}{tikz} \def\tikzname{\textup{Ti\textit{k}Z}} diff --git a/Master/texmf-dist/doc/latex/mercatormap/mercatormap.doc.versionhistory.tex b/Master/texmf-dist/doc/latex/mercatormap/mercatormap.doc.versionhistory.tex deleted file mode 100644 index bcdf2fd322e..00000000000 --- a/Master/texmf-dist/doc/latex/mercatormap/mercatormap.doc.versionhistory.tex +++ /dev/null @@ -1,50 +0,0 @@ -% !TeX root = mercatormap.tex -% !TeX encoding=UTF-8 -% !TeX spellcheck=en_US -% include file of mercatormap.tex (manual of the LaTeX package mercatormap) -\clearpage -\section{Version History}% - -\section*{v1.00 (2020/04/20)} -\begin{itemize} -\item Initial public release. -\end{itemize} - -\section*{v1.01 (2020/05/05)} -\begin{itemize} -\item Sorting of index key entries fixed for the documentation. -\item User messages for failed Python script calls are changed from warnings to - errors to fail fast and to provide more information and hints about - possible reasons. -\item New general marker option - \refKey{/mermap/marker/generic} with corresponding macros - \docAuxCommand*{mrcmarkergeneric} - and \docAuxCommand*{l_mermap_marker_generic_tl}. Also, the marker uuid is - made |expl3| accessible as \docAuxCommand*{l_mermap_marker_uuid_tl}. -\item New hyper marker options - \refKey{/mermap/marker/url}, - \refKey{/mermap/marker/link}, - \refKey{/mermap/marker/use urls}, - \refKey{/mermap/marker/ignore urls}, - \refKey{/mermap/marker/use links}, - \refKey{/mermap/marker/ignore links}. -\end{itemize} - - -\section*{v1.02 (2020/08/06)} -\begin{itemize} -\item New options - \refKey{/mermap/supply/area from marker input} and - \refKey{/mermap/supply/add area from marker input} - which allow to fit a map to a given external list of marker positions. -\item New option \refKey{/mermap/fail on missing resource} to control - compilation behavior for missing resource files. -\item Openrouteservice has discontinued mapsurfer tiles since June 2020.\\ - Therefore, \refKey{/mermap/supply/source}=\docValue{openrouteservice mapsurfer} - is deprecated now. It is not documented any more, but - for some time it is still available for old documents with - cached map tiles. -\item\issuetracker{2} - New marker option \refKey{/mermap/marker/distance} with corresponding - macro \docAuxCommand{mrcmarkerdistance}. -\end{itemize} diff --git a/Master/texmf-dist/doc/latex/mercatormap/mercatormap.pdf b/Master/texmf-dist/doc/latex/mercatormap/mercatormap.pdf Binary files differindex d90d7496174..1c0c7dc3d83 100644 --- a/Master/texmf-dist/doc/latex/mercatormap/mercatormap.pdf +++ b/Master/texmf-dist/doc/latex/mercatormap/mercatormap.pdf diff --git a/Master/texmf-dist/doc/latex/mercatormap/mercatormap.tex b/Master/texmf-dist/doc/latex/mercatormap/mercatormap.tex index 882587a3d2a..a904cce2f98 100644 --- a/Master/texmf-dist/doc/latex/mercatormap/mercatormap.tex +++ b/Master/texmf-dist/doc/latex/mercatormap/mercatormap.tex @@ -2,11 +2,11 @@ % !TeX encoding=UTF-8 % !TeX spellcheck=en_US %% -%% The LaTeX package mercatormap - version 1.02 (2020/08/06) +%% The LaTeX package mercatormap - version 1.2.0 (2024/08/05) %% mercatormap.tex: Manual %% %% ------------------------------------------------------------------------------------------- -%% Copyright (c) 2020 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de> +%% Copyright (c) 2020-2024 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de> %% ------------------------------------------------------------------------------------------- %% %% This work may be distributed and/or modified under the @@ -32,8 +32,8 @@ % The following personal API-keys are needed for compilation % \mrcsetapikey{thunderforest}{YOUR-API-KEY} % registered key -\def\version{1.02}% -\def\datum{2020/08/06}% +\def\version{1.2.0}% +\def\datum{2024/08/05}% \mrcactivatescript% activates Python script @@ -54,9 +54,14 @@ \tikzexternaldisable% for final version \tcbset{shield externalize} -\nocite{Sturm:2020,package:tikz,package:xparse,package:siunitx,package:expl3} +\nocite{Sturm:2020,package:tikz,package:siunitx} -\pdfsuppresswarningpagegroup=1 +\ExplSyntaxOn +\cs_if_exist:NT \pdfsuppresswarningpagegroup + { + \pdfsuppresswarningpagegroup=1 + } +\ExplSyntaxOff %\includeonly{mercatormap.doc.intro} %\includeonly{mercatormap.doc.examples} @@ -67,8 +72,8 @@ %\includeonly{mercatormap.doc.marker} %\includeonly{mercatormap.doc.routes} %\includeonly{mercatormap.doc.orthodromes} +%\includeonly{mercatormap.doc.animations} %\includeonly{mercatormap.doc.limitations} -%\includeonly{mercatormap.doc.versionhistory} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \begin{document} @@ -83,8 +88,8 @@ \include{mercatormap.doc.marker} \include{mercatormap.doc.routes} \include{mercatormap.doc.orthodromes} +\include{mercatormap.doc.animations} \include{mercatormap.doc.limitations} -\include{mercatormap.doc.versionhistory} \clearpage \phantomsection diff --git a/Master/texmf-dist/doc/latex/mitthesis/MIT-Thesis.pdf b/Master/texmf-dist/doc/latex/mitthesis/MIT-Thesis.pdf Binary files differindex f0964659d8a..e7f9b4a01ac 100644 --- a/Master/texmf-dist/doc/latex/mitthesis/MIT-Thesis.pdf +++ b/Master/texmf-dist/doc/latex/mitthesis/MIT-Thesis.pdf diff --git a/Master/texmf-dist/doc/latex/mitthesis/MIT-thesis-template/MIT-Thesis.tex b/Master/texmf-dist/doc/latex/mitthesis/MIT-thesis-template/MIT-Thesis.tex index 2faced3b18e..fc7e8a88f15 100644 --- a/Master/texmf-dist/doc/latex/mitthesis/MIT-thesis-template/MIT-Thesis.tex +++ b/Master/texmf-dist/doc/latex/mitthesis/MIT-thesis-template/MIT-Thesis.tex @@ -1,12 +1,11 @@ % !TEX encoding = UTF-8 Unicode -% !BIB TS-program = biber -% !BIB program = biber +% !BIB TS-program = biber % This file is MIT-Thesis.tex, a LaTeX template for formatting an MIT thesis with the mitthesis class. % -% Version: 1.11, 2023/11/02 +% Version: 1.14, 2024/07/19 % -% Author: John H. Lienhard, copyright 2023. Reuse under the MIT license: https://ctan.org/license/mit +% Author: John H. Lienhard, copyright 2024. Reuse under the MIT license: https://ctan.org/license/mit % Documentation is here: https://ctan.org/pkg/mitthesis @@ -16,8 +15,11 @@ pdfstandard = a-2b, pdfversion = 1.7, lang = en-US, -% debug = {xmp-export}, % uncomment to output a separate xmpi file showing the metadata +% pdfversion = 2.0, +% pdfstandard = a-4, +% debug = {xmp-export}, % uncomment to output a separate xmpi file showing the metadata } + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \documentclass[twoside]{mitthesis} %,fontset=libertine, fontset=newtx-sans-text, fontset=heros-stix2, fontset=stix2 @@ -26,9 +28,9 @@ % option [lineno] provides line numbers, as for editing % option [mydesign] loads packages for color, title and list formats, margins, or captions: edit mydesign.tex to change defaults. % option [fontset] is a keyvalue which can be: -% pdftex or unicode engines: defaultfonts, libertine, lucida -% pdftex only: fira-newtxsf, newtx, newtx-sans-text -% unicode engines (luatex): heros-stix2, stix2, termes, termes-stix2 +% for pdftex or unicode engines: defaultfonts, libertine, lucida +% for pdftex only: fira-newtxsf, newtx, newtx-sans-text +% for unicode engines (luatex): heros-stix2, stix2, termes, termes-stix2 % if no key value is given, fonts default to CMR (pdftex) or LMR (unicode), i.e., "the LaTeX font". % You can edit the fontset files or you can write your own, myfonts.tex, and do [fontset=myfonts]. % If you are using multiple languages, load the babel package in your fontset file, before the fonts. @@ -39,12 +41,23 @@ \usepackage{listings}% documentation is here https://ctan.org/pkg/listings %% Set chemical formulas nicely -\usepackage[version=4]{mhchem}% documentation is here https://ctan.org/pkg/mhchem +\usepackage[version=4]{mhchem}% documentation at https://ctan.org/pkg/mhchem -%% Latin filler used in Chapter 1, with a test for package version date. https://ctan.org/pkg/lipsum +%% Latin filler used in Chapter 1, with a test for package version date (https://ctan.org/pkg/lipsum) \usepackage{lipsum} \IfPackageAtLeastTF{lipsum}{2021/09/20}{\setlipsum{auto-lang=false}}{} +%% Table related packages + +\usepackage{booktabs}% publication quality tables (https://ctan.org/pkg/booktabs) + +\usepackage{array}% Additional options for column formats (https://ctan.org/pkg/array) + +%\usepackage{dcolumn}% For alignment of numbers on the decimal place (https://ctan.org/pkg/dcolumn) +% \newcolumntype{d}[1]{D{.}{.}{#1}}% use with dcolumn package + +%\usepackage{tabularx}% adjustable-width columns in tabular (https://ctan.org/pkg/tabularx) + %%%%%%%%% Graphics path (to figure files) %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -56,8 +69,17 @@ %%%%%%%%% Representative set-up for biblatex %%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\usepackage[style=ieee,maxbibnames=10,sorting=none]{biblatex}% style=ext-numeric-comp,articlein=false,giveninits=true - \DefineBibliographyStrings{english}{url= \textsc{url} , }% replaces default "[Online]. Available" by "URL" +%% Numerical citations of references +\usepackage[style=ext-numeric-comp,giveninits=true,maxbibnames=10,sorting=none]{biblatex} + +%% IEEE style citations and references +% \usepackage[style=ieee,maxbibnames=10,sorting=none]{biblatex}% style=ext-numeric-comp,articlein=false,giveninits=true +% \DefineBibliographyStrings{english}{url= \textsc{url} , }% replaces the IEEE default "[Online]. Available" by "URL" + +%% author-year style citations and references +%% use \parencite, not \cite, when you want "(Author, year)" +%% The sample files are not set up to include parentheses. +% \usepackage[style=authoryear, maxbibnames=10]{biblatex} \addbibresource{mitthesis-sample.bib}%% <== change to YOUR bib file <= CHANGE @@ -65,9 +87,11 @@ %% to avoid split urls and stretched white space, you can set the bibliography ragged-right: %\appto{\bibsetup}{\raggedright} -% biblatex is very powerful, and you can customize most aspects the reference list and citations to suit your needs. -% documentation is here: https://ctan.org/pkg/biblatex +%% biblatex is very powerful, and you can customize most aspects the reference list and citations to suit your needs. +%% documentation is here: https://ctan.org/pkg/biblatex +%% cheat sheet is here: https://tug.ctan.org/info/biblatex-cheatsheet/biblatex-cheatsheet.pdf +%% To ensure citations are set, run Latex --> biblatex/biber --> Latex again %%%%%%%%%% Option to use natbib %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -79,19 +103,9 @@ %%% You can use this to rename the bibliography section %\renewcommand{\bibname}{References} -%%% Can adjust space between bibliography items (change 4pt to something else; don't drop last two lengths, they are stretchable "glue") +%%% To adjust space between bibliography items %\setlength\bibsep{4pt plus 1pt minus 1pt} - - -%%%%%%%%%% Table related packages %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - -\usepackage{booktabs}% better quality tables, https://ctan.org/pkg/booktabs -\usepackage{array}% additional options for table columns, https://ctan.org/pkg/array - -%\usepackage{tabularx}% https://ctan.org/pkg/tabularx - -%\usepackage{dcolumn}% alignment on decimal place, https://ctan.org/pkg/dcolumn -%\newcolumntype{d}[1]{D{.}{.}{#1}} +% change 4pt to something else; don't drop last two lengths (they are stretchable "glue") %%%%%%%%%% Option for "double spacing" %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -107,13 +121,13 @@ % \usepackage{setspace}% documentation at https://ctan.org/pkg/setspace % \setstretch{1.1}% you can choose some other value for the stretch of space between lines % -%% Use one or more of the these commands AFTER the frontmatter +%% Use one or more of the these commands *AFTER* the frontmatter % % \onehalfspacing % \doublespacing % \singlespacing % will turn these effects off (you can use these anywhere in the document) -%% The best result may be to stay with leading selected by the typographer who set up the font. +%% The best result is usually to stay with leading selected by the typographer who set up the font. %%%%%%%%%%% Metadata %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -128,7 +142,7 @@ pdfkeywords={Massachusetts Institute of Technology, MIT}, % Add keywords that will help search engines and libraries to find your work. % Includes the name[s] of the author[s] - % (If you have used \DocumentMetadata, at line 15, you can just put "\CopyrightAuthor," for the names.) + % (If you used \DocumentMetadata at line 14, you can just put "\CopyrightAuthor," for the names.) % pdfurl={}, % If you have a url for the thesis, put it here. Otherwise delete this. @@ -162,29 +176,31 @@ % Use once for each degree fulfilled by thesis % For two degrees from one department, leave the department argument blank for the second degree {}. -% \Degree{Bachelor of Science in Physics}{Department of Physics} -% \Degree{Master of Science in Physics}{} -\Degree{Bachelor of Science in Mechanical Engineering}{Department of Mechanical Engineering} +\Degree{Bachelor of Science in Physics}{Department of Physics} +%\Degree{Master of Science in Physics}{} +%\Degree{Bachelor of Science in Mechanical Engineering}{Department of Mechanical Engineering} % If there is more than one supervisor, use the \Supervisor command for each. \Supervisor{Edward C. Pickering}{Professor of Physics} +% \Supervisor{Edward C. Pickering}{Professor of Physics, and \\ \> Professor of Something Else} % \Supervisor{Secunda Castor}{Professor of Research} % \Supervisor{Quintus Castor}{Professor of Log Dams} % Professor who formally accepts theses for your department (e.g., the Graduate Officer, Professor Sméagol,...) % If more than one department, use more than once -% **If you need to reduce vertical space, put the acceptor title in the second argument and leave the third blank {}.** - \Acceptor{Primus Castor}{Professor of Wetlands Engineering}{Undergraduate Officer, Department of Physics} + \Acceptor{Primus Castor}{Professor of Wetlands Engineering}{}%{Undergraduate Officer, Department of Physics} % \Acceptor{Tertius Castor}{Professor of Log Dams}{Graduate Officer, Department of Research} % \Acceptor{Quarta Castor}{Professor of Lodge Building}{Graduate Officer, Department of Mechanical Engineering} +%% If you need to reduce vertical space, put the acceptor title in the second argument and leave the third blank, {}. % Usage: \DegreeDate{Month}{year} -% Valid degree months are September, February, or June +% Valid degree months are February, May, June, or September \DegreeDate{June}{1876} % Date that final thesis is submitted to department \ThesisDate{May 18, 1876} + %%%%%% Choose whether to have a CREATIVE COMMONS License %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % If you are using a cc license, put details of your cc license here. @@ -208,33 +224,34 @@ % (c) you can put the acceptor name and title onto two lines, rather than three like this: % % \Acceptor{Tertius Castor}{Professor and Graduate Officer, Department of Research}{} -% \Acceptor{Quarta Castor}{Professor and Graduate Officer, Department of Mechanical Engineering}{} % -% (d) you can change the font size of the the author name[s] with +% (d) you can change the font size of the author name[s] with % % \AuthorNameSize{\normalsize} % -% (e) and you can omit any previous degrees from the title page, instead mentioning them in the Biosketch +% (e) and you can omit any previous degrees from the title page, instead mentioning them in the biographical sketch % Also, if you prefer to keep the text toward the top of the page with most white space at the bottom, you -% can you this command to squash all of the vertical glue (stretchy space) with this command: +% can use this command to squash all of the vertical glue (stretchy space) with this command: % % \Squash % % This command is useful when the text has not already reach the bottom of the page, since the glue gets squashed automatically % when the page is too full. + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%% Make titlepage \maketitle -%%%%%%%%% Contents that you need to write follows %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%%%%%%%% Contents that you need to write follows! %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % \includeonly{acknowledgments,biography,chapter1,chapter2,...,appendixa,...} -% for usage, see https://latexref.xyz/_005cinclude-_0026-_005cincludeonly.html +% for usage of includeonly, see https://latexref.xyz/_005cinclude-_0026-_005cincludeonly.html -%%% Frontmatter (write this material in the mentioned files) %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +%%% Frontmatter (write this material in the mentioned files) %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % The abstract environment creates all the required headings and footers. % You only need to the text of the abstract in the file abstract.tex @@ -242,24 +259,22 @@ \input{abstract.tex}% use \input rather than \include because we're inside an environment \end{abstract} -\include{acknowledgments}% .tex extension is presumed by \include - -\include{biography}% optional, see MIT Libraries https://libraries.mit.edu/distinctive-collections/thesis-specs/#format +\include{acknowledgments}% acknowledgments.tex (.tex extension is presumed by \include) +\include{biography}% biography.tex (optional, see https://libraries.mit.edu/distinctive-collections/thesis-specs/#format) -%%% Table of contents and lists of stuff (delete lists you don't need, e.g., if no tables) %%%%%%%% +%%% Table of contents and lists of stuff (delete unused lists, i.e., if no tables or figures) %%%%% \tableofcontents \listoffigures \listoftables - %%% Chapters of thesis %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% If you want to use "double spacing", you should start here... \include{chapter1}% .tex extension is presumed -%\include{chapter2} +% \include{chapter2} %\include{chapter3} %\include{chapter4} @@ -270,9 +285,13 @@ \include{appendixa} -%%% Bibliography %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%% Bibliography (biblatex) %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\defbibheading{bibintoc}{\chapter*{#1}\addcontentsline{toc}{backmatter}{\refname}} +% this sets the title of contents name for bibliography to \refname (= References) +% change "backmatter" to "chapter" if you prefer a bold face entry in the table of contents -\printbibliography[title={References},heading=bibintoc] +\printbibliography[title={\refname},heading=bibintoc] % biblatex also supports chapter-by-chapter bibliography, https://tex.stackexchange.com/a/296502/119566 % see the biblatex manual, section 3.14.3 diff --git a/Master/texmf-dist/doc/latex/mitthesis/MIT-thesis-template/acknowledgments.tex b/Master/texmf-dist/doc/latex/mitthesis/MIT-thesis-template/acknowledgments.tex index a1ceaacffd9..de4fcfd51d3 100644 --- a/Master/texmf-dist/doc/latex/mitthesis/MIT-thesis-template/acknowledgments.tex +++ b/Master/texmf-dist/doc/latex/mitthesis/MIT-thesis-template/acknowledgments.tex @@ -1,11 +1,11 @@ %% acknowledgments.tex % From mitthesis package -% Version: 1.01, 2023/10/16 +% Version: 1.02, 2024/06/19 % Documentation: https://ctan.org/pkg/mitthesis - \chapter*{Acknowledgments} -\addcontentsline{toc}{chapter}{Acknowledgments} +\pdfbookmark[0]{Acknowledgments}{acknowledgments} + Write your acknowledgments here. diff --git a/Master/texmf-dist/doc/latex/mitthesis/MIT-thesis-template/biography.tex b/Master/texmf-dist/doc/latex/mitthesis/MIT-thesis-template/biography.tex index 30e4784525d..6148c2f133a 100644 --- a/Master/texmf-dist/doc/latex/mitthesis/MIT-thesis-template/biography.tex +++ b/Master/texmf-dist/doc/latex/mitthesis/MIT-thesis-template/biography.tex @@ -2,11 +2,12 @@ %% This section is optional % From mitthesis package -% Version: 1.01, 2023/10/16 +% Version: 1.02, 2024/06/19 % Documentation: https://ctan.org/pkg/mitthesis \chapter*{Biographical Sketch} -\addcontentsline{toc}{chapter}{Biographical Sketch} +\pdfbookmark[0]{Biographical Sketch}{biosketch} + Silas Whitcomb Holman was born in Harvard, Massachusetts on January 20, 1856. He received his S.B. degree in Physics from MIT in 1876, and then joined the MIT Department of Physics as an Assistant. He became Instructor in Physics in 1880, Assistant Professor in 1882, Associate Professor in 1885, and Full Professor in 1893. Throughout this period, he struggled with increasingly severe rheumatoid arthritis. At length, he was defeated, becoming Professor Emeritus in 1897 and dying on April 1, 1900. diff --git a/Master/texmf-dist/doc/latex/mitthesis/MIT-thesis-template/chapter1.tex b/Master/texmf-dist/doc/latex/mitthesis/MIT-thesis-template/chapter1.tex index cc7683744ec..1f2acd20a6d 100644 --- a/Master/texmf-dist/doc/latex/mitthesis/MIT-thesis-template/chapter1.tex +++ b/Master/texmf-dist/doc/latex/mitthesis/MIT-thesis-template/chapter1.tex @@ -1,5 +1,5 @@ % From mitthesis package -% Version: 1.04, 2023/10/19 +% Version: 1.06, 2024/07/09 % Documentation: https://ctan.org/pkg/mitthesis @@ -7,11 +7,11 @@ \lipsum[1-2] Postremo aliquos futuros suspicor, qui me ad alias litteras vocent, genus hoc scribendi, etsi sit elegans, personae tamen et dignitatis esse negent~\cite{DKE1969,ww1920,kirk2288a,churchill1948,gibbs1863}. -\section[A section discussing the first issue: \(J/\psi\)]{A section discussing the first issue: \ifpdftex\(\bm{J}/\bm{\psi}\)\else{\(\symbfup{J/\psi}\)}\fi} +\section[A section discussing the first issue: \(J/\psi\)]{A section discussing the first issue: \ifpdftex\(\bm{J}/\bm{\psi}\)\else{\(\symbfit{J/\psi}\)}\fi} We begin with some ideas from the literature \cite{Fong2015,sharpe1}. -\begin{equation} +\begin{equation}\label{eqn:1} \frac{\partial}{\partial t}\left[\rho\bigl(e + \lvert\vec{u}\rvert^2\big/2\bigr)\right] + \nabla\cdot\left[\rho\bigl(h + \lvert\vec{u}\rvert^2\big/2 \bigr)\vec{u}\right] ={}-\nabla \cdot \vec{q} + \rho \vec{u}\cdot\vec{g}+ \frac{\partial}{\partial x_j}\bigl(d_{ji}u_i\bigr) \end{equation} @@ -37,7 +37,8 @@ We begin with some ideas from the literature \cite{Fong2015,sharpe1}. \lipsum[4] -\subsection{Subsection~eqn.~\eqref{eqn:WT1}} +%% note use of \ref* here to avoid placing a nested link in the table of contents +\subsection[Subsection~eqn.~(\ref*{eqn:WT1})]{Subsection~eqn.~\eqref{eqn:WT1}} \lipsum[5-6] \subsubsection{A subsubsection} @@ -84,9 +85,9 @@ L(\ifpdftex\bm{A}\else\symbfup{A}\fi) = \begin{pmatrix} \ce{SO4^2- + Ba^2+ -> BaSO4 v} \\[0.5em] \ce{Zn^2+ <=>[+ 2OH-][+ 2H+] -$\underset{\text{amphoteric hydroxide}}{\ce{Zn(OH)2 v}}$ +$\underset{\textrm{amphoteric hydroxide}}{\ce{Zn(OH)2 v}}$ <=>[+ 2OH-][+ 2H+] -$\underset{\text{tetrahydroxozincate}}{\ce{[Zn(OH)4]^2-}}$ +$\underset{\textrm{tetrahydroxozincate}}{\ce{[Zn(OH)4]^2-}}$ } \end{gather} These examples of chemical formul\ae\ are copied directly from the documentation of the \texttt{mhchem} package, which was used to typeset them. @@ -94,7 +95,7 @@ These examples of chemical formul\ae\ are copied directly from the documentation \section{Baroclinic generation of vorticity\label{sec:stratified-flow}} Substitution of the particle acceleration and application Stokes theorem leads to the \textit{Kelvin-Bjerknes circulation theorem}, for -$\rho \neq \text{fn}(p)$: +$\rho \neq \textrm{fn}(p)$: \begin{align} \frac{d\Gamma}{dt} &{}= \frac{d}{dt} \int_{\mathcal{C}} \mathbf{u} \cdot d\mathbf{r}\\ &{}= \int_{\mathcal{C}} \frac{D\mathbf{u}}{Dt} \cdot d\mathbf{r} + \underbrace{\int_{\mathcal{C}} \mathbf{u}\cdot d\biggl( \frac{d\mathbf{r}}{dt}\Biggr)}_{=\, 0} \\[-2pt] @@ -130,11 +131,11 @@ Baroclinic generation of vorticity accounts for the sea breeze and various other \\[-0.5em] \toprule \multicolumn{1}{@{\hspace*{1.5em}}c}{$x$\rule{0pt}{8pt}} & -\multicolumn{1}{c}{$\text{erf}(x)$} & -\multicolumn{1}{c!{\hspace*{3.em}}}{$\text{erfc}(x)$} & +\multicolumn{1}{c}{$\textrm{erf}(x)$} & +\multicolumn{1}{c!{\hspace*{3.em}}}{$\textrm{erfc}(x)$} & \multicolumn{1}{c}{$x$} & -\multicolumn{1}{c}{$\text{erf}(x)$} & -\multicolumn{1}{c@{\hspace*{1.5em}}}{$\text{erfc}(x)$} \\ \midrule +\multicolumn{1}{c}{$\textrm{erf}(x)$} & +\multicolumn{1}{c@{\hspace*{1.5em}}}{$\textrm{erfc}(x)$} \\ \midrule 0.00 & 0.00000 & 1.00000 & 1.10 & 0.88021 & 0.11980 \\ 0.05 & 0.05637 & 0.94363 & 1.20 & 0.91031 & 0.08969 \\ 0.10 & 0.11246 & 0.88754 & 1.30 & 0.93401 & 0.06599 \\ diff --git a/Master/texmf-dist/doc/latex/mitthesis/MIT-thesis-template/fontsets/mitthesis-newtx-sans-text.tex b/Master/texmf-dist/doc/latex/mitthesis/MIT-thesis-template/fontsets/mitthesis-newtx-sans-text.tex index a599af35e21..03d62286e2c 100644 --- a/Master/texmf-dist/doc/latex/mitthesis/MIT-thesis-template/fontsets/mitthesis-newtx-sans-text.tex +++ b/Master/texmf-dist/doc/latex/mitthesis/MIT-thesis-template/fontsets/mitthesis-newtx-sans-text.tex @@ -1,14 +1,17 @@ % From mitthesis package % Documentation: https://ctan.org/pkg/mitthesis -\ProvidesFile{mitthesis-newtx-sans-text.tex}[2023/09/12 v1.02 Load newtx sans-serif text and regular math fonts] +\ProvidesFile{mitthesis-newtx-sans-text.tex}[2023/10/03 v1.03 Load newtx sans-serif text and regular math fonts] %% newtx package with sans-serif text (Helvetica-like text with Times-like math) % \ifpdftex \RequirePackage[T1]{fontenc} \RequirePackage[subscriptcorrection,varvw,helvratio=0.91,defaultsups]{newtx}% upint for upright integrals - \renewcommand{\familydefault}{\sfdefault}% use sans for main text + \AtEndPreamble{% added to accommodate v1.731 of newtx, 2023/11/03 + \renewcommand{\familydefault}{\sfdefault}% use sans for main text +% \renewcommand{\rmdefault}{\sfdefault}% uses sans for \textrm{}, if that's desired. + } % these two commands enable hyphenation of the typewriter font - https://tex.stackexchange.com/a/204421/119566 % \input{t1ntxtt.fd} % \DeclareFontFamily{\encodingdefault}{\ttdefault}{\hyphenchar\font=`\-} % diff --git a/Master/texmf-dist/doc/latex/mitthesis/MIT-thesis-template/mydesign.tex b/Master/texmf-dist/doc/latex/mitthesis/MIT-thesis-template/mydesign.tex index 2a612d88a1f..1d9184e9730 100644 --- a/Master/texmf-dist/doc/latex/mitthesis/MIT-thesis-template/mydesign.tex +++ b/Master/texmf-dist/doc/latex/mitthesis/MIT-thesis-template/mydesign.tex @@ -1,14 +1,14 @@ % From mitthesis package % Documentation: https://ctan.org/pkg/mitthesis -\ProvidesFile{mydesign.tex}[2023/10/11 v1.03 Typographic design options for thesis] +\ProvidesFile{mydesign.tex}[2024/06/28 v1.04 Typographic design options for thesis] %%%%%%%%%% Color support %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% Color package: xcolor. %% Change this if you prefer something else -\usepackage[hyperref,dvipsnames,svgnames,x11names]{xcolor} +\usepackage[dvipsnames,svgnames,x11names]{xcolor} %% can add option [table] to xcolor to use color in tables (see xcolor documentation) @@ -57,7 +57,7 @@ \titleformat{\subsection}{\mathversion{bold}\normalfont\large\bfseries}{\thesubsection}{1em}{} \titleformat{\subsubsection}{\mathversion{bold}\normalfont\normalsize\bfseries}{\thesubsubsection}{1em}{} -% ==> NOT every font includes a bold math version, so you may need to use other math macros in the headings to get bold math <== +% ==> NOT every font includes a bold math version, so you may need other math macros in the headings to get bold math <== %%%%%%%%% Change page margins %%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/Master/texmf-dist/doc/latex/mitthesis/README.md b/Master/texmf-dist/doc/latex/mitthesis/README.md index 9ead4e57e0b..9d2918ca360 100644 --- a/Master/texmf-dist/doc/latex/mitthesis/README.md +++ b/Master/texmf-dist/doc/latex/mitthesis/README.md @@ -1,11 +1,11 @@ #mitthesis --- A LaTeX template for an MIT thesis# - v1.11 dated 2023/11/02 + v1.14 dated 2024/07/19 ####Overview#### This class provides a LaTeX template to format an MIT thesis according to - the requirements of the Massachusetts Institute of Technology Libraries (as posted in 2023): + the requirements of the Massachusetts Institute of Technology Libraries (as posted in 2024): [https://libraries.mit.edu/distinctive-collections/thesis-specs/](https://libraries.mit.edu/distinctive-collections/thesis-specs/) @@ -53,9 +53,30 @@ --- ####Change log#### + v1.14 (19 July 2024) + - add backward compatibility code for \\text_titlecase_all:n + - adjust supervisor and acceptor titles used on sample cover pages + - format J/psi as \\symbfit in sample chapter 1 and regenerate font samples + - edit documentation + + v1.13 (03 July 2024) + - same as v1.12, except now includes the correct documentation + + v1.12 (02 July 2024) + - add logic for one degree issued by two departments + - fix missing space in abstract block for multiple departments + - adjust second department layout on title and abstract pages + - table of contents revised + - revise documentation + - switch default citation style to numeric (from IEEE). Provide examples for IEEE and author/year styles. + - add \\AtEndPreamble{..} to mitthesis-newtx-sans-text.tex to accommodate v1.731 of newtx + - in chapter1.tex, replace \\text by \\textrm; fix nested link in section heading + - remove obsolete hyperref option from xcolor + - minor changes to log notes of fontset files + - code clean up v1.11 (02 November 2023) - - Revise all skips on cover page to better group material while allowing for glue compression as content increases; increase font size of author name; provide user macros for control cover page spacing and author name font. + - revise all skips on cover page to better group material while allowing for glue compression as content increases; increase font size of author name; provide user macros for control cover page spacing and author name font. - use \\mdseries for linenumbers in all cases, rather than using the locally active series - remove \\raggedright in favor of \\bibsetup for bibliography in MIT-Thesis.tex - add backward compatibility for alt tag of \\includegraphics for pre-2021/11/15 distributions, add alt tag in chapter1.tex diff --git a/Master/texmf-dist/doc/latex/mitthesis/examples/cover_page_samples/No_cc_license.pdf b/Master/texmf-dist/doc/latex/mitthesis/examples/cover_page_samples/No_cc_license.pdf Binary files differindex 304d89113b8..159f037a4d0 100644 --- a/Master/texmf-dist/doc/latex/mitthesis/examples/cover_page_samples/No_cc_license.pdf +++ b/Master/texmf-dist/doc/latex/mitthesis/examples/cover_page_samples/No_cc_license.pdf diff --git a/Master/texmf-dist/doc/latex/mitthesis/examples/cover_page_samples/One_author_one_degree.pdf b/Master/texmf-dist/doc/latex/mitthesis/examples/cover_page_samples/One_author_one_degree.pdf Binary files differindex 737603f89c9..8b4d3e09429 100644 --- a/Master/texmf-dist/doc/latex/mitthesis/examples/cover_page_samples/One_author_one_degree.pdf +++ b/Master/texmf-dist/doc/latex/mitthesis/examples/cover_page_samples/One_author_one_degree.pdf diff --git a/Master/texmf-dist/doc/latex/mitthesis/examples/cover_page_samples/One_author_one_degree_two_departments.pdf b/Master/texmf-dist/doc/latex/mitthesis/examples/cover_page_samples/One_author_one_degree_two_departments.pdf Binary files differnew file mode 100644 index 00000000000..e7e2f13e887 --- /dev/null +++ b/Master/texmf-dist/doc/latex/mitthesis/examples/cover_page_samples/One_author_one_degree_two_departments.pdf diff --git a/Master/texmf-dist/doc/latex/mitthesis/examples/cover_page_samples/One_author_two_degrees.pdf b/Master/texmf-dist/doc/latex/mitthesis/examples/cover_page_samples/One_author_two_degrees.pdf Binary files differindex 7ab9882820a..1adb097a705 100644 --- a/Master/texmf-dist/doc/latex/mitthesis/examples/cover_page_samples/One_author_two_degrees.pdf +++ b/Master/texmf-dist/doc/latex/mitthesis/examples/cover_page_samples/One_author_two_degrees.pdf diff --git a/Master/texmf-dist/doc/latex/mitthesis/examples/cover_page_samples/One_author_two_degrees_from_one_department.pdf b/Master/texmf-dist/doc/latex/mitthesis/examples/cover_page_samples/One_author_two_degrees_from_one_department.pdf Binary files differindex 8950c7ed3c6..0617a275f80 100644 --- a/Master/texmf-dist/doc/latex/mitthesis/examples/cover_page_samples/One_author_two_degrees_from_one_department.pdf +++ b/Master/texmf-dist/doc/latex/mitthesis/examples/cover_page_samples/One_author_two_degrees_from_one_department.pdf diff --git a/Master/texmf-dist/doc/latex/mitthesis/examples/cover_page_samples/Two_authors_one_degree.pdf b/Master/texmf-dist/doc/latex/mitthesis/examples/cover_page_samples/Two_authors_one_degree.pdf Binary files differindex 61a2b631153..7e4300d5b67 100644 --- a/Master/texmf-dist/doc/latex/mitthesis/examples/cover_page_samples/Two_authors_one_degree.pdf +++ b/Master/texmf-dist/doc/latex/mitthesis/examples/cover_page_samples/Two_authors_one_degree.pdf diff --git a/Master/texmf-dist/doc/latex/mitthesis/examples/cover_page_samples/Two_authors_two_degrees.pdf b/Master/texmf-dist/doc/latex/mitthesis/examples/cover_page_samples/Two_authors_two_degrees.pdf Binary files differindex c9ccbd8a9a5..299acda3388 100644 --- a/Master/texmf-dist/doc/latex/mitthesis/examples/cover_page_samples/Two_authors_two_degrees.pdf +++ b/Master/texmf-dist/doc/latex/mitthesis/examples/cover_page_samples/Two_authors_two_degrees.pdf diff --git a/Master/texmf-dist/doc/latex/mitthesis/examples/cover_page_samples/latex_sources/One_author_one_degree_two_departments.tex b/Master/texmf-dist/doc/latex/mitthesis/examples/cover_page_samples/latex_sources/One_author_one_degree_two_departments.tex new file mode 100644 index 00000000000..6c1f5c39827 --- /dev/null +++ b/Master/texmf-dist/doc/latex/mitthesis/examples/cover_page_samples/latex_sources/One_author_one_degree_two_departments.tex @@ -0,0 +1,123 @@ +% !TEX encoding = UTF-8 Unicode +% !BIB TS-program = biber +% !BIB program = biber + +% Author: John H. Lienhard (c) 2024. Reuse under the MIT license: https://ctan.org/license/mit +% Version 1.02, 2024/07/08 + +% Documentation: https://ctan.org/pkg/mitthesis + +%% Don't modify the \DocumentMetadata command unless you know what it does. +%% If this command throws an "undefined" error, your latex system is out of date: try commenting this command out. +\DocumentMetadata +{ + pdfstandard = a-2b, + pdfversion = 1.7, + lang = en-US, +% debug = {xmp-export}, % output xmpi file to directly examine metadata +} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\documentclass[]{mitthesis} +% +% option [twoside] gives facing-page behavior for printing; omitting it will eliminate even-numbered blank pages. +% option [lineno] provides line numbers, as for editing +% option [mydesign] loads titlesec, enumitem, caption, subcaption - you may edit the mydesign.tex file as you like it. +% option [fontset] is a keyvalue which can be: +% pdftex or unicode engines: defaultfonts, libertine, lucida +% pdftex only: fira-newtxsf, newtx, newtx-sans-text +% unicode engines (luatex): heros-stix2, stix2, termes, termes-stix2 +% if no key value is given, fonts default to CMR (pdftex) or LMR (unicode), i.e., "the latex font". +% You can edit the fontset files or you can write your own, myfonts.tex, and do [fontset=myfonts]. +% If you are using multiple languages, load the babel package in your fontset file, before the fonts. + + +%%%%%%%%%%% Metadata %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +% Most of the document metadata is created automatically. +% The following items should be adjusted to match your work. <================= !!!!!!!!!! + +\hypersetup{% + pdfsubject={Template for writing MIT theses with the mitthesis class}, + % Change this to briefly state topic of your thesis +% + pdfkeywords={Massachusetts Institute of Technology, MIT}, + % Add keywords that will help search engines and libraries to find your work. + % Includes the name[s] of the author[s] + % (If you have used \DocumentMetadata, at line 15, you can just put "\CopyrightAuthor," for the names.) +% + pdfurl={}, + % If you have a url for the thesis, put it here. Otherwise delete this. + % (MIT Libraries will put your thesis in DSPACE with a persistent url after you submit it.) +% + pdfcontactemail={}, + % You can put a [permanent] email address into the metadata, if you like. + % Otherwise delete this. +% + pdfauthortitle={}, + % If you have a title, you can include it here. +} + + +%%%%%%%%%%%%%% End preamble %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\begin{document} + + +%%% edit the following commands to match your thesis %%%%%%%%%% + +\title{The Atomic Theory as Applied To Gases, with Some Experiments on the Viscosity of Air} + +% \Author{Author full name}{Author department}[Author's first PREVIOUS degree][Author's second PREVIOUS degree][... +% Note that third, fourth, fifth, and sixth arguments are optional [] and may be omitted + +% note on names: most of the following names are made up; Silas Holman was a professor at MIT in the 19th century. + +\Author{Silas W. Holman}{Department of Nuclear Science and Engineering}%[B.S. Physics, MIT, 1876][MBA, Ferengi School of Management, 2022] +%\Author{Luisa Hernández}{Department of Research}%[B.S. Mechanical Engineering, UCLA, 2018][M.S. Stellar Interiors, Vulcan Science Academy, 2020][MBA, Ferengi School of Management, 2022] + +% For one degree issued by two departments, leave the degree argument blank for the second degree {}. +\Degree{Master of Science in Computational Nuclear Materials}{Department of Nuclear Science and Engineering} +\Degree{}{Center for Computational Science and Engineering} + +% If there is more than one supervisor, use the \Supervisor command for each. +\Supervisor{Edward C. Pickering}{Professor of Nuclear Science and Engineering} +%\Supervisor{Secunda Castor}{Professor of Research} +%\Supervisor{Quintus Castor}{Professor of Log Dams} + +% Professor who formally accepts theses for your department (e.g., the Graduate Officer, Professor Sméagol,...) +% If more than one department, use more than once +% If you need to reduce vertical space, put the acceptor title in the second argument and leave the third blank {}. +\Acceptor{Primus Castor}{Professor and Graduate Officer}{Department of Nuclear Science and Engineering} +\Acceptor{Tertius Castor}{Professor and Graduate Officer}{Center for Computational Science and Engineering} +%\Acceptor{Quarta Castor}{Professor of Lodge Building}{Undergraduate Officer, Department of Mechanical Engineering} + + +% Usage: \DegreeDate{Month}{year} +% Valid degree months are September, February, or June. +\DegreeDate{June}{1876} + +% Date that final thesis is submitted to department +\ThesisDate{May 18, 1876} + +%%%%%% Choose whether to have a CREATIVE COMMONS License %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +% If you are using a cc license, put details of your cc license here. +% Omit this command if you are not using a cc license. +% +\CClicense{CC BY-NC-ND 4.0}{https://creativecommons.org/licenses/by-nc-nd/4.0/} +% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +%%% Titlepage +\maketitle + +% The abstract environment creates all the required headers and footnote. +% You only need to add the text of the abstract itself in the file abstract.tex +\begin{abstract} + \input{abstract.tex}% in this case, use \input rather than \include because you are inside an environment +\end{abstract} + +\end{document} diff --git a/Master/texmf-dist/doc/latex/mitthesis/examples/cover_page_samples/latex_sources/One_author_two_degrees.tex b/Master/texmf-dist/doc/latex/mitthesis/examples/cover_page_samples/latex_sources/One_author_two_degrees.tex index 6334a228aef..f8ebb1b9650 100644 --- a/Master/texmf-dist/doc/latex/mitthesis/examples/cover_page_samples/latex_sources/One_author_two_degrees.tex +++ b/Master/texmf-dist/doc/latex/mitthesis/examples/cover_page_samples/latex_sources/One_author_two_degrees.tex @@ -85,8 +85,7 @@ % If there is more than one supervisor, use the \Supervisor command for each. \Supervisor{Edward C. Pickering}{Professor of Physics} -\Supervisor{Secunda Castor}{Professor of Research} -%\Supervisor{Quintus Castor}{Professor of Log Dams} +\Supervisor{Secunda Castor}{Professor of Mechanical Engineering} % Professor who formally accepts theses for your department (e.g., the Graduate Officer, Professor Sméagol,...) % If more than one department, use more than once diff --git a/Master/texmf-dist/doc/latex/mitthesis/examples/cover_page_samples/latex_sources/Two_authors_one_degree.tex b/Master/texmf-dist/doc/latex/mitthesis/examples/cover_page_samples/latex_sources/Two_authors_one_degree.tex index e5e2618b691..a757806b010 100644 --- a/Master/texmf-dist/doc/latex/mitthesis/examples/cover_page_samples/latex_sources/Two_authors_one_degree.tex +++ b/Master/texmf-dist/doc/latex/mitthesis/examples/cover_page_samples/latex_sources/Two_authors_one_degree.tex @@ -2,7 +2,7 @@ % !BIB TS-program = biber % !BIB program = biber -% Author: John H. Lienhard (c) 2023. Reuse under the MIT license: https://ctan.org/license/mit +% Author: John H. Lienhard (c) 2024. Reuse under the MIT license: https://ctan.org/license/mit % Documentation: https://ctan.org/pkg/mitthesis @@ -75,7 +75,7 @@ % note on names: most of the following names are made up; Silas Holman was a professor at MIT in the 19th century. \Author{Silas W. Holman}{Department of Physics}%[B.S. Physics, MIT, 1876][MBA, Ferengi School of Management, 2022] -\Author{Luisa Hernández}{Department of Research}[B.S. Mechanical Engineering, UCLA, 2018][M.S. Stellar Interiors, Vulcan Science Academy, 2020][MBA, Ferengi School of Management, 2022] +\Author{Luisa Hernández}{Department of Physics}[B.S. Mechanical Engineering, UCLA, 2018][M.S. Stellar Interiors, Vulcan Science Academy, 2020][MBA, Ferengi School of Management, 2022] % Use once for each degree fulfilled by thesis % For two degrees from one department, leave the department argument blank for the second degree {}. @@ -85,20 +85,11 @@ % If there is more than one supervisor, use the \Supervisor command for each. \Supervisor{Edward C. Pickering}{Professor of Physics} -%\Supervisor{Secunda Castor}{Professor of Research} -%\Supervisor{Quintus Castor}{Professor of Log Dams} % Professor who formally accepts theses for your department (e.g., the Graduate Officer, Professor Sméagol,...) % If more than one department, use more than once % If you need to reduce vertical space, put the acceptor title in the second argument and leave the third blank {}. -%\Acceptor{Primus Castor}{Professor of Wetlands Engineering}{Graduate Officer, Department of Physics} \Acceptor{Quintus Castor}{Professor of Wetlands Engineering}{Undergraduate Officer, Department of Physics} -%\Acceptor{Tertius Castor}{Professor of Log Dams}{Graduate Officer, Department of Research} -%\Acceptor{Quarta Castor}{Professor of Lodge Building}{Graduate Officer, Department of Mechanical Engineering} - -% If your title page is overflowing (from too many names, degrees, etc.), you can scale -% down the Signature block at the bottom with this command, or use another creative solution... -%\SignatureBlockSize{\small} %\SignatureBlockSize{\footnotesize} % Usage: \DegreeDate{Month}{year} % Valid degree months are September, February, or June. diff --git a/Master/texmf-dist/doc/latex/mitthesis/examples/cover_page_samples/latex_sources/Two_authors_two_degrees.tex b/Master/texmf-dist/doc/latex/mitthesis/examples/cover_page_samples/latex_sources/Two_authors_two_degrees.tex index 5e004fe1343..57a957b6ba5 100644 --- a/Master/texmf-dist/doc/latex/mitthesis/examples/cover_page_samples/latex_sources/Two_authors_two_degrees.tex +++ b/Master/texmf-dist/doc/latex/mitthesis/examples/cover_page_samples/latex_sources/Two_authors_two_degrees.tex @@ -2,8 +2,8 @@ % !BIB TS-program = biber % !BIB program = biber -% Author: John H. Lienhard (c) 2023. Reuse under the MIT license: https://ctan.org/license/mit -% Version 1.01, 2023/10/27 +% Author: John H. Lienhard (c) 2024. Reuse under the MIT license: https://ctan.org/license/mit +% Version 1.02, 2024/07/08 % Documentation: https://ctan.org/pkg/mitthesis @@ -81,20 +81,17 @@ % Use once for each degree fulfilled by thesis % For two degrees from one department, leave the department argument blank for the second degree {}. \Degree{Master of Science in Physics}{Department of Physics} -%\Degree{Master of Science in Physics}{} \Degree{Master of Science in Mechanical Engineering}{Department of Mechanical Engineering} % If there is more than one supervisor, use the \Supervisor command for each. \Supervisor{Edward C. Pickering}{Professor of Physics} -\Supervisor{Secunda Castor}{Professor of Research} -%\Supervisor{Quintus Castor}{Professor of Log Dams} +\Supervisor{Secunda Castor}{Professor of of Mechanical Engineering} % Professor who formally accepts theses for your department (e.g., the Graduate Officer, Professor Sméagol,...) % If more than one department, use more than once % If you need to reduce vertical space, put the acceptor title in the second argument and leave the third blank {}. \Acceptor{Primus Castor}{Professor and Graduate Officer, Department of Physics}{} \Acceptor{Tertius Castor}{Professor and Graduate Officer, Department of Mechanical Engineering}{} -%\Acceptor{Quarta Castor}{Professor of Lodge Building}{Undergraduate Officer, Department of Mechanical Engineering} % In this example, several steps have been taken to make the content fit on the title page! The \Acceptors have been confined to two % lines in the above commands, the signature block font size is reduced, the skips are tightened, the author names use normal font size, diff --git a/Master/texmf-dist/doc/latex/mitthesis/examples/cover_page_samples/latex_sources/cover_compile.sh b/Master/texmf-dist/doc/latex/mitthesis/examples/cover_page_samples/latex_sources/cover_compile.sh new file mode 100755 index 00000000000..da23571eff7 --- /dev/null +++ b/Master/texmf-dist/doc/latex/mitthesis/examples/cover_page_samples/latex_sources/cover_compile.sh @@ -0,0 +1,31 @@ +#! /bin/bash + +# first run + +for i in *.tex; + do + if [ "$i" != "abstract.tex" ] ; then + pdflatex $i; + fi; + done + +# second run + +for i in *.tex; + do + if [ "$i" != "abstract.tex" ] ; then + pdflatex $i; + fi; + done + +# clean up + +mkdir pdffiles +mv *.pdf pdffiles +rm *.aux +rm *.gz +rm *.log + + + + diff --git a/Master/texmf-dist/doc/latex/mitthesis/examples/font_samples/Defaultfonts.pdf b/Master/texmf-dist/doc/latex/mitthesis/examples/font_samples/Defaultfonts.pdf Binary files differindex e55782bbb4a..97243bde84e 100644 --- a/Master/texmf-dist/doc/latex/mitthesis/examples/font_samples/Defaultfonts.pdf +++ b/Master/texmf-dist/doc/latex/mitthesis/examples/font_samples/Defaultfonts.pdf diff --git a/Master/texmf-dist/doc/latex/mitthesis/examples/font_samples/Fira_Newtxsf.pdf b/Master/texmf-dist/doc/latex/mitthesis/examples/font_samples/Fira_Newtxsf.pdf Binary files differindex 2d802b2a0e5..cc3e40ce75e 100644 --- a/Master/texmf-dist/doc/latex/mitthesis/examples/font_samples/Fira_Newtxsf.pdf +++ b/Master/texmf-dist/doc/latex/mitthesis/examples/font_samples/Fira_Newtxsf.pdf diff --git a/Master/texmf-dist/doc/latex/mitthesis/examples/font_samples/Heros-Stix2.pdf b/Master/texmf-dist/doc/latex/mitthesis/examples/font_samples/Heros-Stix2.pdf Binary files differindex 09a93e218b6..c09afd43ee7 100644 --- a/Master/texmf-dist/doc/latex/mitthesis/examples/font_samples/Heros-Stix2.pdf +++ b/Master/texmf-dist/doc/latex/mitthesis/examples/font_samples/Heros-Stix2.pdf diff --git a/Master/texmf-dist/doc/latex/mitthesis/examples/font_samples/Libertine.pdf b/Master/texmf-dist/doc/latex/mitthesis/examples/font_samples/Libertine.pdf Binary files differindex 45b6d25430f..418bf7e8d3a 100644 --- a/Master/texmf-dist/doc/latex/mitthesis/examples/font_samples/Libertine.pdf +++ b/Master/texmf-dist/doc/latex/mitthesis/examples/font_samples/Libertine.pdf diff --git a/Master/texmf-dist/doc/latex/mitthesis/examples/font_samples/Lucida.pdf b/Master/texmf-dist/doc/latex/mitthesis/examples/font_samples/Lucida.pdf Binary files differindex 383bbfd3a9a..43081a36f02 100644 --- a/Master/texmf-dist/doc/latex/mitthesis/examples/font_samples/Lucida.pdf +++ b/Master/texmf-dist/doc/latex/mitthesis/examples/font_samples/Lucida.pdf diff --git a/Master/texmf-dist/doc/latex/mitthesis/examples/font_samples/Newtx-sans-text.pdf b/Master/texmf-dist/doc/latex/mitthesis/examples/font_samples/Newtx-sans-text.pdf Binary files differindex 3c8fc160bac..d21ca4d0578 100644 --- a/Master/texmf-dist/doc/latex/mitthesis/examples/font_samples/Newtx-sans-text.pdf +++ b/Master/texmf-dist/doc/latex/mitthesis/examples/font_samples/Newtx-sans-text.pdf diff --git a/Master/texmf-dist/doc/latex/mitthesis/examples/font_samples/Newtx.pdf b/Master/texmf-dist/doc/latex/mitthesis/examples/font_samples/Newtx.pdf Binary files differindex 142d3afc0d6..45952c0c528 100644 --- a/Master/texmf-dist/doc/latex/mitthesis/examples/font_samples/Newtx.pdf +++ b/Master/texmf-dist/doc/latex/mitthesis/examples/font_samples/Newtx.pdf diff --git a/Master/texmf-dist/doc/latex/mitthesis/examples/font_samples/Stix2.pdf b/Master/texmf-dist/doc/latex/mitthesis/examples/font_samples/Stix2.pdf Binary files differindex 46b54f1a079..0792ee30f92 100644 --- a/Master/texmf-dist/doc/latex/mitthesis/examples/font_samples/Stix2.pdf +++ b/Master/texmf-dist/doc/latex/mitthesis/examples/font_samples/Stix2.pdf diff --git a/Master/texmf-dist/doc/latex/mitthesis/examples/font_samples/Termes-stix2.pdf b/Master/texmf-dist/doc/latex/mitthesis/examples/font_samples/Termes-stix2.pdf Binary files differindex e4306cb2377..80b8e07d107 100644 --- a/Master/texmf-dist/doc/latex/mitthesis/examples/font_samples/Termes-stix2.pdf +++ b/Master/texmf-dist/doc/latex/mitthesis/examples/font_samples/Termes-stix2.pdf diff --git a/Master/texmf-dist/doc/latex/mitthesis/examples/font_samples/Termes.pdf b/Master/texmf-dist/doc/latex/mitthesis/examples/font_samples/Termes.pdf Binary files differindex 93e1db44009..90dfd3ab31a 100644 --- a/Master/texmf-dist/doc/latex/mitthesis/examples/font_samples/Termes.pdf +++ b/Master/texmf-dist/doc/latex/mitthesis/examples/font_samples/Termes.pdf diff --git a/Master/texmf-dist/doc/latex/mitthesis/examples/font_samples/latex_sources/Defaultfonts.tex b/Master/texmf-dist/doc/latex/mitthesis/examples/font_samples/latex_sources/Defaultfonts.tex index 8b34293ed2d..b6480ef9527 100644 --- a/Master/texmf-dist/doc/latex/mitthesis/examples/font_samples/latex_sources/Defaultfonts.tex +++ b/Master/texmf-dist/doc/latex/mitthesis/examples/font_samples/latex_sources/Defaultfonts.tex @@ -56,8 +56,8 @@ %%%%%%%%% Representative set-up for biblatex %%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\usepackage[style=ieee,maxbibnames=10,sorting=none]{biblatex}% style=ext-numeric-comp,articlein=false,giveninits=true - \DefineBibliographyStrings{english}{url= \textsc{url} , }% replaces default "[Online]. Available" by "URL" +%% Numerical citations of references +\usepackage[style=ext-numeric-comp,giveninits=true,maxbibnames=10,sorting=none]{biblatex} \addbibresource{mitthesis-sample.bib}%% <== change to YOUR bib file <================= CHANGE @@ -246,10 +246,12 @@ %%% Bibliography %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -{ \raggedright% to avoid stretched white space and split urls; DELETE THIS if you prefer justified text -% -\printbibliography[title={References},heading=bibintoc] -} +\defbibheading{bibintoc}{\chapter*{#1}\addcontentsline{toc}{backmatter}{\refname}} +% this sets the title of contents name for bibliography to \refname (= References) +% change "backmatter" to "chapter" if you prefer a bold face entry in the table of contents + +\printbibliography[title={\refname},heading=bibintoc] + % biblatex also supports chapter-by-chapter bibliography, https://tex.stackexchange.com/a/296502/119566 % see the biblatex manual, section 3.14.3 diff --git a/Master/texmf-dist/doc/latex/mitthesis/examples/font_samples/latex_sources/Fira_Newtxsf.tex b/Master/texmf-dist/doc/latex/mitthesis/examples/font_samples/latex_sources/Fira_Newtxsf.tex index d428bcadf1c..f2c8ed11584 100644 --- a/Master/texmf-dist/doc/latex/mitthesis/examples/font_samples/latex_sources/Fira_Newtxsf.tex +++ b/Master/texmf-dist/doc/latex/mitthesis/examples/font_samples/latex_sources/Fira_Newtxsf.tex @@ -56,8 +56,8 @@ %%%%%%%%% Representative set-up for biblatex %%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\usepackage[style=ieee,maxbibnames=10,sorting=none]{biblatex}% style=ext-numeric-comp,articlein=false,giveninits=true - \DefineBibliographyStrings{english}{url= \textsc{url} , }% replaces default "[Online]. Available" by "URL" +%% Numerical citations of references +\usepackage[style=ext-numeric-comp,giveninits=true,maxbibnames=10,sorting=none]{biblatex} \addbibresource{mitthesis-sample.bib}%% <== change to YOUR bib file <================= CHANGE @@ -246,12 +246,11 @@ %%% Bibliography %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -{ \raggedright% to avoid stretched white space and split urls; DELETE THIS if you prefer justified text -% -\printbibliography[title={References},heading=bibintoc] -} -% biblatex also supports chapter-by-chapter bibliography, https://tex.stackexchange.com/a/296502/119566 -% see the biblatex manual, section 3.14.3 +\defbibheading{bibintoc}{\chapter*{#1}\addcontentsline{toc}{backmatter}{\refname}} +% this sets the title of contents name for bibliography to \refname (= References) +% change "backmatter" to "chapter" if you prefer a bold face entry in the table of contents + +\printbibliography[title={\refname},heading=bibintoc] %%%% Option for natbib %%%%%%%%%%%%% diff --git a/Master/texmf-dist/doc/latex/mitthesis/examples/font_samples/latex_sources/Heros-Stix2.tex b/Master/texmf-dist/doc/latex/mitthesis/examples/font_samples/latex_sources/Heros-Stix2.tex index 1ae057c0cd3..7e914bfa38e 100644 --- a/Master/texmf-dist/doc/latex/mitthesis/examples/font_samples/latex_sources/Heros-Stix2.tex +++ b/Master/texmf-dist/doc/latex/mitthesis/examples/font_samples/latex_sources/Heros-Stix2.tex @@ -56,8 +56,8 @@ %%%%%%%%% Representative set-up for biblatex %%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\usepackage[style=ieee,maxbibnames=10,sorting=none]{biblatex}% style=ext-numeric-comp,articlein=false,giveninits=true - \DefineBibliographyStrings{english}{url= \textsc{url} , }% replaces default "[Online]. Available" by "URL" +%% Numerical citations of references +\usepackage[style=ext-numeric-comp,giveninits=true,maxbibnames=10,sorting=none]{biblatex} \addbibresource{mitthesis-sample.bib}%% <== change to YOUR bib file <================= CHANGE @@ -246,9 +246,13 @@ %%% Bibliography %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\defbibheading{bibintoc}{\chapter*{#1}\addcontentsline{toc}{backmatter}{\refname}} +% this sets the title of contents name for bibliography to \refname (= References) +% change "backmatter" to "chapter" if you prefer a bold face entry in the table of contents + { \raggedright% to avoid stretched white space and split urls; DELETE THIS if you prefer justified text % -\printbibliography[title={References},heading=bibintoc] +\printbibliography[title={\refname},heading=bibintoc] } % biblatex also supports chapter-by-chapter bibliography, https://tex.stackexchange.com/a/296502/119566 % see the biblatex manual, section 3.14.3 diff --git a/Master/texmf-dist/doc/latex/mitthesis/examples/font_samples/latex_sources/Libertine.tex b/Master/texmf-dist/doc/latex/mitthesis/examples/font_samples/latex_sources/Libertine.tex index 8fa97df9b00..9198d8a489f 100644 --- a/Master/texmf-dist/doc/latex/mitthesis/examples/font_samples/latex_sources/Libertine.tex +++ b/Master/texmf-dist/doc/latex/mitthesis/examples/font_samples/latex_sources/Libertine.tex @@ -56,8 +56,8 @@ %%%%%%%%% Representative set-up for biblatex %%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\usepackage[style=ieee,maxbibnames=10,sorting=none]{biblatex}% style=ext-numeric-comp,articlein=false,giveninits=true - \DefineBibliographyStrings{english}{url= \textsc{url} , }% replaces default "[Online]. Available" by "URL" +%% Numerical citations of references +\usepackage[style=ext-numeric-comp,giveninits=true,maxbibnames=10,sorting=none]{biblatex} \addbibresource{mitthesis-sample.bib}%% <== change to YOUR bib file <================= CHANGE @@ -246,10 +246,12 @@ %%% Bibliography %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -{ \raggedright% to avoid stretched white space and split urls; DELETE THIS if you prefer justified text -% -\printbibliography[title={References},heading=bibintoc] -} +\defbibheading{bibintoc}{\chapter*{#1}\addcontentsline{toc}{backmatter}{\refname}} +% this sets the title of contents name for bibliography to \refname (= References) +% change "backmatter" to "chapter" if you prefer a bold face entry in the table of contents + +\printbibliography[title={\refname},heading=bibintoc] + % biblatex also supports chapter-by-chapter bibliography, https://tex.stackexchange.com/a/296502/119566 % see the biblatex manual, section 3.14.3 diff --git a/Master/texmf-dist/doc/latex/mitthesis/examples/font_samples/latex_sources/Lucida.tex b/Master/texmf-dist/doc/latex/mitthesis/examples/font_samples/latex_sources/Lucida.tex index 1af3c907540..3fd445d4ff2 100644 --- a/Master/texmf-dist/doc/latex/mitthesis/examples/font_samples/latex_sources/Lucida.tex +++ b/Master/texmf-dist/doc/latex/mitthesis/examples/font_samples/latex_sources/Lucida.tex @@ -56,8 +56,8 @@ %%%%%%%%% Representative set-up for biblatex %%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\usepackage[style=ieee,maxbibnames=10,sorting=none]{biblatex}% style=ext-numeric-comp,articlein=false,giveninits=true - \DefineBibliographyStrings{english}{url= \textsc{url} , }% replaces default "[Online]. Available" by "URL" +%% Numerical citations of references +\usepackage[style=ext-numeric-comp,giveninits=true,maxbibnames=10,sorting=none]{biblatex} \addbibresource{mitthesis-sample.bib}%% <== change to YOUR bib file <================= CHANGE @@ -246,10 +246,12 @@ %%% Bibliography %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -{ \raggedright% to avoid stretched white space and split urls; DELETE THIS if you prefer justified text -% -\printbibliography[title={References},heading=bibintoc] -} +\defbibheading{bibintoc}{\chapter*{#1}\addcontentsline{toc}{backmatter}{\refname}} +% this sets the title of contents name for bibliography to \refname (= References) +% change "backmatter" to "chapter" if you prefer a bold face entry in the table of contents + +\printbibliography[title={\refname},heading=bibintoc] + % biblatex also supports chapter-by-chapter bibliography, https://tex.stackexchange.com/a/296502/119566 % see the biblatex manual, section 3.14.3 diff --git a/Master/texmf-dist/doc/latex/mitthesis/examples/font_samples/latex_sources/Newtx-sans-text.tex b/Master/texmf-dist/doc/latex/mitthesis/examples/font_samples/latex_sources/Newtx-sans-text.tex index 87ad88c57e8..9729118c307 100644 --- a/Master/texmf-dist/doc/latex/mitthesis/examples/font_samples/latex_sources/Newtx-sans-text.tex +++ b/Master/texmf-dist/doc/latex/mitthesis/examples/font_samples/latex_sources/Newtx-sans-text.tex @@ -56,8 +56,8 @@ %%%%%%%%% Representative set-up for biblatex %%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\usepackage[style=ieee,maxbibnames=10,sorting=none]{biblatex}% style=ext-numeric-comp,articlein=false,giveninits=true - \DefineBibliographyStrings{english}{url= \textsc{url} , }% replaces default "[Online]. Available" by "URL" +%% Numerical citations of references +\usepackage[style=ext-numeric-comp,giveninits=true,maxbibnames=10,sorting=none]{biblatex} \addbibresource{mitthesis-sample.bib}%% <== change to YOUR bib file <================= CHANGE @@ -246,12 +246,11 @@ %%% Bibliography %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -{ \raggedright% to avoid stretched white space and split urls; DELETE THIS if you prefer justified text -% -\printbibliography[title={References},heading=bibintoc] -} -% biblatex also supports chapter-by-chapter bibliography, https://tex.stackexchange.com/a/296502/119566 -% see the biblatex manual, section 3.14.3 +\defbibheading{bibintoc}{\chapter*{#1}\addcontentsline{toc}{backmatter}{\refname}} +% this sets the title of contents name for bibliography to \refname (= References) +% change "backmatter" to "chapter" if you prefer a bold face entry in the table of contents + +\printbibliography[title={\refname},heading=bibintoc] %%%% Option for natbib %%%%%%%%%%%%% diff --git a/Master/texmf-dist/doc/latex/mitthesis/examples/font_samples/latex_sources/Newtx.tex b/Master/texmf-dist/doc/latex/mitthesis/examples/font_samples/latex_sources/Newtx.tex index eb96cc7892d..e2cebe98acb 100644 --- a/Master/texmf-dist/doc/latex/mitthesis/examples/font_samples/latex_sources/Newtx.tex +++ b/Master/texmf-dist/doc/latex/mitthesis/examples/font_samples/latex_sources/Newtx.tex @@ -56,8 +56,8 @@ %%%%%%%%% Representative set-up for biblatex %%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\usepackage[style=ieee,maxbibnames=10,sorting=none]{biblatex}% style=ext-numeric-comp,articlein=false,giveninits=true - \DefineBibliographyStrings{english}{url= \textsc{url} , }% replaces default "[Online]. Available" by "URL" +%% Numerical citations of references +\usepackage[style=ext-numeric-comp,giveninits=true,maxbibnames=10,sorting=none]{biblatex} \addbibresource{mitthesis-sample.bib}%% <== change to YOUR bib file <================= CHANGE @@ -246,10 +246,12 @@ %%% Bibliography %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -{ \raggedright% to avoid stretched white space and split urls; DELETE THIS if you prefer justified text -% -\printbibliography[title={References},heading=bibintoc] -} +\defbibheading{bibintoc}{\chapter*{#1}\addcontentsline{toc}{backmatter}{\refname}} +% this sets the title of contents name for bibliography to \refname (= References) +% change "backmatter" to "chapter" if you prefer a bold face entry in the table of contents + +\printbibliography[title={\refname},heading=bibintoc] + % biblatex also supports chapter-by-chapter bibliography, https://tex.stackexchange.com/a/296502/119566 % see the biblatex manual, section 3.14.3 diff --git a/Master/texmf-dist/doc/latex/mitthesis/examples/font_samples/latex_sources/README_font_sample_sources.txt b/Master/texmf-dist/doc/latex/mitthesis/examples/font_samples/latex_sources/README_font_sample_sources.txt index c4d5c782c18..beacdde0a3e 100644 --- a/Master/texmf-dist/doc/latex/mitthesis/examples/font_samples/latex_sources/README_font_sample_sources.txt +++ b/Master/texmf-dist/doc/latex/mitthesis/examples/font_samples/latex_sources/README_font_sample_sources.txt @@ -12,3 +12,5 @@ mitthesis-sample.bib mydesign.tex All of those files are in the directory mitthesis/MIT-thesis-template. + +You should also copy the fontsets directory (and mitthesis.cls) into this folder. diff --git a/Master/texmf-dist/doc/latex/mitthesis/examples/font_samples/latex_sources/Stix2.tex b/Master/texmf-dist/doc/latex/mitthesis/examples/font_samples/latex_sources/Stix2.tex index ffc9657186d..6fe4965432f 100644 --- a/Master/texmf-dist/doc/latex/mitthesis/examples/font_samples/latex_sources/Stix2.tex +++ b/Master/texmf-dist/doc/latex/mitthesis/examples/font_samples/latex_sources/Stix2.tex @@ -56,8 +56,8 @@ %%%%%%%%% Representative set-up for biblatex %%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\usepackage[style=ieee,maxbibnames=10,sorting=none]{biblatex}% style=ext-numeric-comp,articlein=false,giveninits=true - \DefineBibliographyStrings{english}{url= \textsc{url} , }% replaces default "[Online]. Available" by "URL" +%% Numerical citations of references +\usepackage[style=ext-numeric-comp,giveninits=true,maxbibnames=10,sorting=none]{biblatex} \addbibresource{mitthesis-sample.bib}%% <== change to YOUR bib file <================= CHANGE @@ -246,10 +246,12 @@ %%% Bibliography %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -{ \raggedright% to avoid stretched white space and split urls; DELETE THIS if you prefer justified text -% -\printbibliography[title={References},heading=bibintoc] -} +\defbibheading{bibintoc}{\chapter*{#1}\addcontentsline{toc}{backmatter}{\refname}} +% this sets the title of contents name for bibliography to \refname (= References) +% change "backmatter" to "chapter" if you prefer a bold face entry in the table of contents + +\printbibliography[title={\refname},heading=bibintoc] + % biblatex also supports chapter-by-chapter bibliography, https://tex.stackexchange.com/a/296502/119566 % see the biblatex manual, section 3.14.3 diff --git a/Master/texmf-dist/doc/latex/mitthesis/examples/font_samples/latex_sources/Termes-stix2.tex b/Master/texmf-dist/doc/latex/mitthesis/examples/font_samples/latex_sources/Termes-stix2.tex index 29bb0e05cf4..3bbf3c83336 100644 --- a/Master/texmf-dist/doc/latex/mitthesis/examples/font_samples/latex_sources/Termes-stix2.tex +++ b/Master/texmf-dist/doc/latex/mitthesis/examples/font_samples/latex_sources/Termes-stix2.tex @@ -56,8 +56,8 @@ %%%%%%%%% Representative set-up for biblatex %%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\usepackage[style=ieee,maxbibnames=10,sorting=none]{biblatex}% style=ext-numeric-comp,articlein=false,giveninits=true - \DefineBibliographyStrings{english}{url= \textsc{url} , }% replaces default "[Online]. Available" by "URL" +%% Numerical citations of references +\usepackage[style=ext-numeric-comp,giveninits=true,maxbibnames=10,sorting=none]{biblatex} \addbibresource{mitthesis-sample.bib}%% <== change to YOUR bib file <================= CHANGE @@ -246,10 +246,12 @@ %%% Bibliography %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -{ \raggedright% to avoid stretched white space and split urls; DELETE THIS if you prefer justified text -% -\printbibliography[title={References},heading=bibintoc] -} +\defbibheading{bibintoc}{\chapter*{#1}\addcontentsline{toc}{backmatter}{\refname}} +% this sets the title of contents name for bibliography to \refname (= References) +% change "backmatter" to "chapter" if you prefer a bold face entry in the table of contents + +\printbibliography[title={\refname},heading=bibintoc] + % biblatex also supports chapter-by-chapter bibliography, https://tex.stackexchange.com/a/296502/119566 % see the biblatex manual, section 3.14.3 diff --git a/Master/texmf-dist/doc/latex/mitthesis/examples/font_samples/latex_sources/Termes.tex b/Master/texmf-dist/doc/latex/mitthesis/examples/font_samples/latex_sources/Termes.tex index fb2f11a35db..92a905fe998 100644 --- a/Master/texmf-dist/doc/latex/mitthesis/examples/font_samples/latex_sources/Termes.tex +++ b/Master/texmf-dist/doc/latex/mitthesis/examples/font_samples/latex_sources/Termes.tex @@ -56,8 +56,8 @@ %%%%%%%%% Representative set-up for biblatex %%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\usepackage[style=ieee,maxbibnames=10,sorting=none]{biblatex}% style=ext-numeric-comp,articlein=false,giveninits=true - \DefineBibliographyStrings{english}{url= \textsc{url} , }% replaces default "[Online]. Available" by "URL" +%% Numerical citations of references +\usepackage[style=ext-numeric-comp,giveninits=true,maxbibnames=10,sorting=none]{biblatex} \addbibresource{mitthesis-sample.bib}%% <== change to YOUR bib file <================= CHANGE @@ -246,10 +246,12 @@ %%% Bibliography %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -{ \raggedright% to avoid stretched white space and split urls; DELETE THIS if you prefer justified text -% -\printbibliography[title={References},heading=bibintoc] -} +\defbibheading{bibintoc}{\chapter*{#1}\addcontentsline{toc}{backmatter}{\refname}} +% this sets the title of contents name for bibliography to \refname (= References) +% change "backmatter" to "chapter" if you prefer a bold face entry in the table of contents + +\printbibliography[title={\refname},heading=bibintoc] + % biblatex also supports chapter-by-chapter bibliography, https://tex.stackexchange.com/a/296502/119566 % see the biblatex manual, section 3.14.3 diff --git a/Master/texmf-dist/doc/latex/mitthesis/examples/font_samples/latex_sources/compile-font-samples.sh b/Master/texmf-dist/doc/latex/mitthesis/examples/font_samples/latex_sources/compile-font-samples.sh new file mode 100755 index 00000000000..fdb19c1f4fa --- /dev/null +++ b/Master/texmf-dist/doc/latex/mitthesis/examples/font_samples/latex_sources/compile-font-samples.sh @@ -0,0 +1,72 @@ +#! /bin/bash + +# first run + +pdflatex Defaultfonts +pdflatex Fira_Newtxsf +pdflatex Libertine +pdflatex Lucida +pdflatex Newtx-sans-text +pdflatex Newtx + +lualatex Heros-Stix2 +lualatex Stix2 +lualatex Termes-stix2 +lualatex Termes + +# biber + +biber Defaultfonts +biber Fira_Newtxsf +biber Libertine +biber Lucida +biber Newtx-sans-text +biber Newtx +biber Heros-Stix2 +biber Stix2 +biber Termes-stix2 +biber Termes + +# second run + +pdflatex Defaultfonts +pdflatex Fira_Newtxsf +pdflatex Libertine +pdflatex Lucida +pdflatex Newtx-sans-text +pdflatex Newtx + +lualatex Heros-Stix2 +lualatex Stix2 +lualatex Termes-stix2 +lualatex Termes + +# third run + +pdflatex Defaultfonts +pdflatex Fira_Newtxsf +pdflatex Libertine +pdflatex Lucida +pdflatex Newtx-sans-text +pdflatex Newtx + +lualatex Heros-Stix2 +lualatex Stix2 +lualatex Termes-stix2 +lualatex Termes + +# clean up + +mkdir pdffiles +mv *.pdf pdffiles +rm *.aux +rm *.bbl +rm *.bcf +rm *.blg +rm *.log +rm *.lot +rm *.lof +rm *.toc +rm *.xml + + diff --git a/Master/texmf-dist/doc/latex/mitthesis/mitthesis-doc/mitthesis-doc.pdf b/Master/texmf-dist/doc/latex/mitthesis/mitthesis-doc/mitthesis-doc.pdf Binary files differindex 611f9c69ac4..ab61cf59e59 100644 --- a/Master/texmf-dist/doc/latex/mitthesis/mitthesis-doc/mitthesis-doc.pdf +++ b/Master/texmf-dist/doc/latex/mitthesis/mitthesis-doc/mitthesis-doc.pdf diff --git a/Master/texmf-dist/doc/latex/mitthesis/mitthesis-doc/mitthesis-doc.tex b/Master/texmf-dist/doc/latex/mitthesis/mitthesis-doc/mitthesis-doc.tex index 2b434f49a72..4e5e739585b 100644 --- a/Master/texmf-dist/doc/latex/mitthesis/mitthesis-doc/mitthesis-doc.tex +++ b/Master/texmf-dist/doc/latex/mitthesis/mitthesis-doc/mitthesis-doc.tex @@ -1,12 +1,13 @@ % !TEX TS-program = lualatex % !TEX encoding = UTF-8 Unicode -% Version date: 02 November 2023 +% Version date: 19 July 2024 \DocumentMetadata { - pdfstandard = a-2b,%a-3u,%a-4,% - pdfversion = 1.7, %2.0, + pdfstandard = a-4, + pdfversion = 2.0, +% testphase = {phase-III, table, firstaid, math}, lang = en-US, % debug = {xmp-export}, % note that subject entries are all fine in dc format of outputted xmpi file. } @@ -23,6 +24,8 @@ \usepackage[x11names,svgnames,dvipsnames,table]{xcolor} \usepackage{luacolor} % load AFTER xcolor +\usepackage{mathtools} + \usepackage[en-US]{datetime2} %% change default date format \makeatletter \newcommand{\daymonthyeardate}{% @@ -32,41 +35,6 @@ \usepackage{booktabs} -%%% Create an optional argument for unnumbered sections and set pdf bookmark (thru \addcontentsline). -%%% The optional argument will manually set the pdf bookmark for that section; can be used to avoid hyperref -%%% errors when macros are in section titles. -\let\svsection\section -\RenewDocumentCommand{\section}{s o m}{% - \IfBooleanTF {#1} - {\svsection*{#3}\phantomsection% - {\IfNoValueTF {#2} - {\addcontentsline{toc}{section}{#3}} - {\addcontentsline{toc}{section}{#2}}% removed trailing space 2020/02/28 - }% - }% - {\IfNoValueTF {#2} - {\svsection{#3}} - {\svsection[#2]{#3}}% - }% -} - -%%% Create an optional argument for unnumbered SUBsections and set pdf bookmark (thru \addcontentsline). -%%% The optional argument will manually set the pdf bookmark for that section; can be used to avoid hyperref -%%% errors when macros are in section titles. -\let\svsubsection\subsection -\RenewDocumentCommand{\subsection}{s o m}{% - \IfBooleanTF {#1} - {\svsubsection*{#3}\phantomsection% - {\IfNoValueTF {#2} - {\addcontentsline{toc}{subsection}{#3}} - {\addcontentsline{toc}{subsection}{#2}} - }% - }% - {\IfNoValueTF {#2} - {\svsubsection{#3}} - {\svssubection[#2]{#3}}% - }% -} %%%%%%%%% Set up text and math fonts %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -128,7 +96,7 @@ citecolor=blue, urlcolor=violet, filecolor=red, -% anchorcolor=yellow,% not all pdf viewers recognize this field (Firefox does) + anchorcolor=yellow,% not all pdf viewers recognize this field (Firefox does) % colorscheme=phelype,% overrides link, cite, url, file colors with a preset scheme, through \DocumentMetadata pdfpagelayout=SinglePage, pdfdisplaydoctitle=true,% @@ -159,42 +127,40 @@ \ExplSyntaxOff \urlstyle{same} % this changes font for \url to the current text font, but it is not recognized by \href. -\RequirePackage{bookmark}% improves handling of pdf bookmarks +%\RequirePackage{bookmark}% improves handling of pdf bookmarks %\providecommand\hrefurl[2]{\href{#1}{#2}}% to address certain issues around URL recognition with new pdf management code -%%%%%%% A nomenclature environment, if needed %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%%%%%%% A nomenclature environment, if needed %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \providecommand{\nomname}{Nomenclature} \newlength\nomenwidth \newlength\savitemsep \makeatletter +% nomenclature entries \NewDocumentCommand\entry{m m}{% - \ifblank{#2}{% - \ClassWarning{\ClassName}{The command \protect\entry requires two arguments. To obtain a subheading, use \protect\EntryHeading} - \itemsep3\p@ plus 1\p@ minus 1\p@% - \goodbreak\item[\itshape#1\hfill]\setlength\itemsep\savitemsep\@itempenalty=1000% - }{% - \item[#1\hfill]#2% - \@itempenalty=-\@lowpenalty% - }% + \item[#1\hfill]#2% + \@itempenalty=-\@lowpenalty } -% A separate command command for nomenclature subheadings +% nomenclature subheadings \NewDocumentCommand\EntryHeading{m}{% - \itemsep3\p@ plus 1\p@ minus 1\p@% - \goodbreak\item[\itshape#1\hfill]\setlength\itemsep\savitemsep\@itempenalty=1000% + \itemsep3\p@ plus 1\p@ minus 1\p@ + \goodbreak\item[\itshape#1\hfill]\mbox{}% mbox added for tagged pdf 2023/10/11 + \setlength{\itemsep}{\savitemsep}\@itempenalty=1000 } \makeatother % % Increase first optional argument to a dimension > 2em if wide entries cause undesired misalignment of columns. % Second optional argument can be used to rename the environment, e.g., to List of Symbols. +% Third optional argument selects section-level or chapter-level style for the nomenclature list. +\newcounter{dummy}% for tagging code \NewDocumentEnvironment{nomenclature}{O{2em} O{\nomname} O{section}}{% \setlength\columnsep{2em} \setlength{\nomenwidth}{#1} - \csname #3\endcsname *{#2}% this level will probably vary amongst users! add to toc, as well. -% \phantomsection\addcontentsline{toc}{#3}{#2}% removed for this example. + \csname #3\endcsname *{#2}% this level will vary amongst users! +% \refstepcounter{dummy}\addcontentsline{toc}{#3}{#2}% omit contentsline for this document! \raggedright \begin{list}{}{% \setlength{\itemsep}{0pt}% @@ -203,7 +169,7 @@ \setlength{\labelwidth}{\nomenwidth}% \setlength{\leftmargin}{\labelwidth}% \addtolength{\leftmargin}{\labelsep}% - \setlength\savitemsep\itemsep% + \setlength{\savitemsep}{\itemsep}% }% }{\end{list}\ignorespacesafterend} @@ -211,110 +177,121 @@ %%%%%%%%%%%%% End preamble %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - -\title{The MIT thesis template} -\author{John H. Lienhard \\ Department of Mechanical Engineering \\ Massachusetts Institute of Technology} -\date{\daymonthyeardate} +\renewcommand\abstractname{SUMMARY} \begin{document} -\maketitle +\begingroup + \centering + \LARGE The MIT thesis template\\[1em] + \large + John H. Lienhard \\ Department of Mechanical Engineering \\ Massachusetts Institute of Technology + \\[1em] + \daymonthyeardate\\[1em] +\endgroup -\section*{THE MIT THESIS TEMPLATE} -This template is suitable for MIT theses of all types and at all levels. The title and abstract pages are automatically laid out from information provided by the user. The template includes options to use a variety of fonts, and it is compatible with either pdfTeX or unicode engines such as luaLaTeX. When using LaTeX formats dated November 2022 or later, the resulting pdf file meets the PDF/A-2b archivability standard. A standard \href{https://www.tug.org/texlive/}{\TeX\ Live} installation includes all other packages required by the template. +\phantomsection\pdfbookmark[1]{\abstractname}{summary} +\begin{abstract} +This \LaTeX\ class formats theses according to the requirements of the MIT Libraries. The template is suitable for MIT theses of all types and at all levels. The title and abstract pages are automatically laid out from information provided by the user. The template includes options to use a variety of typefaces, and it is compatible with either pdfTeX or unicode engines such as LuaLaTeX. When using LaTeX formats dated November 2022 or later, the resulting pdf file meets the PDF/A-2b archivability standard. A standard \href{https://www.tug.org/texlive/}{\TeX\ Live} installation includes all other packages required by the template. This document provides instructions for installation and use of the template. +\end{abstract} -\subsection*{Background} +\tableofcontents + +\section{BACKGROUND} The original MIT Thesis template was written \LaTeX\ 2.09 by Stephen Gildea in the late 1980s (in CTAN, \href{https://mirrors.ctan.org/obsolete/macros/latex209/contrib/mitthesis/mitthesis.sty}{here}). That template was edited by many later students. -LaTeX has changed greatly since the original MIT thesis template was written. \LaTeX\ 2.09 was replaced by \LaTeXe\ in 1994. New engines were developed, particularly pdfTeX during the 1990s and Unicode-aware engines in the decades that followed. Many packages and fonts were developed to accompany the original platform, particularly after 2000; and major updates to the LaTeX kernel began in 2018. Over the years, the MIT Libraries have changed the required format several times, especially as electronic thesis submission has become the norm. The original template served MIT well; but by the early 2020s, it was substantially out of date. That situation motivated the creation of a new template. +LaTeX has changed greatly since the original MIT thesis template was written. \LaTeX\ 2.09 was replaced by \LaTeXe\ in 1994. New engines were developed, particularly pdfTeX during the 1990s and Unicode-aware engines in the decades that followed. Many packages and fonts were developed to accompany the original platform, particularly after 2000; and major updates to the LaTeX kernel began in 2018. Over the years, the MIT Libraries changed the required format several times, especially as electronic thesis submission became the norm. The original template served MIT well; but by the early 2020s, it was substantially out of date. That situation motivated the creation of a new template. This new MIT thesis template was developed in 2023 at the request of the MIT Libraries. The title and abstract pages strictly follow the current \href{https://libraries.mit.edu/distinctive-collections/thesis-specs/}{requirements of the Libraries}. The underlying code is entirely new, with extensive use of \texttt{expl3} syntax. -\subsection*{System requirements} +\section{SYSTEM REQUIREMENTS AND INSTALLATION} The new \texttt{mitthesis} class uses the features of \LaTeX\ as of 2022, with limited backward compatibility. An up-to-date \LaTeX\ system is therefore necessary when using this template. -\LaTeX\ is a free, open source system. The entire system is distributed through the \TeX\ Live platform (\url{https://www.tug.org/texlive/}), including the basic format, packages, and user interfaces. The system operates on Windows, MacOS, and Unix/Linux. \TeX\ Live is formally updated each year in the spring, and the associated utility package allows users download the most current codes more frequently if they desire. (At the time of this writing, the commercial platform Overleaf.com provides similar functionality.) +\LaTeX\ is a free, open source system. The entire system is distributed through the \TeX\ Live platform (\url{https://www.tug.org/texlive/}), including the basic format, packages, and user interfaces. The system operates on Windows, MacOS, and Unix/Linux. \TeX\ Live is formally updated each year in the spring, and the associated utility package allows users to download the most current codes more frequently if they desire. (At the time of this writing, the commercial platform Overleaf.com provides a similar functionality.) If you are missing a package or documentation, you may obtain it at no cost from CTAN (\href{http://ctan.org}{ctan.org}). -\subsection*{\LaTeX\ engine} -The template works with either \pdfTeX\ or unicode engines such as \LuaLaTeX. With the latter, fonts that you install in your operating system can be configured for use in your thesis. \LuaLaTeX\ also enables the direct use of lua code in your \texttt{.tex} file. - -\subsection*{Downloading the template} +\subsection{Downloading the template} The files needed for preparing your thesis are in the CTAN repository: \url{https://ctan.org/pkg/mitthesis}. Copy the subdirectory \texttt{MIT-thesis-template} onto your system. That directory contains files you can modify into your own thesis. -If \texttt{mitthesis.cls} is installed in your system (e.g., if you use an up-to-date version of \TeX\ Live), you are all set. If not, copy the file \texttt{mitthesis.cls} into your working directory. If you plan to use fonts other than the default fonts, ensure that the subdirectory \texttt{fontsets} is present in your working directory. +If the most current version of \texttt{mitthesis.cls} is installed in your system (e.g., if you use an up-to-date version of \TeX\ Live), you are all set. If not, copy the file \texttt{mitthesis.cls} into your working directory. If you plan to use fonts other than the default fonts, ensure that the subdirectory \texttt{fontsets} is present in your working directory. -\subsection*{File structure} +\subsection{File structure} The new MIT thesis template consists of: \texttt{mitthesis.cls}; a root file \texttt{MIT-Thesis.tex}; a file to load the abstract, \texttt{abstract.tex}; a file for design options, \texttt{mydesign.tex}; and an optional file to change the fonts (see the subdirectory, \texttt{fontset}). You should change the name of the root file to something more descriptive of your own work (e.g., \texttt{JohnsThesis.tex}, \texttt{MagnumOpusScientiae.tex},\ldots). In addition, files must be loaded for acknowledgments, an optional biosketch, chapters, optional appendices, and bibliography. -\subsection*{Bibliography} -You may generate your bibliography using either \texttt{biblatex/biber} or \texttt{natbib/bibtex}. The template is set up for \texttt{biblatex} by default, rather than the older, less flexible \texttt{natbib}. +\subsection{\LaTeX\ engine} +The template works with either \pdfTeX\ or unicode engines such as \LuaLaTeX. With the latter, fonts that you install in your operating system can be configured for use in your thesis. \LuaLaTeX\ also enables the direct use of Lua code in your \texttt{.tex} file. With Lua code, you can automate plotting, table generation, and other numerical computations. -\subsection*{PDF/A compatibility} -PDF/A-2b compliance will be automatic if the \verb|\DocumentMetadata{..}| command is issued before the \verb|\documentclass{..}| command and \textit{provided that your graphics are also compliant}. This command was added to \LaTeX\ in June 2022. For older versions of \LaTeX, the \texttt{mitthesis} class will fall back to loading the \texttt{hyperxmp} package to support pdf metadata, but PDF/A compliance will require post-processing (for example, by using the PreFlight function of Adobe Acrobat). An up-to-date \LaTeX\ installation is preferred. +\subsection{PDF/A compliance} +PDF/A-2b compliance will be automatic if the \verb|\DocumentMetadata{pdfstandard = a-2b}| command is issued before the \verb|\documentclass{..}| command and \textit{provided that your graphics are also compliant}. This command was added to \LaTeX\ in June 2022. For older versions of \LaTeX, +PDF/A compliance will require post-processing (for example, by using the PreFlight function of Adobe Acrobat). Current \LaTeX\ development (ca.~2024) is working toward fully \textit{accessible} PDF/A out of the box (e.g., PDF/A-2a). Unicode compliance (e.g., PDF/A-2u) depends greatly on your fonts and figures. -Current \LaTeX\ development (ca.~2023) is working toward fully \textit{accessible} PDF/A out of the box (e.g., PDF/A-2a). Unicode compliance (e.g., PDF/A-2u) depends greatly on your fonts and figures. -\section*{INFORMATION YOU NEED TO COMPLETE} -Various fields and commands must be changed to your own information in the preamble of \texttt{MIT-Thesis.tex} and immediately after the \verb|\begin{document}| command. This information includes the title, author, degree and other essential information. With the comments in \texttt{MIT-Thesis.tex}, this step should be self-explanatory. Nevertheless some comments follow. +\section{SETTING UP TITLE PAGE, ABSTRACT, AND BIBLIOGRAPHY} +Various fields and commands must be changed to your own information in the preamble of \texttt{MIT-Thesis.tex} and immediately after the \verb|\begin{document}| command. This information includes the title, author, degree and other essential information. With the comments in \texttt{MIT-Thesis.tex}, this step should be self-explanatory. Nevertheless, some explanation follows. -In the \verb|\hypersetup{..}| command, change the sample file to match your own information (e.g., keywords, subject, etc.). These commands generate metadata that are incorporated into the pdf file. -The commands that define the title page are as follow. -\begin{itemize} +\begin{enumerate} +\item In the \verb|\hypersetup{..}| command, change the sample file to match your own information (e.g., keywords, subject, etc.). These commands generate metadata that are incorporated into the pdf file. + \item \verb|\title{the title of your thesis}| \item \verb|\Author{author full name}{author department}[1st PREVIOUS degree][2nd...| \linebreak Note that third, fourth, fifth, and sixth arguments are optional [..] and may be omitted. Use once for each author. -\item \verb|\Degree{name of degree}{department giving degree}|. Use once for each degree fulfilled by the thesis. If the thesis satisfies two degrees from one department, leave the department argument blank for the \textit{second} degree: \verb|\Degree{2nd degree name}{}| +\item \verb|\Degree{name of degree}{department giving degree}|. Use once for each degree fulfilled by the thesis. + +If two departments jointly issue a single degree, leave the degree name blank for the \textit{second} degree: +\verb|\Degree{}{2nd department name}|. +If the thesis satisfies two degrees from one department, leave the department argument blank for +the \textit{second} degree: \verb|\Degree{2nd degree name}{}|. -\item \verb|\Supervisor{supervisor name}{supervisor title}|. Use once for each supervisor. +If you wish to cause a line break in a very long degree name, you can insert \verb|\\| at an appropriate point. +Department names should not break across lines. For example: +\begin{quote} +\verb|\Degree{Doctor of Philosophy \\ in \\ Electrical Engineering and Computer|\linebreak +\hbox{}\qquad\verb|Science}{Department of Electrical Engineering and Computer Science}| +\end{quote} + +\item \verb|\Supervisor{supervisor name}{supervisor title}|. Use once for each supervisor. See \S\ref{sec:6.3} if your supervisor has more than one title. \item \verb|\Acceptor{acceptor name}{acceptor title}{thesis related position}|. Professor who accepts theses for your department (e.g., the Graduate Officer). Use once for each department. \item \verb|\DegreeDate{Month}{year}|. Date degree is awarded (February, May, June, or September). \item \verb|\ThesisDate{date}|. Date that your final thesis is submitted to the department. -\end{itemize} +\end{enumerate} -\subsection*{Copyright license} +\subsection{Copyright license} If you wish to make your thesis available under a Creative Commons License, issue the following command between \verb|\begin{document}| and \verb|\maketitle|: \verb|\CClicense{license type}{license url}|. For example, \vskip 5pt \noindent\quad\verb|\CClicense{CC BY-NC-ND 4.0}{https://creativecommons.org/licenses/by-nc-nd/4.0/}|. -\subsection*{Overflowing title page: managing space} If your title page overflows the vertical space (from too many authors, degrees, previous degrees, etc.), you can using some or all of the following techniques. The commands must be given before \verb|\maketitle|. -\begin{enumerate} - \item Reduce the 12pt and 18pt skips between the various blocks of text to 6pt with this command: - \vskip 5pt - \noindent\verb|\Tighten| - \item Reduce the font size in the signature block with this command: - \vskip 5pt - \noindent\verb|\SignatureBlockSize{\small}| - \item Put the acceptor name and title onto two lines, rather than three, by putting the acceptor's position into the 2\textsuperscript{nd} argument and leaving the 3\textsuperscript{rd} argument blank: - \vskip 5pt - {\small\noindent\verb|\Acceptor{Tertius Castor}{Professor and Graduate Officer, Department of Research}{}|} - \item Reduce the font size of the the author name[s] from \verb|\large| to \verb|\normalsize| with this command: - \vskip 5pt - \noindent\verb|\AuthorNameSize{\normalsize}| - \item Omit previous degrees from the title page, instead mentioning them in the biographical sketch. -\end{enumerate} +\subsection{Bibliography} +You may generate your bibliography using either \texttt{biblatex/biber} or \texttt{natbib/bibtex}. The template is set up for \texttt{biblatex} by default, rather than the older, less flexible \texttt{natbib}. The \texttt{biblatex} package is very powerful, and you can customize most aspects the reference list and citations to suit your needs. See the documentation for details: \hrefurl{https://ctan.org/pkg/biblatex}{ctan.org/pkg/biblatex}. -Also, if you prefer to keep the text toward the top of the page with most white space at the bottom, you -can use this command to squash the vertical glue (\TeX's stretchy space): - \vskip 5pt - \quad\verb|\Squash| - \vskip 5pt -\noindent This command is useful when the text has not already reach the bottom of the page, since the glue gets squashed automatically when the page is too full. +The style of citations and references can be set in your \texttt{.tex} file. For numerical citations of references (e.g., [1]), you can do +\vskip 5pt +\verb|\usepackage[style=ext-numeric-comp,giveninits=true,sorting=none]{biblatex}| +\vskip 5pt +\noindent For IEEE style citations and references, you might do +\vskip 5pt +\verb| \usepackage[style=ieee,maxbibnames=10,sorting=none]{biblatex}| +\vskip 5pt +\noindent For author/year style (Smith, 2024), you might do +\vskip 5pt +\verb| \usepackage[style=authoryear, maxbibnames=10]{biblatex} | +\vskip 5pt +\noindent In the author/year style, \verb|\cite{..}| commands do not automatically produce parentheses. Instead, you can do +\verb|\parencite{..}| to get ``(Author, year).'' -\section*{PACKAGE OPTIONS} -Package options may be specified for \verb|\documentclass[..]{mitthesis}|. These options are described in Table~\ref{tab:1} and the subsections that follow. +\section{CLASS OPTIONS} +Class options may be specified for \verb|\documentclass[..]{mitthesis}|. These options are described in Table~\ref{tab:1} and the subsections that follow. \begin{table}[b] \caption{Options to the document class\label{tab:1}} @@ -323,7 +300,7 @@ Package options may be specified for \verb|\documentclass[..]{mitthesis}|. These \small \begin{tabular}{>{\ttfamily}l<{} >{\raggedright\arraybackslash}p{42em} } \toprule -\textrm{Package option} & Effect \\ +\textrm{Class option} & Effect \\ \midrule fontset & is a keyvalue, \texttt{fontset = <\textit{name}>}, which selects the set of fonts used for the thesis. See description below. \\ lineno & this option loads the \texttt{\hrefurl{https://ctan.org/pkg/lineno}{lineno}} package, which provides line numbers, as for editing. The \texttt{\hrefurl{https://ctan.org/pkg/lineno}{lineno}} package provides additional commands to control line numbering. \\ @@ -334,17 +311,16 @@ twoside & gives facing-page behavior for two-sided printing; omitting it will e \end{tabular}}% \end{table} -\subsection*{Font loading} -By default, \texttt{mitthesis.cls} will load the traditional \LaTeX\ fonts, Computer Modern (for \pdfTeX) or Latin Modern (for unicode engines). By using the key value \texttt{fontset=$\cdots$} in the \verb|\documentclass| command, you can select a different set of fonts. +\subsection{Font loading} +By default, \texttt{mitthesis.cls} will load the traditional \LaTeX\ typeface, Computer Modern (for \pdfTeX) or Latin Modern (for unicode engines). By using the key value \texttt{fontset=$\cdots$} in the \verb|\documentclass| command, you can select a different set of fonts. -Ten fontsets are predefined, including the default set (see Table~\ref{tab:2}). Three work only with \pdfTeX, four work only with unicode engines, and three work with either. These options include a mixture of serif or sans serif text and math fonts, as shown in the table. To access the predefined font sets, you \textit{must} have the directory \texttt{fontsets} as a subdirectory of your working directory, including its files as named. +Ten font sets are predefined, including the default set (see Table~\ref{tab:2}). Three work only with \pdfTeX, four work only with unicode engines, and three work with either. These options include a mixture of serif or sans serif text and math fonts, as shown in the table. To access the predefined font sets, you \textit{must} have the directory \texttt{fontsets} as a subdirectory of your working directory, including its files as named. For unicode engines, you must have the relevant fonts installed as system fonts on your computer. -Among the predefined fonts, Termes and NewTX are serifed fonts similar to the digital font Times New Roman. STIX Two is more similar to the original metal-type Times font. Linux Libertine is a serif font inspired by 19\textsuperscript{th} century book type. Lucida is a serifed font designed for high legibility at small size or on low resolution devices. This font is excellent for mathematics and includes a complete bold-face math font, but it is not free. Heros and NewTX-sans are sans-serif text fonts similar to Helvetica. NewTXsf is a sans-serif math font which draws upon glyphs from the STIX font. Fira is a humanist sans-serif text font designed in association with the Firefox browser. Finally, Computer Modern (and its extension Latin Modern)---the traditional \LaTeX\ font---is a Didone font, with high contrast between thick and thin elements. +Among the predefined font sets, Termes and NewTX are serifed typefaces similar to the digital typeface Times New Roman. STIX Two is more similar to the original metal-type Times typeface. Linux Libertine is a serif typeface inspired by 19\textsuperscript{th} century book type. Lucida is a serifed typeface designed for high legibility at small size or on low resolution devices. Lucida is excellent for mathematics and includes a complete bold-face math font, but it is not free. Heros and NewTX-sans are sans-serif text typefaces similar to Helvetica. NewTXsf is a sans-serif math font which draws upon glyphs from the STIX fonts. Fira is a humanist sans-serif text typeface designed in association with the Firefox browser. Finally, Computer Modern (and its extension Latin Modern)---the traditional \LaTeX\ typeface---is a Didone typeface, with high contrast between thick and thin elements. +% STIX Two, Termes, and LMR do not include a separate bold math font. -You may also place your own fontset file, say \texttt{Myfontset.tex}, in your working directory, and load it with - -\vskip10pt -\hfill\verb|\documentclass[fontset=Myfontset]{mitthesis}|\hfill\hbox{} +You may also place your own font-set file, say \texttt{Myfontset.tex}, in your working directory, and load it with: +\verb|\documentclass[fontset=Myfontset]{mitthesis}|. \begin{table}[t] \caption{Predefined font sets\label{tab:2}} @@ -362,7 +338,7 @@ default & yes & yes & serif & serif & CM \& LM fonts are included in \TeX\ libertine & yes & yes & serif & serif & in \TeX\ Live for \pdfTeX. For unicode, OpenType text fonts freely available here \linebreak \url{https://sourceforge.net/projects/linuxlibertine/}\linebreak and the math font here \linebreak \url{https://github.com/alerque/libertinus} \\ -lucida & yes & yes & serif & serif & the lucida fonts are available from the \TeX\ User's Group, +lucida & yes & yes & serif & serif & the Lucida fonts are available from the \TeX\ User's Group, \url{https://tug.org/store/lucida} \\[2em] heros-stix2 & no & yes & sans & serif & \url{http://www.gust.org.pl/projects/e-foundry/tex-gyre} \linebreak\url{https://github.com/stipub/stixfonts} \linebreak fonts are free \\ stix2 & no & yes & serif & serif & \url{https://github.com/stipub/stixfonts}, fonts are free\\ @@ -374,17 +350,65 @@ termes-stix2 & no & yes & serif & serif & \url{http://www.gust.org.pl/projects/ \end{tabular}}% \end{table} -\subsection*{Design options} +\subsection{Design options} The thesis will follow the default styles of the \LaTeX\ report class for sections headings, captions, and lists. If you prefer different styles you can use the class option [mydesign] which loads the file \texttt{mydesign.tex}. -With \texttt{mydesign.tex}, you can set options for packages that manage color, e.g.\ \texttt{\hrefurl{https://ctan.org/pkg/xcolor}{xcolor}}, that change the margins, or that change the design of titles, captions, and lists: \texttt{\hrefurl{https://ctan.org/pkg/titlesec}{titlesec}}, \texttt{\hrefurl{https://ctan.org/pkg/caption}{caption}}, or \texttt{\hrefurl{https://ctan.org/pkg/enumitem}{enumitem}}. You can also load other packages. The \texttt{mitthesis} class will insert these commands at the appropriate point (prior to loading \texttt{\hrefurl{https://ctan.org/pkg/babel}{babel}}, fonts, or \texttt{\hrefurl{https://ctan.org/pkg/hyperref}{hyperref}}). You should not need to edit the class file. +With \texttt{mydesign.tex}, you can set options for packages that manage color, e.g.\ \texttt{\hrefurl{https://ctan.org/pkg/xcolor}{xcolor}}, or that change the design of titles, captions, and lists: \texttt{\hrefurl{https://ctan.org/pkg/titlesec}{titlesec}}, \texttt{\hrefurl{https://ctan.org/pkg/caption}{caption}}, or \texttt{\hrefurl{https://ctan.org/pkg/enumitem}{enumitem}}. You can change the margins with \verb|\newgeometry{..}| from the \texttt{\hrefurl{https://ctan.org/pkg/geometry}{geometry}} package. You can also load other packages. The \texttt{mitthesis} class will insert these commands at the appropriate point (prior to loading \texttt{\hrefurl{https://ctan.org/pkg/babel}{babel}}, fonts, or \texttt{\hrefurl{https://ctan.org/pkg/hyperref}{hyperref}}). You should not need to edit the class file. Hyperlink colors and pdf bookmark or viewing options from the \texttt{hyperref} package can be changed by using \verb|\hypersetup{ .. }| in the preamble or using \verb|\AtBeginDocument{ \hypersetup{ .. } }| in the \texttt{mydesign.tex} file. -\subsection*{Single-sided vs.\ double-sided layout} +\subsection{Single-sided vs.\ double-sided layout} The sample template uses the option \texttt{[twosided]}, which starts major sections (abstract, table of contents, chapters, etc.) on odd-numbered pages. This arrangement is suitable for two-sided printing, but can lead to empty even-numbered pages. If you do not wish to have this behavior, omit that option. By default, even and odd page margins are the same; this can be changed in \texttt{mydesign.tex} if necessary. -\begin{table}[t] +\subsection{Additional commands} +The class also provides \verb|\DegreeYear|, \verb|\DegreeMonth|, and \verb|\CopyrightAuthor|. The latter combines all author names into a single token list, e.g., ``Joseph O. Hirschfelder, Charles F. Curtiss and R. Byron Bird''; a period at the end of the final name (e.g., as in ``John F. Nash Jr.'') is removed. + +\subsection{Nomenclature} +An optional nomenclature environment is provided by the class. This environment can support either chapter-by-chapter nomenclature (at the section level) or a single nomenclature for the entire thesis (at the chapter level). The environment has three optional arguments: [1] adjust space between symbol and definition; [2] name (heading) of the nomenclature list; and [3] level, which can be ``chapter'' or ``section'' depending on whether you +have one nomenclature list for whole thesis or one for each chapter (the default is section). + +For example, the following code +\begin{center} +\begin{minipage}{0.85\textwidth} +\begin{verbatim} +\begin{nomenclature}[2em][Nomenclature for Chapter 1][section] +\EntryHeading{Roman letters} +\entry{$\mathcal{C}$}{material curve} +\entry{$\mathbf{u}$}{velocity [m s$\cramped{^{-1}}$]} +\EntryHeading{Greek letters} +\entry{$\Gamma$}{circulation [m$\cramped{^2}$ s$\cramped{^{-1}}$]} +\entry{$\rho$}{mass density [kg m$\cramped{^{-3}}$]} +\end{nomenclature} +\end{verbatim} +\end{minipage} +\end{center} +produces the nomenclature list below +\begin{center} +\begin{minipage}{0.8\textwidth} +\begin{nomenclature}[2em][Nomenclature for Chapter 1][section] +\EntryHeading{Roman letters} +\entry{$\mathcal{C}$}{material curve} +\entry{$\mathbf{u}$}{velocity [m s$\cramped{^{-1}}$]} +\EntryHeading{Greek letters} +\entry{$\Gamma$}{circulation [m$\cramped{^2}$ s$\cramped{^{-1}}$]} +\entry{$\rho$}{mass density [kg m$\cramped{^{-3}}$]} +\end{nomenclature} +\end{minipage} +\end{center} +%% \cramped is from the mathtools package, and moves the superscript a bit lower + +\section{PACKAGES FOR MATH, CHEMISTRY, CODE, TABLES, AND MORE} +The \texttt{mitthesis} class loads the \texttt{amsmath} package and its extension \texttt{mathttools}. These packages provide many useful macros for typesetting equations and symbols, such as: environments for aligning and splitting equations or groups of equations; tools for matrices; a wide variety of operators and symbols; tools to define new math operators and paired delimiters; and much, much more. If you are including equations, look at the documentation for these packages: \url{https://ctan.org/pkg/amsmath} and \url{https://ctan.org/pkg/mathtools}.\looseness=1 + +Specialized packages for many disciplines can be found in \hrefurl{https://ctan.org}{CTAN}. These include subjects like \hrefurl{https://ctan.org/topic/chemistry}{chemistry}, \hrefurl{https://ctan.org/topic/linguistic}{linguistics}, and \hrefurl{https://ctan.org/topic/physics}{physics}. As examples of such packages, the sample thesis template uses the package \texttt{\hrefurl{https://ctan.org/pkg/mhchem}{mhchem}} to set chemical equations and the package \texttt{\hrefurl{https://ctan.org/pkg/listings}{listings}} to list computer code. + +Several packages focus on table and tabular environments. The \texttt{\hrefurl{https://ctan.org/pkg/booktabs}{booktabs}} package, use in the sample thesis template, produces better quality horizontal lines (called \textit{rules}) for separating material in tables. The \texttt{\hrefurl{https://ctan.org/pkg/array}{array}} package (also used) provides additional options for column formats in tabular environments, and the \texttt{\hrefurl{https://ctan.org/pkg/dcolumn}{dcolumn}} package aligns columns of numbers on the decimal separator. + +When selecting a package to use, check that it is currently maintained (with relatively recent updates), and compare it to other packages that perform similar functions. Some packages are better than others, and some obsolete packages remain online. + +The packages called by \texttt{mitthesis} are listed in Table~\ref{tab:3} on page~\pageref{tab:3}. + +\begin{table} \caption{External packages used. For documentation, visit CTAN, \url{https://ctan.org}. Alternatively, if you have \hrefurl{https://www.tug.org/texlive/}{\TeX\ Live} installed, you can open a terminal window and type \texttt{\%\ texdoc package-name}.\label{tab:3}} \vskip5pt \centering{\small% @@ -398,22 +422,25 @@ bm & defines commands to access bold math symbols (loaded for default fonts) & bookmarks& is loaded automatically under the new pdf-management system & customize pdf bookmarks \\ doi & support for hyperlinking DOIs & hyperlink a doi number: \verb|\doi{..}| \\ etoolbox & extend or modify other macros & can use in preamble if needed \\ -iftex & check which \LaTeX\ engine is running& macros to check which engine, e.g., \verb|\ifpdftex| \\ geometry & set page size and margins & can use \verb|\newgeometry| in \texttt{mydesign.tex}\\ graphicsx& support for inserting images & use to include graphics\\ hyperref & support for hyperlinks and metadata & must complete setup in preamble\\ +iftex & check which \LaTeX\ engine is running& macros to check which engine, e.g., \verb|\ifpdftex| \\ mathtools& loads and extends \texttt{amsmath} & \textbf{many useful math macros available}. See documentation for \texttt{amsmath} and \texttt{mathtools} \\[0.7em] \midrule hyperxmp & fallback if no \verb|\DocumentMetadata{..}|& ---\\ kvoptions& key values for systems pre 2022/11/01 & ---\\ -xparse & for systems older than 2020/10/01 & macros to define new commands\\[0.7em] +xparse & for systems older than 2020/10/01 & macros to define new commands\\ \midrule -lineno & loaded if class option is given & keyvalue \texttt{lineno} will give line numbers; \texttt{lineno} package has additional commands that control line numbering\\[3em] +lineno & loaded if class option is given & keyvalue \texttt{lineno} will give line numbers; \texttt{lineno} package adds commands to control numbering\\[0.7em] \midrule caption & also loaded by \texttt{mydesign.tex} & support for caption styling \\ subcaption & also loaded by \texttt{mydesign.tex} & support for subfigures within figures \\ titlesec & also loaded by \texttt{mydesign.tex} & support for styling section headings \\ xcolor & also loaded by \texttt{mydesign.tex} & support for colors, including colored fonts \\[0.7em] +array & --- & additional options for formatting table columns \\ +booktabs & --- & better quality tables, with additional commands \\ +dcolumn & --- & align number columns on selectable separators \\ \midrule babel & --- & if you use multiple languages, load \texttt{babel} in a fontset file before loading fonts \\ biblatex & --- & sample template uses this bibliography tool. Change to \texttt{natbib} if you prefer\\ @@ -428,75 +455,71 @@ unicode-math & --- & load in a fontset file if using a unicode engine\\ \end{tabular*}}% \end{table} -\subsection*{Additional commands} -The class also provides \verb|\DegreeYear|, \verb|\DegreeMonth|, and \verb|\CopyrightAuthor|. The latter combines all author names into a single token list, e.g., ``Joseph O. Hirschfelder, Charles F. Curtiss and R. Byron Bird''; a period at the end of the final name (e.g., as in ``John F. Nash Jr.'') is removed. - - -\subsection*{Nomenclature} -An optional nomenclature environment is provided by the class. This environment can support either chapter-by-chapter nomenclature (at the section level) or a single nomenclature for the entire thesis (at the chapter level). The environment has three optional arguments: [1] adjust space between symbol and definition; [2] name (heading) of the nomenclature list; and [3] level, which can be ``chapter'' or ``section'' depending on whether you -have one nomenclature list for whole thesis or one for each chapter (the default is section). +\section{TROUBLESHOOTING AND MODIFICATIONS} +\subsection{Listing thesis committee members or using a signature page} +Listing committee members (with or without signatures) is not required under MIT's thesis specifications. Only the thesis supervisor should appear on the title page, not a list of committee members. However, some departments may require a separate committee or signature page. That page can be inserted by the author between the title and abstract pages. Check with your department about this page and any associated formatting requirements. -For example, the following code -\begin{center} -\begin{minipage}{0.8\textwidth} -\begin{verbatim} -\begin{nomenclature}[2em][Nomenclature for Chapter 1][section] -\EntryHeading{Roman letters} -\entry{$\mathcal{C}$}{material curve} -\EntryHeading{Greek letters} -\entry{$\Gamma$}{circulation [m$^2$ s$^{-1}$]} -\end{nomenclature} -\end{verbatim} -\end{minipage} -\end{center} -produces the nomenclature list below -\begin{center} -\begin{minipage}{0.8\textwidth} -\begin{nomenclature}[2em][Nomenclature for Chapter 1][section] -\EntryHeading{Roman letters} -\entry{$\mathcal{C}$}{material curve} -%\entry{$\mathbf{u}$}{velocity [m s$^{-1}$]} -\EntryHeading{Greek letters} -\entry{$\Gamma$}{circulation [m$^2$ s$^{-1}$]} -%\entry{$\rho$}{mass density [kg m$^{-3}$]} -\end{nomenclature} -\end{minipage} -\end{center} +\subsection{Dealing with multiple titles in the signature block}\label{sec:6.3} +When a thesis supervisor has multiple titles (which will not fit on one line), you can obtain a line break with proper horizontal spacing by doing + \vskip 5pt + \quad\verb|\Supervisor{name}{first title and \\ \> second title}| + \vskip 5pt +\noindent\textbf{\TeX hackers note:} The signature block is typeset as a \LaTeX\ \texttt{tabbing} environment. -\section*{PACKAGES FOR MATH, CHEMISTRY, CODE LISTINGS, AND MORE} -The \texttt{mitthesis} class loads the \texttt{amsmath} package and its extension \texttt{mathttools}. These packages provide many useful macros for typesetting equations and symbols, such as: environments for aligning and splitting equations or groups of equations; tools for matrices; a wide variety of operators and symbols; tools to define new math operators and paired delimiters; and much, much more. If you are including equations, look at the documentation for these packages: \url{https://ctan.org/pkg/amsmath} and \url{https://ctan.org/pkg/mathtools}.\looseness=1 +\subsection{Overflowing title page: managing space} If your title page overflows the vertical space (from too many authors, degrees, previous degrees, etc.), you can use some or all of the following techniques. The commands must be given before \verb|\maketitle|. +\begin{enumerate} + \item Reduce the 12 pt and 18 pt skips between the various blocks of text to 6 pt with this command: + \vskip 5pt + \noindent\verb|\Tighten| + \item Reduce the font size in the signature block with this command: + \vskip 5pt + \noindent\verb|\SignatureBlockSize{\small}| + \item Put the acceptor name and title onto two lines, rather than three, by putting the acceptor's position into the 2\textsuperscript{nd} argument and leaving the 3\textsuperscript{rd} argument blank: + \vskip 5pt + {\small\noindent\verb|\Acceptor{Tertius Castor}{Professor and Graduate Officer, Department of Research}{}|} + \item Reduce the font size of the the author name[s] from \verb|\large| to \verb|\normalsize| with this command: + \vskip 5pt + \noindent\verb|\AuthorNameSize{\normalsize}| + \item Omit previous degrees from the title page, instead mentioning them in the biographical sketch. +\end{enumerate} -Specialized packages for many disciplines can be found in \hrefurl{https://ctan.org}{CTAN}. These include subjects like \hrefurl{https://ctan.org/topic/chemistry}{chemistry}, \hrefurl{https://ctan.org/topic/linguistic}{linguistics}, and \hrefurl{https://ctan.org/topic/physics}{physics}. As examples of such packages, the sample thesis template uses the package \texttt{\hrefurl{https://ctan.org/pkg/mhchem}{mhchem}} to set chemical equations and the package \texttt{\hrefurl{https://ctan.org/pkg/listings}{listings}} to list computer code. -When selecting a package to use, check that it is currently maintained (with relatively recent updates), and compare it to other packages that perform similar functions. Some packages are better than others, and some obsolete packages remain online. +\subsection{Push title page text toward top} If you prefer to keep the text toward the top of the page with most white space at the bottom, you +can use this command to squash the vertical glue (\TeX's stretchy space): + \vskip 5pt + \quad\verb|\Squash| + \vskip 5pt +\noindent This command is useful when the text has not already reach the bottom of the page, since the glue gets squashed automatically when the page is too full. -The packages called by \texttt{mitthesis} are listed in Table~\ref{tab:3} on page~\pageref{tab:3}. +\subsection{Changing paragraph separation} +If you prefer to denote paragraph breaks by vertical space rather than indentation, you can try the \texttt{parskip} package: \hrefurl{https://ctan.org/pkg/parskip}{ctan.org/pkg/parskip}. See that package's documentation for details. -\section*{USE OUTSIDE MIT} -If you wish to adapt this template for use at a different institution, you can put the following commands in your preamble. +\subsection{Use outside MIT} +To adapt this template for use at a different institution, you can put the following commands in your preamble. \begin{itemize} -\item Use \verb|\Institution{Your Institution}| to change MIT to your own institution on the title page. %{\small\textit{New with v1.06.}} +\item Use \verb|\Institution{Your Institution}| to change MIT to your own institution on the title page. \item Use \verb|\maketitle*| (in place of \verb|\maketitle|) to drop the MIT copyright permission statement \item If your institution issues degrees in months other than February, May, June, or September, you can still put those months into the -\verb|\DegreeDate| command. To suppress the resulting error message, put \verb|\SuppressMonthError| before \verb|\maketitle*|. %\newline{\small\textit{New with v1.11.}} +\verb|\DegreeDate| command. To suppress the resulting error message, put \verb|\SuppressMonthError| before \verb|\maketitle*|. -\item Omitting \verb|\Acceptor| commands will drop the ``Accepted by:'' field. To suppress the resultant error message, put \verb|\SuppressAcceptorError| before \verb|\maketitle*|. %\newline{\small\textit{New with v1.06.}} +\item Omitting \verb|\Acceptor| commands will drop the ``Accepted by:'' field. To suppress the resultant error message, put \verb|\SuppressAcceptorError| before \verb|\maketitle*|. + +\item To change ``Thesis Supervisor'' to something else use \verb|\SupervisorDesignation{..}|. \end{itemize} Please do not remove the license/copyright text from the sources files --- this code took me some time write! -\section*{RESOURCES FOR \LaTeX} +\section[RESOURCES FOR LATEX]{RESOURCES FOR \LaTeX} \LaTeX\ documentation is easy to find online. A few useful resources, among many, are these: \begin{description} \item[\LaTeX\ Wikibook.] \url{https://en.wikibooks.org/wiki/LaTeX}. An online tutorial book. \item[\LaTeX 2e: An unofficial reference manual.] \url{https://latexref.xyz/dev/latex2e.html}. A comprehensive explanation of each \LaTeX\ command, from the \TeX\ User's Group. \item[\TeX\ Stack-Exchange.]\ \url{https://tex.stackexchange.com/}. More than 250,000 answered questions, and you can ask your own! -\item[ChatGPT.] At the time of this writing, ChatGPT, a chatbot based on a large language model, could both answer some \LaTeX-related questions and write acceptable \LaTeX\ and expl3 code. +\item[ChatGPT.] At the time of this writing, ChatGPT, a chatbot based on a large language model, could sometimes accurately answer \LaTeX-related questions or write acceptable \LaTeX\ and expl3 code. \end{description} - \vskip 30pt \centering{\color{Red3}\Large\textbf{\textit{Good luck with your thesis and your thesis defense!}} diff --git a/Master/texmf-dist/doc/latex/moderncv/CHANGELOG b/Master/texmf-dist/doc/latex/moderncv/CHANGELOG index 245eda72b79..bcfdad1373e 100644 --- a/Master/texmf-dist/doc/latex/moderncv/CHANGELOG +++ b/Master/texmf-dist/doc/latex/moderncv/CHANGELOG @@ -1,371 +1,396 @@ -version 2.3.1 (2022-02-21) -- Fix duplicate GitLab icon (#105) -- Revert using detokenize in social links (#97) -- Fix broken compilation in classic style (#96) - -version 2.3.0 (2021-12-16) -- Remove font loading from class (#87) -- Add Matrix and Signal icon (#84) -- Improved symbol loading (#84) - -version: 2.2.0 (2021-07-28) -- Remove dot in cventry when using moderncvbodyi. +version 2.4.1 (18 Jul 2024) +- Fix commons/colors.tex not found in package (#194) + +version 2.4.0 (08 Jul 2024) +- Rewrote user guide, thanks to David Seus (#58, #106, #169). +- Fixed "Underfull \hbox (badness 10000)" warning in \makecvtitle (#162). +- Fixed unnecessary academicons warning when academicons aren't used (#161). +- Fixed page counts unnecessarily linking to the last page of the PDF (#159). +- Added support for an optional signature in the cover letter (#157). +- Added support for non-ASCII characters in links (#155). +- Added option to force a homepage link to use HTTP rather than HTTPS (#154). +- Passed unicode option directly to hyperref to avoid conflicts with the + inclusion of hyperref by other packages (#148). +- Fixed the sender block on the cover letter in banking style (#146). +- Added option to classic style to align header elements at the top (#144). +- Added Twitch, YouTube, TikTok, Instagram, SoundCloud, Steam, Xbox, PlayStation + and Battle.net social icons (#131). +- Removed extra dash in PDF metadata when CV title is empty (#116). +- Added support for an optional subject line in the cover letter (#114). +- Added Discord social icon (#112). +- Replace instances of ~~~ in codebase with \hspace to be more compatible with + babel for Spanish (#109). +- Added Codeberg and Mastodon social icons (#107). +- New \social options: arXiv, INSPIRE (#185) +- Systematize colors and make them user adjustable. See documentation for details. + This requires the \moderncvcolor to be issued BEFORE \moderncvstyle (#151). +- all styles: make the head options 'details' and 'nodetails' available to the user. (previously they were hidden). Oldstyle does not respond too well to nodetails (#150). +- casual style: make the head options 'alternate', 'details' and 'nodetails' available to the user. (previously they were hidden) (#150). +- Setting \listitemsymbolspace allows custom spacing between list symbol and text item (for \cvlistitem and \cvlistdoubleitem) (#74). +- Introducing \cvtripleitem command for items in three columns. Closing feature request #174. +- Fixed wrong cvlistitem vspace caused by multiline section titles in fancy style (#69). + +version 2.3.1 (21 Feb 2022) +- Fix duplicate GitLab icon (#105). +- Revert using detokenize in social links (#97). +- Fix broken compilation in classic style (#96). + +version 2.3.0 (16 Dec 2021) +- Remove font loading from class (#87). +- Add Matrix and Signal icon (#84). +- Improved symbol loading (#84). + +version: 2.2.0 (28 Jul 2021) +- Remove dot in \cventry when using moderncvbodyi. + - Remove http baseurl in hyperref. -- Change font encoding to use fontspec with Latin Modern for luatex and xetex, +- Change font encoding to use fontspec with Latin Modern for LuaTeX and XeTeX, else inputenc / fontenc / lmodern (https://tex.stackexchange.com/a/496643). - Add birthdate field command. - Add Social entries for WhatsApp, Signal and Matrix. - Fix Researcher ID not showing (#29). -- Make options 'symbols' and 'nosymbols' available to all styles to toggle whether - symbols should be used or not. Include symbols in oldstyle by default. -- Migrate older newcommand syntax in moderncvcollection.sty to the xparse syntax. +- Make options "symbols" and "nosymbols" available to all styles to toggle + whether symbols should be used or not. Include symbols in oldstyle by default. +- Migrate older newcommand syntax in moderncvcollection.sty to xparse syntax. - Fix resumé typo in template. Is now résumé. - Various other minor fixes. version 2.1.0 (21 Jan 2021) -- maintainer change: now team maintained (https://github.com/moderncv), since - original repository is basically dead since 2016. -- new \social options: Xing, Skype, GitLab, Bitbucket, stack overflow, ORCID, - ResearcherID, ResearchGate, Telegram and Google Scholar -- hyperlinks in phone numbers -- switch from l3regex to expl3 -- new skill matrix feature -- move to fonawesome5 package -- default to https +- Maintainer change: now team maintained (https://github.com/moderncv), since + original repository has been basically dead since 2016. +- New \social options: Xing, Skype, GitLab, Bitbucket, stack overflow, ORCID, + ResearcherID, ResearchGate, Telegram and Google Scholar. +- Hyperlinks in phone numbers. +- Switch from l3regex to expl3. +- New skill matrix feature. +- Move to fontawesome5 package. +- Default to https. version 2.0.0 (28 Jul 2015) - - refactored the code into heads, body, foot and icon substyles. All styles - (classic, casual, banking and oldstyle) are just a combination of these and - some font selection. Mixing substyles (e.g., the banking header with the - classic body) is now trivial by using the \moderncvhead, \moderncvbody, - \moderncvfoot and \moderncvicons commands. Each of these take a substyle number - as argument. \moderncvcolor takes a color name as argument. - - added a new style, "fancy". - - added an optional argument to \moderncvstyle to specify style options, i.e. - \moderncvstyle[options]{style}. Below is a list of the available options per - style: - * classic - > to specify of one's name should appear left or right at the top: "left" - (default) or "right; - * casual - > to specify of one's name should appear left or right at the top: "left" - (default) or "right; - * banking - > to specify how the section- and subsectionrules should be set: - "fullrules", "shortrules", "mixedrules" (default; full rules for sections, - short rules for subsections), "centered" (fullrules with centered title) - and "norules" (norules, small caps font); - > to specify how the body should be aligned: left" (default), "center" or - "right"; - * oldstyle & fancy - n/a - - added a new color variant: "burgundy". - - corrected the color of \addressstyle to match the one effectively used - (color2). - - adjusted the bibliography spacing to handle entries with or without labels. - - added a check on the emptyness of \title when setting the hyperref document - properties. +- Refactored the code into heads, body, foot and icon substyles. All styles + (classic, casual, banking and oldstyle) are just a combination of these and + some font selection. Mixing substyles (e.g., the banking header with the + classic body) is now trivial by using the \moderncvhead, \moderncvbody, + \moderncvfoot and \moderncvicons commands. Each of these take a substyle + number as argument. \moderncvcolor takes a color name as argument. +- Added a new style: fancy. +- Added an optional argument to \moderncvstyle to specify style options, i.e. + \moderncvstyle[options]{style}. Below is a list of the available options per + style: + * classic + > to specify where at the top one's name should appear: "left" (default) or + "right; + * casual + > to specify where at the top one's name should appear: "left" (default) or + "right; + * banking + > to specify how the section and subsection rules should be set: + "fullrules", "shortrules", "mixedrules" (default; full rules for sections, + short rules for subsections), "centered" (fullrules with centered title) + and "norules" (norules, small caps font); + > to specify how the body should be aligned: left" (default), "center" or + "right"; + * oldstyle & fancy + > n/a +- Added a new color variant: "burgundy". +- Corrected \addressstyle color to match the one effectively used (color2). +- Adjusted the bibliography spacing to handle entries with or without labels. +- Added a check on the emptiness of \title when setting the hyperref document + properties. version 1.5.1 (29 Apr 2013) - - made sure that XeLaTeX or LuaLaTeX is in use before loading the awesome icon - set and if not, revert to the marvosym icon set. +- Made sure that XeTeX or LuaTeX is in use before loading the awesome icon set + and if not, revert to the marvosym icon set. version 1.5.0 (23 Apr 2013) - - added a command to showcase social accounts in one's personal information: - \social. The command currently handles automatically LinkedIn, Twitter and - Github accounts, and other links can be provided explicitly. - - added a new icon set: "awesome" (using the icons from the Font Awesome font). - - set the "awesome" icon set as the default for the "casual" and "banking" - style variants (can be changed back with \moderncvicons{marvosym}). - - forced all the icons of the "letters" icon set to be of the same width, for - alignment purpose. - - added a letter icon ("W") for the homepage of the "letters" icon set. - - forced some white space between the main text and the footer of the "casual" - style variant. - - removed the rule below the headings of the cvcolumns environment. +- Added a command to showcase social accounts in one's personal information: + \social. The command currently handles LinkedIn, Twitter and Github accounts + automatically, and other links can be provided explicitly. +- Added a new icon set: "awesome" (using the icons from the Font Awesome font). +- Set the "awesome" icon set as the default for the casual and banking styles + (can be changed back with \moderncvicons{marvosym}). +- Forced all the icons of the "letters" icon set to be of the same width, for + alignment purposes. +- Added a letter icon ("W") for the homepage of the "letters" icon set. +- Forced some whitespace between the main text and the footer of the casual + style. +- Removed the rule below the headings of the cvcolumns environment. version 1.4.0 (28 Mar 2013) - - deprecated \phone, \mobile and \fax in favour of \phone[<type>], where <type> - can be "fixed" (default), "mobile" or "fax". As part of the change, one can now - use each of these multiple times, to e.g. display multiple mobile phone numbers. - - deprecated \firstname and \familyname in favour of \name{<first>}{<last>}. - - added a new mechanism to select amongs different possible icon sets: - \moderncvicons{<iconsetname>}, where <iconsetname> can be "marvosym" (used by - default in the "banking", "casual" and "classic" style variants) or "letters" - (used by default in the "oldstyle" style variant). \moderncvicons should - always be called after \moderncvstyle in order to override the style variants - defaults. - - added a command to control the font of the page numbering: \pagenumberfont, - as requested by fr1a1nky (launchpad question #224496). - - removed the use of the suffix package. +- Deprecated \phone, \mobile and \fax in favour of \phone[<type>], where <type> + can be "fixed" (default), "mobile" or "fax". As part of the change, one can + now use each of these multiple times, e.g. to display multiple mobile phone + numbers. +- Deprecated \firstname and \familyname in favour of \name{<first>}{<last>}. +- Added a new mechanism to select amongs different possible icon sets: + \moderncvicons{<iconsetname>}, where <iconsetname> can be "marvosym" (used by + default in the banking, casual and classic styles) or "letters" (used by + default in the oldstyle style). \moderncvicons should always be called after + \moderncvstyle in order to override the styles' defaults. +- Added a command to control the font of the page numbering: \pagenumberfont, as + requested by fr1a1nky (launchpad question #224496). +- Removed the use of the suffix package. version 1.3.0 (09 Feb 2013) - - added a new environment to create multiple columns: cvcolumns. Each column - is then created by \cvcolumn[width]{header}{content}, where the optional width - is given as a fraction of the total width (between 0 and 1). The header and - content are robust and can contain any paragraph command (e.g., a nest itemize - environment). - - added a macro (\pdfpagemode) to control what is visible upon opening compiled - pdfs (assuming pdf reader support), as suggested by U. Stöhr. - Possible values include: "UseNone" (only the document), "UseThumbs" (show - thumbnails), "UseOutlines" (show bookmarks) and "FullScreen" (open in - fullscreen mode). - - added a 3rd, fully optional (can be omitted or left blank) argument to - \address to specify a country, as requested on launchpad (launchpad bug - #1063995). - - compacted list environments further. - - replaced the use of the xargs package by the xparse one. +- Added a new environment to create multiple columns: cvcolumns. Each column is + then created by \cvcolumn[width]{header}{content}, where the optional width is + given as a fraction of the total width (between 0 and 1). The header and + content are robust and can contain any paragraph command (e.g., a nested + itemize environment). +- Added a macro (\pdfpagemode) to control what is visible upon opening compiled + PDFs (assuming PDF reader support), as suggested by U. Stöhr. + Possible values include: "UseNone" (only the document), "UseThumbs" (show + thumbnails), "UseOutlines" (show bookmarks) and "FullScreen" (open in + fullscreen mode). +- Added a 3rd, fully optional (can be omitted or left blank) argument to + \address to specify a country, as requested on launchpad (launchpad bug + #1063995). +- Compacted list environments further. +- Replaced the use of the xargs package by the xparse one. version 1.2.1 (04 Dec 2012) - - fixed a regression bug introduced in version 1.2.0 in the header of the - "banking" style when no title is used, as reported on tex.stackexchange - (question #85427). +- Fixed a regression bug introduced in v1.2.0 in the header of the banking style + when no title is used, as reported on tex.stackexchange (question #85427). version 1.2.0 (31 Oct 2012) - - updated the "banking" style header to include the option to show a title. - - set the values of \arrayrulewidth and \doublerulesep to their standard values - (0.4pt and 2pt resp.) to enable the drawing of rules in tabulars and arrays by - default. - - modified the code of \makecvtitle and \makelettertitle of the "casual" style - to avoid it to cause horizontal alignment issues after and before itself. - - corrected a bug in \makelettertitle of most styles that displayed the current - date (\today) instead of the date given through the \date command, as reported - by B. Schlimmchen and S. Fnord. - - removed the need to set pdfpagelabels=false when loading hyperref, by putting - \pagenumbering{arabic} (to define \thepage) before loading hyperref, as figured - out by J. Wolf. - - corrected the line wrapping of \cvlistitem of the "banking" style. - - corrected a bug in \makecvtitle and \makelettertitle of the "banking" style. - - removed an unwanted space in the footer of the "casual" style. - - moved the font style definitions to moderncv.cls for better readability - (moderncv.cls is meant to be a sort of header file, implementing only some - macros shared by all styles and defining the macros that the style files need - to implement). +- Updated the banking style header to include the option to show a title. +- Set the values of \arrayrulewidth and \doublerulesep to their standard values + (0.4pt and 2pt, respectively) to enable the drawing of rules in tabulars and + arrays by default. +- Modified the code of \makecvtitle and \makelettertitle of the casual style to + avoid it causing horizontal alignment issues before and after itself. +- Corrected a bug in \makelettertitle of most styles that displayed the current + date (\today) instead of the date given through the \date command, as reported + by B. Schlimmchen and S. Fnord. +- Removed the need to set pdfpagelabels=false when loading hyperref by putting + \pagenumbering{arabic} (to define \thepage) before loading hyperref, as + figured out by J. Wolf. +- Corrected the line wrapping of \cvlistitem of the banking style. +- Corrected a bug in \makecvtitle and \makelettertitle of the banking style. +- Removed an unwanted space in the footer of the casual style. +- Moved the font style definitions to moderncv.cls for better readability + (moderncv.cls is meant to be a sort of header file, implementing only some + macros shared by all styles and defining the macros that the style files need + to implement). version 1.1.3 (10 Aug 2012) - - corrected a longstanding issue causing hyperref to issue two warnings - regarding its "pdfpagelabels" option, as pointed out and solved by P. Leifeld - (launchpad bug #1035466). +- Corrected a long-standing issue causing hyperref to issue two warnings about + its "pdfpagelabels" option, as pointed out and solved by P. Leifeld (launchpad + bug #1035466). version 1.1.2 (09 Aug 2012) - - fixed a regression bug introduced in version 1.0.0 in the footer of the - "casual" style, as discovered on tex.stackexchange (question #66316). +- Fixed a regression bug introduced in v1.0.0 in the footer of the casual style, + as discovered on tex.stackexchange (question #66316). version 1.1.1 (30 Jul 2012) - - fixed a compatibility issue introduced in version 1.0.0 when - \maketitlenamewidth was renamed to \makecvtitlenamewidth, as reported by Peppe - on launchpad (launchpad bug #1030802). The template now correctly uses - \makecvtitlenamewidth, and \maketitlenamewidth was created as an alias for - backward compatibility. +- Fixed a compatibility issue introduced in v1.0.0 when \maketitlenamewidth was + renamed to \makecvtitlenamewidth, as reported by Peppe on launchpad (launchpad + bug #1030802). The template now correctly uses \makecvtitlenamewidth, and + \maketitlenamewidth was created as an alias forbackward compatibility. version 1.1.0 (29 Jul 2012) - - fixed the switching from letter to resume, correcting spacing errors when a - letter is typeset before the resume, as noticed by U. Gabor. - - fixed the vertical alignment of the footers, as reported by T. Homa. - Footers are now aligned to the bottom and the letter and cv footers are - perfectly aligned in the "casual" style. - - prepared moderncv for fontspec font loading (still commented in code). - - changed the handling of the "sans" and "roman" class options, to be reflected - at the beginning of the document and override style font choices. - - turned unicode support in hyperref on by default. - - tweaked the use of \textbullet to avoid the fall-back to Computer Modern - fonts and prepared the use of symbols from the MarVoSym font for fontspec - (LauLaTeX or XeLaTeX). - - tweaked the \subsectionfill of the "banking" style to distribute extra space - evenly between leaders. - - added two options to change the "Enclosure" string used for the letter - enclosure: either specify another string as optional argument to \enclosure, - or redefine \enclname, as suggested by D. Wille. +- Fixed the switching from letter to resume, correcting spacing errors when a + letter is typeset before the resume, as noticed by U. Gabor. +- Fixed the vertical alignment of the footers, as reported by T. Homa. Footers + are now aligned to the bottom and the letter and CV footers are perfectly + aligned in the casual style. +- Prepared moderncv for fontspec font loading (still commented out in code). +- Changed the handling of the "sans" and "roman" class options, to be reflected + at the beginning of the document and override style font choices. +- Turned unicode support in hyperref on by default. +- Tweaked the use of \textbullet to avoid a fallback to Computer Modern fonts + and prepared the use of symbols from the MarVoSym font for fontspec (LuaTeX or + XeTeX). +- Tweaked the \subsectionfill of the banking style to distribute extra space + evenly between leaders. +- Added two options to change the "Enclosure" string used for the letter + enclosure: either specify another string as an optional argument to \enclosure + or redefine \enclname, as suggested by D. Wille. version 1.0.0 (26 Mar 2012) - - added commands to generate letters for every resume style: \recipient, \date, - \opening, \closing, \enclosure, \makelettertitle and \makeletterclosing. The - old \maketitle and \makefooter commands are now deprecated and replaced by - \makecvtitle and \makecvfooter. - - changed the alignment algorithm for the personal data display in the oldstyle - style, as to align on the baseline of the first line with the surrounding text. +- Added commands to generate letters for every resume style: \recipient, \date, + \opening, \closing, \enclosure, \makelettertitle and \makeletterclosing. The + old \maketitle and \makefooter commands are now deprecated and replaced by + \makecvtitle and \makecvfooter. +- Changed the alignment algorithm for the personal data display in the oldstyle + style, to align on the baseline of the first line with the surrounding text. version 0.19.0 (06 Feb 2012) - - reintroduced the ability to force the width reserved to display the name - in the resume header for the classic style (\maketitlenamewidth). - - improved the pdf metadata, as reported by S. Wunsch (launchpad bug #922476). - - fixed a footersymbol bug in the casual style when no mobile number was given, - as reported by S. Wunsch (launchpad bug #922470). - - fixed a display bug when an address was given without postcode/city, as - reported by O. Shaneh (launchpad bug #670263). +- Reintroduced the ability to force the width reserved to display the name in + the resume header for the classic style (\maketitlenamewidth). +- Improved the PDF metadata, as reported by S. Wunsch (launchpad bug #922476). +- Fixed a \footersymbol bug in the casual style when no mobile number was given, + as reported by S. Wunsch (launchpad bug #922470). +- Fixed a display bug when an address was given without postcode/city, as + reported by O. Shaneh (launchpad bug #670263). version 0.18.0 (05 Feb 2012) - - corrected the handling of pdf bookmarks, as suggested on stackexchange by - U. Fischer. - - improved the spacing between sections and subsections by using \addvspace - instead of \vspace. - - corrected the spacing between entries with nested itemize environments - (temporary solution working only for single line items). - - added a check in the oldstyle style for an empty 4th argument in the - \cvdoubleitem definition, to avoid printing a colon without preceding label. - - added a new style on top of classic, casual and oldstyle: banking. +- Corrected the handling of PDF bookmarks, as suggested on stackexchange by + U. Fischer. +- Improved the spacing between sections and subsections by using \addvspace + instead of \vspace. +- Corrected the spacing between entries with nested itemize environments + (temporary solution working only for single line items). +- Added a check in the oldstyle style for an empty 4th argument in the + \cvdoubleitem definition to avoid printing a colon without a preceding label. +- Added a new style on top of classic, casual and oldstyle: banking. version 0.17.0 (25 Jan 2012) - - changed the footer algorithm of style casual to avoid starting lines with - the footer symbol. - - aligned the space before and after the title across styles. - - added an optional title to the casual style. - - changed the definition of the font styles to avoid undesired extra spacing. - - added a Spanish template, kindly provided by I. Buitrón. - - corrected the vertical misalignment between the page number and the center - footer in the casual style. +- Changed the footer algorithm of the casual style to avoid starting lines with + the footer symbol. +- Aligned the space before and after the title across styles. +- Added an optional title to the casual style. +- Changed the definition of the font styles to avoid undesired extra spacing. +- Added a Spanish template, kindly provided by I. Buitrón. +- Corrected the vertical misalignment between the page number and the center + footer in the casual style. version 0.16.0 (15 Jan 2012) - - added starred versions of \section and \subsection (that are identical to - their non-starred version, to e.g. enable biblatex support as requested by - S. Verberkt (launchpad bug #913102). - - corrected a misalignment of the colored rule in front of the section titles - in the classic and casual styles, as reported by P. Neidhardt (launchpad bug - #915910). +- Added starred versions of \section and \subsection that are identical to their + non-starred versions (e.g. to enable BibLaTeX support) as requested by + S. Verberkt (launchpad bug #913102). +- Corrected a misalignment of the colored rule in front of the section titles in + the classic and casual styles, as reported by P. Neidhardt (launchpad bug + #915910). version 0.15.1 (23 December 2011) - - corrected a bug in the classic style causing the address font and color not - being carried over newlines, as reported by J. Smith. +- Corrected a bug in the classic style causing the address font and color to not + be carried over newlines, as reported by J. Smith. version 0.15.0 (19 December 2011) - - corrected list spacing. - - corrected inconsistent use of sans serif fonts in roman layout option. - - the lmodern fonts are now automatically loaded only if installed on the - system. The "nolmodern" option is now therefore obsolete. - - complete code refactoring separating themes in separate styles and colors. - - renamed \cvline to \cvitem, \cvlanguage to \cvitemwithcomment and \cvcomputer - to \cvdoubleitem (the old command name still work and redirect to the new ones, - but are deprecated). - - removed the arbitrary minipage widths of skill proficiency vs comment in - \cvitemwithcomments. The skill proficiency is now typeset exactly as given - (i.e. one one line if no linebreaks are implicitly given) and the comment uses - the remaining horizontal space. - - changed the optional argument of \cvlistitem and \cvlistdoubleitem to specify - the vertical skip after the item (as for \cvitem, cvitemwithcomments, etc). - The way to change the list symbol is to redefine \listitemsymbol. - - added a new style on top of classic and casual: oldstyle. - - loaded the microtype package to improve typography. +- Corrected list spacing. +- Corrected inconsistent use of sans serif fonts in roman layout option. +- The lmodern fonts are now automatically loaded only if they're installed on + the system. The "nolmodern" option is now therefore obsolete. +- Completed code refactoring separating themes in separate styles and colors. +- Renamed \cvline to \cvitem, \cvlanguage to \cvitemwithcomment and \cvcomputer + to \cvdoubleitem (the old command names still work and redirect to the new + ones, but are deprecated). +- Removed the arbitrary minipage widths of skill proficiency vs comment in + \cvitemwithcomments. The skill proficiency is now typeset exactly as given + (i.e. one one line if no linebreaks are implicitly given) and the comment uses + the remaining horizontal space. +- Changed the optional argument of \cvlistitem and \cvlistdoubleitem to specify + the vertical skip after the item (as for \cvitem, \cvitemwithcomments, etc). + The way to change the list symbol is to redefine \listitemsymbol. +- Added a new style on top of classic and casual: oldstyle. +- Loaded the microtype package to improve typography. version 0.14.0 (04 December 2011) - - added support for CJK, thanks to the help of P. D'Apice. - - the use of \recomputelengths after modifying any length in the preamble is - now unnecessary; \recomputelength is automatically called at the start of the - document. +- Added support for CJK, thanks to the help of P. D'Apice. +- The use of \recomputelengths after modifying any length in the preamble is now + unnecessary; \recomputelength is automatically called at the start of the + document. version 0.13.1 (11 November 2011) - - corrected a bug introduced by v0.13 in the classic style when no \photo is - used, as reported by S. Gislais (launchpad bug #888702). +- Corrected a bug introduced by v0.13 in the classic style when no \photo is + used, as reported by S. Gislais (launchpad bug #888702). version 0.13.0 (06 November 2011) - - added a "black" color option to render the resume in black & white, as - suggested by F. Bicarri. - - removed the pdflatex option when loading hyperref to enable other engines - (e.g., dvips, xetex), leftover from the v 0.11 cleanup, as reported by - K. Amaterasu and P. Mavrogiorgos (launchpad bugs #754693 and #859834). - - added a "purple" color option, as proposed by B. Ravel. - - added a 3rd optional argument to the \photo command to control the thickness - of the framebox. Setting it to 0pt will disable the frame around the photo, as - requested by T. Krennwallner (launchpad bug #664568). +- Added a "black" color option to render the resume in black & white, as + suggested by F. Bicarri. +- Removed the pdflatex option when loading hyperref to enable other engines + (e.g., dvips, XeTeX), leftover from the v0.11 cleanup, as reported by + K. Amaterasu and P. Mavrogiorgos (launchpad bugs #754693 and #859834). +- Added a "purple" color option, as proposed by B. Ravel. +- Added a 3rd optional argument to the \photo command to control the thickness + of the framebox. Setting it to 0pt will disable the frame around the photo, as + requested by T. Krennwallner (launchpad bug #664568). version 0.12.0 (03 August 2010) - - prevented pagebreaks after sections and subsections (launchpad bug #409902), - as originally reported by C. Gaspoz and fixed by launchpad user tentotwo). +- Prevented pagebreaks after sections and subsections (launchpad bug #409902), + as originally reported by C. Gaspoz and fixed by launchpad user tentotwo. version 0.11.0 (20 July 2010) - - removed the \ifpdf check when loading the graphicx package, as graphicx does - does check internally and this was preventing proper functionning with xelatex - and luatex, as reported by A. Trautmann. The same check was also removed - everywhere else in the document (i.e. when loading the color and hyperref - packages). +- Removed the \ifpdf check when loading the graphicx package, as graphicx + already does this check internally. This was preventing proper functioning + with XeTeX and LuaTeX, as reported by A. Trautmann. The same check was also + removed everywhere else in the document (i.e. when loading the color and + hyperref packages). version 0.10.0 (13 June 2010) - - fixed a compatibility issue with the natbib package (natbib uses \section* - to format the bibliography title, while only \section was defined by - moderncv), as reported on launchpad (launchpad bug #393920). - - fixed a compatibility issues with (any package relying on) the etoolbox - package, due to the double definition of \AtEndPreamble, as reported by - D. Becker. +- Fixed a compatibility issue with the natbib package (natbib uses \section* to + format the bibliography title, while only \section was defined by moderncv), + as reported on launchpad (launchpad bug #393920). +- Fixed compatibility issues with (any package relying on) the etoolbox package, + due to the double definition of \AtEndPreamble, as reported by D. Becker. version 0.9.0 (31 May 2010) - - added support for the itemize, enumerate and description environments. +- Added support for the itemize, enumerate and description environments. version 0.8.0 (24 May 2010) - - added support for multibib. Also modified the template to illustrate how to +- Added support for multibib. Also modified the template to illustrate how to show labels in the bibliography, as requested by Tom D. R. and Stefan K. - - added a command to indicate your personal homepage (\homepage{url}), as +- Added a command to indicate your personal homepage (\homepage{url}), as requested by J. de Jong and A. Pairet. - - corrected an alignment bug for text following a \quote with no immediate +- Corrected an alignment bug for text following a \quote with no immediate \section, as kindly reported by J. Vermeulen and L. Saliou. - - corrected a spacing bug when no blank line (or \par) is left after - \maketitle. Thanks to A. Menzel for reporting the strange behaviour. - - corrected the alignment of the extrainfo title part when no picture was - used, as reported by M. Bana. - - corrected the missplacement of pdf bookmarks as noticed by L. Fortunato. - - corrected several bugs linked to the code for checking for empty arguments - in \cventry, as reported by B. Ekran (launchpad bug #268768), L. Păncescu and +- Corrected a spacing bug when no blank line (or \par) is left after \maketitle. + Thanks to A. Menzel for reporting the strange behaviour. +- Corrected the alignment of the \extrainfo title part when no picture was used, + as reported by M. Bana. +- Corrected the misplacement of PDF bookmarks as noticed by L. Fortunato. +- Corrected several bugs linked to the code for checking for empty arguments in + \cventry, as reported by B. Ekran (launchpad bug #268768), L. Păncescu and E. Gregorio. version 0.7.0 (17 June 2008) - - corrected an outstanding spacing bug (space between cvlines longer - than 1 line). - - removed the need to use \closesection and \emptysection as internal - tabulars are now always closed. This allows she use of bibliography packages - such as bibunits. Thanks to S. Busch for pointing out the incompatibility and - helping testing out the bug correction. - - changed the definition of \photo: the first (optional) argument should - give the desired width of the picture, instead of its height - - corrected an alignment bug for \cvlistitems longer than 1 line, as - reported by S. Nikolopoulos. - - deprecated the commands \sethintscolumnlength and \sethintscolumntowidth. +- Corrected an outstanding spacing bug where the space between cvlines was + longer than 1 line. +- Removed the need to use \closesection and \emptysection as internal tabulars + are now always closed. This allows the use of bibliography packages such as + bibunits. Thanks to S. Busch for pointing out the incompatibility and helping + test out the bug correction. +- Changed the definition of \photo: the first (optional) argument should give + the desired width of the picture, instead of its height +- Corrected an alignment bug for \cvlistitems longer than 1 line, as reported by + S. Nikolopoulos. +- Deprecated the commands \sethintscolumnlength and \sethintscolumntowidth. Instead, just set \hintscolumnwidth to the desired length by using the regular \setlength or \settowidth commands, and call \recomputelengths. - - added the ability to control the width of the name placeholder in the - classic theme, by setting the length \maketitlenamewidth. Again, don't forget - to call \recomputelengths afterward. +- Added the ability to control the width of the name placeholder in the classic + theme, by setting the length \maketitlenamewidth. Again, don't forget to call + \recomputelengths afterward. version 0.6.0 (28 May 2007) - - corrected some spacing bugs and cleaned up the code. - - corrected a bug in the bibliography file of the examples spotted by - U. Stöhr. - - added color variants to the classic and casual style, as suggested by +- Corrected some spacing bugs and cleaned up the code. +- Corrected a bug in the bibliography file of the examples spotted by U. Stöhr. +- Added color variants to the classic and casual styles, as suggested by U. Stöhr. - - added a page counter for resumes running longer than 1 page, as requested by +- Added a page counter for resumes running longer than 1 page, as requested by A. Martin. It can be disabled by the command \nopagenumbers{}. - - added commands to include a mobile phone and fax number. - - made the symbols used for the phone number, the email, ... customizable. - To modify those symbols, just redefine \phonesymbol, emailsymbol, ... - - corrected the pdf information given to hyperref as pointed out by - C. Knuepfer. - - rewrote the examples. +- Added commands to include a mobile phone and fax number. +- Made the symbols used for the phone number, the email etc. customizable. To + modify those symbols, just redefine \phonesymbol, \emailsymbol etc. +- Corrected the PDF information given to hyperref as pointed out by C. Knuepfer. +- Rewrote the examples. version 0.5.0 (9 September 2006) - - added a \photo command to display a picture. That command takes the name of - the file with the picture as argument, and the desired height as optional - argument. - - implemented the needed commands to make moderncv compatible with BibTeX, as +- Added a \photo command to display a picture. This command takes the name of + the file with the picture as a required argument and the desired height as an + optional argument. +- Implemented the needed commands to make moderncv compatible with BibTeX, as suggested by J. Lie. This makes it possible to display one's publications, - stored in the BibTeX file 'publications.bib' - by using: + stored in the BibTeX file "publications.bib" by using: \nocite{*} \bibliographystyle{plain} \bibliography{publications} - As usual, the name of the section title can be changed by redefining the - command \refname. - - added the \today command, useful for example if one need to add the date the - resumé was produced with + As usual, the name of the section title can be changed by redefining \refname. +- Added the \today command, useful for example if one needs to add the date the + resume was produced with: \closesection{} \vfill{\hfill{\scriptsize Produced \today.}} at the end of your CV, as suggested by F. Hammann. version 0.4.0 (2 May 2006) - - removed the dependency on the geometry package, so that users can now invoke - it themselve, and easily change the geometry of the page. +- Removed the dependency on the geometry package so that users can now invoke it + themselves and easily change the geometry of the page. version 0.3.0 (10 April 2006) - - moderncv now uses the 'longtable' class, allowing cv sections to split - across multiple pages. - - the different lengths used by moderncv are now customizable! In particular, - the first column (the one containing the date in the examples), can now be set +- Moderncv now uses the longtable class, allowing CV sections to split across + multiple pages. +- The different lengths used by moderncv are now customizable! In particular, + the first column (the one containing the date in the examples) can now be set to any width, for people needing a smaller or larger one. To do that, either use \sethintscolumnlength{<length>}, @@ -374,33 +399,32 @@ version 0.3.0 (10 April 2006) where <string> is a string of the desired length (usually, the longest string that has to appear in the column). Thanks to A. Pöge for pointing out the need of such a feature. - - added the command \emptysection{}, which makes it possible to start a - section without name. In combination with \closesection{}, this makes it - possible to drop out of the layout of moderncv, and come back to it later. - This should make the inclusion of arbitrary elements not covered by moderncv - code possible. - - corrected a spacing problem in the cventry command, as pointed out and - solved by B. Eßmann. +- Added the command \emptysection{}, which makes it possible to start an unnamed + section. In combination with \closesection{}, this makes it possible to drop + out of the layout of moderncv, and come back to it later. This should make the + inclusion of arbitrary elements not covered by moderncv code possible. +- Corrected a spacing problem in the \cventry command, as pointed out and solved + by B. Eßmann. version 0.2.0 (6 March 2006) - - rewrite of the code to have the styles (fonts, colours, headers and footers) +- Rewrite of the code to have the styles (fonts, colours, headers and footers) be defined in different files than the class. The styles are now defined in a separate file per style, named moderncvstyle<style_name>. It should now be easy to write your own style, starting from moderncvstyleempty.sty. If you feel you have created a nice style, just email it to me and I'll include it in the next version. - - due to the previous point, styles are now loaded by the command +- Due to the previous point, styles are now loaded by the command \moderncvstyle{style_name}. I couldn't figure out a way to preserve the old "casual" and "classic" class options, so these are now broken! Use \moderncvstyle{casual} or \moderncvstyle{classic} at the beginning of your - document. This should be the only incompatibility with version 0.1. - - added class option "nolmodern" for people without the latin modern fonts. - - corrected some English mistakes in the examples. Thanks to M. H. Prager for + document. This should be the only incompatibility with v0.1. +- Added class option "nolmodern" for people without the Latin Modern fonts. +- Corrected some English mistakes in the examples. Thanks to M. H. Prager for pointing them out. - - added a \cvlistitem to produce items with a bullet (or whatever is defined - in \listitemsymbol), and renamed \cvresume to \cvlistdoubleitem for - consistency purpose. For compatibility reasons, the command \cvresume still - works, but should be avoided. +- Added a \cvlistitem to produce items with a bullet (or whatever is defined in + \listitemsymbol), and renamed \cvresume to \cvlistdoubleitem for consistency + purposes. For compatibility reasons, the command \cvresume still works, but + should be avoided. version 0.1.0 (1 March 2006) - - first release. +- First release. diff --git a/Master/texmf-dist/doc/latex/moderncv/KNOWN_BUGS b/Master/texmf-dist/doc/latex/moderncv/KNOWN_BUGS index 15b86eccbcd..25ef872007c 100644 --- a/Master/texmf-dist/doc/latex/moderncv/KNOWN_BUGS +++ b/Master/texmf-dist/doc/latex/moderncv/KNOWN_BUGS @@ -1,15 +1,12 @@ -- When using the "fancy" style, undesired space is added between the bibliography - head and the first entry, as well as after the last entry -- Moderncv is incompatible with biblatex. -- Footnotes generates errors (though the output seem correct when running with - "-interaction=nonstopmode") -- When using CJK, the last \clearpage required for fancyhdr to work properly kills - the "lastpage" counter, hence also the page numbering. -- Moderncv produces an error ("lonely \item--perhaps a missing list environment") - when used with bibentry, through the output is actually correct. Amongst other, - this causes compilation by LyX to stop. -- The space after a cventry gets eaten up when the last argument contains a nested - itemize environment. An ugly hack and incomplete solution was implemented by - including a \strut in every item label, but this doesn't solve the problem for - multi-line items. Ideally, the strut should end the item, but there seems to be - no way to do this. +- moderncv is incompatible with biber. +- moderncv is incompatible with BibLaTeX. +- moderncv is incompatible with babel in Spanish. + +- Skill matrices don't break automatically in fancy style. +- Long names break the oldstyle style and possibly other styles (needs testing). +- Long URLs in classic style can make the name break line. Fixed width for the address part must be implemented. +- When using the fancy style, undesired space is added between the bibliography head and the first entry, as well as after the last entry. +- Footnotes generate errors, but the output seems correct when running with "-interaction=nonstopmode" +- When using CJK, the last \clearpage required for the fancyhdr package to work properly kills the "lastpage" counter, and therefore also the page numbering. +- moderncv produces an error "lonely \item--perhaps a missing list environment" when used with the bibentry package, though the output is actually correct. Among other things, this causes compilation by LyX to stop. +- The space after a \cventry gets eaten up when the last argument contains a nested itemize environment. An ugly hack and incomplete solution was implemented by including a \strut in every item label, but this doesn't solve the problem for multi-line items. Ideally, the \strut should end the item, but there seems to be no way to do this. diff --git a/Master/texmf-dist/doc/latex/moderncv/README.md b/Master/texmf-dist/doc/latex/moderncv/README.md index 1eb439d16be..19ff062daee 100644 --- a/Master/texmf-dist/doc/latex/moderncv/README.md +++ b/Master/texmf-dist/doc/latex/moderncv/README.md @@ -1,27 +1,44 @@ # moderncv +[![Build template](https://github.com/moderncv/moderncv/actions/workflows/build-pdf.yml/badge.svg)](https://github.com/moderncv/moderncv/actions/workflows/build-pdf.yml) +[![CTAN](https://img.shields.io/ctan/v/moderncv.svg)](https://www.ctan.org/pkg/moderncv) +[![Matrix](https://img.shields.io/matrix/moderncv:matrix.org)](https://matrix.to/#/#moderncv:matrix.org) + ## A modern curriculum vitae class for LaTeX -**moderncv** provides a documentclass for typesetting curricula vitae in various styles. Moderncv aims to be both straightforward to use and customizable, providing five ready-made styles (classic, casual, banking, oldstyle and fancy) and allowing one to define his own by modifying colors, fonts, icons, etc. +The `moderncv` package provides a document class for typesetting applications (curricula vitae and cover letters) in various styles. `moderncv` aims to be both straightforward to use and customizable, providing five ready-made styles (classic, casual, banking, oldstyle and fancy) and allowing you to define your own by modifying colors, fonts, icons, etc. -Most commands are defined in such a way that arguments are optional. +## Getting started -Until a decent manual is written, one can always look in the `template.tex` file for an example. It can be compiled to pdf via `latexmk -pdf ./template.tex`. +### Installation +`moderncv` should already be included in your installed LaTeX distribution. +If not, you can get the tarball of the package from [CTAN](https://www.ctan.org/pkg/moderncv). +Alternatively, you can also build the package from source by cloning the its [GitHub repository](https://github.com/moderncv/moderncv) and compiling the included LaTeX files: +``` +latexmk -pdf ./template.tex manual/moderncv_userguide.tex +``` -If using [`academicons`](https://ctan.org/tex-archive/fonts/academicons) in the template, you need to use a Xe(La)TeX or Lua(La)TeX engine for them to render. Otherwise an alternative will be used automatically. +### Usage +To get started on your own CV, use and modify the template file `template.tex`. +The user guide can be found in the folder `manual` and contains additional information on what the document class offers. +Take a look at it to see if this package suits your needs. -## Development +If you are using the [`academicons`](https://ctan.org/tex-archive/fonts/academicons) package in the template, you will need to use a Xe(La)TeX or Lua(La)TeX engine to render the icons. Otherwise, an alternative icon package will be used automatically. -[![Build template](https://github.com/moderncv/moderncv/actions/workflows/build-pdf.yml/badge.svg)](https://github.com/moderncv/moderncv/actions/workflows/build-pdf.yml) -[![CTAN](https://img.shields.io/ctan/v/moderncv.svg)](https://www.ctan.org/pkg/moderncv) -[![Matrix](https://img.shields.io/matrix/moderncv:matrix.org)](https://matrix.to/#/#moderncv:matrix.org) +## Development -As the main goal is to keep this package alive, it is maintained in a loosely structured team. You can contact us in our matrix room [moderncv:matrix.org](https://matrix.to/#/#moderncv:matrix.org), feel free to join if you have questions or want to contribute. Development takes places at [github.com/moderncv/moderncv](https://github.com/moderncv/moderncv). +As the main goal is to keep this package alive, it is maintained in a loosely structured team. +You can contact us in our matrix room [moderncv:matrix.org](https://matrix.to/#/#moderncv:matrix.org), feel free to join if you have questions or want to contribute. +Development takes place at [github.com/moderncv/moderncv](https://github.com/moderncv/moderncv). ## Licence -moderncv is licensed under the [LPPL-1.3c](https://spdx.org/licenses/LPPL-1.3c.html). + +`moderncv` is licensed under the [LPPL-1.3c](https://spdx.org/licenses/LPPL-1.3c.html). ## Origin -Original author: Xavier Danaux <xdanaux@gmail.com><br/> -Original repository: https://github.com/xdanaux/moderncv<br/> -This repository is a fork aiming to maintain moderncv inside CTAN, since upstream is dead since 2016. + +Original author: Xavier Danaux <xdanaux@gmail.com> +<br/> +Original repository: https://github.com/xdanaux/moderncv + +This repository is a fork aiming to maintain `moderncv` inside CTAN, since upstream has been dead since 2016. diff --git a/Master/texmf-dist/doc/latex/moderncv/manual/moderncv_userguide.pdf b/Master/texmf-dist/doc/latex/moderncv/manual/moderncv_userguide.pdf Binary files differindex cadbefe3865..0468a22e0fd 100644 --- a/Master/texmf-dist/doc/latex/moderncv/manual/moderncv_userguide.pdf +++ b/Master/texmf-dist/doc/latex/moderncv/manual/moderncv_userguide.pdf diff --git a/Master/texmf-dist/doc/latex/moderncv/manual/moderncv_userguide.tex b/Master/texmf-dist/doc/latex/moderncv/manual/moderncv_userguide.tex index 26d2016178d..feb6f31f6fa 100644 --- a/Master/texmf-dist/doc/latex/moderncv/manual/moderncv_userguide.tex +++ b/Master/texmf-dist/doc/latex/moderncv/manual/moderncv_userguide.tex @@ -1,462 +1,1071 @@ -%% moderncv_userguide.tex (compiled with pdfLaTeX) -%% Copyright 2007 Cristina Sambo +%% moderncv_userguide.tex as shipped with 2024-07-18 v2.4.1 modern curriculum vitae and letter document class (moderncv) +%% 2021 David Seus, cryptointerest@posteo.de % % This work may be distributed and/or modified under the % conditions of the LaTeX Project Public License version 1.3c, % available at http://www.latex-project.org/lppl/. -\documentclass[a4paper,11pt]{article} +\documentclass[a4paper, 11pt]{article} -\title{\bfseries Moderncv -- v. 0.6} -\author{Package by Xavier Danaux \\ \begin{small}Documentation by Cristina Sambo \end{small}} -\date{} +\title{% + \texttt{moderncv} User Guide\\ + {\small Package v2.4.1}% +} +% Cristina Sambo, +\author{% + Package by Xavier Danaux\\ + and\\ + moderncv community\\ + {\small Documentation by David Seus}% +} +\date{\today} -%language and encoding options +% Language and encoding options \usepackage[english]{babel} +\usepackage{ifxetex, ifluatex} +\newif\ifxetexorluatex +\ifxetex + \xetexorluatextrue +\else + \ifluatex + \xetexorluatextrue + \else + \xetexorluatexfalse + \fi +\fi + +% PDFLaTeX or LUALaTeX/XeLaTeX +\ifxetexorluatex + % \usepackage{luatextra} + % \usepackage{lualatex-math} + \usepackage{shellesc} % Fix a bug for lualatex shellescape + % \usepackage{unicode-math} + % \setmathfont{xits-math.otf} +\else + \usepackage[utf8]{inputenx} % Uncomment if using pdflatex, comment if using lualatex +\fi +\PassOptionsToPackage{T1}{fontenc} % T2A for Cyrillic \usepackage[T1]{fontenc} -\usepackage[latin1]{inputenc} -%font options +% Font options \usepackage{txfonts} \usepackage{marvosym} \usepackage{pifont} -%margins, spacing and page layout -\usepackage[pdftex,colorlinks=true]{hyperref} %(hyperref must be loaded before geometry) -\usepackage[pdftex]{geometry} +% Margins, spacing and page layout +\usepackage[pdftex, colorlinks=true]{hyperref} % hyperref must be loaded before geometry +\usepackage[pdftex, marginparwidth=50pt]{geometry} \geometry{top=2.5cm, bottom=3cm} -\setlength{\parindent}{0pt} %(to soppress indentation when starting a new paragraph) -\frenchspacing %(to soppress additional space after a full stop) - -%packages -\usepackage[pdftex]{graphicx} -\usepackage[pdftex]{xcolor} -\usepackage[labelfont=sl,font=small,width=0.9\textwidth]{caption} +\usepackage{parskip} % Replace paragraph indentation with vertical spacing +\frenchspacing % Suppress additional space after a full stop +\renewcommand{\arraystretch}{1.1} + +% Packages +\usepackage{graphicx} +\usepackage{xcolor} +\usepackage[labelfont=sl, font=small, width=0.9\textwidth]{caption} \usepackage{marvosym} \usepackage{latexsym} - -%pdfLaTeX options -\pdfpagewidth=\paperwidth -\pdfpageheight=\paperheight -\pdfimageresolution=150 -\pdfinfo{ - /Title (Moderncv -- v. 0.6) - /Author (Cristina Sambo) - /Subject (Moderncv package user's guide) - /Keywords (curriculum vitae, LaTeX) +\usepackage{url} +\usepackage{scrhack} % Fix warnings when using KOMA with listings package +\usepackage{xspace} % Fix spacing after macros +\usepackage{mparhack} % Fix marginpar +\usepackage{microtype} +\usepackage{multicol} % Multicolumn text for long lists + +% Code listings +\usepackage{listings} +% \lstset{emph={trueIndex, root}, emphstyle=\color{BlueViolet}}% \underbar} % Special keywords +\lstset{% + language=[LaTeX]Tex, % C++, + morekeywords={PassOptionsToPackage, selectlanguage}, + keywordstyle=\color{cvblue}, % \bfseries, + basicstyle=\small\ttfamily, + % identifierstyle=\color{NavyBlue}, + commentstyle=\color{gray}\ttfamily, + stringstyle=\rmfamily, + numbers=none, % left, + numberstyle=\scriptsize, % \tiny + stepnumber=5, + numbersep=8pt, + showstringspaces=false, + breaklines=true, + % frameround=ftff, + % frame=single, + belowcaptionskip=0.75\baselineskip, + % frame=L, + emph={ + cvitem, cventry, cvdoubleentry, cvdoubleitem, cvtripleitem, cvlistitem, cvlistdoubleitem, cvcolumns, moderncvstyle, moderncvcolor, + cvskill, cvskilllegend, cvskillplainlegend, cvskillhead, cvskillentry, nopagenumbers, + name, born, address, email, link, social, phone, homepage, extrainfo, photo, quote, section, subsection, setlength, NewDocumentCommand, definecolor, colorlet, cvitemwithcomment, + recipient, subject, opening, closing, signature, enclosure + }, + emphstyle={\color{cvblue}}, + emph={[2] + familydefault, sfdefault, rmdefault, inputenc, moderncv, document, bibliographyitemlabel, + addresssymbol, mobilephonesymbol, fixedphonesymbol, faxphonesymbol, emailsymbol, homepagesymbol, linkedinsocialsymbol, + xingsocialsymbol, twittersocialsymbol, githubsocialsymbol, gitlabsocialsymbol, + stackoverflowsocialsymbol, bitbucketsocialsymbol, skypesocialsymbol, orcidsocialsymbol, researchgatesocialsymbol, arxivsocialsymbol, inspiresocialsymbol, + researcheridsocialsymbol, telegramsocialsymbol, whatsappsocialsymbol, signalsocialsymbol, matrixsocialsymbol, googlescholarsocialsymbol, cvstretchability, bornsymbol + }, + emphstyle={[2]\color{cvblue!60!cvgrey}\bfseries}, + literate={{é}{{\'e}}1}, } -%my commands -\definecolor{bluecv}{rgb}{0.25,0.5,0.75} -\definecolor{greencv}{rgb}{0.55,0.85,0.35} -\definecolor{redcv}{rgb}{1.00,0.30,0.30} -\definecolor{orangecv}{rgb}{1,0.65,0.20} -\definecolor{greycv}{rgb}{0.75,0.75,0.75} +% Hyperlinks +\usepackage{hyperref} +\hypersetup{ + unicode=true, + % draft, % Draft mode for printing (see below) + colorlinks=true, linktocpage=true, pdfstartpage=3, pdfstartview=FitV, + % colorlinks=false, linktocpage=false, pdfstartpage=3, pdfstartview=FitV, pdfborder={0 0 0}, % Black links (e.g., for printing) + breaklinks=true, pageanchor=true, + pdfpagemode=UseNone, + % pdfpagemode=UseOutlines, + plainpages=false, bookmarksnumbered, bookmarksopen=true, bookmarksopenlevel=1, + hypertexnames=true, pdfhighlight=/O, % nesting=true, frenchlinks, + urlcolor=cvblue, linkcolor=cvblue, citecolor=cvblue, % pagecolor=RoyalBlue, + % urlcolor=Black, linkcolor=Black, citecolor=Black, % pagecolor=Black, + % pdfborder={0 0 1}, % Width of PDF link border 0 0 1, 0 0 0 = colorlinks + % linkbordercolor=gray!15, + % citebordercolor=green!15, +} -%================== +% Colors +\definecolor{cvblue}{rgb}{0.22, 0.45, 0.70} +\definecolor{cvgreen}{rgb}{0.35, 0.70, 0.30} +\definecolor{cvred}{rgb}{0.95, 0.20, 0.20} +\definecolor{cvorange}{rgb}{0.95, 0.55, 0.15} +\definecolor{cvgrey}{rgb}{0.75, 0.75, 0.75} +\definecolor{cvburgundy}{rgb}{0.596078, 0, 0} % burgundy: 139/255 (0.545098) or 152/255 (0.596078) +\definecolor{cvgrey}{rgb}{0.55, 0.55, 0.55} +\definecolor{cvpurple}{rgb}{0.50, 0.33, 0.80} + +% Macros +\newcommand{\todo}[1]{\marginpar{\raggedright \textcolor{red}{[\textbf{TODO:} #1]}}} +\newcommand{\todox}[1]{\textcolor{red}{[\textbf{TODO:} #1]}} +\newcommand{\note}{\paragraph{Note.}} +\newcommand{\code}[1]{\lstinline!#1!} +\newcommand{\moderncv}{\code{moderncv}} +\newcommand{\Moderncv}{\moderncv~} +\newcommand{\github}{GitHub} +\newcommand{\Github}{\github~} +\newcommand{\ctan}{CTAN} +\newcommand{\Ctan}{\ctan~} +\newcommand{\cvtemplate}{\code{template.tex}} +\newcommand{\Cvtemplate}{\cvtemplate~} +\newcommand{\Latex}{\LaTeX~} +\newcommand{\biblatex}{BibLaTeX} +\newcommand{\Biblatex}{\biblatex~} +\newcommand{\cvdoccolorbox}[1]{{\color{#1}\rule{4ex}{2ex}}} +\newcommand{\moderncvGithub}{\url{https://github.com/moderncv/moderncv}} +\newcommand{\moderncvCtan}{\url{https://ctan.org/pkg/moderncv}} + + + + + +% ================== % DOCUMENT BEGINNING -%================== +% ================== \begin{document} \maketitle - \begin{abstract} -\noindent \texttt{Moderncv}, as its author says in the readme file, provides a documentclass for typesetting modern curriculum vitaes in various styles. It is fairly customizable, allowing you to define your own style by changing the colors, the fonts, \dots\ and provides two default styles: classic and casual. + \noindent + The \Moderncv package provides a document class for typesetting modern curriculum vit\ae{} and cover letters in various styles. + Five predefined styles are available, each of which can be adjusted through various options for headings, footers and colors. + It is fairly customizable, allowing the user to adjust the look and feel of each style to their liking. + Several macros allow the user to add content to the CV and format it in a consistent way. + A letter of motivation consistent with the style is part of the template as well. \end{abstract} +\tableofcontents + -\section{Introduction} -When I saw for the first time this class I was amazing: ``Here it is what I need'', I thought. Using the very clear examples, was easy to make my first curriculum. -Indeed the class is very simple to use, in this documentation I will only put together all the things to help users to have all on hand. - -\smallskip -\texttt{Moderncv} requires the following packages: \texttt{ifthen}, \texttt{ifpdf}, \texttt{color}, \texttt{lmodern}, \texttt{marvosym}, \texttt{url}, \texttt{hyperref}, \texttt{longtable}, \texttt{graphicx}, \texttt{fancyhdr}, usually all just included in the \LaTeX\ distributions. - -\section{In the preamble} - -At the very beginning of your preamble (that is the part before \verb|\begin{document}|) insert: - -\begin{verbatim} -\documentclass[<options>]{moderncv} -\end{verbatim} - -where the options are: - -\begin{description} - \item[paper size options:] \texttt{a4paper}, \texttt{a5paper}, \texttt{b5paper}, \texttt{letterpaper}, \texttt{legalpaper}, \texttt{ex\-ec\-u\-tive\-pa\-per}, \texttt{landscape} - \item[font size options:] \texttt{10pt}, \texttt{11pt}, \texttt{12pt} - \item[font option:] \texttt{nolmodern}, for people without the latin modern fonts - \item[color option:] \texttt{nocolor}, to have all in black and white - \item[draft/final options:] \texttt{draft}, \texttt{final} -\end{description} - -The default options are: \texttt{a4paper}, \texttt{11pt}, \texttt{color}, \texttt{final}. - -After the documentclass specification, choose the theme for your curriculum vit\ae: - -\begin{verbatim} -\moderncvtheme[<options>]{casual} -\end{verbatim} - -which is the default theme, or - -\begin{verbatim} -\moderncvtheme[<options>]{classic} -\end{verbatim} - -where the theme options are: - -\begin{description} - \item[color options:] you can choose between five color: - \begin{itemize} - \item[\texttt{blue}] {\color{bluecv}\rule{1cm}{2ex}} (default color) - \item[\texttt{green}] {\color{greencv}\rule{1cm}{2ex}} - \item[\texttt{red}] {\color{redcv}\rule{1cm}{2ex}} - \item[\texttt{orange}] {\color{orangecv}\rule{1cm}{2ex}} - \item[\texttt{grey}] {\color{greycv}\rule{1cm}{2ex}} - \end{itemize} - \item[roman option:] \texttt{roman}, for {\fontsize{11}{12} \usefont{T1}{lmr}{m}{n}\selectfont roman} fonts, instead of \fontsize{11}{12} \usefont{T1}{lmss}{m}{n}\selectfont sans serif fonts. -\end{description} - -Then you have to specify the character encoding (utf8, latin1, and so on): - -\begin{verbatim} -\usepackage[<your encoding>]{inputenc} -\end{verbatim} - -and you can adjust the page geometry: - -\begin{verbatim} -\usepackage[<options>]{geometry} -\recomputelengths -\end{verbatim} - -where \verb|\recomputelengths| is required when changes are made to page layout lengths. - -Now we can get into the part most related to our curriculum vit\ae: our personal data. They will be inserted in the header of the first page, in the classic theme, or in the footer of every page, in the case of casual theme. - + +\section{Getting started} +\subsection{How to read this manual} +This manual is organized as follows. +The current section explains on how to get started with the \Moderncv package, i.e. how to install required packages. +% \emph{Note that it is assumed that you know how to install \Latex packages in case some are missing.} +Section \ref{section:moderncvTemplate} explains how to work with the \Moderncv template file step by step. +Section \ref{section:customization} details the customizations that the user can make: the different styles, their options, colors and tips and tricks. +Section \ref{section:implementationDetails} details the packages that \Moderncv uses, known problems and possible solutions to those problems. + +\subsection{Installation instructions} +If the \Moderncv package does not ship with your \Latex distribution or if the installed version is too old, grab the \Moderncv code from \Ctan or \github: + +\begin{tabular}{l} + \moderncvCtan \\% [.5ex] + \moderncvGithub +\end{tabular} + +\note Depending on your \Latex distribution, you may have to install some additional packages. +Section \ref{section:implementationDetails:requiredPackages} lists all the packages that \Moderncv requires to be installed on your system. + + + +\section{The \texttt{moderncv} template step by step} +This section is a quick reference to the \Moderncv package and should contain enough information to typeset a first working CV. +\label{section:moderncvTemplate} +The easiest way to get started with \Moderncv is to use the template that comes with the package. +If \Moderncv is part of your \Latex distribution, search for the folder \Moderncv on your system, which should contain all the files for the package. +In this folder, there should be a file called \cvtemplate. +If you downloaded the package from \Github or \ctan, look for \Cvtemplate in the folder of the newly downloaded (and possibly extracted) package. + +\note If you downloaded \Moderncv from \Github or \Ctan and moved \Cvtemplate to another folder, make sure to adjust the \code{TEXINPUTS} variable to find the newly downloaded package. +Otherwise, either the package version provided by your \Latex distribution gets used or \Latex throws an error if there is no other version installed. + +Test your setup by compiling \Cvtemplate and looking at the result. + +\note The \Moderncv package should compile with \code{pdflatex}, \code{lualatex} and \code{xelatex}. +However, not all icons are available when using \code{pdflatex}, so using either \code{lualatex} or \code{xelatex} \emph{is highly recommended.} + +\subsection{Basic setup} +A document using the \Moderncv document class is set up like any other document class. +We will go through the template step by step. + +\subsubsection*{Configuring document class options} +The \Moderncv document class is loaded as per usual, by +\begin{lstlisting} + \documentclass[<options>]{moderncv} +\end{lstlisting} +where at most one value for each option can be passed to the document class: + +\begin{tabular}{r@{\hspace{2ex}}p{0.55\textwidth}} + \textbf{\code{paper}:} & \code{a4paper} (default), \code{a5paper}, \code{b5paper}, \code{letterpaper}, + \code{legalpaper}, \code{executivepaper}, \code{landscape} \\ + \textbf{\code{font family}:} & \code{sans}, \code{roman} \\ + \textbf{\code{font size}:} & \code{10pt}, \code{11pt} (default), \code{12pt} \\ + \textbf{\code{draft/final}:} & \code{draft}, \code{final} (default) +\end{tabular} + +\subsubsection*{Choosing a \texttt{moderncv} style and color} +Choose a \Moderncv style and color by adjusting the commands +\begin{lstlisting} + \moderncvstyle{<style>} + \moderncvcolor{<color>} +\end{lstlisting} +As explained in \cvtemplate, the possible values are + +\begin{tabular}{r@{\hspace{2ex}}p{0.65\textwidth}} + \textbf{\code{style}:} & \code{casual} (default), \code{classic}, \code{banking}, \code{oldstyle}, + \code{fancy} \\ + \textbf{\code{color}:} & \code{black} \cvdoccolorbox{black}, \code{blue} \cvdoccolorbox{cvblue} (default), \code{burgundy} \cvdoccolorbox{cvburgundy}, \code{green} \cvdoccolorbox{cvgreen}, \code{grey} \cvdoccolorbox{cvgrey}, \code{orange} \cvdoccolorbox{cvorange}, \code{purple} \cvdoccolorbox{cvpurple}, \code{red} \cvdoccolorbox{cvred} +\end{tabular} + +\note Some of the styles take additional options to fine-tune their appearance. +To keep this overview short, these options will be described in section \ref{section:customization:stylesAndOptions}. + +\subsubsection*{Font family and page numbering} +The default font family is set by the line \code{\\renewcommand\{\\familydefault\}\{\\sfdefault\}} in \cvtemplate. +Use \code{\\sfdefault} for the default sans-serif font, \code{\\rmdefault} for the default roman font, and likewise for any \TeX{} font name. +The general syntax is +\begin{lstlisting} + \renewcommand{\familydefault}{<fontfamily>} + % \nopagenumbers{} +\end{lstlisting} +Uncommenting \code{\%\\nopagenumbers\{\}} suppresses automatic page numbering for CVs longer than one page. + +\subsubsection*{Adjusting input encoding} +If you are not using \code{xelatex} or \code{lualatex}, which both use \code{utf8} encoding by default, uncomment the \code{\\usepackage[utf8]\{inputenc\}} import and change the encoding as needed. + +\subsubsection{Language-specific setup} +The \code{babel} package can be loaded in the preamble of your CV. + +\note \Moderncv doesn't work with \code{babel} in Spanish (see this \href{https://github.com/moderncv/moderncv/issues/103}{GitHub issue}). + +For CJK users, uncomment the \code{\\usepackage\{CJKutf8\}} import. + +\subsection{Personal data} +Edit the personal data section to reflect your personal information. +This data will appear in the header of the first page of the CV and/or in the footer of every page, as well as on the cover letter. +Most of the commands are optional, so try out what you like and see what you need. + +\paragraph{\code{\\name}} +A command for your name. Takes the given name and surname as arguments. +\begin{lstlisting} + \name{<given name>}{<surname>} +\end{lstlisting} + +\paragraph{\code{\\title}} +A command for a document title. Could be used for a generic CV title, job title, etc. +\begin{lstlisting} + \title{<title>} +\end{lstlisting} + +\paragraph{\code{\\born}} +A command for a birth date. +\begin{lstlisting} + \born{<birth date>} +\end{lstlisting} + +\paragraph{\code{\\address}} +A command for a three-lined street address. +\begin{lstlisting} + \address{<street address>}{<city and postcode>}{<country>} +\end{lstlisting} + +\paragraph{\code{\\phone}} +A command for a phone number. Takes the phone type as an optional argument. +\begin{lstlisting} + \phone[<type>]{<phone number>} +\end{lstlisting} +The allowed values for \code{<type>} are \code{fax}, \code{fixed} and \code{mobile}. + +\paragraph{\code{\\email}} +A command for an email address. +\begin{lstlisting} + \email{<email address>} +\end{lstlisting} + +\paragraph{\code{\\homepage}} +A command for a personal website. +\begin{lstlisting} + \homepage{<web address>} +\end{lstlisting} + +\paragraph{\code{\\social}} +A command for a social media account. +Takes the platform as an optional argument. +\begin{lstlisting} + \social[<platform>]{<username or handle>} +\end{lstlisting} +The following values are supported for \code{<platform>}: \begin{itemize} -\item \verb|\firstname{John}| -\item \verb|\familyname{Doe}| -\item \verb|\title{Resum\'e title}|: optional -\item \verb|\address{street and number}{postcode city}|: optional -\item \verb|\mobile{mobile}|: optional -\item \verb|\phone{phone}|: optional -\item \verb|\fax{fax}|: optional -\item \verb|\email{email}|: optional -\item \verb|\extrainfo{additional information}|: optional; here you can put, for example, the address of your website -\item \verb|\photo[64pt]{picture}|: optional; \texttt{64pt} is the height the picture, you can set here the size you prefer; \texttt{picture} is the name of the picture file -\item \verb|\quote{Some quote}|: optional -\end{itemize} - -Finally you can suppress automatic page numbering for CVs longer than one page: - -\begin{verbatim} -\nopagenumbers{} -\end{verbatim} - -\subsection{Examples} - -In practice, you will type: - -\begin{verbatim} -\documentclass[11pt,a4paper]{moderncv} - -% moderncv themes -\moderncvtheme[green]{casual} - -% character encoding -\usepackage[utf8]{inputenc} - -% adjust the page margins -\usepackage[scale=0.8]{geometry} -\recomputelengths - -% personal data -\firstname{John} -\familyname{Doe} -\title{Design enthusiast} -\address{12 somestreet}{3456 somecity} -\mobile{+123 456 7890} -\phone{+12 (3)456 78 90} -\fax{+12 (3)456 78 90} -\email{jdoe@design.org} -\extrainfo{\weblink{www.ctan.org}} -\photo[64pt]{jdoe_picture} -\quote{Any intelligent fool can make things bigger, more complex, -and more violent. It takes a touch of genius -- and a lot of courage -- to -move in the opposite direction.} - -\begin{document} -\maketitle - -... <what you'll see in the next section> - -\end{document} -\end{verbatim} - -to obtain a casual moderncv in green, as shown in figure \ref{fig:casual}, and you will substitute the line describing the theme with: - -\begin{verbatim} -% moderncv themes -\moderncvtheme[blue]{classic} -\end{verbatim} - -to obtain a classic moderncv in blue, as shown in figure \ref{fig:classic}. - - -\begin{figure}[p] - \centering - \fbox{\includegraphics[angle=90,width=\textwidth]{cv_casual.pdf}} - \caption{An example of casual moderncv in green.} - \label{fig:casual} -\end{figure} - -\begin{figure}[p] - \centering - \fbox{\includegraphics[angle=90,width=\textwidth]{cv_classic.pdf}} - \caption{An example of classic moderncv in blue.} - \label{fig:classic} -\end{figure} - -\section{Customize sections} - -Now we are ready to edit the part between \verb|\begin{document}| and \verb|\end{document}|. - -As you can seen in figure \ref{fig:casual} e \ref{fig:classic}, you can divide your CV into sections, each of them describing what you are, what you know and what you have done in your life. Every section is divide into items chosen from different flavours. More in details: - -\subsection{Section} - -The command to open a new section is: - -\begin{verbatim} -\section{<title>} -\end{verbatim} - -and every section can be divided into subsections: - -\begin{verbatim} -\subsection{<title>} -\end{verbatim} - -If necessary, there is a command to close the section: - -\begin{verbatim} -\closesection{} -\end{verbatim} - -and even one to create an empty section: - -\begin{verbatim} -\emptysection{} -\end{verbatim} - -An example of their usage can be the next one: - -\begin{verbatim} -\section{Section with your own content}\closesection -Your content here, inside the normal \LaTeX{} environment. -You can use any regular \LaTeX{} command, display mathematics -\[e =m\,c^2,\] -put some table or figure, \dots - -\emptysection{} -\cvitem{Now}{Back to moderncv layout, without making a new section :-)} -\end{verbatim} - -whose results is shown in figure \ref{fig:ex_sec}. - -\begin{figure}[!ht] - \centering - \fbox{\includegraphics[width=0.9\textwidth]{ex_sec}} - \caption{Example of usage of section commands.} - \label{fig:ex_sec} -\end{figure} - -\subsection{Items} - -Inside sections, you can choose between different kind of items depending on the purpose: + \begin{multicols}{4} + \item \code{arxiv} + \item \code{battlenet} + \item \code{bitbucket} + \item \code{codeberg} + \item \code{discord} + \item \code{github} + \item \code{gitlab} + \item \code{googlescholar} + \item \code{inspire} + \item \code{instagram} + \item \code{linkedin} + \item \code{mastodon} + \item \code{matrix} + \item \code{orcid} + \item \code{playstation} + \item \code{researcherid} + \item \code{researchgate} + \item \code{signal} + \item \code{skype} + \item \code{soundcloud} + \item \code{stackoverflow} + \item \code{steam} + \item \code{telegram} + \item \code{tiktok} + \item \code{twitch} + \item \code{twitter} + \item \code{whatsapp} + \item \code{xbox} + \item \code{xing} + \item \code{youtube} + \end{multicols} +\end{itemize} +\paragraph{\code{\\extrainfo}} +A command for any extra information. +\begin{lstlisting} + \extrainfo{<extra information>} +\end{lstlisting} + +\paragraph{\code{\\photo}} +A command for a photo. +Takes the image file name as a required argument. +Takes the height of the photo and the thickness of the photo frame as optional arguments. +\begin{lstlisting} + \photo[<photo height>][<frame thickness>]{<photo file name>} +\end{lstlisting} + +\paragraph{\code{\\quote}} +A command for a quote. +\begin{lstlisting} + \quote{<quote>} +\end{lstlisting} + +\note{Long names and URLs can break some CVs and cover letters depending on the used style. Manually inserting line breaks for names with \code{\\\\} can help for \texttt{oldstyle} or \texttt{fancy}. Adjusting lengths as described in section \ref{subsection:adjusting:lengths} could help to mitigate issues with long URLs.} + +\paragraph{Pictures.} +For some occasions you may need to include pictures besides the portrait photo. For this task it is helpful to know basic lengths used in \moderncv. For a more detailed description of lengths see section \ref{subsection:adjusting:lengths}. +For instance, pictures can be included with \code{\\includegraphics}: +\begin{lstlisting} + \hspace{\hintscolumnwidth + \separatorcolumnwidth}\includegraphics[<scale>]{<file name picture>} +\end{lstlisting} +Adding \code{\\hspace} in units of basic \code{moderncv} lengths will fit them more naturally into the CV or resume. + +\paragraph{Bibliography.} +In case BibTeX is used, the bibliography settings are adjusted in the lines +\begin{lstlisting} + % to show numerical labels in the bibliography (default is to show no labels) + % \renewcommand*{\bibliographyitemlabel}{[\arabic{enumiv}]} + % \renewcommand{\refname}{Articles} + + % bibliography with mutiple entries + % \usepackage{multibib} + % \newcites{book, misc}{{Books}, {Others}} +\end{lstlisting} +By default, no labels are shown for bibliography entries. +Uncommenting the line \code{\%\\renewcommand*\{\\bibliographyitemlabel\}\{[\\arabic\{enumiv\}]\}} +allows one to fine-tune the labels. +Uncommenting the line \code{\%\\renewcommand\{\\refname\}\{Articles\}} allows one to redefine the bibliography heading string ``Publications'' that is shown by default. +Finally, adjustments using the \code{multibib} package can be done in the last two lines shown here. + +\note \Biblatex is currently not supported. + +\subsection{Modifying CV content} +\subsubsection{Structuring the CV} +As with any other document style, the CV can be structured into sections and subsections using \code{\\section} and \code{\\subsection}. + +The \Moderncv package provides some macros to add content to your CV. +The easiest way to understand their intended use is to look at how they're used in the template. +Nonetheless, we list the macros here along with a short description of their intended use. + +\subsubsection{General macros} + +\paragraph{\code{\\cvitem}} +A flexible command for a single CV entry. +Takes the descriptor and body text as required arguments. +Can be used to list job experiences and similar. +\begin{lstlisting} + \cvitem{<descriptor>}{<body>} +\end{lstlisting} + +\paragraph{\code{\\cvdoubleitem}} +A two-column variation of \code{\\cvitem}. +Takes four required arguments: the descriptor and body text of the first column and the descriptor and body text of the second column. +Can be used to enter skills, such as computer skills or language skills, in a two-column fashion. +\begin{lstlisting} + \cvdoubleitem{<descriptor 1>}{<body 1>}{<descriptor 2>}{<body 2>} +\end{lstlisting} + +\paragraph{\code{\\cvtripleitem}} +A three-column variation of \code{\\cvitem}. +Takes six required arguments: the descriptor and body text of the first column, second and third column. +Can be used to enter skills, such as computer skills or language skills, in a three-column fashion. +\begin{lstlisting} + \cvtripleitem{<descriptor 1>}{<body 1>}{<descriptor 2>}{<body 2>}{<descriptor 3>}{<body 3>} +\end{lstlisting} + +\paragraph{\code{\\cvitemwithcomment}} +A variation of \code{\\cvitem} with an additional argument for a comment. +Can be used to enter skills such as computer skills or language skills. +\begin{lstlisting} + \cvitemwithcomment{<descriptor>}{<skill level>}{<comment>} +\end{lstlisting} + +\paragraph{\code{\\cventry}} +A command for entering an education or job experience. +Takes six required arguments: date(s), degree/job title, educational institution/employer, city, academic grade and description. +While arguments 3 to 6 aren't optional, they can be left empty. +If line breaks in argument 6 aren't done properly, a minipage can be used. +Alternatively, \code{\\newline\{\}} can be used to break lines in argument 6. +\begin{lstlisting} + \cventry{<year--year>}{<degree/job title>}{<institution/employer>} + {<city>}{<grade>}{<description>} +\end{lstlisting} + +\paragraph{\code{\\cvlistitem}} +A command for a single bullet-list item. +Very long lines get broken. +\begin{lstlisting} + \cvlistitem{<item>} +\end{lstlisting} + +\paragraph{\code{\\cvlistdoubleitem}} +A two-column variation of \code{\\cvlistitem}. +\begin{lstlisting} + \cvlistdoubleitem{<item 1>}{item 2>} +\end{lstlisting} + +\paragraph{\code{\\cvcolumns}} +An environment typesetting multicolumn \code{\\cvitem}s. +This can be combined with the \code{itemize} environment. +\begin{lstlisting} + \begin{cvcolumns} + \cvcolumn{<category 1>}{<content>} + \cvcolumn{<category 2>}{<content>} + \cvcolumn[<width>]{<content>} + \end{cvcolumns} +\end{lstlisting} +\code{<width>} is a number between 0 and 1 controling the width of the column. + +\subsubsection{Skill matrix macros} +The skill matrix is a table for displaying skills such as computer skills or project management skills graphically. +The skill matrix table consists of several elements: \begin{itemize} - \item in the sections describing your education or your job experiences, you can use: - \begin{verbatim} -\cventry{years}{degree/job title}{institution/employer} -{localization}{optional: grade/...} -{optional: comment/job description} - \end{verbatim} -\vspace{-20pt} -where the last three arguments are optional - \item inside `language' cvsection environment, you can type every entry with: - \begin{verbatim} -\cvlanguage{name}{level}{comment} - \end{verbatim} - \item inside `computer skills' cvsection environment, you can type every entry with: - \begin{verbatim} -\cvcomputer{category}{programs}{category}{programs} - \end{verbatim} - \item to typeset lines with a hint on the left: - \begin{verbatim} -\cvline{leftmark}{text} - \end{verbatim} - \item to typeset entry with a description on the left, but in two columns inside a cvsection: - \begin{verbatim} -\cvdoubleitem{subtitle}{text}{subtitle}{text} - \end{verbatim} - \item to typeset lists on one column inside a cvsection: - \begin{verbatim} -\cvlistitem{point1} - \end{verbatim} - \item to typeset lists on two columns inside a cvsection: - \begin{verbatim} -\cvlistdoubleitem{point1}{point2} - \end{verbatim} - \item to add a section listing all your publications stored in a BibTeX file: - \begin{verbatim} -\nocite{*} -\bibliographystyle{plain} -\bibliography{BibTeX_file} - \end{verbatim} -\vspace{-20pt} - where the name of the section title can be changed by redefining the \texttt{refname} with \verb|\renewcommand{\refname}{<new_name>}| + \item the graphical representation of the skill on a scale from 0 to 5, + \item the legend to explain the meaning of the scale, + \item a header line to explain the meaning of the table columns and + \item the actual skill entries. \end{itemize} -\subsubsection*{Example} - -Let's put all together and see in figure \ref{fig:sections} what is the result: - -\begin{verbatim} -... preamble ... -\begin{document} -\section{Education} -\cventry{year--year}{Degree}{Institution}{City}{\textit{Grade}}{Description} -\cventry{year--year}{Degree}{Institution}{City}{\textit{Grade}}{Description} -% -\section{Master thesis} -\cvline{title}{\emph{Title}} -\cvline{supervisors}{Supervisors} -\cvline{description}{\small Short thesis abstract} -% -\section{Experience} -\subsection{Vocational} -\cventry{year--year}{Job title}{Employer}{City}{}{Description} -\cventry{year--year}{Job title}{Employer}{City}{}{Description} -\subsection{Miscellaneous} -\cventry{year--year}{Job title}{Employer}{City}{}% - {Description line 1\newline{}Description line 2} -% -\section{Languages} -\cvlanguage{language 1}{Skill level}{Comment} -\cvlanguage{language 2}{Skill level}{Comment} -% -\section{Computer skills} -\cvcomputer{category 1}{XXX, YYY, ZZZ}{category 3}{XXX, YYY, ZZZ} -\cvcomputer{category 2}{XXX, YYY, ZZZ}{category 4}{XXX, YYY, ZZZ} -% -\section{Interests} -\cvline{hobby 1}{\small Description} -\cvline{hobby 2}{\small Description} -\cvline{hobby 3}{\small Description} -% -\closesection{} -\pagebreak -% -\section{Extra} -\cvlistitem{Item 1} -\cvlistitem{Item 2} -\cvlistitem{Item 3} -% -\section{Extra 2} -\cvlistdoubleitem{Item 1}{Item 4} -\cvlistdoubleitem{Item 2}{Item 5} -\cvlistdoubleitem{Item 3}{} -% -% Publications from a BibTeX file -\nocite{*} -\bibliographystyle{plain} -\bibliography{publications} % 'publications' is the name of a BibTeX file -% -\end{document} -\end{verbatim} - -\begin{figure}[!ht] - \centering - \fbox{\includegraphics[angle=90,width=\textwidth]{test_cvsection2.pdf}}\\ - \fbox{\includegraphics[angle=90,width=\textwidth]{test_cvsection1.pdf}} -\caption{Example of usage of items inside cvsections.} - \label{fig:sections} -\end{figure} - -\section{More customizations} - -You have some useful commands to personalize your CV further. - -\subsection*{Modifying the symbols} -You can modify the symbols used for the personal data (phone number, the email, \ldots) redefining \texttt{phonesymbol}, \texttt{emailsymbol}, \texttt{addresssymbol}, \texttt{mobilesymbol}, \texttt{faxsymbol}. - -For example: if you want to use the dingbat fonts, load the \texttt{pifont} package in the preamble, then substitute the default symbol \Telefon\ with the dingbat symbol \ding{38}\ by: -\begin{verbatim} -\renewcommand{\phonesymbol}{\ding{38}} -\end{verbatim} - -You can change the symbol for lists in two way: +\paragraph{\code{\\cvskill}} +A command for the graphical representation of a single skill. +The required argument must be a number from 0 to 5. +\begin{lstlisting} + \cvskill{<0-5>} +\end{lstlisting} +This command can be used outside of the skill matrix, too. + +\paragraph{\code{\\cvskilllegend}} +A command for a legend for the skill matrix. +Takes six optional arguments: post-padding width and the descriptions for the five skill levels. +\begin{lstlisting} + \cvskilllegend + \cvskilllegend*[<post-padding>][<level 1>][<level 2>][<level 3>] + [<level 4>][<level 5>]{<descriptor>} +\end{lstlisting} +The command with no arguments inserts the legend in its standard form: without a descriptor or any lines. +An optional asterisk toggles the inclusion of a dashed line. +\code{<post-padding>} must be a valid length like \code{1em} or \code{1ex}. + +The most general form of this command can be used to translate the legend descriptions into other languages or to add a name descriptor: +\begin{lstlisting} + % Example: German translation + \cvskilllegend[0.2em][Grundkenntnisse] + [Grundkenntnisse und eigene Erfahrung in Projekten] + [Umfangreiche Erfahrung in Projekten] + [Vertiefte Expertenkenntnisse][Experte/Guru]{Legende} +\end{lstlisting} + +\paragraph{\code{\\cvskillplainlegend}} +A variation of \code{\\cvskilllegend} with the first three skill levels in the first column. +\begin{lstlisting} + \cvskillplainlegend + \cvskillplainlegend*[<post-padding>][<level 1>][<level 2>] + [<level 3>][<level 4>][<level 5>]{<descriptor>} +\end{lstlisting} + +\paragraph{\code{\\cvskillhead}} +A command for a header line for the skill matrix. +Takes five optional arguments: post-padding width, level, skill label, years of experience and a comment. +\begin{lstlisting} + \cvskillhead[<post-padding>][<level>][<skill>][<years of experience>][<comment>] +\end{lstlisting} +\code{<post-padding>} must be a valid length like \code{1em} or \code{1ex}. + +\paragraph{\code{\\cvskillentry}} +A command for an entry in the skill matrix. +Takes five required arguments: skill category, skill level (0 to 5), skill name, years of experience and a comment. +Takes a single optional argument for the post-padding width. +\begin{lstlisting} + \cvskillentry*[<post-padding>]{<skill category>}{<0-5>} + {<skill name>}{<years of experience>}{<comment>} +\end{lstlisting} +An optional asterisk toggles the inclusion of a dashed line. +\code{<post-padding>} must be a valid length like \code{1em} or \code{1ex}. + +How to make length adjustments to the skill matrix will be explained in section \ref{section:length:skillmatrix}. + +\subsection{Letter of motivation} + +In order to provide additional information for a job application, {\moderncv} provides a motivation letter. Define the following recipient data fields to customize your letter: +\paragraph{\code{\\recipient}} +A command for the letter's recipient. This allows line breaks to properly format the recipient's address. +\begin{lstlisting} + \recipient{<Team or contact person>}{<company>\\<street>\\<city>} +\end{lstlisting} + +\paragraph{\code{\\date}} +A command to set the letter's date. +\begin{lstlisting} + \date{<your custom date>} +\end{lstlisting} + +\paragraph{\code{\\subject}} +A command to define the job application subject. +\begin{lstlisting} + \subject{<subject>} +\end{lstlisting} + +\paragraph{\code{\\opening}} +A command to set your opening (e.g. ``Dear X,'' or ``To whom it may concern,''). +\begin{lstlisting} + \opening{<greeting>} +\end{lstlisting} + +\paragraph{\code{\\closing}} +A command to set your closing (e.g. ``Sincerely,'' or ``Yours truly,''). +\begin{lstlisting} + \closing{<closing>} +\end{lstlisting} + +\paragraph{\code{\\signature}} +An optional command to include your signature after the closing. This feature is defined using the \code{\\includegraphics}. The first argument is the scale and the second argument is the filename of your scanned signature. +\begin{lstlisting} + \signature{<scale>}{<signature filename>} +\end{lstlisting} + +\paragraph{\code{\\enclosure}} +A command to list the attached documents. The first optional parameter allows a redefinition of the default ``Enclosure'' label. +\begin{lstlisting} + \enclosure[<optional alternative label>]{<list of documents>} +\end{lstlisting} + +\note If typesetting the resume in Chinese using CJK an additional \code{\\clearpage} is required after the \code{\\makeletterclosing} command. This helps \code{fancyhdr} to work correctly with CJK. Otherwise it will remove the page numbering by making \code{lastpage} undefined. + +\section{Customization} +\label{section:customization} +\subsection{Styles and their options} +\label{section:customization:stylesAndOptions} +Each style allows fine-tuning via options passed into the \code{\\moderncvstyle} command: +\begin{lstlisting} + \moderncvstyle[<option 1>, <option 2>, ...]{<style>} +\end{lstlisting} +Each style defines its own options, and not all options are available for each style. +Below is a list of all the options available for each style: + +\paragraph{\code{casual}} +This style allows the following options which \emph{only} affect header and footer styles: + +\begin{tabular}{r@{\hspace{2ex}}p{0.72\textwidth}} + \textbf{\code{head alignment}} & values: \code{left}, \code{right} (default). + Aligns the title and the picture if one is included. \\ + \textbf{\code{name}} & values: \code{alternate}. + Displays the name in all lowercase. + Differentiation of the name is done by color (disabled by default). + This feature is discouraged for longer names. \\ + \textbf{\code{data in head}} & values: \code{details}, \code{nodetails} (default). + Toggles between the header and footer as the location of personal data on the page. \\ + \textbf{\code{symbols}} & values: \code{symbols} (default), \code{nosymbols}. + Toggles between inclusion of icons or text-based abbreviations for personal data. +\end{tabular} + +\paragraph{\code{classic}} +This style allows the following options which \emph{only} affect header and footer styles: + +\begin{tabular}{r@{\hspace{2ex}}p{0.75\textwidth}} + \textbf{\code{alignment}} & values: \code{left} (default), \code{right}. + Aligns the address block and the picture. \\ + \textbf{\code{data in head}} & values: \code{details}, \code{nodetails} (default). + Toggles between the header and footer as the location of personal data on the page. \\ + \textbf{\code{symbols}} & values: \code{symbols} (default), \code{nosymbols}. + Toggles between inclusion of icons or text-based abbreviations for personal data. +\end{tabular} + +\paragraph{\code{banking}} +This style allows the following options: + +\begin{tabular}{r@{\hspace{2ex}}p{0.68\textwidth}} + \textbf{\code{alignment (body)}} & values: \code{left} (default), \code{center}, \code{right}. + Aligns the entries in the style. \\ + \textbf{\code{rule style}} & values: \code{fullrules}, \code{shortrules}, \code{mixedrules} (default), \code{norules}. + Adjusts the rules used in the style. \\ + \textbf{\code{data in head}} & values: \code{details}, \code{nodetails} (default). + Toggles between the header and footer as the location of personal data on the page. \\ + \textbf{\code{symbols}} & values: \code{symbols} (default), \code{nosymbols}. + Toggles between inclusion of icons or text-based abbreviations for personal data. +\end{tabular} + +\paragraph{\code{oldstyle}} +This style allows the following options: + +\begin{tabular}{r@{\hspace{2ex}}p{0.73\textwidth}} + \textbf{\code{data in head}} & values: \code{details}, \code{nodetails} (default). + Toggles between the header and footer as the location of personal data on the page. \\ + \textbf{\code{symbols}} & values: \code{symbols} (default), \code{nosymbols}. + Toggles between inclusion of icons or text-based abbreviations for personal data. +\end{tabular} + +\paragraph{\code{fancy}} +This style allows the following options: + +\begin{tabular}{r@{\hspace{2ex}}p{0.73\textwidth}} + \textbf{\code{data in head}} & values: \code{details}, \code{nodetails} (default). + Toggles between the header and footer as the location of personal data on the page. \\ + \textbf{\code{symbols}} & values: \code{symbols} (default), \code{nosymbols}. + Toggles between inclusion of icons or text-based abbreviations for personal data. +\end{tabular} + +\note Only one option from each option category can be passed in at a time, e.g. +\begin{lstlisting} + \moderncvstyle[left, nosymbols]{casual} +\end{lstlisting} + +\paragraph{\code{contemporary}} +This style allows the following options which \emph{only} affect header and footer styles: + +\begin{tabular}{r@{\hspace{2ex}}p{0.75\textwidth}} + \textbf{\code{alignment}} & values: \code{left} (default), \code{right}. + Aligns the address block and the picture. \\ + \textbf{\code{data in head}} & values: \code{details} (default), \code{nodetails}. + Toggles between the header and footer as the location of personal data on the page. \\ + \textbf{\code{qr}} & values: \code{qr} (default), \code{noqr}. + Enables or disables the inclusion of a QR code of your personal website. +\end{tabular} +\note For the \code{contemporary} style it is recommended to use the \code{\\moderncvcolor\{cerulean\}} color scheme. The \code{contemporary} style is even more appealing with reduced margins. Use this in your preamble: +\begin{lstlisting} + \usepackage[hmargin=0.5in,vmargin=10pt]{geometry} +\end{lstlisting} + +\subsection{Adjusting colors} +The colors of each style can be adjusted. + +\note The color theme must be loaded \emph{before} \code{\\moderncvstyle}, i.e. +\begin{lstlisting} + \moderncvcolor{blue} + \moderncvstyle{casual} +\end{lstlisting} + +\paragraph{Base colors.} +Each style defines three main colors: \code{color0}, \code{color1} and \code{color2}. +\code{color0} is black and the main text color. +\code{color1} is the main theme color, like blue, green, etc. +\code{color2} is a some form of grey used for the user data, etc. +These colors can be redefined by using either \code{\\definecolor} or \code{\\colorlet}: +\begin{lstlisting} + \definecolor{color1}{rgb}{0.55, 0.55, 0.55} % dark grey + \colorlet{color1}{black} +\end{lstlisting} +Any mechanism for naming and defining colors used by the \code{xcolor} package can be used to redefine the colors of a \Moderncv style. + +\paragraph{Fine tuning.} +If an even finer control over the color scheme of the style is desired, the following color settings are used internally for the \code{casual} style and can be redefined: +\begin{lstlisting} + % Head and footer + \colorlet{lastnamecolor}{color1} + \colorlet{namecolor}{lastnamecolor} + \colorlet{headrulecolor}{color1} + \colorlet{firstnamecolor}{lastnamecolor!50} + \colorlet{titlecolor}{color2} + \colorlet{addresscolor}{color2} + \colorlet{quotecolor}{color1} + \colorlet{pictureframecolor}{color1} + % Body + \colorlet{bodyrulecolor}{color1} + \colorlet{sectioncolor}{color1} + \colorlet{subsectioncolor}{color1} + \colorlet{hintstylecolor}{color0} + % Letter + \colorlet{letterclosingcolor}{color2} + % Skill matrix + \colorlet{skillmatrixfullcolor}{color1} + \colorlet{skillmatrixemptycolor}{color2!30} +\end{lstlisting} + + +\subsection{Modifying symbols and icons} +\subsubsection{Icons} +As stated in section \ref{section:customization:stylesAndOptions}, the use of icons is toggled by the \code{symbols} option that can be passed to \code{\\moderncvstyle}. + +The icons used in the display of the personal data (phone numbers, email, fax, social media accounts, etc.) can be customized by redefining the internal commands for the symbols: +\begin{lstlisting} + \renewcommand*{<\symbolcommand>}{{\small<\symbol>}~} +\end{lstlisting} +Using \code{\\small} is optional, but the default behavior is to render all icons using \code{\\small}. +Use \code{\\small} if one merely wishes to replace an icon/symbol while keeping the size consistent with the default icons/symbols. +The tilde ensures proper spacing after the symbols and is recommended as well. + +Currently \Moderncv supports the following commands as \code{<\\symbolcommand>}: \begin{itemize} - \item redefining the command \texttt{listitemsymbol}: \verb|\renewcommand{\listitemsymbol}{-}| - \item adding a specification for the label in \texttt{cvlistitem} and \texttt{cvlistdoubleitem} + \begin{multicols}{2} + \item \code{\\addresssymbol} + \item \code{\\mobilephonesymbol} + \item \code{\\fixedphonesymbol} + \item \code{\\faxphonesymbol} + \item \code{\\emailsymbol} + \item \code{\\homepagesymbol} + \item \code{\\linkedinsocialsymbol} + \item \code{\\xingsocialsymbol} + \item \code{\\twittersocialsymbol} + \item \code{\\githubsocialsymbol} + \item \code{\\gitlabsocialsymbol} + \item \code{\\stackoverflowsocialsymbol} + \item \code{\\googlescholarsocialsymbol} + \item \code{\\telegramsocialsymbol} + \item \code{\\whatsappsocialsymbol} + \item \code{\\signalsocialsymbol} + \item \code{\\matrixsocialsymbol} + \item \code{\\orcidsocialsymbol} + \item \code{\\researchgatesocialsymbol} + \item \code{\\researcheridsocialsymbol} + \item \code{\\bitbucketsocialsymbol} + \item \code{\\skypesocialsymbol} + \item \code{\\bornsymbol} + \item \code{\\arxivsocialsymbol} + \item \code{\\inspiresocialsymbol} + \end{multicols} \end{itemize} +The possible options for \code{<\\symbol>} depend on the package that is used. +By default, the \code{marvosym} package is loaded if \code{pdflatex} is used, and the \code{academicons} and \code{fontawesome5} packages are loaded if either \code{lualatex} or \code{xelatex} is used. +Full lists of all available symbols and icons can be found in the documentation of each respective package: + +\begin{tabular}{l} + \url{https://ctan.org/pkg/marvosym} \\[1ex] + \url{https://ctan.org/pkg/fontawesome5} \\[1ex] + \url{https://ctan.org/pkg/academicons} +\end{tabular} + +\paragraph{Example.} +If one wanted to use the dingbat fonts to replace the default phone symbol, one should load the \code{pifont} package in the preamble and then substitute the default symbol with the dingbat symbol \ding{38}\ with +\begin{lstlisting} + \renewcommand*{\fixedphonesymbol}{\ding{38}~} +\end{lstlisting} + +\paragraph{Alternative to icons} +In case you do not want \texttt{symbols} (default) for the icons, there is also the option to replace icons with \texttt{letters} instead. This is set by the macro \code{\\moderncvicons}, which must be called after setting the style in the preamble. +\begin{lstlisting} + \moderncvicons{<symbols|letters>} +\end{lstlisting} +This mechanism is also used to determine the icon set. In principle the \code{\\moderncvicons} can be used to determine the icon set with the possible values \texttt{marvosym}, \texttt{awesome} or \texttt{academic}, but it is recommended to let {\moderncv} decide the correct icon set due to differing \Latex compiler support. + +\subsubsection{Listing labels} +The labels used in \code{itemize} environments, \code{cvlistitem} and \code{cvlistdoubleitem} can be changed in two different ways: -For example: the following code produces the result shown in figure \ref{fig:ex_items}. - -\begin{verbatim} -\closesection{} % needed to renewcommands -\renewcommand{\listitemsymbol}{-} % change the symbol for lists - -\section{Extra 1} -\cvlistitem{Item 1} -\cvlistitem{Item 2} -\cvlistitem[+]{Item 3} % optional other symbol - -\section{Extra 2} -\cvlistdoubleitem[\Neutral]{Item 1}{Item 4} -\cvlistdoubleitem[\Neutral]{Item 2}{Item 5} -\cvlistdoubleitem[\Neutral]{Item 3}{} -\end{verbatim} - -\begin{figure}[!hbt] - \centering - \fbox{\includegraphics[width=.8\textwidth]{ex_items.png}} - \caption{Example of customization of the list labels.} - \label{fig:ex_items} -\end{figure} - -\subsection*{Adjusting lenghts} -The different lengths used by moderncv are customizable by -\begin{verbatim} -\setlength{<length>}{<new_dimensions>} -\end{verbatim} -where \texttt{<length>} are \texttt{quote\-width}, \texttt{sep\-a\-ra\-tor\-col\-umn\-width}, \texttt{main\-col\-umn\-width}, \texttt{doub\-le\-i\-tem\-main\-col\-umn\-width}, \texttt{list\-i\-tem\-sym\-bol\-width}, \texttt{list\-doub\-le\-i\-tem\-main\-col\-umn\-width}, - -In particular, the first column, can be set to any width. You can do that in two way: \begin{itemize} - \item using \verb|\sethintscolumnlength{<length>}|, where \texttt{<length>} is the desired length in a unit LaTeX understands - \item using \verb|\sethintscolumntowidth{<string>}|, where \texttt{<string>} is a string of the desired length (usually, the longest string that has to appear in the column) + \item Redefining \code{\\labelitemi}, \code{\\labelitemii}, \code{\\labelitemiii} and \code{\\labelitemiv} changes the labels for \code{itemize} environments as well as for \code{cvlistitem} and \code{cvlistdoubleitem}, e.g. + \begin{lstlisting} + \renewcommand{\labelitemi}{-} + \end{lstlisting} + \item Redefining \code{\\listitemsymbol} changes the labels for \code{cvlistitem} and \code{cvlistdoubleitem} but \emph{not} for \code{itemize} environments, e.g. + \begin{lstlisting} + \renewcommand{\listitemsymbol}{-} +\end{lstlisting} \end{itemize} -\subsection*{Additional commands} -There are commands to manage hypertextual links: +\subsection{Adjusting lengths}\label{subsection:adjusting:lengths} +Some lengths in \Moderncv can be adjusted. + +The hints column can be adjusted by setting \code{\\hintscolumnwidth}: +\begin{lstlisting} + \setlength{\hintscolumnwidth}{3cm} +\end{lstlisting} + +For the \code{classic} style, the amount of horizontal space for the name can be adjusted by setting \code{\\makecvheadnamewidth} to avoid breaks: +\begin{lstlisting} + \setlength{\makecvheadnamewidth}{10cm} +\end{lstlisting} +One should be careful though, as the length is normally calculated to avoid any overlap with the personal information. +This should be used at one's own typographical risk. + +The spacing between the hints column and the CV entries can be adjusted by setting\\ +\code{\\separatorcolumnwidth}. The default value is \code{0.025\\textwidth}. +\begin{lstlisting} + \setlength{\separatorcolumnwidth}{0.05\textwidth} +\end{lstlisting} + +The spacing between the list symbol and the text item of \code{\\cvlistitem} and \code{\\cvlistdoubleitem} can be adjusted by setting \code{\\listitemsymbolspace} in the preamble. The default value is set to \code{0pt}. +\begin{lstlisting} + \setlength{\listitemsymbolspace}{5pt} +\end{lstlisting} + +The width of the footer can be adjusted by setting \code{\\footwidth}. Due to internal calculations \code{\\renewcommand} is needed. The default value is \code{0.8\\textwidth}. +\begin{lstlisting} + \renewcommand*{\recomputefootlengths}{% + \setlength{\footwidth}{0.9\textwidth}} +\end{lstlisting} + +The width of the quote can be adjusted by setting \code{\\quotewidth}. Due to internal calculations \code{\\renewcommand} is needed. The default value is \code{0.65\\textwidth}. +\begin{lstlisting} + \renewcommand*{\recomputecvheadlengths}{% + \setlength{\quotewidth}{0.5\textwidth}} +\end{lstlisting} + + +% The different lengths used by moderncv are customizable by +% \begin{lstlisting} +% \setlength{<length>}{<new_dimensions>} +% \end{lstlisting} +% where \code{<length>} are \code{maincolumnwidth}, \code{doubleitemmaincolumnwidth}, \code{listitemsymbolwidth}, \code{listdoubleitemmaincolumnwidth}, + + +\subsubsection{Lengths in the skill matrix} +\label{section:length:skillmatrix} +Both the width of the skill matrix legend and the width of the skill matrix columns can be adjusted. + +The width of the skill matrix legend can be adjusted as follows: +\begin{lstlisting} + \setcvskilllegendcolumns[<width>][<factor>] + % Examples: + \setcvskilllegendcolumns[][0.45] + \setcvskilllegendcolumns[\widthof{``Legend''}][0.45] + \setcvskilllegendcolumns[0ex][0.46] % useful for the banking style +\end{lstlisting} +\code{<width>} should be a length smaller than \code{\\textwidth}, and \code{<factor>} must be between 0 and 1. + +The width of the skill matrix columns can be adjusted as follows: +\begin{lstlisting} + \setcvskillcolumns[<width>][<factor>][<exp_width>] + % Examples: + \setcvskillcolumns[5em][][] % adjust first column, same as \setcvskillcolumns[5em] + \setcvskillcolumns[][0.45][] % adjust third (skill) column, same as \setcvskillcolumns[][0.45] + \setcvskillcolumns[][][\widthof{``Year''}] % adjust fourth (years of experience) column + \setcvskillcolumns[][0.45][\widthof{``Year''}] + \setcvskillcolumns[\widthof{``Language''}][0.48][] + \setcvskillcolumns[\widthof{``Language''}] +\end{lstlisting} +\code{<width>} and \code{<exp_width>} should be lengths smaller than \code{\\textwidth}, and \code{<factor>} must be between 0 and 1. + +\subsection{Additional link commands}%% adapted from Cristina Sambo's documentation +To create links to a website or a email address, use the following commands: + +A general weblink with optional text. +\begin{lstlisting} + \link[<text>]{<link>} + %% example + \link[name of the link]{ftp://ftp.somesite.org} +\end{lstlisting} + +An HTTP link. The HTTP prefix is generated automatically and is not needed in the link argument. +\begin{lstlisting} + \link[<text>]{<link>} + %% example + \link[goto HTTP site]{www.somehttpsite.org} +\end{lstlisting} + +A HTTPS link. The HTTPS prefix is generated automatically and is not needed in the link argument. +\begin{lstlisting} + \link[<text>]{<link>} + %% example + \httpslink[goto HTTPS site]{www.somesecuresite.org} +\end{lstlisting} + +An email link. The mailto prefix is generated automatically and is not needed in the link argument. +\begin{lstlisting} + \link[<text>]{<link>} + %% example + \emaillink[my email]{jdoe@website.org} +\end{lstlisting} + +\subsection{Page breaks and orphaned section headers} +If \Latex breaks pages just after \code{\\section} or \code{\\subsection} commands, try adjusting the stretchability of the page with \code{\\cvsectionstretchability} or \code{\\cvsubsectionstretchability}: +\begin{lstlisting} + \setlength{\cvsectionstretchability}{\baselineskip} + \setlength{\cvsubsectionstretchability}{100pt} +\end{lstlisting} +These two lengths tell \Latex how much extra length it needs after \code{\\section} and \code{\\subsection} commands. +By default, \Moderncv sets both lengths to \code{0.9\\baselineskip}. + +This should solve orphaned \code{\\section} and \code{\\subsection} commands that are used alone for most users. +However, \Latex does not check for content. +For example, writing +\begin{lstlisting} + \section{blub} + \subsection{blubblub} +\end{lstlisting} +one after the other may cause \Latex to place the section and subsection headers on separate pages. +Since \Latex considers the subsection header to not be orphaned, it may place the section header at the bottom of a page if there is enough space to do so while placing the subsection header on the next page. +One solution is to increase \code{\\cvsectionstretchability} to force the break of the section header. +However, this changes the behaviour for all \code{\\section} commands in your CV and might cause unnecessary page breaks. +It is therefore recommended to force the page break manually with a \code{\\newpage} in this case. + +\paragraph{Experts only:} +Internally, \Moderncv uses a custom \code{\\needspace} command: +\begin{lstlisting} + \NewDocumentCommand\@cvneedspace{m}{% + \begingroup + \setlength{\dimen@}{#1}% + \vskip\z@\@plus\dimen@ + \penalty \withinstretchpenalty\vskip\z@\@plus -\dimen@ + \vskip\dimen@ + \penalty \poststretchpenalty% + \vskip -\dimen@ + \vskip\z@skip % hide the previous |\vskip| from |\addvspace| + \endgroup + } +\end{lstlisting} +Thus, instead of setting \code{\\cvsectionstretchability} and/or \code{\\cvsubsectionstretchability}, page break behavior can be adjusted by redefining the following internal penalties: +\begin{lstlisting} + \renewcommand{\withinstretchpenalty}{<-100...9999>} + \renewcommand{\poststretchpenalty}{<-100...9999>}. +\end{lstlisting} +By default, \Moderncv sets \code{\\withinstretchpenalty} to 0 and \code{\\poststretchpenalty} to 9999. +The higher the penalties are, the less likely a page break will occur. +A good explanation of \code{\\needspace} can be found at \url{https://tex.stackexchange.com/questions/348994/understanding-needspace}. + + +\subsection{Tips and Tricks} +\subsubsection{Legal disclaimer at the end of the CV} +Some countries (e.g. Italy) require you to add a legal disclaimer authorizing the use of the personal data in your CV. +To add such a disclaimer, add the following to the bottom of your CV:% +\footnote{Example provided by Cristina Sambo}% +\begin{lstlisting} + \vfill + \begin{center} + \textit{\small Ai sensi del D. Lgs. 196/2003 ...} + \end{center} +\end{lstlisting} + + + +\section{Implementation details} +\label{section:implementationDetails} + +\subsection{Creating your own styles} +Currently {\moderncv} ships with six different styles: \texttt{casual} (default), \texttt{classic}, \texttt{banking}, \texttt{oldstyle}, \texttt{fancy} and \texttt{contemporary}. Internally, these styles are numbered 1, 2, 3, 4, 5 and 6, respectively. All styles except \texttt{oldstyle} and \texttt{fancy} possess additional option parameters which were described in section \ref{section:customization:stylesAndOptions}. + +Different styles' head, body and foot can be combined to create custom styles. This is done by setting \code{\\moderncvhead}, \code{\\moderncvbody} and \code{\\moderncvfoot} in the preamble. Here is an example of a custom style with a \texttt{banking} head, an \texttt{oldstyle} body and a \texttt{casual} foot: +\begin{lstlisting} + \moderncvhead{3} + \moderncvbody{4} + \moderncvfoot{1} +\end{lstlisting} +Furthermore, options for each part of {\moderncv} parts can be set as well in such combinations. To get a CV with a \texttt{classic} head and a \texttt{banking} body with full rules, define the following in the preamble: +\begin{lstlisting} + \moderncvhead{2} + \moderncvbody[fullrules]{3} + \moderncvfoot{1} +\end{lstlisting} + + +\subsection{Required packages} +\label{section:implementationDetails:requiredPackages} +In addition to the packages that \Moderncv provides, the following packages are loaded internally: \begin{itemize} - \item[-] \verb|\weblink[optional text]{link}| - \item[-] \verb|\httplink[optional text]{link}| - \item[-] \verb|\emaillink[optional text]{link}| + \begin{multicols}{3} + \item \code{etoolbox} + \item \code{ifthen} + \item \code{xcolor} + \item \code{ifxetex} or \code{ifluatex} + \item \code{fontenc} + \item \code{url} + \item \code{hyperref} + \item \code{graphicx} + \item \code{fancyhdr} + \item \code{tweaklist}% + \footnote{The \code{tweaklist} package has been altered for the development of \Moderncv and ships with \moderncv.} + \item \code{calc} + \item \code{xparse} + \item \code{microtype} + \item \code{expl3} + \item \code{tikz} + \item \code{changepage} + \item \code{fontawesome5} + \item \code{academicons} + \item \code{tgpagella} + \item \code{ebgaramond} + \item \code{kurier} + \item \code{multirow} + \item \code{arydshln} + \end{multicols} \end{itemize} -There is a \verb|\today| command, useful for example if you need to add the date the CV was produced. - -\subsection*{Putting things at the end of CV} -Sometimes there is the need to add some lines at the end of the CV. For example, in Italy is necessary to add the permission to treat the personal data contained in the r\'esum\'e. You can do that dropping out of the layout of \texttt{moderncv} and pushing the lines at the end by the command \verb|\vfill|: -\begin{verbatim} -\emptysection{}\closesection -\vfill -\begin{center} -\textit{\small Ai sensi del D. Lgs. 196/2003 ...} -\end{center} -\end{verbatim} +Most of these packages should be included in your \Latex distribution of choice. + +\subsection{Known conflicts with other packages} +\begin{enumerate} + \item \Moderncv is incompatible with \code{biber}. + \item \Moderncv is incompatible with \biblatex. + \item \Moderncv is incompatible with \code{babel} in Spanish +\end{enumerate} + +\subsection{Known bugs} +\begin{enumerate} + \item Skill matrices don't break automatically in \texttt{fancy} style. + \item Long names break the \texttt{oldstyle} style and possibly other styles (needs testing). + \item Long URLs in \texttt{classic} style can make the name break line. + Fixed width for the address part must be implemented. + \item When using the \texttt{fancy} style, undesired space is added between the bibliography head and the first entry, as well as after the last entry. + \item Footnotes generate errors, but the output seems correct when running with \code{-interaction=nonstopmode}. + \item When using CJK, the last \code{\\clearpage} required for the \code{fancyhdr} package to work properly kills the ``lastpage'' counter, and therefore also the page numbering. + \item \Moderncv produces the error ``\code{lonely \\item--perhaps a missing list environment}'' when used with the \code{bibentry} package, though the output is actually correct. + Among other things, this causes compilation by LyX to stop. + \item The space after a \code{\\cventry} gets eaten up when the last argument contains a nested \code{itemize} environment. + An ugly hack and incomplete solution was implemented by including a \code{\\strut} in every item label, but this doesn't solve the problem for multi-line items. + Ideally, the \code{\\strut} should end the item, but there seems to be no way to do this. +\end{enumerate} \end{document} diff --git a/Master/texmf-dist/doc/latex/moderncv/signature.png b/Master/texmf-dist/doc/latex/moderncv/signature.png Binary files differnew file mode 100644 index 00000000000..8daa868ed8c --- /dev/null +++ b/Master/texmf-dist/doc/latex/moderncv/signature.png diff --git a/Master/texmf-dist/doc/latex/moderncv/template.tex b/Master/texmf-dist/doc/latex/moderncv/template.tex index 38d313b3836..7128f09e083 100644 --- a/Master/texmf-dist/doc/latex/moderncv/template.tex +++ b/Master/texmf-dist/doc/latex/moderncv/template.tex @@ -1,5 +1,5 @@ %% start of file `template.tex'. -%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2022 moderncv maintainers (github.com/moderncv). +%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2024 moderncv maintainers (github.com/moderncv). % % This work may be distributed and/or modified under the % conditions of the LaTeX Project Public License version 1.3c, @@ -8,17 +8,23 @@ \documentclass[11pt,a4paper,sans]{moderncv} % possible options include font size ('10pt', '11pt' and '12pt'), paper size ('a4paper', 'letterpaper', 'a5paper', 'legalpaper', 'executivepaper' and 'landscape') and font family ('sans' and 'roman') +\moderncvcolor{cerulean} % color options 'black', 'blue' (default), 'burgundy', 'green', 'grey', 'orange', 'purple' and 'red'; for contemporary style use 'cerulean' % moderncv themes -\moderncvstyle{casual} % style options are 'casual' (default), 'classic', 'banking', 'oldstyle' and 'fancy' -\moderncvcolor{blue} % color options 'black', 'blue' (default), 'burgundy', 'green', 'grey', 'orange', 'purple' and 'red' +\moderncvstyle[]{contemporary} % style options are 'casual' (default), 'classic', 'banking', 'oldstyle', 'fancy' and 'contemporary' + % the 'contemporary' style optionally takes the `qr` (default) or `noqr` options %\renewcommand{\familydefault}{\sfdefault} % to set the default font; use '\sfdefault' for the default sans serif font, '\rmdefault' for the default roman one, or any tex font name %\nopagenumbers{} % uncomment to suppress automatic page numbering for CVs longer than one page % adjust the page margins -\usepackage[scale=0.75]{geometry} -\setlength{\footskip}{136.00005pt} % depending on the amount of information in the footer, you need to change this value. comment this line out and set it to the size given in the warning +\usepackage[hmargin=0.5in,vmargin=10pt]{geometry} % the 'contemporary' style looks better with reduced margins; uncomment the line below for increased margin +%\usepackage[scale=0.75]{geometry} %\setlength{\hintscolumnwidth}{3cm} % if you want to change the width of the column with the dates %\setlength{\makecvheadnamewidth}{10cm} % for the 'classic' style, if you want to force the width allocated to your name and avoid line breaks. be careful though, the length is normally calculated to avoid any overlap with your personal info; use this at your own typographical risks... +%\setlength{\listitemsymbolspace}{10pt} % set custom spacing between list symbol and text item (influences \cvlistitem and \cvlistdoubleitem) + +% the 'contemporary' style allows to append additional elements to the head background; uncomment and customize if needed +%\def\@moderncvheadBackground{ +%} % font loading % for luatex and xetex, do not use inputenc and fontenc @@ -30,7 +36,13 @@ \setmainfont{Latin Modern Roman} \setsansfont{Latin Modern Sans} \setmonofont{Latin Modern Mono} - \setmathfont{Latin Modern Math} + \setmathfont{Latin Modern Math} + + % you may also consider Fira Sans Light for a extra modern look + %\setsansfont[ItalicFont={Fira Sans Light Italic},% + % BoldFont={Fira Sans},% + % BoldItalicFont={Fira Sans Italic}]% + % {Fira Sans Light}% \else \usepackage[utf8]{inputenc} \usepackage[T1]{fontenc} @@ -54,24 +66,49 @@ % Social icons \social[linkedin]{john.doe} % optional, remove / comment the line if not wanted \social[xing]{john\_doe} % optional, remove / comment the line if not wanted -\social[twitter]{ji\_doe} % optional, remove / comment the line if not wanted + \social[github]{jdoe} % optional, remove / comment the line if not wanted \social[gitlab]{jdoe} % optional, remove / comment the line if not wanted -\social[stackoverflow]{0000000/johndoe} % optional, remove / comment the line if not wanted +\social[codeberg]{jdoe} % optional, remove / comment the line if not wanted \social[bitbucket]{jdoe} % optional, remove / comment the line if not wanted +\social[stackoverflow]{0000000/johndoe} % optional, remove / comment the line if not wanted + \social[skype]{jdoe} % optional, remove / comment the line if not wanted \social[orcid]{0000-0000-000-000} % optional, remove / comment the line if not wanted \social[researchgate]{jdoe} % optional, remove / comment the line if not wanted \social[researcherid]{jdoe} % optional, remove / comment the line if not wanted +\social[googlescholar]{googlescholarid} % optional, remove / comment the line if not wanted + +\social[twitter]{ji\_doe} % optional, remove / comment the line if not wanted +\social[mastodon]{mastodon.social/web/@user} % optional, remove / comment the line if not wanted \social[telegram]{jdoe} % optional, remove / comment the line if not wanted \social[whatsapp]{12345678901} % optional, remove / comment the line if not wanted \social[signal]{12345678901} % optional, remove / comment the line if not wanted \social[matrix]{@johndoe:matrix.org} % optional, remove / comment the line if not wanted -\social[googlescholar]{googlescholarid} % optional, remove / comment the line if not wanted +\social[discord]{jdoe\#0000} % optional, remove / comment the line if not wanted + +% YouTube links can take several forms, depending on how your account and channel are set up. +% See https://support.google.com/youtube/answer/6180214 for more information. +\social[youtube]{c/jdoeschannel} % optional, remove / comment the line if not wanted; Custom URL - can be shorted by removing 'c/' +\social[youtube]{channel/XXXXXX} % optional, remove / comment the line if not wanted; Channel URL (ID-based) - can not be shortened +\social[youtube]{user/jdoe} % optional, remove / comment the line if not wanted; Legacy username URL - if jdoe is not already claimed by a Custom URL, can be shortened by removing 'user/' + +\social[twitch]{jdoe} % optional, remove / comment the line if not wanted +\social[tiktok]{jdoe} % optional, remove / comment the line if not wanted +\social[instagram]{jdoe} % optional, remove / comment the line if not wanted + +\social[soundcloud]{jdoe} % optional, remove / comment the line if not wanted + +\social[steam]{jdoe} % optional, remove / comment the line if not wanted +\social[xbox]{jdoe} % optional, remove / comment the line if not wanted +\social[playstation]{jdoe} % optional, remove / comment the line if not wanted +\social[battlenet]{jdoe\#0000} % optional, remove / comment the line if not wanted +\social[arxiv]{doe\_j\_1} % optional, remove / comment the line if not wanted +\social[inspire]{0000000} % optional, remove / comment the line if not wanted \extrainfo{additional information} % optional, remove / comment the line if not wanted -\photo[64pt][0.4pt]{picture} % optional, remove / comment the line if not wanted; '64pt' is the height the picture must be resized to, 0.4pt is the thickness of the frame around it (put it to 0pt for no frame) and 'picture' is the name of the picture file +\photo[64pt][2pt]{picture} % optional, remove / comment the line if not wanted; '64pt' is the height the picture must be resized to, 2pt is the thickness of the frame around it (put it to 0pt for no frame) and 'picture' is the name of the picture file \quote{Some quote} % optional, remove / comment the line if not wanted % bibliography adjustments (only useful if you make citations in your resume, or print a list of publications using BibTeX) @@ -92,7 +129,7 @@ %----- resume --------------------------------------------------------- \makecvtitle -\section{Education} +\section{Education} % for 'contemporary' style use optional argument for displaying an icon, e.g. \section[\faGraduationCap]{Education} \cventry{year--year}{Degree}{Institution}{City}{\textit{Grade}}{Description} % arguments 3 to 6 can be left empty \cventry{year--year}{Degree}{Institution}{City}{\textit{Grade}}{Description} @@ -135,12 +172,13 @@ Detailed achievements: \cvdoubleitem{category 1}{XXX, YYY, ZZZ}{category 4}{XXX, YYY, ZZZ} \cvdoubleitem{category 2}{XXX, YYY, ZZZ}{category 5}{XXX, YYY, ZZZ} \cvdoubleitem{category 3}{XXX, YYY, ZZZ}{category 6}{XXX, YYY, ZZZ} +\cvtripleitem{category 4}{XYZ}{category 5}{XYZ}{category 6}{XYZ} \section{Skill matrix} \cvitem{Skill matrix}{Alternatively, provide a skill matrix to show off your skills} -%% Skill matrix as an alternative to rate one's skills, computer or other. +%% Skill matrix as an alternative to rate one's skills, computer or other. -%% Adjusts width of skill matrix columns. +%% Adjusts width of skill matrix columns. %% Usage \setcvskillcolumns[<width>][<factor>][<exp_width>] %% <width>, <exp_width> should be lengths smaller than \textwidth, <factor> needs to be between 0 and 1. %% Examples: @@ -179,12 +217,12 @@ Detailed achievements: %% Adjust head of the skill matrix for other languages % \cvskillhead[0.25em][Level][F\"ahigkeit][Jahre][Bemerkung] -%% \cvskillentry[*][<post_padding>]{<skill_cathegory>}{<0-5>}{<skill_name>}{<years_of_experience>}{<comment>}% +%% \cvskillentry[*][<post_padding>]{<skill_cathegory>}{<0-5>}{<skill_name>}{<years_of_experience>}{<comment>}% %% Example usages: \cvskillentry*{Language:}{3}{Python}{2}{I'm so experienced in Python and have realised a million projects. At least.} \cvskillentry{}{2}{Lilypond}{14}{So much sheet music! Man, I'm the best!} \cvskillentry{}{3}{\LaTeX}{14}{Clearly I rock at \LaTeX} -\cvskillentry*{OS:}{3}{Linux}{2}{I only use Archlinux btw}% notice the use of the starred command and the optional +\cvskillentry*{OS:}{3}{Linux}{2}{I only use Archlinux btw}% notice the use of the starred command and the optional \cvskillentry*[1em]{Methods}{4}{SCRUM}{8}{SCRUM master for 5 years} %% \cvskill{<0-5>} command % \cvitem{\textbackslash{cvskill}:}{Skills can be visually expressed by the \textbackslash{cvskill} command, e.g. \cvskill{2}} @@ -232,8 +270,10 @@ Detailed achievements: % recipient data \recipient{Company Recruitment team}{Company, Inc.\\123 somestreet\\some city} \date{January 01, 1984} +\subject{Job application} \opening{Dear Sir or Madam,} \closing{Yours faithfully,} +\signature{0.9}{signature.png} % optional, remove / comment the line if not wanted: first argument goes to \includegraphics > scale \enclosure[Attached]{curriculum vit\ae{}} % use an optional argument to use a string other than "Enclosure", or redefine \enclname \makelettertitle @@ -254,4 +294,3 @@ Albert Einstein discovered that $e=mc^2$ in 1905. %% end of file `template.tex'. - diff --git a/Master/texmf-dist/doc/latex/moloch/CHANGELOG.md b/Master/texmf-dist/doc/latex/moloch/CHANGELOG.md index 1d90d7617cc..d1e8bc4d603 100644 --- a/Master/texmf-dist/doc/latex/moloch/CHANGELOG.md +++ b/Master/texmf-dist/doc/latex/moloch/CHANGELOG.md @@ -1,5 +1,20 @@ # Changelog +## [0.4.0](https://github.com/jolars/moloch/compare/v0.3.0...v0.4.0) (2024-07-09) + + +### Features + +* add a small amount of vertical space before subtitle ([b224a9b](https://github.com/jolars/moloch/commit/b224a9b5067187e64a7669b61aee029447535729)) +* support memoize package (closes [#16](https://github.com/jolars/moloch/issues/16)) ([1ca26e8](https://github.com/jolars/moloch/commit/1ca26e857a331fcb29296c4987b69aea0db90fae)) +* support title format modifications ([#18](https://github.com/jolars/moloch/issues/18)) ([46a4f49](https://github.com/jolars/moloch/commit/46a4f49e8bb95798c2d6f3b69a1b96128d95cb8b)) + + +### Bug Fixes + +* add % at the end of some commands ([33b9833](https://github.com/jolars/moloch/commit/33b9833f21d3e0654fe2452d0b8ac8e8eb3a47bb)) +* convert raw command in manual to text ([ac305e9](https://github.com/jolars/moloch/commit/ac305e9b547ce44e0573f333adc4e6684eb88b68)) + ## [0.3.0](https://github.com/jolars/moloch/compare/v0.2.0...v0.3.0) (2024-03-06) diff --git a/Master/texmf-dist/doc/latex/moloch/README.md b/Master/texmf-dist/doc/latex/moloch/README.md index f3b7971303c..c8d9b78f15a 100644 --- a/Master/texmf-dist/doc/latex/moloch/README.md +++ b/Master/texmf-dist/doc/latex/moloch/README.md @@ -12,19 +12,23 @@ The fork was created for the following reasons: - To remove some of the more opinionated design choices, such as special handling of the Fira family of fonts. - To strip away some features that added complexity to the code base without achieving valuable functionality for the majority of users, such as special code block designs and the pgfplots theme. +[Here's a blog post](https://jolars.co/blog/2024-05-30-moloch/) in which I introduce the theme and write in more detail about the changes with respect to Metropolis. + Do not expect this theme to be backwards compatible with the Metropolis theme. +![Screenshot](https://raw.githubusercontent.com/jolars/moloch/main/assets/screenshot.svg) + ## Installation Moloch is on [CTAN](https://ctan.org/pkg/moloch), so you can install it using your favorite LaTeX package manager. For example, with `tlmgr`: -```sh +```bash tlmgr install moloch ``` You can also install the theme from source, in which case you need a working LaTeX installation with `l3build` installed. Then just follow these steps: -```sh +```bash git clone https://github.com/jolars/moloch.git cd moloch l3build install diff --git a/Master/texmf-dist/doc/latex/moloch/moloch.pdf b/Master/texmf-dist/doc/latex/moloch/moloch.pdf Binary files differindex 3607149cef9..15f0652a6ac 100644 --- a/Master/texmf-dist/doc/latex/moloch/moloch.pdf +++ b/Master/texmf-dist/doc/latex/moloch/moloch.pdf diff --git a/Master/texmf-dist/doc/latex/moloch/moloch.tex b/Master/texmf-dist/doc/latex/moloch/moloch.tex index a9eb3269333..c8300607bef 100644 --- a/Master/texmf-dist/doc/latex/moloch/moloch.tex +++ b/Master/texmf-dist/doc/latex/moloch/moloch.tex @@ -58,7 +58,7 @@ xrightmargin=0em, aboveskip=1em, belowskip=1em, - morekeywords={usetheme,institute,maketitle,% + morekeywords={usetheme,institute,maketitle,@moloch@titleformat,% plain,setbeamercolor,molochset,setsansfont,setmonofont}, } \lstMakeShortInline| @@ -82,7 +82,7 @@ \newcommand{\themename}{\textsf{moloch}\xspace} -\def\molochversion{0.3.0} % x-release-please-version +\def\molochversion{0.4.0} % x-release-please-version \usepackage{readprov} % \ReadPackageInfos{beamerthememoloch} @@ -166,10 +166,10 @@ The following code shows a minimal example of a Beamer presentation using \begin{lstlisting} \documentclass{beamer} \usetheme{moloch} -\title{A minimal example} +\title{A Minimal Example} \date{\today} \author{Johan Larsson} -\institute{Centre for Modern Beamer Themes} +\institute{Some University} \begin{document} \maketitle \section{First Section} @@ -187,6 +187,7 @@ The following code shows a minimal example of a Beamer presentation using \begin{itemize} \item |tikz| \item |pgfopts| + \item |etoolbox| \item |calc| \end{itemize} \end{multicols} @@ -224,6 +225,27 @@ The list of options is structured as shown in the following example. A short description of the option. } + +\subsubsection{Main theme} + +\DescribeOption{titleformat}% +{regular, smallcaps, allsmallcaps, allcaps} +{regular}{ + Changes the format of titles, subtitles, section titles, frame titles, and + the text on ``standout'' frames. The available options produce + Regular, \textsc{SmallCaps}, \textsc{\MakeLowercase{AllSmallCaps}}, or + \MakeUppercase{AllCaps} titles. Note that these commands do not + affect math and numbers, so may not work as you expect if your titles + contain these. +} + +\DescribeOption{titleformat plain}% +{regular, smallcaps, allsmallcaps, allcaps}% +{regular}{ + Changes the format of ``standout'' frames (see |titleformat|, above). +} + + \subsubsection{Inner theme} \DescribeOption{sectionpage}{none, simple, progressbar}{progressbar}{ @@ -270,6 +292,20 @@ The list of options is structured as shown in the following example. of the reverse. } + +\subsubsection{Font theme} + +\DescribeMacro{titleformat title} +\DescribeMacro{titleformat subtitle} +\DescribeMacro{titleformat section} +\DescribeOption{titleformat frame}% +{regular, smallcaps, allsmallcaps, allcaps}% +{regular}{ + Individually controls the format of titles, subtitles, section titles, and + frame titles (see |titleformat|, above). +} + + \subsection{Color Customization} The included \themename color theme is used by default, but its colors can be @@ -321,6 +357,18 @@ single sentence or image. To use it, add the key |standout| to the frame: \section{Known Issues} +\subsection{Title Formats} + +Be aware that not every font supports small caps, so the |smallcaps| or +|allsmallcaps| options may not work for all fonts. +In particular, the Computer Modern sans-serif typeface, which is used +by default when \themename is compiled with pdf\LaTeX, does not have a +small-caps variant. + +Note that title format options |allsmallcaps| and |allcaps| do not +affect the sizes of numerals, punctuation, and math symbol, and are +probably best avoided if your titles contain these characters. + \subsection{Interactions with other color themes} \themename can be used along with any other Beamer color theme, such as @@ -412,7 +460,7 @@ solution for Org mode users, using |org-set-property|. \subsection{Standout frames with Pandoc} -With Pandoc versions prior 1.17.2 it was not possible to create standout frames +With Pandoc versions prior to 1.17.2 it was not possible to create standout frames because Pandoc only supported a specific list of frame attributes thus ignoring additional attributes such as |{.standout}|. diff --git a/Master/texmf-dist/doc/latex/moremath/MANIFEST.md b/Master/texmf-dist/doc/latex/moremath/MANIFEST.md new file mode 100644 index 00000000000..ef52db4ec20 --- /dev/null +++ b/Master/texmf-dist/doc/latex/moremath/MANIFEST.md @@ -0,0 +1,26 @@ +# Manifest of the `moremath`-package + +This file lists all files that are considered to be part of `moremath`. + + +## Source Files +- `moremath.dtx`: Documentation and package source. +- `moremath.ins`: Batch file for generating `moremath.sty` + +## Text Files +These plain text files are included as documentation or metadata. + +- `README.md`: README file. +- `MANIFEST.md`: This file. + +## Derived Files + +These files are derived from other files mentioned above. + +### Documentation + +- `moremath-doc.pdf`: Package documentation generated from `moremath.dtx` + +### Unpacked Package Code + +- `moremath.sty`: File generated from `moremath.dtx` by `moremath.ins`. diff --git a/Master/texmf-dist/doc/latex/moremath/README.md b/Master/texmf-dist/doc/latex/moremath/README.md new file mode 100644 index 00000000000..4727b4b11db --- /dev/null +++ b/Master/texmf-dist/doc/latex/moremath/README.md @@ -0,0 +1,48 @@ +# `moremath`: Convenience Math Macros + +The `moremath` package provides convenience shorthand math macros such as +(auto-)delimited operators, (auto-)delimited vector calculus operators +and some commands for quickly producing diagonal matrices, +column, and row vectors. + +It depends on [mathtools](https://ctan.org/pkg/mathtools), +[amssymb](https://ctan.org/pkg/amsfonts), +and optionally on [bm](https://ctan.org/pkg/bm). + +_____ +**Note: This package is still in its initial development phase.** + +Its interface may be subject to change until version 1.0.0 has been reached. + +_____ + +## Unpacking the Source Code + +To unpack the source code use + +``` shell +TEX moremath.ins +``` + +## Generating the Documentation + +To produce the documentation run `moremath.dtx` through `*latex`. + + +## License + +Copyright (C) 2024 Marcel Ilg + +This work may be distributed and/or modified under the +conditions of the LaTeX Project Public License, either version 1.3 +of this license or (at your option) any later version. +The latest version of this license is in +https://www.latex-project.org/lppl.txt +and version 1.3 or later is part of all distributions of LaTeX +version 2005/12/01 or later. + +This work has the LPPL maintenance status "maintained". + +The Current Maintainer of this work is Marcel Ilg. + +This work consists of the files listed in `MANIFEST.md`. diff --git a/Master/texmf-dist/doc/latex/moremath/moremath-doc.pdf b/Master/texmf-dist/doc/latex/moremath/moremath-doc.pdf Binary files differnew file mode 100644 index 00000000000..4a90adc8e7c --- /dev/null +++ b/Master/texmf-dist/doc/latex/moremath/moremath-doc.pdf diff --git a/Master/texmf-dist/doc/latex/msu-thesis/README.md b/Master/texmf-dist/doc/latex/msu-thesis/README.md index e46f1c7d41f..d1942487f79 100644 --- a/Master/texmf-dist/doc/latex/msu-thesis/README.md +++ b/Master/texmf-dist/doc/latex/msu-thesis/README.md @@ -1,4 +1,4 @@ -# MSU Thesis Class Version 4.3 2024/06/07 +# MSU Thesis Class Version 4.3b 2024/07/08 Copyright 2011-2024 by Alan Munn <amunn@msu.edu> diff --git a/Master/texmf-dist/doc/latex/msu-thesis/docs/msu-thesis.tex b/Master/texmf-dist/doc/latex/msu-thesis/docs/msu-thesis.tex index 4a653326212..ffd0904eb86 100644 --- a/Master/texmf-dist/doc/latex/msu-thesis/docs/msu-thesis.tex +++ b/Master/texmf-dist/doc/latex/msu-thesis/docs/msu-thesis.tex @@ -2,8 +2,8 @@ \documentclass[11pt]{article} -\def\msuversion{4.3} -\def\msudate{2024/06/07} +\def\msuversion{4.3b} +\def\msudate{2024/07/08} \title{\textbf{Using the MSU Thesis Class}} \author{\textbf{Alan Munn}\\Department of Linguistics, Languages, and Cultures\\Michigan State University\\\texttt{\href{mailto:amunn@msu.edu}{amunn@msu.edu}}} \date{Version \msuversion\\\msudate} @@ -467,7 +467,7 @@ Florent Chervet for early \pkg{hyperref} code (up until v.3.6), and Ulrike Fisch current \pkg{hyperref} code. Thanks to David Carlisle for helping me understand a ridiculous spacing problem. Thanks also to the following people who have reported problems over the years: Irina Agafonova, Ali Al-jiboory, Abubakr Ayesh, Julian Blank, -Nathan Brugnone, Dmitriy Bryndin, Greg Christian, Kyle Crayne, Ciaron Hamilton, Matt Husband, Changkuk +Nathan Brugnone, Dmitriy Bryndin, Harrison Cassady, Greg Christian, Kyle Crayne, Ciaron Hamilton, Matt Husband, Changkuk Jung, Minkyu Kim, Claire Kopenhafer, Adam Liter, Vanessa Maldonado, Andriana Manousidaki, Ben Miller, William Muir, Eureka Pai, Alicia Parrish, Victoria Parrish, Neil ver Planck, Taha Posos, Nick Rekuski, Giacomo Romanini, William Sands, Adam Soliman, Mookyong Son, Erik Stitt, Fanurs C.E. Teh, Eremey Valetov, Matthew Vincent, Michael Wojcik, Stephen Yowono, Atacan Yücesoy, Ali diff --git a/Master/texmf-dist/doc/latex/msu-thesis/msu-thesis.pdf b/Master/texmf-dist/doc/latex/msu-thesis/msu-thesis.pdf Binary files differindex 89adadc3321..11fe39050a8 100644 --- a/Master/texmf-dist/doc/latex/msu-thesis/msu-thesis.pdf +++ b/Master/texmf-dist/doc/latex/msu-thesis/msu-thesis.pdf diff --git a/Master/texmf-dist/doc/latex/msu-thesis/samples/MSU-thesis-chapterbib-testfile.pdf b/Master/texmf-dist/doc/latex/msu-thesis/samples/MSU-thesis-chapterbib-testfile.pdf Binary files differindex 6e9c51144e1..2de16c49650 100644 --- a/Master/texmf-dist/doc/latex/msu-thesis/samples/MSU-thesis-chapterbib-testfile.pdf +++ b/Master/texmf-dist/doc/latex/msu-thesis/samples/MSU-thesis-chapterbib-testfile.pdf diff --git a/Master/texmf-dist/doc/latex/oberdiek/README.md b/Master/texmf-dist/doc/latex/oberdiek/README.md index 4a2250cf370..b455eff334b 100644 --- a/Master/texmf-dist/doc/latex/oberdiek/README.md +++ b/Master/texmf-dist/doc/latex/oberdiek/README.md @@ -1,6 +1,6 @@ # Oberdiek bundle -Version: 2023-12-04 +Version: 2024-07-26 This file describes the directory CTAN:macros/latex/contrib/oberdiek/ @@ -11,7 +11,7 @@ It contains several packages: ## Copyright (C) * 2007, 2009-2011 Heiko Oberdiek -* 2016-2023 Oberdiek Package Support Group +* 2016-2024 Oberdiek Package Support Group ## License LATEX Project Public License, version 1.3c or later. @@ -48,7 +48,6 @@ Other files in the CTAN directory: * flags: setting and clearing flags in bit fields and converting the bit field into a decimal number; * holtxdoc: extra documentation macros; * hypbmsec: bookmarks in sectioning commands; -* hypcap: anjusting anchors of captions; * hypgotoe: experimental package for links to embedded files; * hyphsubst: substitute hyphenation patterns; * ifdraft: switch for option draft; @@ -66,6 +65,5 @@ Other files in the CTAN directory: * stampinclude: selects the files for \include by inspecting the timestamp of the .aux file(s); * tabularht: tabulars with height specification; * tabularkv: key value interface for tabular parameters; -* telprint: print German telephone numbers; * thepdfnumber: canonical numbers for use in PDF files and elsewhere; * twoopt: commands with two optional arguments; diff --git a/Master/texmf-dist/doc/latex/oberdiek/aliascnt.pdf b/Master/texmf-dist/doc/latex/oberdiek/aliascnt.pdf Binary files differindex 5978332f27d..cac6636ab96 100644 --- a/Master/texmf-dist/doc/latex/oberdiek/aliascnt.pdf +++ b/Master/texmf-dist/doc/latex/oberdiek/aliascnt.pdf diff --git a/Master/texmf-dist/doc/latex/oberdiek/bmpsize.pdf b/Master/texmf-dist/doc/latex/oberdiek/bmpsize.pdf Binary files differindex ecd47adb939..b376afc96a7 100644 --- a/Master/texmf-dist/doc/latex/oberdiek/bmpsize.pdf +++ b/Master/texmf-dist/doc/latex/oberdiek/bmpsize.pdf diff --git a/Master/texmf-dist/doc/latex/oberdiek/centernot.pdf b/Master/texmf-dist/doc/latex/oberdiek/centernot.pdf Binary files differindex 344a2454332..a0984732eaf 100644 --- a/Master/texmf-dist/doc/latex/oberdiek/centernot.pdf +++ b/Master/texmf-dist/doc/latex/oberdiek/centernot.pdf diff --git a/Master/texmf-dist/doc/latex/oberdiek/chemarr.pdf b/Master/texmf-dist/doc/latex/oberdiek/chemarr.pdf Binary files differindex c745f155827..7a39e48a3ef 100644 --- a/Master/texmf-dist/doc/latex/oberdiek/chemarr.pdf +++ b/Master/texmf-dist/doc/latex/oberdiek/chemarr.pdf diff --git a/Master/texmf-dist/doc/latex/oberdiek/classlist.pdf b/Master/texmf-dist/doc/latex/oberdiek/classlist.pdf Binary files differindex 40ef460d948..365627fee6d 100644 --- a/Master/texmf-dist/doc/latex/oberdiek/classlist.pdf +++ b/Master/texmf-dist/doc/latex/oberdiek/classlist.pdf diff --git a/Master/texmf-dist/doc/latex/oberdiek/colonequals.pdf b/Master/texmf-dist/doc/latex/oberdiek/colonequals.pdf Binary files differindex 1b4e949c6b8..3446b595397 100644 --- a/Master/texmf-dist/doc/latex/oberdiek/colonequals.pdf +++ b/Master/texmf-dist/doc/latex/oberdiek/colonequals.pdf diff --git a/Master/texmf-dist/doc/latex/oberdiek/dvipscol.pdf b/Master/texmf-dist/doc/latex/oberdiek/dvipscol.pdf Binary files differindex 21243da3b15..3ff66c8e895 100644 --- a/Master/texmf-dist/doc/latex/oberdiek/dvipscol.pdf +++ b/Master/texmf-dist/doc/latex/oberdiek/dvipscol.pdf diff --git a/Master/texmf-dist/doc/latex/oberdiek/engord.pdf b/Master/texmf-dist/doc/latex/oberdiek/engord.pdf Binary files differindex 0bd217efbac..49c876e5b6b 100644 --- a/Master/texmf-dist/doc/latex/oberdiek/engord.pdf +++ b/Master/texmf-dist/doc/latex/oberdiek/engord.pdf diff --git a/Master/texmf-dist/doc/latex/oberdiek/enparen.pdf b/Master/texmf-dist/doc/latex/oberdiek/enparen.pdf Binary files differindex d4de5125ba9..284b88c5c15 100644 --- a/Master/texmf-dist/doc/latex/oberdiek/enparen.pdf +++ b/Master/texmf-dist/doc/latex/oberdiek/enparen.pdf diff --git a/Master/texmf-dist/doc/latex/oberdiek/eolgrab.pdf b/Master/texmf-dist/doc/latex/oberdiek/eolgrab.pdf Binary files differindex 23c097b5711..24a22d462cc 100644 --- a/Master/texmf-dist/doc/latex/oberdiek/eolgrab.pdf +++ b/Master/texmf-dist/doc/latex/oberdiek/eolgrab.pdf diff --git a/Master/texmf-dist/doc/latex/oberdiek/fibnum.pdf b/Master/texmf-dist/doc/latex/oberdiek/fibnum.pdf Binary files differindex 2d2510854e7..7a143ac3b67 100644 --- a/Master/texmf-dist/doc/latex/oberdiek/fibnum.pdf +++ b/Master/texmf-dist/doc/latex/oberdiek/fibnum.pdf diff --git a/Master/texmf-dist/doc/latex/oberdiek/flags.pdf b/Master/texmf-dist/doc/latex/oberdiek/flags.pdf Binary files differindex f0c8b76d544..17c5868612d 100644 --- a/Master/texmf-dist/doc/latex/oberdiek/flags.pdf +++ b/Master/texmf-dist/doc/latex/oberdiek/flags.pdf diff --git a/Master/texmf-dist/doc/latex/oberdiek/holtxdoc.pdf b/Master/texmf-dist/doc/latex/oberdiek/holtxdoc.pdf Binary files differindex 67d630bd545..f2825ebf65f 100644 --- a/Master/texmf-dist/doc/latex/oberdiek/holtxdoc.pdf +++ b/Master/texmf-dist/doc/latex/oberdiek/holtxdoc.pdf diff --git a/Master/texmf-dist/doc/latex/oberdiek/hypbmsec.pdf b/Master/texmf-dist/doc/latex/oberdiek/hypbmsec.pdf Binary files differindex 45e3ce42c29..9e75d5e8fee 100644 --- a/Master/texmf-dist/doc/latex/oberdiek/hypbmsec.pdf +++ b/Master/texmf-dist/doc/latex/oberdiek/hypbmsec.pdf diff --git a/Master/texmf-dist/doc/latex/oberdiek/hypgotoe.pdf b/Master/texmf-dist/doc/latex/oberdiek/hypgotoe.pdf Binary files differindex 98d7d1dd4b6..a6203e57a11 100644 --- a/Master/texmf-dist/doc/latex/oberdiek/hypgotoe.pdf +++ b/Master/texmf-dist/doc/latex/oberdiek/hypgotoe.pdf diff --git a/Master/texmf-dist/doc/latex/oberdiek/hyphsubst.pdf b/Master/texmf-dist/doc/latex/oberdiek/hyphsubst.pdf Binary files differindex 4c390bfdd9e..0d559684d12 100644 --- a/Master/texmf-dist/doc/latex/oberdiek/hyphsubst.pdf +++ b/Master/texmf-dist/doc/latex/oberdiek/hyphsubst.pdf diff --git a/Master/texmf-dist/doc/latex/oberdiek/ifdraft.pdf b/Master/texmf-dist/doc/latex/oberdiek/ifdraft.pdf Binary files differindex 35e257d875a..7e6a2510923 100644 --- a/Master/texmf-dist/doc/latex/oberdiek/ifdraft.pdf +++ b/Master/texmf-dist/doc/latex/oberdiek/ifdraft.pdf diff --git a/Master/texmf-dist/doc/latex/oberdiek/iflang.pdf b/Master/texmf-dist/doc/latex/oberdiek/iflang.pdf Binary files differindex 98cb0644a32..c1941fa6eea 100644 --- a/Master/texmf-dist/doc/latex/oberdiek/iflang.pdf +++ b/Master/texmf-dist/doc/latex/oberdiek/iflang.pdf diff --git a/Master/texmf-dist/doc/latex/oberdiek/oberdiek.pdf b/Master/texmf-dist/doc/latex/oberdiek/oberdiek.pdf Binary files differindex 16e08d826a8..31c3efdda72 100644 --- a/Master/texmf-dist/doc/latex/oberdiek/oberdiek.pdf +++ b/Master/texmf-dist/doc/latex/oberdiek/oberdiek.pdf diff --git a/Master/texmf-dist/doc/latex/oberdiek/pdfcolparallel.pdf b/Master/texmf-dist/doc/latex/oberdiek/pdfcolparallel.pdf Binary files differindex 90a3b348a0a..d97c8441f43 100644 --- a/Master/texmf-dist/doc/latex/oberdiek/pdfcolparallel.pdf +++ b/Master/texmf-dist/doc/latex/oberdiek/pdfcolparallel.pdf diff --git a/Master/texmf-dist/doc/latex/oberdiek/pdfcolparcolumns.pdf b/Master/texmf-dist/doc/latex/oberdiek/pdfcolparcolumns.pdf Binary files differindex a49189ba4aa..8afe31978aa 100644 --- a/Master/texmf-dist/doc/latex/oberdiek/pdfcolparcolumns.pdf +++ b/Master/texmf-dist/doc/latex/oberdiek/pdfcolparcolumns.pdf diff --git a/Master/texmf-dist/doc/latex/oberdiek/pdfcrypt.pdf b/Master/texmf-dist/doc/latex/oberdiek/pdfcrypt.pdf Binary files differindex 1de22245d4b..eabda461d72 100644 --- a/Master/texmf-dist/doc/latex/oberdiek/pdfcrypt.pdf +++ b/Master/texmf-dist/doc/latex/oberdiek/pdfcrypt.pdf diff --git a/Master/texmf-dist/doc/latex/oberdiek/protecteddef.pdf b/Master/texmf-dist/doc/latex/oberdiek/protecteddef.pdf Binary files differindex cabaa32c497..c5d984bf5e8 100644 --- a/Master/texmf-dist/doc/latex/oberdiek/protecteddef.pdf +++ b/Master/texmf-dist/doc/latex/oberdiek/protecteddef.pdf diff --git a/Master/texmf-dist/doc/latex/oberdiek/resizegather.pdf b/Master/texmf-dist/doc/latex/oberdiek/resizegather.pdf Binary files differindex 11d07da19cc..5bf853391cd 100644 --- a/Master/texmf-dist/doc/latex/oberdiek/resizegather.pdf +++ b/Master/texmf-dist/doc/latex/oberdiek/resizegather.pdf diff --git a/Master/texmf-dist/doc/latex/oberdiek/rotchiffre.pdf b/Master/texmf-dist/doc/latex/oberdiek/rotchiffre.pdf Binary files differindex 7deae8d7561..5504f90b564 100644 --- a/Master/texmf-dist/doc/latex/oberdiek/rotchiffre.pdf +++ b/Master/texmf-dist/doc/latex/oberdiek/rotchiffre.pdf diff --git a/Master/texmf-dist/doc/latex/oberdiek/scrindex.pdf b/Master/texmf-dist/doc/latex/oberdiek/scrindex.pdf Binary files differindex 0ca63d3e6d2..a2e2cba8255 100644 --- a/Master/texmf-dist/doc/latex/oberdiek/scrindex.pdf +++ b/Master/texmf-dist/doc/latex/oberdiek/scrindex.pdf diff --git a/Master/texmf-dist/doc/latex/oberdiek/setouterhbox.pdf b/Master/texmf-dist/doc/latex/oberdiek/setouterhbox.pdf Binary files differindex dbdb939c6e2..03757dc214d 100644 --- a/Master/texmf-dist/doc/latex/oberdiek/setouterhbox.pdf +++ b/Master/texmf-dist/doc/latex/oberdiek/setouterhbox.pdf diff --git a/Master/texmf-dist/doc/latex/oberdiek/settobox-example.tex b/Master/texmf-dist/doc/latex/oberdiek/settobox-example.tex index 521074c5cca..33454e19f33 100644 --- a/Master/texmf-dist/doc/latex/oberdiek/settobox-example.tex +++ b/Master/texmf-dist/doc/latex/oberdiek/settobox-example.tex @@ -60,7 +60,7 @@ % c) Print #1 commands. % d) Print box with frame % -% The implemenation looks more weird: +% The implementation looks more weird: \makeatletter \newcommand*{\test}[1]{% \par diff --git a/Master/texmf-dist/doc/latex/oberdiek/settobox.pdf b/Master/texmf-dist/doc/latex/oberdiek/settobox.pdf Binary files differindex a2f1c8d1790..ef92916de2e 100644 --- a/Master/texmf-dist/doc/latex/oberdiek/settobox.pdf +++ b/Master/texmf-dist/doc/latex/oberdiek/settobox.pdf diff --git a/Master/texmf-dist/doc/latex/oberdiek/stackrel.pdf b/Master/texmf-dist/doc/latex/oberdiek/stackrel.pdf Binary files differindex df11fd28ddd..4edbb64c31c 100644 --- a/Master/texmf-dist/doc/latex/oberdiek/stackrel.pdf +++ b/Master/texmf-dist/doc/latex/oberdiek/stackrel.pdf diff --git a/Master/texmf-dist/doc/latex/oberdiek/stampinclude.pdf b/Master/texmf-dist/doc/latex/oberdiek/stampinclude.pdf Binary files differindex 55b57219a3c..b98bf15bb16 100644 --- a/Master/texmf-dist/doc/latex/oberdiek/stampinclude.pdf +++ b/Master/texmf-dist/doc/latex/oberdiek/stampinclude.pdf diff --git a/Master/texmf-dist/doc/latex/oberdiek/tabularht.pdf b/Master/texmf-dist/doc/latex/oberdiek/tabularht.pdf Binary files differindex 893fe33acf1..3a70cec6a2c 100644 --- a/Master/texmf-dist/doc/latex/oberdiek/tabularht.pdf +++ b/Master/texmf-dist/doc/latex/oberdiek/tabularht.pdf diff --git a/Master/texmf-dist/doc/latex/oberdiek/tabularkv.pdf b/Master/texmf-dist/doc/latex/oberdiek/tabularkv.pdf Binary files differindex e6ea130064b..dedc3251c06 100644 --- a/Master/texmf-dist/doc/latex/oberdiek/tabularkv.pdf +++ b/Master/texmf-dist/doc/latex/oberdiek/tabularkv.pdf diff --git a/Master/texmf-dist/doc/latex/oberdiek/thepdfnumber.pdf b/Master/texmf-dist/doc/latex/oberdiek/thepdfnumber.pdf Binary files differindex 8d4b73d65fa..61d98f6985c 100644 --- a/Master/texmf-dist/doc/latex/oberdiek/thepdfnumber.pdf +++ b/Master/texmf-dist/doc/latex/oberdiek/thepdfnumber.pdf diff --git a/Master/texmf-dist/doc/latex/oberdiek/twoopt.pdf b/Master/texmf-dist/doc/latex/oberdiek/twoopt.pdf Binary files differindex 6a144a8368a..071dd4d2b25 100644 --- a/Master/texmf-dist/doc/latex/oberdiek/twoopt.pdf +++ b/Master/texmf-dist/doc/latex/oberdiek/twoopt.pdf diff --git a/Master/texmf-dist/doc/latex/overarrows/README.md b/Master/texmf-dist/doc/latex/overarrows/README.md index f2139d64993..a70fd1601cb 100644 --- a/Master/texmf-dist/doc/latex/overarrows/README.md +++ b/Master/texmf-dist/doc/latex/overarrows/README.md @@ -13,11 +13,11 @@ Julien Labbé <Julien.Labbe@univ-grenoble-alpes.fr> Université Grenoble-Alpes ## Repository -https://gricad-gitlab.univ-grenoble-alpes.fr/labbeju/latex-packages/-/tree/main/overarrows +https://github.com/julienlabbe/latex-packages/tree/main/overarrows ## Licence -Copyright (C) 2023 by Julien Labbé +Copyright (C) 2023-2024 by Julien Labbé This file may be distributed and/or modified under the conditions of the LaTeX Project Public License (LPPL), either version 1.3c of this license or (at your diff --git a/Master/texmf-dist/doc/latex/overarrows/overarrows-doc.sty b/Master/texmf-dist/doc/latex/overarrows/overarrows-doc.sty index df8e30f7930..9fc29228d18 100644 --- a/Master/texmf-dist/doc/latex/overarrows/overarrows-doc.sty +++ b/Master/texmf-dist/doc/latex/overarrows/overarrows-doc.sty @@ -32,6 +32,7 @@ \lstdefinestyle{lstovardoc}{% language = [LaTeX]TeX, columns = flexible, + keepspaces = true, keywordstyle = {\bfseries\color{ovar_darkblue}}, texcsstyle = *{\bfseries\color{ovar_darkblue}}, commentstyle = {\color{gray}}, @@ -126,7 +127,7 @@ actual '=' name=macrocode, firstnumber=auto, style = lstovarcode, - showlines=false, + showlines = false, texcs = [2]{% commands DeclareOverArrowCommand, ProvideOverArrowCommand,% NewOverArrowCommand, RenewOverArrowCommand,% @@ -147,8 +148,9 @@ actual '=' indexstyle = [3]\indexlength,% texcs = [4]{% internal macros ovar@rightarrow, ovar@leftarrow, ifovar@option@oldarrows@, - ifovar@option@esvect@, ifovar@option@tikz@, ifovar@option@pstarrows@, - ifovar@detectsubscripts@, ifovar@option@debug@, + ifovar@option@esvect@, ifovar@option@tikz@, ifovar@option@pstricks@, + ifovar@option@pstarrows@, ifovar@detectsubscripts@, + ifovar@option@subother@, ifovar@option@subactive@, ifovar@option@debug@, ifovar@option@overrightarrow@, ifovar@option@underrightarrow@, ifovar@option@overleftarrow@, ifovar@option@underleftarrow@, ifovar@option@overleftrightarrow@, ifovar@option@underleftrightarrow@, @@ -156,26 +158,29 @@ actual '=' ifovar@option@overrightharpoondown@, ifovar@option@underrightharpoondown@, ifovar@option@overleftharpoonup@, ifovar@option@underleftharpoonup@, ifovar@option@overleftharpoondown@, ifovar@option@underleftharpoondown@, - ifovar@option@overbar@, ifovar@option@underbar@, ovar@set, ovar@length@min, + ifovar@option@overbar@, ifovar@option@underbar@, ovar@auto@middle, + ovar@auto@trim@middle, ovar@subcmd, ovar@set, ovar@length@min, ovar@before@arrow, ovar@after@arrow, ovar@macro@stack, ovar@macro@arrow, - ovar@set@, ovar@shift@left, ovar@shift@right, ovar@stack@fill, - ovar@stackunder@fill, ovar@stack@lens, ovar@stackunder@lens, - ovar@macro@arrowfill, ovar@arrow@fill, ovar@arrow@start, ovar@trim@start, - ovar@trim@middle, ovar@arrow@middle, ovar@trim@end, ovar@arrow@end, - ovar@tikz@command, ovar@tikz@pathoptions, ovar@tikz@path, - ovar@tikz@options, ovar@picture@geometry, ovar@picture@linethickness, - ovar@picture@command, ovar@extralength, ovar@tempdim, ovar@set@arrowlength, - ovar@set@arrowthickness, ovar@stackover@@, ovar@stackunder@@, - ovar@stackover@, ovar@stackunder@, ovar@stackover@fill, - ovar@stackover@lens, ovar@set@common, ovar@starversion, - ovar@testmathstyles, ovar@row@teststyle,% - ifovar@option@subother@,ifovar@option@subactive@,ovar@subcmd,ovar@testkerning,% + ovar@shift@left, ovar@shift@right, ovar@stack@fill, ovar@stackunder@fill, + ovar@stack@lens, ovar@stackunder@lens, ovar@macro@arrowfill, + ovar@arrow@fill, ovar@arrow@start, ovar@trim@start, ovar@trim@middle, + ovar@arrow@middle, ovar@trim@end, ovar@arrow@end, ovar@tikz@command, + ovar@tikz@pathoptions, ovar@tikz@path, ovar@tikz@options, + ovar@pstricks@geometry, ovar@pstricks@linethickness, ovar@pstricks@psset, + ovar@pstricks@command, ovar@picture@geometry, ovar@picture@linethickness, + ovar@picture@command, ovar@tempdim, ovar@set@arrowlength, + ovar@set@arrowthickness, ovar@set@arrowthickness@UM@lua, + ovar@rulethickness@fontdimen, ovar@rulethickness@family, ovar@stackover@@, + ovar@stackunder@@, ovar@stackover@, ovar@stackunder@, ovar@stackover@fill, + ovar@stackover@lens, ovar@cmdname@processor, ovar@set@common, + ovar@starversion, ovar@tempbox, ovar@testmathstyles, ovar@row@teststyle, + ovar@testkerning% }, index = [4][texcs4],% indexstyle = [4]\indexmacrointernal,% moretexcs = [5]{% other macros - Relbar, relbareda, relbaredd, rightarrow, Rightarrow, varleftarrow, - varrightarrow, twoheadrightarrow,% + relbar, Relbar, relbareda, relbaredd, harrowextender, rightarrow, + Rightarrow, varleftarrow, varrightarrow, twoheadrightarrow,% }, } \csname\@lst @SetFirstNumber\endcsname diff --git a/Master/texmf-dist/doc/latex/overarrows/overarrows.pdf b/Master/texmf-dist/doc/latex/overarrows/overarrows.pdf Binary files differindex 7203b11bb3d..701f3ec02fa 100644 --- a/Master/texmf-dist/doc/latex/overarrows/overarrows.pdf +++ b/Master/texmf-dist/doc/latex/overarrows/overarrows.pdf diff --git a/Master/texmf-dist/doc/latex/pagelayout/README.md b/Master/texmf-dist/doc/latex/pagelayout/README.md index dec375b5d39..8d08f566f73 100644 --- a/Master/texmf-dist/doc/latex/pagelayout/README.md +++ b/Master/texmf-dist/doc/latex/pagelayout/README.md @@ -1,4 +1,4 @@ -![The pagelayout LaTeX class](banner.svg) +![The pagelayout LaTeX class](https://raw.githubusercontent.com/friedemannbartels/latex-pagelayout/1.1.1/doc/banner.svg) The pagelayout class enables you to design pages declaratively using simple macros for pages, covers, grids, templates, text, and graphics to create graphic rich, perfectly typeset, and print ready PDFs. @@ -26,7 +26,7 @@ Create a page with the `\page` command. A grid with rows and cells helps you to } ``` -![A page with a two column layout](quickstart-1.svg) +![A page with a two column layout](https://raw.githubusercontent.com/friedemannbartels/latex-pagelayout/1.1.1/doc/quickstart-1.svg) ### Templates @@ -44,7 +44,7 @@ You can set width relations between grid cells and height relations between grid \template{my template}{} ``` -![A template with two placeholders](quickstart-2.svg) +![A template with two placeholders](https://raw.githubusercontent.com/friedemannbartels/latex-pagelayout/1.1.1/doc/quickstart-2.svg) You can set margin and gutter at grid, page, or document level. @@ -72,17 +72,17 @@ You can scale and position a graphic. And you can add borders and box shadows to } ``` -![Photo with border and shadow](quickstart-3.svg) +![Photo with border and shadow](https://raw.githubusercontent.com/friedemannbartels/latex-pagelayout/1.1.1/doc/quickstart-3.svg) -Have a look at the [examples](doc) to learn how to create double pages, covers, and more. +Have a look at the [examples](https://github.com/friedemannbartels/latex-pagelayout/tree/1.1.1/doc) to learn how to create double pages, covers, and more. -For a complete reference, read the [manual](pagelayout-manual.pdf). +For a complete reference, read the [manual](https://raw.githubusercontent.com/friedemannbartels/latex-pagelayout/1.1.1/doc/pagelayout-manual.pdf). ## Installation In general, you should use the package manager shipped with your TeX distribution to install the pagelayout package. -To install manually, copy the contents of [pagelayout.tds.zip](https://github.com/friedemannbartels/latex-pagelayout/releases/download/1.1.0/pagelayout-1.1.0.tds.zip) to your local TeX directory tree and run the command `texhash`. +To install manually, copy the contents of [pagelayout.tds.zip](https://github.com/friedemannbartels/latex-pagelayout/releases/download/1.1.1/pagelayout.tds.zip) to your local TeX directory tree and run the command `texhash`. To enable image optimization, shadow creation, and preflight, perform these installation steps: diff --git a/Master/texmf-dist/doc/latex/pagelayout/pagelayout-manual.pdf b/Master/texmf-dist/doc/latex/pagelayout/pagelayout-manual.pdf Binary files differindex 6913eb17ce8..a8ec76cc089 100644 --- a/Master/texmf-dist/doc/latex/pagelayout/pagelayout-manual.pdf +++ b/Master/texmf-dist/doc/latex/pagelayout/pagelayout-manual.pdf diff --git a/Master/texmf-dist/doc/latex/pagelayout/pagelayout-manual.tex b/Master/texmf-dist/doc/latex/pagelayout/pagelayout-manual.tex index 460f1170d08..df37ebaa6fc 100644 --- a/Master/texmf-dist/doc/latex/pagelayout/pagelayout-manual.tex +++ b/Master/texmf-dist/doc/latex/pagelayout/pagelayout-manual.tex @@ -18,7 +18,7 @@ \usepackage{tikz} \OnlyDescription \hypersetup{pdfborder={0 0 0}} -\def\pagelayoutversion{1.1.0} +\def\pagelayoutversion{1.1.1} \begin{document} diff --git a/Master/texmf-dist/doc/latex/pagelayout/tests.zip b/Master/texmf-dist/doc/latex/pagelayout/tests.zip Binary files differindex 8f90ec375db..407a787619a 100644 --- a/Master/texmf-dist/doc/latex/pagelayout/tests.zip +++ b/Master/texmf-dist/doc/latex/pagelayout/tests.zip diff --git a/Master/texmf-dist/doc/latex/passopt/README.md b/Master/texmf-dist/doc/latex/passopt/README.md new file mode 100644 index 00000000000..f8eb8f4c437 --- /dev/null +++ b/Master/texmf-dist/doc/latex/passopt/README.md @@ -0,0 +1,18 @@ +# The `passopt` package +Passing options to packages or classes (v1.01a) + +## Abstract +`passopt` allow reset the global options of a loaded macro package or document class, or to change the position of the pre-passed options in the list to the right. + +## License +This work may be distributed and/or modified under the conditions of the CC-BY 4.0 License. The latest version of this license is in https://creativecommons.org/licenses/by/4.0/legalcode + +## Website +| [Gitee](https://gitee.com/texno3/passopt) | [Github](https://github.com/texno3/passopt) | [CTAN](https://ctan.org/pkg/passopt) | + +## Maintainer +Qu Yi<br/> +Email: toquyi@163.com + +## Contributor +Jonathan P. Spratte
\ No newline at end of file diff --git a/Master/texmf-dist/doc/latex/passopt/passopt.pdf b/Master/texmf-dist/doc/latex/passopt/passopt.pdf Binary files differnew file mode 100644 index 00000000000..ce6e437c651 --- /dev/null +++ b/Master/texmf-dist/doc/latex/passopt/passopt.pdf diff --git a/Master/texmf-dist/doc/latex/passopt/passopt.tex b/Master/texmf-dist/doc/latex/passopt/passopt.tex new file mode 100644 index 00000000000..fb4473e3567 --- /dev/null +++ b/Master/texmf-dist/doc/latex/passopt/passopt.tex @@ -0,0 +1,103 @@ +\documentclass[load-preamble+]{cnltx-doc} + +\usepackage{setspace,hologo,changelog,enumitem} +\usepackage[margin = 1in,marginparwidth = 0.6in,footskip = 0.5in]{geometry} +\setcnltx + { + package = passopt, + version = v1.01a, + date = 2024/07/17, + authors = Qu Yi, + info = Passing options to packages or classes, + email = toquyi@163.com, + url = https://github.com/texno3/passopt, + abstract = + { + \pkg*{passopt} allow reset the global options of a loaded macro package or document class, or to change the position of the pre-passed options in the list to the right. + }, + color-scheme = blue, + listings-options = {numbers = none,gobble = 2,lineskip = 1pt}, + pre-output = {\parindent = 0em\setstretch{1.3}}, + before-skip = \smallskipamount, + after-skip = \smallskipamount + } +\makeatletter +\newcommand{\splitmeta}[2]{\meta{#1}\texttt{,}\meta{#2}} +\newcommand{\newsplitarg}[4][\splitmeta] + { + \newcommand{#2}[2] + {\code{\textcolor{argument}{#3\textnormal{#1{##1}{##2}}#4}}} + } +\newcommand{\kvsplit}[3] + { + \item\code{\option{#1}\cnltx@isvalue\splitmarg{#2}{#3}} + \cnltx@checkdefault{\hfill\newline} + } +\newsplitarg{\splitoarg}{[}{]} +\newsplitarg{\splitmarg}{\{}{\}} +\newsplitarg{\splitdarg}{(}{)} +\newnote{\newtag}[1]{\textcolor{red}{#1}} +\renewcommand{\emph}[1]{\textcolor{red}{#1}} +\renewcommand{\cnltx@write@lastname}{} +\setlist{nosep,topsep = \smallskipamount} +\setlist[description,1]{leftmargin = \parindent} +\setlist[itemize,1]{leftmargin = *} +\makeatother + +\begin{document} +\section{Preface} +For a developer, there are some cases where packages and classes may load other packages or classes with options. However, other developers or users may wish to disable the enabled options or enable new ones. To enable new options, \hologo{LaTeXe} provides the \cs{PassOptionsToPackage} and \cs{PassOptionsToClass} commands to pass the options before the package or class is loaded, but the passed options are located on the \textcolor{red}{left} side of the final options list. +\begin{sourcecode} + \PassOptionsToPackage{opt1,opt2=A}{mypackage} + + \documentclass{book} + \usepackage[opt3]{mypackage} + + \begin{document} +\end{sourcecode} + +In the example above, the list of options that the \pkg*{mypackage} macro package ends up executing is \fbox{\code{opt1,opt2=A,opt3}}. If you wish to \textcolor{red}{disable} the pre-enabled options or place the newly enabled options to the \textcolor{red}{right} of the list (last executed), then you need to modify the code of the load command in the package or class file, but this is not recommended for public sharing. Therefore, this macro package provides commands to reset the options and change the order of the new options. + +\section{User commands} +Four commands are provided to set the options to be passed later, all of which are \textcolor{red}{locally} assigned. Subsequent loading of the macro package is not must required due to the hook mechanism used to modify the list of options. +\begin{commands} + \command{SetOptionsToPackage}[\sarg\marg{options list}\marg{package}] + Passes options to the macro package, the location of the passed options is to the right of the options used when loading the macro package. If an asterisk parameter is used, only the passed options were ultimately retained. + \command{SetOptionsToClass}[\sarg\marg{options list}\marg{class}] + Similar to the previous command, but passing options for the document class. + \begin{sourcecode} + \RequirePackage{passopt} + \SetOptionsToPackage{opt1,opt2=A}{mypackage} + + \documentclass{book} + \usepackage[opt3]{mypackage} + + \begin{document} + \end{sourcecode} + + In the example above, the list of options that the \pkg*{mypackage} macro package ends up executing is \fbox{\code{opt3,opt1,opt2=A}}. If the asterisk parameter is used, the list is \fbox{\code{opt1,opt2=A}}. + + Note that since macro packages or document classes can only be loaded effectively once (using the \cs{usepackage} and \cs{RequirePackage} commands), only options passed before the first loading of a macro package or document class are effective, and it is recommended for users to use commands that pass options before \cs{documentclass}. + \command{ClearPackageOptions}[\marg{package}] + Clears the options that will be loaded into the macro package. The following commands has the same effect as \cs*{SetOptionsToPackage}\code{*}. + \begin{sourcecode} + \ClearPackageOptions{mypackage} + \SetOptionsToPackage{opt1,opt2=A}{mypackage} + \end{sourcecode} + \command{ClearClassOptions}[\marg{class}] + Similar to the previous command, but passing options for the document class. +\end{commands} + +\section{Acknowledgment} +Thanks Jonathan P. Spratte for the improvement suggestions. + +\appendix +\begin{changelog}[simple] + \begin{version}[v = 1.01,date = 2024/07/15] + \item Synchronized modification for lists of \code{@raw@opt@} and \code{opt@}. + \item Options that are set are expanded once rather than fully expanded. + \end{version} +\end{changelog} +\nocite{*} + +\end{document}
\ No newline at end of file diff --git a/Master/texmf-dist/doc/latex/pdfmanagement-testphase/CHANGELOG.md b/Master/texmf-dist/doc/latex/pdfmanagement-testphase/CHANGELOG.md index 9536e081a47..4c4251c47ee 100644 --- a/Master/texmf-dist/doc/latex/pdfmanagement-testphase/CHANGELOG.md +++ b/Master/texmf-dist/doc/latex/pdfmanagement-testphase/CHANGELOG.md @@ -4,7 +4,21 @@ first release 0.95a, 2021-02-23 will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), this project uses date-based 'snapshot' version identifiers. + +## [2024-08-17] + +### Added + + - added a verification 'omit_CID' used by PDF/a-2 and newer with luatex. + - warnings if pdfversion does not fit ua-1 and ua-2 + +### Fixed + - add xmp-resource for pdfaid:rev (tagging-project issue#375) + - empty color in \bookmarksetup https://github.com/ho-tex/bookmark/issues/11 + - unneeded warning with bookmarks=false, https://github.com/latex3/hyperref/issues/352 + ## [2024-05-23] +Version: 2024-05-23, 0.96i ### Fixed - l3pdfmeta: adapted wtpdf declaration uri to corrected version. @@ -30,7 +44,7 @@ Version: 2024-03-26, 0.96g ### Added - l3pdfmeta.dtx: interface for xmpRights:Marked. - - l3pdfmeta.dtx: add wtpdf declations if ua-2 is used. + - l3pdfmeta.dtx: add wtpdf declarations if ua-2 is used. ### Changed - removed unneeded firstaids for fontspec, transparent and pdflscape @@ -39,7 +53,7 @@ Version: 2024-03-26, 0.96g Version: 2024-03-01, 0.96f ### Changed - - format of /F in filespec: use utf8/string for better compability with ZUGFeRD processor. + - format of /F in filespec: use utf8/string for better compatibility with ZUGFeRD processor. - added /Contents entry to URI and GoTo links for better UA support. ## [2024-02-22] @@ -48,7 +62,7 @@ Version: 2024-02-22, 0.96e ### Changed - date of UA-2 is now 2024 - tagpdf-base is now required - - xmp metadata use x-default for the main language for better compability with some viewers + - xmp metadata use x-default for the main language for better compatibility with some viewers - suppress info dictionary with pdf/ua-2 ## [2023-12-09] @@ -70,7 +84,7 @@ Version: 2023-12-09, 0.96d Version: 2023-11-17, 0.96c - remove dependency to ltxcmds in the hyperref driver - - correct a local/global assigment + - correct a local/global assignment - remove l3ref-tmp.sty - l3pdffile.dtx: change mimetype of xml to application/xml diff --git a/Master/texmf-dist/doc/latex/pdfmanagement-testphase/README.md b/Master/texmf-dist/doc/latex/pdfmanagement-testphase/README.md index e3c9c1be029..9ac57108e03 100644 --- a/Master/texmf-dist/doc/latex/pdfmanagement-testphase/README.md +++ b/Master/texmf-dist/doc/latex/pdfmanagement-testphase/README.md @@ -1,6 +1,6 @@ # LaTeX PDF management testphase bundle -Version: 0.96i, 2024-05-23 +Version: 0.96j, 2024-08-17 This package is used during a test phase to load the new PDF management code of LaTeX. diff --git a/Master/texmf-dist/doc/latex/pdfmanagement-testphase/hyperref-generic.pdf b/Master/texmf-dist/doc/latex/pdfmanagement-testphase/hyperref-generic.pdf Binary files differindex 3ff91e54459..ab0f008a55e 100644 --- a/Master/texmf-dist/doc/latex/pdfmanagement-testphase/hyperref-generic.pdf +++ b/Master/texmf-dist/doc/latex/pdfmanagement-testphase/hyperref-generic.pdf diff --git a/Master/texmf-dist/doc/latex/pdfmanagement-testphase/l3backend-testphase.pdf b/Master/texmf-dist/doc/latex/pdfmanagement-testphase/l3backend-testphase.pdf Binary files differindex 09b998ff813..f15724e4d41 100644 --- a/Master/texmf-dist/doc/latex/pdfmanagement-testphase/l3backend-testphase.pdf +++ b/Master/texmf-dist/doc/latex/pdfmanagement-testphase/l3backend-testphase.pdf diff --git a/Master/texmf-dist/doc/latex/pdfmanagement-testphase/l3pdfannot.pdf b/Master/texmf-dist/doc/latex/pdfmanagement-testphase/l3pdfannot.pdf Binary files differindex 10005050308..568726ab7d6 100644 --- a/Master/texmf-dist/doc/latex/pdfmanagement-testphase/l3pdfannot.pdf +++ b/Master/texmf-dist/doc/latex/pdfmanagement-testphase/l3pdfannot.pdf diff --git a/Master/texmf-dist/doc/latex/pdfmanagement-testphase/l3pdfdict.pdf b/Master/texmf-dist/doc/latex/pdfmanagement-testphase/l3pdfdict.pdf Binary files differindex 555a105c9a0..37534467d57 100644 --- a/Master/texmf-dist/doc/latex/pdfmanagement-testphase/l3pdfdict.pdf +++ b/Master/texmf-dist/doc/latex/pdfmanagement-testphase/l3pdfdict.pdf diff --git a/Master/texmf-dist/doc/latex/pdfmanagement-testphase/l3pdffield-action.pdf b/Master/texmf-dist/doc/latex/pdfmanagement-testphase/l3pdffield-action.pdf Binary files differindex 34fe45aec24..1981d6c95c0 100644 --- a/Master/texmf-dist/doc/latex/pdfmanagement-testphase/l3pdffield-action.pdf +++ b/Master/texmf-dist/doc/latex/pdfmanagement-testphase/l3pdffield-action.pdf diff --git a/Master/texmf-dist/doc/latex/pdfmanagement-testphase/l3pdffield-checkbox.pdf b/Master/texmf-dist/doc/latex/pdfmanagement-testphase/l3pdffield-checkbox.pdf Binary files differindex 3ce7e4651f9..1b9850003eb 100644 --- a/Master/texmf-dist/doc/latex/pdfmanagement-testphase/l3pdffield-checkbox.pdf +++ b/Master/texmf-dist/doc/latex/pdfmanagement-testphase/l3pdffield-checkbox.pdf diff --git a/Master/texmf-dist/doc/latex/pdfmanagement-testphase/l3pdffield-choice.pdf b/Master/texmf-dist/doc/latex/pdfmanagement-testphase/l3pdffield-choice.pdf Binary files differindex f2fe192ac03..f17a26c1b89 100644 --- a/Master/texmf-dist/doc/latex/pdfmanagement-testphase/l3pdffield-choice.pdf +++ b/Master/texmf-dist/doc/latex/pdfmanagement-testphase/l3pdffield-choice.pdf diff --git a/Master/texmf-dist/doc/latex/pdfmanagement-testphase/l3pdffield-pushbutton.pdf b/Master/texmf-dist/doc/latex/pdfmanagement-testphase/l3pdffield-pushbutton.pdf Binary files differindex fc5114da30d..f6a8c91e702 100644 --- a/Master/texmf-dist/doc/latex/pdfmanagement-testphase/l3pdffield-pushbutton.pdf +++ b/Master/texmf-dist/doc/latex/pdfmanagement-testphase/l3pdffield-pushbutton.pdf diff --git a/Master/texmf-dist/doc/latex/pdfmanagement-testphase/l3pdffield-radiobutton.pdf b/Master/texmf-dist/doc/latex/pdfmanagement-testphase/l3pdffield-radiobutton.pdf Binary files differindex d182341ccaa..dcbce59fbfe 100644 --- a/Master/texmf-dist/doc/latex/pdfmanagement-testphase/l3pdffield-radiobutton.pdf +++ b/Master/texmf-dist/doc/latex/pdfmanagement-testphase/l3pdffield-radiobutton.pdf diff --git a/Master/texmf-dist/doc/latex/pdfmanagement-testphase/l3pdffield-textfield.pdf b/Master/texmf-dist/doc/latex/pdfmanagement-testphase/l3pdffield-textfield.pdf Binary files differindex c1968b575e2..1551733a91d 100644 --- a/Master/texmf-dist/doc/latex/pdfmanagement-testphase/l3pdffield-textfield.pdf +++ b/Master/texmf-dist/doc/latex/pdfmanagement-testphase/l3pdffield-textfield.pdf diff --git a/Master/texmf-dist/doc/latex/pdfmanagement-testphase/l3pdffield.pdf b/Master/texmf-dist/doc/latex/pdfmanagement-testphase/l3pdffield.pdf Binary files differindex 914e4d07b3a..395c405a567 100644 --- a/Master/texmf-dist/doc/latex/pdfmanagement-testphase/l3pdffield.pdf +++ b/Master/texmf-dist/doc/latex/pdfmanagement-testphase/l3pdffield.pdf diff --git a/Master/texmf-dist/doc/latex/pdfmanagement-testphase/l3pdffile.pdf b/Master/texmf-dist/doc/latex/pdfmanagement-testphase/l3pdffile.pdf Binary files differindex 3cd861c5579..ec0b0616e81 100644 --- a/Master/texmf-dist/doc/latex/pdfmanagement-testphase/l3pdffile.pdf +++ b/Master/texmf-dist/doc/latex/pdfmanagement-testphase/l3pdffile.pdf diff --git a/Master/texmf-dist/doc/latex/pdfmanagement-testphase/l3pdfmanagement.pdf b/Master/texmf-dist/doc/latex/pdfmanagement-testphase/l3pdfmanagement.pdf Binary files differindex 59b16275942..8f126de6159 100644 --- a/Master/texmf-dist/doc/latex/pdfmanagement-testphase/l3pdfmanagement.pdf +++ b/Master/texmf-dist/doc/latex/pdfmanagement-testphase/l3pdfmanagement.pdf diff --git a/Master/texmf-dist/doc/latex/pdfmanagement-testphase/l3pdfmeta.pdf b/Master/texmf-dist/doc/latex/pdfmanagement-testphase/l3pdfmeta.pdf Binary files differindex e9aedc14cf7..9a5de671748 100644 --- a/Master/texmf-dist/doc/latex/pdfmanagement-testphase/l3pdfmeta.pdf +++ b/Master/texmf-dist/doc/latex/pdfmanagement-testphase/l3pdfmeta.pdf diff --git a/Master/texmf-dist/doc/latex/pdfmanagement-testphase/l3pdftools.pdf b/Master/texmf-dist/doc/latex/pdfmanagement-testphase/l3pdftools.pdf Binary files differindex 8710b7d3769..88abccd671e 100644 --- a/Master/texmf-dist/doc/latex/pdfmanagement-testphase/l3pdftools.pdf +++ b/Master/texmf-dist/doc/latex/pdfmanagement-testphase/l3pdftools.pdf diff --git a/Master/texmf-dist/doc/latex/pdfmanagement-testphase/l3pdfxform.pdf b/Master/texmf-dist/doc/latex/pdfmanagement-testphase/l3pdfxform.pdf Binary files differindex 3e4df1cbe1d..2debc154943 100644 --- a/Master/texmf-dist/doc/latex/pdfmanagement-testphase/l3pdfxform.pdf +++ b/Master/texmf-dist/doc/latex/pdfmanagement-testphase/l3pdfxform.pdf diff --git a/Master/texmf-dist/doc/latex/pdfmanagement-testphase/ltdocinit.pdf b/Master/texmf-dist/doc/latex/pdfmanagement-testphase/ltdocinit.pdf Binary files differindex e4c849da168..7bfd5bb36b2 100644 --- a/Master/texmf-dist/doc/latex/pdfmanagement-testphase/ltdocinit.pdf +++ b/Master/texmf-dist/doc/latex/pdfmanagement-testphase/ltdocinit.pdf diff --git a/Master/texmf-dist/doc/latex/pdfmanagement-testphase/pdfmanagement-firstaid.pdf b/Master/texmf-dist/doc/latex/pdfmanagement-testphase/pdfmanagement-firstaid.pdf Binary files differindex 39a84280bcb..8c4d7d88cb3 100644 --- a/Master/texmf-dist/doc/latex/pdfmanagement-testphase/pdfmanagement-firstaid.pdf +++ b/Master/texmf-dist/doc/latex/pdfmanagement-testphase/pdfmanagement-firstaid.pdf diff --git a/Master/texmf-dist/doc/latex/pdfmanagement-testphase/pdfmanagement-testphase.pdf b/Master/texmf-dist/doc/latex/pdfmanagement-testphase/pdfmanagement-testphase.pdf Binary files differindex 3c816a8e5c9..f2dc6282dbd 100644 --- a/Master/texmf-dist/doc/latex/pdfmanagement-testphase/pdfmanagement-testphase.pdf +++ b/Master/texmf-dist/doc/latex/pdfmanagement-testphase/pdfmanagement-testphase.pdf diff --git a/Master/texmf-dist/doc/latex/pdfx/pdfx.pdf b/Master/texmf-dist/doc/latex/pdfx/pdfx.pdf Binary files differindex 86e447b2830..140c496d529 100644 --- a/Master/texmf-dist/doc/latex/pdfx/pdfx.pdf +++ b/Master/texmf-dist/doc/latex/pdfx/pdfx.pdf diff --git a/Master/texmf-dist/doc/latex/pdfx/pdfx.xmpdata b/Master/texmf-dist/doc/latex/pdfx/pdfx.xmpdata deleted file mode 100644 index 66eb6446350..00000000000 --- a/Master/texmf-dist/doc/latex/pdfx/pdfx.xmpdata +++ /dev/null @@ -1,33 +0,0 @@ -\Title{Generation of PDF/X- and PDF/A-compliant PDFs with pdfTeX \textemdash\ pdfx.sty} -\Author{\CVR\sep \Thanh\sep Ross Moore\sep Peter Selinger} -\Subject{This package supports generation of PDF/X-, PDF/A- and PDF/E-compliant documents, in most of their variants, using pdfLaTeX, LuaLaTeX and XeLaTeX.} -\Keywords{PDF/X-, PDF/A- and PDF/E-compliance\sep Multilingual Metadata\sep installation\sep \TeX Live \thisyear} -\PublicationType{manual} -\Contributor{Norbert Preining: 'colorprofiles' package} -\Copyright{Public domain.} -\Copyrighted{False} -\CopyrightURL{http://tug.org/texlive/} -\CoverDisplayDate{March \thisyear} -\CoverDate{\thisyear-03-10} -\CreatorTool{LaTeX + pdfx.sty with option \pdfxopt, from TeX Live \thisyear} -\Date{2017-05-18\sep 2017-06-23\sep 2018-11-29\sep 2018-12-22\sep 2019-02-08\sep 2019-03-10} -\Advisory{An earlier version of this documentation was published as: TUGboat 36, No.2, pp.136\textendash 142 (2015)} -\Advisory{v1.6: Added XMP support for PDF/UA-1. Added more Metadata fields and Language support.} -\Advisory{v1.6: Default RGB and CMYK profiles now require the colorprofiles.sty package.} -\Relation{Requires the colorprofiles package for RGB and CMYK default profiles.} -\Advisory{v1.6: Access more profiles, incl. to pdfaPilot's color profile folders.} -\Advisory{v1.6: Revised glyphtounicode.sty to use variation selectors.} -\Advisory{v1.6: altered maps to PUA codepoints.} -\Advisory{v1.6: added more glyphs via glyphtounicode-ntx.tex } -\Advisory{v1.6: Support for 8-bit Hebrew encodings, some Arabic and Devanagari.} -\Advisory{v1.6: Updated documentation, incl. for LaTeX changes.} -\Advisory{v1.6.1: Fixed issue with ifthen package; improved Metadata with LuaTeX and XeTeX.} -\Advisory{v.1.6.1: Flexibility with page boxes for PDF/X.} -\Advisory{v.1.6.2: Fixed passing of options to xcolor, and some glyphtounicode values.} -\Advisory{v.1.6.2: Fixed encoding issue. Extra warning when colorprofiles.tex is missing.} -\Advisory{v.1.6.3: Properly fixed encoding issue; supports \string\pdfomitcharset\ primitive.} -\Advisory{v.1.6.3: Reference to veraPDF validation software; additions to glyphtounicode-ntx.tex.} -\Advisory{v.1.6.3: Patched \string\mathaccentV\ to output accents after the base character.} -\pdfxEnableCommands{% - \def\CVR{C.V. Radhakrishnan}\def\Thanh{H\`an Th\eee Thanh}% - \def\eee{^^c3^^aa^^cc^^81 }} diff --git a/Master/texmf-dist/doc/latex/pgf-periodictable/README b/Master/texmf-dist/doc/latex/pgf-periodictable/README index f33f53fa726..f761cd24392 100644 --- a/Master/texmf-dist/doc/latex/pgf-periodictable/README +++ b/Master/texmf-dist/doc/latex/pgf-periodictable/README @@ -1,4 +1,4 @@ -This is pgf-PeriodicTable, version 2.1.0a (2024/04/03). +This is pgf-PeriodicTable, version 2.1.3 (2024/08/07). The purpose of this package is to provide the Periodic Table of Elements in a simple way. It relies on pgf/TikZ to offer a full or partial periodic table with @@ -22,6 +22,20 @@ ____________________________________________________________ Major changes: +*** v2.1.3 (07/08/2024) *** +The engine's detection mechanism (pdfLaTeX, LuaLaTeX or XeTeX) has been changed to prevent erroneous detection when the packages 'hyperref' or 'bookmark' are loaded and the document is compiled with LuaLaTeX - in this case, pgf-PeriodicTable disturbs the selection of the document font. +Fixed an issue with the Chemical Symbol color when a non-rgb color is used, such as cyan or yellow , which are defined in the xcolor package using the cmyk model (when loaded without options). + +*** v2.1.2 (01/08/2024) *** +Fixed incorrect Spanish translations of some element names. +Minor code improvements to eliminate runtime warnings («LaTeX Font Warning: Font shape `TU/TeXGyreHeros(0)/l/n' undefined» or «Missing character: There is no m (U+006D) in font nullfont!» ... ) + +*** v2.1.1 (07/07/2024) *** +New keys: +- group numbers (to display group numbers in arabic numerals, Roman numerals or both) +- Roman label color (sets the color of the Roman numerals) +- O Roman (the oxidation numbers are presnted in Roman numerals) + *** v2.1.0a (03/04/2024) *** Translation files have been renamed from 'lang.{undefined,nl}.tex' to 'pgfPT.lang.{undefined,nl}.tex' to match the runtime tree of TeX Live (names must be globally unique for reliable searching). diff --git a/Master/texmf-dist/doc/latex/pgf-periodictable/manualfiles/pgf-PeriodicTableManual_O.tex b/Master/texmf-dist/doc/latex/pgf-periodictable/manualfiles/pgf-PeriodicTableManual_O.tex new file mode 100644 index 00000000000..06f322d5eef --- /dev/null +++ b/Master/texmf-dist/doc/latex/pgf-periodictable/manualfiles/pgf-PeriodicTableManual_O.tex @@ -0,0 +1,33 @@ +\vfill% +\subsubsection{\texorpdfstring{\ding{224} The oxidation states}{The oxidation states}}%\vspace{6pt}% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% O color +\pgfPTMoption{4}{O color}{black}{% +Sets the color of the oxidation states. +} +\\ [10pt]\pgfPTMbuildcell(5,3)[(1;1-2;Z),(1;3;radio),(2-3;1.5-3.5;CS),(4;1-3;name),(5;1-3;O)]% +\pgfPTbuildcell(5,3)[(1;1-2;Z),(1;3;radio),(2-3;1.5-3.5;CS),(4;1-3;name),(5;1-3;O)]% +\\ [5pt]\pgfPTMmacrobox{pgfPTstyle}[show title=false]% +\pgfPTstyle[show title=false]% +\\ [-1pt]\pgfPTMmacrobox{pgfPT}[Z list={1,...,36},O color=red]% +\\ [5pt]\makebox[\linewidth][c]{\scalebox{.6}{\pgfPT[Z list={1,...,36},O color=red]}}% +\\ [0pt]\pgfPTendoption% +% O font \tiny\bfseries +\pgfPTMoption{4}{O font}{\string\tiny\string\bfseries}{% +Sets the font of the oxidation states. +} +\\ [5pt]\pgfPTMmacrobox{pgfPT}[Z list={1,...,36},O font=\string\itshape\string\tiny]% +\\ [5pt]\makebox[\linewidth][c]{\scalebox{.6}{\pgfPT[Z list={1,...,36},O font=\itshape\tiny]}}% +\\ [0pt]\pgfPTendoption% +% O Roman +\newpage\vspace{-34pt}\ % +\pgfPTMoption[\mbox{\pgfPTnewinversion{2.1.1}}]{4}{O Roman}{false}{% +When set to \red{true} the oxidation states are displayed in Roman numerals, otherwise they are displayed in arabic numerals. +} +%\\ [5pt]\pgfPTMmacrobox{pgfPT}[Z list={1,...,36},O Roman]% +%\\ [5pt]\makebox[\linewidth][c]{\scalebox{.6}{\pgfPT[Z list={1,...,36},O Roman]}}% +\\ [5pt]\pgfPTMmacrobox{pgfPT}[Z list=spd,O Roman,group numbers=CAS]% +\\ [5pt]\makebox[\linewidth][c]{\scalebox{.6}{\pgfPT[Z list=spd,O Roman,group numbers=CAS]}}% +\\ [5pt]\pgfPTendoption% +\pgfPTresetcell% +\endinput diff --git a/Master/texmf-dist/doc/latex/pgf-periodictable/manualfiles/pgf-PeriodicTableManual_OtherCont.tex b/Master/texmf-dist/doc/latex/pgf-periodictable/manualfiles/pgf-PeriodicTableManual_OtherCont.tex index e74b8bf418f..c90a4cae942 100644 --- a/Master/texmf-dist/doc/latex/pgf-periodictable/manualfiles/pgf-PeriodicTableManual_OtherCont.tex +++ b/Master/texmf-dist/doc/latex/pgf-periodictable/manualfiles/pgf-PeriodicTableManual_OtherCont.tex @@ -12,7 +12,7 @@ For all the \textit{other contents} available for the cells of the periodic tabl \item\red{\textbf{Ei}}:\hspace{.5ex}first ionization energy \item\red{\textbf{eneg}}:\hspace{.5ex}electronegativity (Pauling) \item\red{\textbf{eaff}}:\hspace{.5ex}electroaffnity -\item\red{\textbf{O}}:\hspace{.5ex}oxidation states +%\item\red{\textbf{O}}:\hspace{.5ex}oxidation states \item\red{\textbf{Tmelt}}:\hspace{.5ex}melting point (Kelvin) \item\red{\textbf{TmeltC}}:\hspace{.5ex}melting point (Celsius degrees) \item\red{\textbf{Tboil}}:\hspace{.5ex}boiling point (Kelvin) diff --git a/Master/texmf-dist/doc/latex/pgf-periodictable/manualfiles/pgf-PeriodicTableManual_density.tex b/Master/texmf-dist/doc/latex/pgf-periodictable/manualfiles/pgf-PeriodicTableManual_density.tex index 2a33c0371e8..511bd765c69 100644 --- a/Master/texmf-dist/doc/latex/pgf-periodictable/manualfiles/pgf-PeriodicTableManual_density.tex +++ b/Master/texmf-dist/doc/latex/pgf-periodictable/manualfiles/pgf-PeriodicTableManual_density.tex @@ -14,28 +14,28 @@ Sets the density value text color.} \pgfPTMoption{4}{d font}{\string\tiny\string\bfseries}{% Sets the density value text font. } -\\ [5pt]\pgfPTMmacrobox{pgfPT}[Z list={1,...,36},cell style=myd,show title=false]% -\\ [5pt]\makebox[\linewidth][c]{\scalebox{.6}{\pgfPT[Z list={1,...,36},Z list={1,...,36},cell style=myd,show title=false]}}% -\\ [10pt]\pgfPTMmacrobox{pgfPT}[Z list={1,...,36},cell style=myd,show title=false,d font=\string\tiny\string\itshape]% +%\\ [5pt]\pgfPTMmacrobox{pgfPT}[Z list={1,...,36},cell style=myd,show title=false]% +%\\ [5pt]\makebox[\linewidth][c]{\scalebox{.6}{\pgfPT[Z list={1,...,36},Z list={1,...,36},cell style=myd,show title=false]}}% +\\ [5pt]\pgfPTMmacrobox{pgfPT}[Z list={1,...,36},cell style=myd,show title=false,d font=\string\tiny\string\itshape]% \\ [5pt]\makebox[\linewidth][c]{\scalebox{.6}{\pgfPT[Z list={1,...,36},Z list={1,...,36},cell style=myd,show title=false,d font=\tiny\itshape]}}% \\ [0pt]\pgfPTendoption% -% d unit=<g/cm3|g/dm3|both> .default=g/dm3 \vfill% +% d unit=<g/cm3|g/dm3|both> .default=g/dm3 \pgfPTMoption[\pgfPTnewinversion{1.0.1}]{4}{d unit}{both}{% Sets the unit for the density of the elements. The two possible values to this key are \red{g/dm3} ($\mathsf{g/dm^3}$), \red{g/cm3} ($\mathsf{g/cm^3}$) and \red{both} ($\mathsf{g/dm^3}$ for elements in the gaseous state and $\mathsf{g/cm^3}$ for all other elements). }% \\ [5pt]\pgfPTMmacrobox{pgfPT}[Z list={1,...,36},cell style=myd,show title=false]% -\\ [10pt]\makebox[\linewidth][c]{\scalebox{.6}{\pgfPT[Z list={1,...,36},cell style=myd,show title=false]}}% +\\ [5pt]\makebox[\linewidth][c]{\scalebox{.6}{\pgfPT[Z list={1,...,36},cell style=myd,show title=false]}}% \\ [5pt]\pgfPTMmacrobox{pgfPT}[Z list={1,...,36},cell style=myd,show title=false,d unit=g/cm3]% -\\ [10pt]\makebox[\linewidth][c]{\scalebox{.6}{\pgfPT[Z list={1,...,36},cell style=myd,show title=false,d unit=g/cm3]}}% +\\ [5pt]\makebox[\linewidth][c]{\scalebox{.6}{\pgfPT[Z list={1,...,36},cell style=myd,show title=false,d unit=g/cm3]}}% \\ [5pt]\pgfPTMmacrobox{pgfPT}[Z list={1,...,36},cell style=myd,show title=false,d unit=g/dm3]% -\\ [10pt]\makebox[\linewidth][c]{\scalebox{.6}{\pgfPT[Z list={1,...,36},cell style=myd,show title=false,d unit=g/dm3]}}% +\\ [5pt]\makebox[\linewidth][c]{\scalebox{.6}{\pgfPT[Z list={1,...,36},cell style=myd,show title=false,d unit=g/dm3]}}% \\ [0pt]\pgfPTendoption% -\vfill\newpage\ \\ [-32pt]% +\newpage\ \\ [-32pt]% % d precision \pgfPTMoption{4}{d precision}{-1}{% Sets the density precision, \ie, the decimal places displayed in their value, performing the respective rounding, without zero padding the value. -\\ [10pt]\tikz{\node[text width=\linewidth-.6666em,fill=orange!5!white,draw=orange,rounded corners=2pt] {\textbf{\red{NOTE}}:\\ Rounding is performed over density values witch actually have a maximum 5 or 8 decimal places, when the values are in $\mathsf{g/dm^3}$ or in $\mathsf{g/cm^3}$, respectively.. So giving this key a value of -1 (the value of the melting or boiling point as-is) or 5 or 8 has the same effect. +\\ [10pt]\tikz{\node[text width=\linewidth-.6666em,fill=orange!5!white,draw=orange,rounded corners=2pt] {\textbf{\red{NOTE}}:\\ Rounding is performed over density values witch actually have a maximum 5 or 8 decimal places, when the values are in $\mathsf{g/dm^3}$ or in $\mathsf{g/cm^3}$, respectively.. So giving this key a value of -1 (the value of the density as-is) or 5 or 8 has the same effect. \\ \textit{Therefore the values provided to this key should be any integer between -1 and 4 ($\mathsf{g/dm^3}$) or 7 ($\mathsf{g/cm^3}$). Any other integer provided will be processed as -1.}};} } \vfill%\\ [10pt] diff --git a/Master/texmf-dist/doc/latex/pgf-periodictable/manualfiles/pgf-PeriodicTableManual_name.tex b/Master/texmf-dist/doc/latex/pgf-periodictable/manualfiles/pgf-PeriodicTableManual_name.tex index 78f81788265..0fcc955dd20 100644 --- a/Master/texmf-dist/doc/latex/pgf-periodictable/manualfiles/pgf-PeriodicTableManual_name.tex +++ b/Master/texmf-dist/doc/latex/pgf-periodictable/manualfiles/pgf-PeriodicTableManual_name.tex @@ -11,7 +11,7 @@ Sets the color of the element name. \\ [5pt]\makebox[\linewidth][c]{\scalebox{.6}{\pgfPT[Z list={1,...,36},name color=red]}}% \\ [0pt]\pgfPTendoption% % name font -\pgfPTMoption{4}{name font}{\string\fontseries\{l\}\string\selectfont\string\tiny}{% +\pgfPTMoption{4}{name font}{\string\tiny}{% \string\fontseries\{l\}\string\selectfont (removed @v2.1.2) Sets the font of the element name. } \\ [5pt]\pgfPTMmacrobox{pgfPT}[Z list={1,...,36},name font=\string\itshape\string\tiny]% diff --git a/Master/texmf-dist/doc/latex/pgf-periodictable/manualfiles/pgf-PeriodicTableManual_periodgroup.tex b/Master/texmf-dist/doc/latex/pgf-periodictable/manualfiles/pgf-PeriodicTableManual_periodgroup.tex index 59e27e553e5..ff09b0b2e16 100644 --- a/Master/texmf-dist/doc/latex/pgf-periodictable/manualfiles/pgf-PeriodicTableManual_periodgroup.tex +++ b/Master/texmf-dist/doc/latex/pgf-periodictable/manualfiles/pgf-PeriodicTableManual_periodgroup.tex @@ -1,4 +1,3 @@ -%\vfill\vfill% \subsubsection{\texorpdfstring{\ding{224} Periods and Groups}{Periods and Groups}}%\vspace{6pt}% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % show period numbers @@ -10,17 +9,38 @@ \\ [10pt]\pgfPTMmacrobox{pgfPT}[Z list={1,...,36},show period numbers=false]% \\ [5pt]\makebox[\linewidth][c]{\scalebox{.6}{\pgfPT[Z list={1,...,36},show period numbers=false]}}% \\ [5pt]\pgfPTendoption% -%\vfill% -%\newpage\ \\ [-32pt]% % show group numbers \label{option_show group numbers}% \pgfPTMoption{4}{show group numbers}{true}% {When set to \red{true} the group numbers are shown, otherwise they are not shown.}% \\ [5pt]\pgfPTMmacrobox{pgfPT}[Z list={1,...,36}]% -\\ [10pt]\makebox[\linewidth][c]{\scalebox{.6}{\pgfPT[Z list={1,...,36}]}}% +\\ [5pt]\makebox[\linewidth][c]{\scalebox{.6}{\pgfPT[Z list={1,...,36}]}}% \\ [10pt]\pgfPTMmacrobox{pgfPT}[Z list={1,...,36},show group numbers=false]% -\\ [10pt]\makebox[\linewidth][c]{\scalebox{.6}{\pgfPT[Z list={1,...,36},show group numbers=false]}}% -\\ [5pt]\pgfPTendoption% +\\ [5pt]\makebox[\linewidth][c]{\scalebox{.6}{\pgfPT[Z list={1,...,36},show group numbers=false]}}% +\\ [0pt]\pgfPTendoption% +\vfill% +% group numbers +\label{option_group numbers}% +\pgfPTMoption[\pgfPTnewinversion{2.1.1}]{4}{group numbers}{arabic}% +{This key controls how group numbering is displayed: +\vspace{4pt}\begin{itemlist} +\item\red{\textbf{arabic}}: group numbers are shown in arabic numerals as recommended by IUPAC since 1988. +\item\red{\textbf{CAS}}: group numbers are shown in Roman numerals and `A' or `B' suffix. This is an older naming scheme, used by the Chemical Abstract Service (CAS), more popular in the United States. +\item\red{\textbf{IUPAC}}: group numbers are shown in Roman numerals and `A' or `B' suffix. This is an older naming scheme, used by IUPAC before 1988, more popular in Europe. +\item\red{\textbf{CAS*}}: combines the option \red{CAS} and \red{arabic}. Roman numerals and `A' or `B' suffix are above the group and the arabic numerals above them. +\item\red{\textbf{IUPAC*}}: combines the option \red{IUPAC} and \red{arabic}. Roman numerals and `A' or `B' suffix are above the group and the arabic numerals above them. +\end{itemlist} +}% +\\ [5pt]\pgfPTMmacrobox{pgfPT}[Z list={1,...,36},group numbers=CAS]% +\\ [5pt]\makebox[\linewidth][c]{\scalebox{.6}{\pgfPT[Z list={1,...,36},group numbers=CAS]}}% +\newpage\vspace{-34pt}\ %\\ [10pt] +\pgfPTMmacrobox{pgfPT}[Z list={1,...,36},group numbers=IUPAC]% +\\ [5pt]\makebox[\linewidth][c]{\scalebox{.6}{\pgfPT[Z list={1,...,36},group numbers=IUPAC]}}% +\\ [10pt]\pgfPTMmacrobox{pgfPT}[Z list={1,...,36},group numbers=CAS*]% +\\ [5pt]\makebox[\linewidth][c]{\scalebox{.6}{\pgfPT[Z list={1,...,36},group numbers=CAS*]}}% +\\ [10pt]\pgfPTMmacrobox{pgfPT}[Z list={1,...,36},group numbers=IUPAC*]% +\\ [5pt]\makebox[\linewidth][c]{\scalebox{.6}{\pgfPT[Z list={1,...,36},group numbers=IUPAC*]}}% +\\ [0pt]\pgfPTendoption% \vfill% % period label color \label{option_period label color}% @@ -28,19 +48,26 @@ {Sets the period label color.}% \\ [5pt]\pgfPTMmacrobox{pgfPT}[Z list={1,...,36},period label color=black]% \\ [10pt]\makebox[\linewidth][c]{\scalebox{.6}{\pgfPT[Z list={1,...,36},period label color=black]}}% -\\ [5pt]\pgfPTendoption% -\vfill% -%\newpage\ \\ [-32pt]% +\\ [0pt]\pgfPTendoption% +\newpage\vspace{-34pt}\ %\vfill% % group label color \label{option_group label color}% \pgfPTMoption{4}{group label color}{blue!50!black}% {Sets the group label color.}% -\vfill% -\newpage%\\ [5pt] -\pgfPTMmacrobox{pgfPT}[Z list={1,...,36},group label color=black]% +\\ [5pt]\pgfPTMmacrobox{pgfPT}[Z list={1,...,36},group label color=black]% \\ [10pt]\makebox[\linewidth][c]{\scalebox{.6}{\pgfPT[Z list={1,...,36},group label color=black]}}% \\ [0pt]\pgfPTendoption% \vfill% +% Roman label color +\label{option_Roman label color}% +\pgfPTMoption[\pgfPTnewinversion{2.1.1}]{4}{Roman label color}{blue!70!black}% +{Sets the Roman group label color.}% +\\ [5pt]\pgfPTMmacrobox{pgfPT}[Z list={1,...,36},group numbers=CAS*,Roman label color=purple]% +\\ [10pt]\makebox[\linewidth][c]{\scalebox{.6}{\pgfPT[Z list={1,...,36},group numbers=CAS*,Roman label color=purple]}}% +\\ [5pt]\pgfPTMmacrobox{pgfPT}[Z list={1,...,36},group numbers=CAS*,Roman label color=purple, group label color=teal]% +\\ [10pt]\makebox[\linewidth][c]{\scalebox{.6}{\pgfPT[Z list={1,...,36},group numbers=CAS*,Roman label color=purple,group label color=teal]}}% +\\ [0pt]\pgfPTendoption% +\vfill% % label font \label{option_label font}% \pgfPTMoption{4}{label font}{\string\small\string\bfseries}% @@ -62,7 +89,6 @@ The key \red{show period numbers} is set to \red{true}. \\ [10pt]\makebox[\linewidth][c]{\scalebox{.6}{\pgfPT[Z list={1,...,36},per={gr=false,c=green!50!black}]}}% \\ [0pt]\pgfPTendstyle% \vfill% -%\newpage\ \\ [-32pt]% % gr={per=??,c=??,f=??} -> auto sets 'show groups numbers=true'; 'show period numbers' can be set to 'false' by the user % gr/.default={per=true,c=blue!50!black,f=\small\bfseries} % gr (pseudo style) @@ -72,11 +98,10 @@ The key \red{show period numbers} is set to \red{true}. The key \red{show group numbers} is set to \red{true}. \\ [3pt]\makebox[\linewidth][c]{\use{gr=\{per=<true|false>,c=<color>,f=<font commands>\}}}% }% -\vfill% -\newpage%\\ [5pt] -\pgfPTMmacrobox{pgfPT}[Z list={1,...,36},gr={per=false,c=green!50!black}]% +\\ [5pt]\pgfPTMmacrobox{pgfPT}[Z list={1,...,36},gr={per=false,c=green!50!black}]% \\ [10pt]\makebox[\linewidth][c]{\scalebox{.6}{\pgfPT[Z list={1,...,36},gr={per=false,c=green!50!black}]}}% \\ [0pt]\pgfPTendstyle% +\newpage\vspace{-34pt}\ %% % per+gr={c=??,pc=??,gc=??,f=??} -> auto sets 'show period numbers=true' & 'show groups numbers=true' % per+gr/.default={pc=red!50!black,gc=blue!50!black,f=\small\bfseries} % per+gr (pseudo style) diff --git a/Master/texmf-dist/doc/latex/pgf-periodictable/manualfiles/pgfPTmanual.macros.tex b/Master/texmf-dist/doc/latex/pgf-periodictable/manualfiles/pgfPTmanual.macros.tex index 70d6e325ca6..f53b6659cee 100644 --- a/Master/texmf-dist/doc/latex/pgf-periodictable/manualfiles/pgfPTmanual.macros.tex +++ b/Master/texmf-dist/doc/latex/pgf-periodictable/manualfiles/pgfPTmanual.macros.tex @@ -1,12 +1,15 @@ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Definitions for pgf-PeriodicTable Manual -% Hugo Gomes @ 04/03/2024 v2.1.0a +% Hugo Gomes @ 07/08/2024 v2.1.3 +% Hugo Gomes @ 01/08/2024 v2.1.2 +% Hugo Gomes @ 07/07/2024 v2.1.1 +% Hugo Gomes @ 03/04/2024 v2.1.0a % Hugo Gomes @ 14/02/2024 v2.1.0 % Hugo Gomes @ 29/05/2023 v2.0.1 % Hugo Gomes @ 20/02/2023 v2.0.0 % Hugo Gomes @ 08/11/2022 v1.0.1 % Hugo Gomes @ 10/10/2022 v1.0.0 -\def\pgfPTversion{2.1.0a}% +\def\pgfPTversion{2.1.3}% \def\pgfPTnewinversion#1{new in v#1}% \def\pgfPTchangedinversion#1{changed in v#1}% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -21,31 +24,6 @@ \setcounter{secnumdepth}{1}% \setcounter{tocdepth}{4} % -\makeatletter% -\global\renewcommand\thesection{}% -\renewcommand\thesubsection{\@arabic\c@subsection}% -\renewcommand\section{\@startsection{section}{1}{\z@}% - {-3.5ex \@plus -1ex \@minus -.2ex}% - {2.3ex \@plus.2ex}% - {\hskip-1.4395em\normalfont\Large\bfseries}}% -\renewcommand*\l@section[2]{% - \ifnum \c@tocdepth >\z@% - \addpenalty\@secpenalty% - \addvspace{1.0em \@plus\p@}% - \setlength\@tempdima{0em}% - \begingroup% - \parindent \z@ \rightskip \@pnumwidth% - \parfillskip -\@pnumwidth% - \leavevmode \bfseries% - \advance\leftskip\@tempdima% - \hskip -\leftskip% - #1\nobreak\hfil \nobreak\hb@xt@\@pnumwidth{\hss #2}\par% - \endgroup% - \fi}% -\renewcommand*\l@subsection{\@dottedtocline{2}{1.5em}{1.5em}}% -\renewcommand*\l@subsubsection{\@dottedtocline{3}{3.0em}{2.4em}}% -\renewcommand*\l@paragraph{\@dottedtocline{4}{4.25em}{1.35em}}% -\makeatother% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \pgfdeclarelayer{back}% \pgfsetlayers{back,main}% diff --git a/Master/texmf-dist/doc/latex/pgf-periodictable/pgf-PeriodicTableManual.pdf b/Master/texmf-dist/doc/latex/pgf-periodictable/pgf-PeriodicTableManual.pdf Binary files differindex 7c0b250d7c0..e8c9672259b 100644 --- a/Master/texmf-dist/doc/latex/pgf-periodictable/pgf-PeriodicTableManual.pdf +++ b/Master/texmf-dist/doc/latex/pgf-periodictable/pgf-PeriodicTableManual.pdf diff --git a/Master/texmf-dist/doc/latex/pgf-periodictable/pgf-PeriodicTableManual.tex b/Master/texmf-dist/doc/latex/pgf-periodictable/pgf-PeriodicTableManual.tex index 659f09fd727..c2b22dd9ad3 100644 --- a/Master/texmf-dist/doc/latex/pgf-periodictable/pgf-PeriodicTableManual.tex +++ b/Master/texmf-dist/doc/latex/pgf-periodictable/pgf-PeriodicTableManual.tex @@ -10,7 +10,7 @@ \date{\today} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \begin{document}% -\usefont{T1}{verdana}{m}{n}% +\usefont{T1}{vna}{m}{n} \begin{titlepage} \vspace{\stretch{1}}% \maketitle\thispagestyle{empty}% @@ -114,8 +114,8 @@ This option works with the \textrm{Xe\LaTeX} and \textrm{Lua\LaTeX} engines to t \\ [3pt]\pgfPTMline \subsection{Interaction with other packages} \subsubsection{fontspec} -To correctly set the font in each cell contents the command \bs{fontspec} must be used. For example if you want to use \textit{Arial} for the \red{name font}, it must be set using \red{font name=\bs{fontspec}\lb Arial\rb\bs{selectfont}}.\\ All other font selection commands, \eg, \bs{large}, \mbox{\bs{itshape}}, are used as usual. For example if you want to use \textit{Arial}\hfil\ in\hfil\ \textit{large}\hfil\ size\hfil\ and\hfil\ \textit{bold}\hfil\ weight\hfil\ for\hfil\ the \red{name font}, then you type -\\ \makebox[\linewidth][s]{\red{font name=\bs{large}\bs{bfseries}\bs{fontspec}\lb Arial\rb\bs{selectfont}}\hfil\ or\hfil\ \red{font name=\bs{fontspec}\lb Arial\rb}} +To correctly set the font in each cell contents the command \bs{fontspec} must be used. For example if you want to use \textit{Arial} for the \red{name font}, it must be set using \red{name font=\bs{fontspec}\lb Arial\rb\bs{selectfont}}.\\ All other font selection commands, \eg, \bs{large}, \mbox{\bs{itshape}}, are used as usual. For example if you want to use \textit{Arial}\hfil\ in\hfil\ \textit{large}\hfil\ size\hfil\ and\hfil\ \textit{bold}\hfil\ weight\hfil\ for\hfil\ the \red{name font}, then you type +\\ \makebox[\linewidth][s]{\red{name font=\bs{large}\bs{bfseries}\bs{fontspec}\lb Arial\rb\bs{selectfont}}\hfil\ or\hfil\ \red{name font=\bs{fontspec}\lb Arial\rb}} \\ \bs{large}\bs{bfseries}\bs{selectfont}. \subsubsection{ragged2e} Using \texttt{\large\textcolor{green!40!black}{\textbackslash usepackage}\textcolor{blue!70!black}{[}\textcolor{brown!60!black}{document}% @@ -203,6 +203,8 @@ The following options and styles are used for customizing the contents available \input{manualfiles/pgf-PeriodicTableManual_name.tex}% \label{file:Ar}% \input{manualfiles/pgf-PeriodicTableManual_Ar.tex}% +\label{file:O}% +\input{manualfiles/pgf-PeriodicTableManual_O.tex}% \label{file:density}% \input{manualfiles/pgf-PeriodicTableManual_density.tex}% \label{file:ls}% diff --git a/Master/texmf-dist/doc/latex/pgf-spectra/README b/Master/texmf-dist/doc/latex/pgf-spectra/README index 3f4fef79e28..12c4c6b8ada 100644 --- a/Master/texmf-dist/doc/latex/pgf-spectra/README +++ b/Master/texmf-dist/doc/latex/pgf-spectra/README @@ -1,4 +1,4 @@ -This is pgf-spectra, version 3.0.1 (27/04/2023). +This is pgf-spectra, version 3.0.1a (07/07/2024). This package provides the \pgfspectra[<options>] command which draws continuous and emission or absorption spectra for 98 elements and their ions. It was developed mainly for the writing of my own documentation and exams sheets supporting directly PDF output format. @@ -7,7 +7,7 @@ It also allows the user to draw a spectrum with their own personal data. The lines data extends from Extreme UV to Near IR (from 10 to 4000 nanometers). It is possible to redshift the lines of a spectrum, by directly entering the redshift value or the velocity and the angle to compute the redshift value. Spectral lines data can be presented in a table or exported to a file. -This package also provides color conversion (correlated color temperature), shadings for use with TikZ and/or PGFPLOTS, color maps for use with PGFPLOTS, +This package also provides color conversion (correlated color temperature), shadings for use with TikZ and/or PGFPLOTS, color maps for use with PGFPLOTS, displaying the spectral lines in a table and exporting the lines data files. ____________________________________________________________ @@ -18,13 +18,24 @@ ____________________________________________________________ ** Licence: released under the LaTeX Project Public License v1.3 or later, see http://www.latex-project.org/lppl.txt ____________________________________________________________ +*** v3.0.1a (07/07/2024) *** +Removed lines data outside the range 10nm - 4000nm (H, He, Be, C, Si, Kr, Sn, I) in LSE data file, which generate a package warning, e.g. +«Package pgf-spectra Warning: invalid wavelength (4051.1602nm). The wavelength must be lesser or equal to 4000nm (NIR)... on input line 27». +Fixed chemical symbol label width producing incorrect alignment on consecutive lines for the spectrum of some elements, e.g. +------------------------------------------------------- +\pgfspectraStyle[axis,begin=400,end=700,axis step=20,axis ticks=9,axis color=lightgray, axis font color=black,label,width=.88\textwidth,height=0.7cm] +\noindent\pgfspectra[element=Cl] + +\noindent\pgfspectra[element=Rn] +------------------------------------------------------- + *** v3.0.1 (27/04/2023) *** -Fixed a small bug dealing with the 'axis label'/'axis label text' background color, which occurred when setting a visible background with the 'back' key, e.g., +Fixed a small bug dealing with the 'axis label'/'axis label text' background color, which occurred when setting a visible background with the 'back' key, e.g., \pgfspectra[element=H,axis label text={wavenumber in nanometer},back=visible50] *** v3.0.0 (25/04/2023) *** -In the \pgfspectra command, syntax for the key 'lines' has been updated: it is now possible to specify a continuous range using 'start wavelength to end +In the \pgfspectra command, syntax for the key 'lines' has been updated: it is now possible to specify a continuous range using 'start wavelength to end wavelength', for instance, 'lines={380 to 500}' or 'lines={380 to 500,633}' or 'lines={633,555,380 to 500}'. New keys for \pgfspectra: - axis label @@ -45,12 +56,12 @@ ____________________________________________________________ Previous versions *** v2.2.0 (21/02/2023) *** -LSE data renormalized to lower values within TeX capabilities. This prevents 'Dimension too large' errors and subsequent errors in spectrum drawing when +LSE data renormalized to lower values within TeX capabilities. This prevents 'Dimension too large' errors and subsequent errors in spectrum drawing when using the 'relative intensity' key. -Added maximum intensities in IR, visible an UV ranges for both data sources (NIST and LSE). Now, when using the 'relative intensity' key, the interval of -wavelengths is detected and the respective maximum intensity is used. For example, if the spectrum is within the visible range, say between 400 and 700 -nanometers, the maximum visible intensity will be used. The same is true for ranges only in IR or UV ranges. But, if the spectrum to be drawn is in more -than one region - for example, from 300 to 1000 or from 400 to 1000 or from 300 to 700 nanometers - the maximum intensity that will be used is defined +Added maximum intensities in IR, visible an UV ranges for both data sources (NIST and LSE). Now, when using the 'relative intensity' key, the interval of +wavelengths is detected and the respective maximum intensity is used. For example, if the spectrum is within the visible range, say between 400 and 700 +nanometers, the maximum visible intensity will be used. The same is true for ranges only in IR or UV ranges. But, if the spectrum to be drawn is in more +than one region - for example, from 300 to 1000 or from 400 to 1000 or from 300 to 700 nanometers - the maximum intensity that will be used is defined as the maximum intensity of all data. Fixed some typos in the manual. diff --git a/Master/texmf-dist/doc/latex/pgf-spectra/pgf-spectraManual.pdf b/Master/texmf-dist/doc/latex/pgf-spectra/pgf-spectraManual.pdf Binary files differindex e003e00f809..a627994bbf8 100644 --- a/Master/texmf-dist/doc/latex/pgf-spectra/pgf-spectraManual.pdf +++ b/Master/texmf-dist/doc/latex/pgf-spectra/pgf-spectraManual.pdf diff --git a/Master/texmf-dist/doc/latex/pgf-spectra/pgf-spectraManual.tex b/Master/texmf-dist/doc/latex/pgf-spectra/pgf-spectraManual.tex index 16616704042..4ffb5d4c87c 100644 --- a/Master/texmf-dist/doc/latex/pgf-spectra/pgf-spectraManual.tex +++ b/Master/texmf-dist/doc/latex/pgf-spectra/pgf-spectraManual.tex @@ -20,12 +20,12 @@ \setlength{\parindent}{0pt} \setlength{\oddsidemargin}{0pt} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\def\version{3.0.1}% +\def\version{3.0.1a}% \def\inversion#1{#1}% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \usepackage[pdfstartview={ },colorlinks=true, linkcolor=black!50!green, citecolor=gray, urlcolor=teal, hyperindex, plainpages=false,bookmarksopenlevel=1,bookmarksopen=true]{hyperref}% \hypersetup{%Start options on pdf -pdftitle = {Manual for pgf-spectra (v\inversion{3.0.1})},% +pdftitle = {Manual for pgf-spectra (v\inversion{3.0.1a})},% pdfsubject = {Emission and absorption lines of the elements},% pdfkeywords = {Draw the spectrum of elements in a simple way via pgf/TikZ environment. It's possible to draw a desired spectrum, continuous or discrete.},% pdfauthor = {\textcopyright Hugo Gomes},% @@ -80,7 +80,7 @@ pdfproducer = {pdfeTeX-1.\the\pdftexversion\pdftexrevision}, \end{titlepage} \newpage% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\pagestyle{empty}% +\pagestyle{empty}\enlargethispage{\baselineskip}% \pdfbookmark[1]{Table of contents}{pdfContents}% \tableofcontents% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -97,6 +97,18 @@ pdfproducer = {pdfeTeX-1.\the\pdftexversion\pdftexrevision}, \vfill\vfill\vfill\newpage %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \section{What's new} +\vspace{-32pt}\ \subsection*{}{\normalfont\large\bfseries\raisebox{1.25pt}{$\mathbf{\blacktriangleright}$}\ In version 3.0.1a}% +\addcontentsline{toc}{subsection}{In version 3.0.1a}% +\begin{itemize} +\item Removed lines data outside the range $10\,nm$ -- $4000\,nm$ (H, He, Be, C, Si, Kr, Sn, I) in LSE data file, which generate a package warning, e.g. +\texttt{Package pgf-spectra Warning: invalid wavelength (4051.1602nm). The wavelength must be lesser or\\ equal to 4000nm (NIR)... on input line 27}. +\item Fixed chemical symbol label width producing incorrect alignment on consecutive lines for the spectrum of some elements, e.g. +\\ \makebox[\linewidth][s]{\hrulefill} +\\ \txtspecstyle[axis,begin=400,end=700,axis step=20,axis ticks=9,\\ axis color=lightgray,axis font color=black,label,width=.88\string\textwidth,height=0.7cm] +\\ \bs{noindent}\bs{pgfspectra}\lp\red{element=Cl}\rp +\\ \bs{noindent}\bs{pgfspectra}\lp\red{element=Rn}\rp +\\ \makebox[\linewidth][s]{\hrulefill} +\end{itemize} \vspace{-32pt}\ \subsection*{}{\normalfont\large\bfseries\raisebox{1.25pt}{$\mathbf{\blacktriangleright}$}\ In version 3.0.1}% \addcontentsline{toc}{subsection}{In version 3.0.1}% \begin{itemize} @@ -242,7 +254,7 @@ with the following specific keys% \pgfspectraplotshade[options]{name} \\ [10pt]According to the information on the page the listed lines are based on "Line Spectra of the Ele\-ments", Joseph Reader and Charles H. Corliss CRC Handbook of Chemistry and Physics. This book refers that The table contains the outstanding spectral lines of neutral ($I$) and singly ionized ($II$) atoms of the elements from hydrogen through plutonium ($Z=1-94$); selected strong lines from doubly ionized ($III$), triply ionized ($IV$), and quadruply ionized ($V$) atoms are also included. \\ [6pt]\makebox[66pt][s]{}\begin{minipage}{\linewidth-66pt}\color{black!70}\small Note: pst-spectra documentation refers "\textit{Line Spectra of the Elements from the Astronomical Data Center of NASA}" as the source material, but I'm assuming the original source is "\textit{Line Spectra of the Ele\-ments}"\textit{, Joseph Reader and Charles H. Corliss CRC Handbook of Chemistry and Physics}, obtained from \href{http://cdsarc.u-strasbg.fr/viz-bin/Cat?VI/16}{http://cdsarc.u-strasbg.fr/viz-bin/Cat?VI/16}.\end{minipage} \\ [12pt]\tikz{\node[text width=\linewidth-4mm,draw=purple,rounded corners=2pt,fill=black!10!purple!10,inner sep=2mm,text justified] {To use this data set load the package \pack{} with the option \verb|LSE| (acronym to Line Spectra of the Elements):% - \\ [6pt]\large\color{purple}\verb|\usepackage[LSE]{pgf-spectra}|\\ [6pt]\small\color{orange}\hfill Number of lines provided: 46065 (see file pgf-spectraDataLSE.pdf)};} + \\ [6pt]\large\color{purple}\verb|\usepackage[LSE]{pgf-spectra}|\\ [6pt]\small\color{orange}\hfill Number of lines provided: 46031 (see file pgf-spectraDataLSE.pdf)};} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \subsection{Data based on NIST} \tikz{\node[text width=\linewidth-4mm,draw=teal,rounded corners=2pt,fill=black!10,inner sep=2mm,text centered] {This set was obtained from \href{https://physics.nist.gov/PhysRefData/Handbook/Tables/findinglist.htm}{https://physics.nist.gov/PhysRefData/Handbook/Tables/findinglist.htm}};} @@ -2318,7 +2330,7 @@ colorbar horizontal,colormap access=map] \\ \header \\ [-1pt]\linhaimpar{\hyperlink{optionlib:backcolor}{back color}}{background color of the table header, of the \textit{element(s)} column, of the table border lines and of the lines between rows}{color}{black!10}{any named color or user defined color}% \\ [-1pt]\linhapar{\hyperlink{optionlib:databackcolor}{data back color}}{the background color of each data row}{color}{white}{any named color or user defined color}% -\\ [-1pt]\linhaimpar{\hyperlink{optionlib:elementscolumnwidth}{elements column width}}{the width of the \textit{element(s)} column}{length}{2.5em}{up to maximum \TeX\ dimension (16384pt)}% +\\ [-1pt]\linhaimpar{\hyperlink{optionlib:elementscolumnwidth}{elements column\vskip0pt width}}{the width of the \textit{element(s)} column}{length}{2.5em}{up to maximum \TeX\ dimension (16384pt)}% \\ [-1pt]\linhapar{\hyperlink{optionlib:textcolor}{text color}}{the color of all text in the table}{color}{black}{any named color or user defined color}% \\ [-1pt]\linhaimpar{\hyperlink{optionlib:title}{title}}{the title in the table header}{text}{<REDSHIFTED>\\ SPECTRAL LINES OF ELEMENT(S) \ldots}{}% \\ [-1pt]\linhapar{\hyperlink{optionlib:width}{width}}{the total width of the table}{length}{\textbackslash linewidth}{up to maximum \TeX\ dimension (16384pt)}% diff --git a/Master/texmf-dist/doc/latex/pgfornament/README.md b/Master/texmf-dist/doc/latex/pgfornament/README.md index 737ee2acc25..901d6554ccf 100644 --- a/Master/texmf-dist/doc/latex/pgfornament/README.md +++ b/Master/texmf-dist/doc/latex/pgfornament/README.md @@ -1,6 +1,6 @@ # pgfornament – Drawing of Vectorian ornaments with PGF/TikZ -Release 1.2 2020/05/28 +Release 1.3 2024/08/14 ## Description @@ -55,6 +55,9 @@ your LaTeX document. Documentations for `pgfornament` and `tikzrput` are available on CTAN and in your TeX distribution. ## History + +- v 1.3 Correction of bug (spurious space) by Tibor Tómács and correction of the documentation. + - v 1.2 Correction of bug (spurious space) by LianTze Lim. - v 1.00 Add the Han ornanments and some new macros. Add some examples to the documentation. Thanks to Pablo Gonzáles L to help me with "Git". diff --git a/Master/texmf-dist/doc/latex/pgfornament/ornaments.pdf b/Master/texmf-dist/doc/latex/pgfornament/ornaments.pdf Binary files differindex 6486f4e2539..46f3fe8feff 100644 --- a/Master/texmf-dist/doc/latex/pgfornament/ornaments.pdf +++ b/Master/texmf-dist/doc/latex/pgfornament/ornaments.pdf diff --git a/Master/texmf-dist/doc/latex/pgfornament/ornaments.tex b/Master/texmf-dist/doc/latex/pgfornament/ornaments.tex index c52dd63e919..2a7f4b0fc15 100644 --- a/Master/texmf-dist/doc/latex/pgfornament/ornaments.tex +++ b/Master/texmf-dist/doc/latex/pgfornament/ornaments.tex @@ -8,7 +8,7 @@ % of this license or (at your option) any later version and/or % 2. under the GNU Public License. %---------%---------%---------%---------%---------%---------%---------%--------- -% Version 1.2 2020/0 5/26 +% Version 1.3 2024/08/14 \RequirePackage{luatex85} \RequirePackage{silence} \WarningsOff[latex] @@ -137,7 +137,7 @@ urlcolor=orange} \bigskip -\noindent\pgfornament[width=0.75 cm]{152}\ (Version 1.2 2020/05/26) +\noindent\pgfornament[width=0.75 cm]{152}\ (Version 1.3 2024/08/14) \begin{abstract} This document describes the \LaTeX\ package \emph{\docpkg{pgfornament}} and presents the syntax and parameters of the macro "pgfornament". diff --git a/Master/texmf-dist/doc/latex/pgfornament/usefulcommands.tex b/Master/texmf-dist/doc/latex/pgfornament/usefulcommands.tex index 4af2421923c..4a54f9ea45a 100644 --- a/Master/texmf-dist/doc/latex/pgfornament/usefulcommands.tex +++ b/Master/texmf-dist/doc/latex/pgfornament/usefulcommands.tex @@ -5,11 +5,11 @@ \setlength{\@tempdimb}{\paperwidth-\@tempdima-1cm}% \setlength{\@tempdimc}{\paperheight-\@tempdima}% \put(\LenToUnit{\@tempdima},\LenToUnit{\@tempdimc}){% - \pgfornament[color=Maroon,anchor=north west,width=1cm]{39}} -\put(\LenToUnit{\@tempdima},\LenToUnit{\@tempdima}){% - \pgfornament[color=Maroon,anchor=south west,width=1cm,symmetry=h]{39}} + \pgfornament[color=Maroon,anchor=north west,width=1cm]{39}} \put(\LenToUnit{\@tempdimb},\LenToUnit{\@tempdimc}){% \pgfornament[color=Maroon,anchor=north east,width=1cm,symmetry=v]{39}} +\put(\LenToUnit{\@tempdima},\LenToUnit{\@tempdima}){% + \pgfornament[color=Maroon,anchor=south west,width=1cm,symmetry=h]{39}} \put(\LenToUnit{\@tempdimb},\LenToUnit{\@tempdima}){% \pgfornament[color=Maroon,anchor=south east,width=1cm,symmetry=c]{39}} \endgroup diff --git a/Master/texmf-dist/doc/latex/pgfplotsthemebeamer/DEPENDS.txt b/Master/texmf-dist/doc/latex/pgfplotsthemebeamer/DEPENDS.txt new file mode 100644 index 00000000000..1c4fa2d5936 --- /dev/null +++ b/Master/texmf-dist/doc/latex/pgfplotsthemebeamer/DEPENDS.txt @@ -0,0 +1,3 @@ +hard beamer +hard tools +hard pgfplots
\ No newline at end of file diff --git a/Master/texmf-dist/doc/latex/pgfplotsthemebeamer/README.md b/Master/texmf-dist/doc/latex/pgfplotsthemebeamer/README.md new file mode 100644 index 00000000000..47c815caaf9 --- /dev/null +++ b/Master/texmf-dist/doc/latex/pgfplotsthemebeamer/README.md @@ -0,0 +1,39 @@ +# pgfplotsthemebeamer + +[![License](https://img.shields.io/github/license/samcarter/pgfplotsthemebeamer.svg?color=blue)](http://www.latex-project.org/lppl.txt) +[![GitHub tag](https://img.shields.io/github/tag/samcarter/pgfplotsthemebeamer.svg?label=current%20version&color=blue)](https://github.com/samcarter/pgfplotsthemebeamer/releases/latest) +[![CTAN](https://img.shields.io/ctan/v/pgfplotsthemebeamer.svg?color=blue)](https://ctan.org/pkg/pgfplotsthemebeamer) + +A package for using colours from the current beamer theme in pgfplots diagrams. + +This project is licensed under the LaTeX Project Public License v1.3c or later, see http://www.latex-project.org/lppl.txt . + +The project repository, including a bug tracker, can be found at https://github.com/samcarter/pgfplotsthemebeamer/issues . + +### Usage + +```latex +\documentclass{beamer} + +\usetheme{moloch}% just as an example for a colour theme +\usepackage{pgfplotsthemebeamer} + +\begin{document} + +\begin{frame}[plain] +\centering +\begin{tikzpicture} + \begin{axis}[ + beamercolors + ] + \addplot {x}; \addplot {x-1}; \addplot {x-2}; + \addplot {x-3}; \addplot {x-4}; \addplot {x-5}; + \addplot {x-6}; \addplot {x-7}; \addplot {x-8}; + \end{axis} +\end{tikzpicture} +\end{frame} + +\end{document} +``` + +For more details, please consult the [package documentation](https://github.com/samcarter/pgfplotsthemebeamer/blob/main/DOCUMENTATION.pdf). diff --git a/Master/texmf-dist/doc/latex/pgfplotsthemebeamer/pgfplotsthemebeamer-doc-settings.sty b/Master/texmf-dist/doc/latex/pgfplotsthemebeamer/pgfplotsthemebeamer-doc-settings.sty new file mode 100644 index 00000000000..cd57229fcf4 --- /dev/null +++ b/Master/texmf-dist/doc/latex/pgfplotsthemebeamer/pgfplotsthemebeamer-doc-settings.sty @@ -0,0 +1,200 @@ +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +% Personal helper theme for package documentations +% Copyright samcarter +% +% This file may be distributed and/or modified +% under the LaTeX Project Public License 1.3c or later +% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +% Usage: +% ln ~/Life/latex/beamertheme-sam/themesam.sty package-doc-settings.sty +% \usepackage[ +% themecolor=samdblue +% ]{\jobname-settings} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +% Colours +% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\RequirePackage{xcolor} +\definecolor{samyellow}{RGB}{246,193,65} +\definecolor{samorange}{RGB}{241,147,45}% pgfplotsthemebeamer +\definecolor{samred}{RGB}{191,26,46}% TikZbricks +\definecolor{sammagenta}{RGB}{170,42,104}% TikZmarmots +\definecolor{samviolet}{RGB}{136,46,114}% TikZlings +\definecolor{samlila}{RGB}{101,67,159}% Rainbow beamer theme +\definecolor{samdblue}{RGB}{0,51,134}% beamer theme +\definecolor{samlblue}{RGB}{22,89,155}% TikZducks +\definecolor{samteal}{RGB}{25,143,157}% Tcolorbox beamer theme +\definecolor{samlgreen}{RGB}{68,170,153}% Jigsaw +\definecolor{samdgreen}{RGB}{78,178,125} +\definecolor{samlgray}{RGB}{160,160,185} +\definecolor{samdgray}{RGB}{60,60,85} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +% Package options +% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\RequirePackage{xkeyval} +\DeclareOptionX{themecolor}[samdblue]{\colorlet{themecolor}{#1}} +\DeclareOptionX{listingcolor}[samlblue]{\colorlet{listingcolor}{#1}} +\ExecuteOptionsX{themecolor,listingcolor} +\ProcessOptionsX + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +% Packages +% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\@ifclassloaded{beamer}{}{% + \RequirePackage[english]{babel} + \RequirePackage[paper=a4paper,margin=2.9cm]{geometry} + \RequirePackage{scrlayer-scrpage} + \let\hrulefillx\hrulefill + \RequirePackage[bitstream-charter]{mathdesign} + \let\hrulefill\hrulefillx + \RequirePackage[hang,flushmargin,bottom]{footmisc} + \RequirePackage{footnotehyper} + \makesavenoteenv{tcolorbox} + \RequirePackage[all]{nowidow} + \RequirePackage[colorlinks=true,breaklinks=true,allcolors=themecolor,hyperfootnotes=false]{hyperref} +} +\RequirePackage[T1]{fontenc} +\RequirePackage{xspace} +\RequirePackage{inconsolata}% mono font with bold, but italic is missing +% \RequirePackage[scale=0.85]{cascadia-code} +% \AddToHook{cmd/ttfamily/before}{\fontseries{sl}} +\RequirePackage{iexec} +\usepackage{synthslant}% to fake slented comments in inconsolata + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +% Listings +% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\RequirePackage[ + cachedir=$TMPDIR/minted/ +]{minted} + +% smuggling custom pygmentize style in cache folder +% (a real pygmentise style would need installtion in some python folder) +\begin{filecontents*}[noheader,overwrite]{./sam.pygstyle} +\makeatletter +\def\PYG@reset{\let\PYG@it=\relax \let\PYG@bf=\relax% + \let\PYG@ul=\relax \let\PYG@tc=\relax% + \let\PYG@bc=\relax \let\PYG@ff=\relax} +\def\PYG@tok#1{\csname PYG@tok@#1\endcsname} +\def\PYG@toks#1+{\ifx\relax#1\empty\else% + \PYG@tok{#1}\expandafter\PYG@toks\fi} +\def\PYG@do#1{\PYG@bc{\PYG@tc{\PYG@ul{% + \PYG@it{\PYG@bf{\PYG@ff{#1}}}}}}} +\def\PYG#1#2{\PYG@reset\PYG@toks#1+\relax+\PYG@do{#2}} + +% optional arguments +\expandafter\def\csname PYG@tok@na\endcsname{\def\PYG@tc##1{\textcolor{black}{##1}}} + +% macros +\expandafter\def\csname PYG@tok@k\endcsname{\def\PYG@tc##1{\textcolor{listingcolor}{\bfseries ##1}}} +% curly brakets +\expandafter\def\csname PYG@tok@nb\endcsname{\def\PYG@tc##1{\textcolor{listingcolor}{\bfseries ##1}}} + +% comments (italics won't work with the inconsolata font) +\expandafter\def\csname PYG@tok@c\endcsname{\def\PYG@tc##1{\textcolor{gray}{\textsynthslant{##1}}}} + +\def\PYGZbs{\char`\\} +\def\PYGZus{\char`\_} +\def\PYGZob{\char`\{} +\def\PYGZcb{\char`\}} +\def\PYGZca{\char`\^} +\def\PYGZam{\char`\&} +\def\PYGZlt{\char`\<} +\def\PYGZgt{\char`\>} +\def\PYGZsh{\char`\#} +\def\PYGZpc{\char`\%} +\def\PYGZdl{\char`\$} +\def\PYGZhy{\char`\-} +\def\PYGZsq{\char`\'} +\def\PYGZdq{\char`\"} +\def\PYGZti{\char`\~} +% for compatibility with earlier versions +\def\PYGZat{@} +\def\PYGZlb{[} +\def\PYGZrb{]} +\makeatother +\end{filecontents*} + +\iexec{mkdir -p $TMPDIR/minted && mv sam.pygstyle $TMPDIR/minted/.} + +\usemintedstyle{sam} +\setminted{ + breaksymbolleft={}, + tabsize=2, + breaklines=true, +} +\newminted[samcode]{latex}{} +\newmintinline[saminline]{latex}{} + +% use non-bold and all coloured for inline code in articles +\ifdefined\insertaspectratio\else + \patchcmd{\minted@inputpyg@inline}{\minted@input}{\color{listingcolor}\renewcommand\textcolor[3][]{##3}\renewcommand\bfseries{}\minted@input}{}{} +\fi + +\RequirePackage[most]{tcolorbox} +\tcbuselibrary{minted} +\tcbset{% + colframe=themecolor, + fonttitle=\bfseries, + sidebyside, + center lower, + righthand width=5.7cm, + bottom=2pt, + top=2pt, + left=3pt, + right=3pt, + sidebyside gap=10pt, + lower separated=false, + listing engine=minted, + minted language=latex, + colback=themecolor!10, + sharp corners, + boxrule=0pt, + before title={\strut} +} + +% avoid page breaks right in front of the tcolorbox +\@ifclassloaded{beamer}{}{ + \tcbuselibrary{hooks} + \tcbset{before pre={\nopagebreak[4]}} +} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +% document settings +% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\@ifclassloaded{scrartcl}{% + \KOMAoptions{parskip=half} + \addtokomafont{sectioning}{\color{themecolor}} + \addtokomafont{date}{\normalsize} + \addtokomafont{author}{\normalsize} + \setlength{\footnotemargin}{0.7em} +}{} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +% Custom macros +% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\providecommand*{\CTAN}{\textsc{CTAN}\xspace} +\providecommand*{\TikZ}{Ti\emph{k}Z\xspace} +\providecommand*{\miktex}{MiK\TeX\xspace} +\providecommand*{\texlive}{\TeX{}Live\xspace} +\providecommand*{\tikzbrick}{Ti\emph{k}Zbrick\xspace} +\providecommand*{\tikzducks}{Ti\emph{k}Zducks\xspace} +\providecommand*{\tikzlings}{Ti\emph{k}Zlings\xspace} +\providecommand*{\tikzmarmots}{Ti\emph{k}Zmarmots\xspace} +\providecommand*{\ConTeXt}{C\kern-.0333emon\-\kern-.0667em\TeX\kern-.0333emt}
\ No newline at end of file diff --git a/Master/texmf-dist/doc/latex/pgfplotsthemebeamer/pgfplotsthemebeamer-doc.pdf b/Master/texmf-dist/doc/latex/pgfplotsthemebeamer/pgfplotsthemebeamer-doc.pdf Binary files differnew file mode 100644 index 00000000000..a312a05245a --- /dev/null +++ b/Master/texmf-dist/doc/latex/pgfplotsthemebeamer/pgfplotsthemebeamer-doc.pdf diff --git a/Master/texmf-dist/doc/latex/pgfplotsthemebeamer/pgfplotsthemebeamer-doc.tex b/Master/texmf-dist/doc/latex/pgfplotsthemebeamer/pgfplotsthemebeamer-doc.tex new file mode 100644 index 00000000000..3beb6c99b66 --- /dev/null +++ b/Master/texmf-dist/doc/latex/pgfplotsthemebeamer/pgfplotsthemebeamer-doc.tex @@ -0,0 +1,119 @@ +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +% Documentation for the pgfplotsthemebeamer package +% Using colours from the current beamer theme in pgfplots +% Maintained by samcarter +% +% Project repository and bug tracker: +% https://github.com/samcarter/pgfplotstheme-beamer +% +% Released under the LaTeX Project Public License v1.3c or later +% See http://www.latex-project.org/lppl.txt +% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% !TeX program = txs:///arara +% arara: latexmk: { +% arara: --> engine: pdflatex, +% arara: --> options: [ +% arara: --> '-shell-escape', +% arara: --> '-synctex=1', +% arara: --> '-interaction=nonstopmode', +% arara: --> ] +% arara: --> } +\documentclass{scrartcl} + +% meta %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\title{The pgfplotsthemebeamer package} +\subtitle{Using colours from the current beamer theme in pgfplots} +\author{% + \texorpdfstring{ + \texttt{samcarter}\\ + \url{https://github.com/samcarter/pgfplotsthemebeamer}\\ + \url{https://ctan.org/pkg/pgfplotsthemebeamer} + }{samcarter}} +\date{Version v0.2 \textendash{} 2024/08/02} + +\usepackage[ + themecolor=samorange +]{\jobname-settings} + +% customisation %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\newcommand{\prefix}{./include} +\tcbset{ + compilable listing/.style={listing file={\prefix/\jobname-listing-\thetcblistingcount.tex}}, + run pdflatex/.style={run@system@command={cd\space \prefix;\space pdflatex}{\jobname-listing-\thetcblistingcount.tex}},% +} + +\begin{document} +\maketitle + +\section{Introduction} +\label{intro} + +Beamer themes often use carefully composed colour schemes. The \saminline|pgfplotsthemebeamer| package allows to reuse these colours in diagrams created with \saminline|pfgplots|. This ensures a consistent colour scheme throughout the presentation and avoids unsightly colour clashes. + +The package is included in \TeX{}Live +%and MiK\TeX\ +and available from \textsc{CTAN} (\url{https://www.ctan.org/pkg/pgfplotsthemebeamer}). +The development version of this package is located at \url{https://github.com/samcarter/pgfplotsthemebeamer}. If you have any problems, ideas or other feedback, please make constructive use of the issue tracker. + +Copyright \raisebox{0.2em}{\tiny\fontfamily{cmr}\selectfont\textcopyright} \texttt{samcarter}. Permission is granted to copy, distribute and\slash or modify this software under the terms of the LaTeX project public licence, version 1.3c or later \url{http://www.latex-project.org/lppl.txt}. + +\section{Usage} + +The basic usage is fairly simple. After loading the \saminline|pgfplotsthemebeamer| package, plots can use the \saminline|beamercolor| option to use the colours from the current beamer theme in the diagram: +\begin{tcolorbox}[title={Usage}] +\begin{samcode} +\usepackage{pgfplotsthemebeamer} + +\begin{axis}[ + beamercolors +] +... +\end{axis} +\end{samcode} +\end{tcolorbox} +The graphs will be coloured in the beamer colours \saminline|structure|, \saminline|alerted text| and \saminline|example text|. In most beamer themes, these three colours form an easily distinguishable set of colours. + +Users who would like to use the \saminline|beamercolors| scheme for all \saminline|pgfplots| diagrams in the presentation, can load the package with the \saminline|all| option, which will make this colour scheme the default. +\begin{tcolorbox}[title={Usage}] +\begin{samcode} +\usepackage[all]{pgfplotsthemebeamer} +\end{samcode} +\end{tcolorbox} + +\section{Full example} +\begin{tcblisting}{ + listing only, + freeze pdf, + compilable listing, + run pdflatex, + title={Basic example}, + righthand width=0pt +} +\documentclass{beamer} + +\usetheme{moloch}% just as an example for a colour theme +\usepackage{pgfplotsthemebeamer} + +\begin{document} + +\begin{frame}[plain] +\centering +\begin{tikzpicture} + \begin{axis}[ + beamercolors + ] + \addplot {x}; \addplot {x-1}; \addplot {x-2}; \addplot {x-3}; \addplot {x-4}; \addplot {x-5}; \addplot {x-6}; \addplot {x-7}; \addplot {x-8}; + \end{axis} +\end{tikzpicture} +\end{frame} + +\end{document} +\end{tcblisting} +\vfill +\centering +\setlength{\fboxsep}{0pt}% +\fbox{\includegraphics[width=.75\textwidth]{pgfplotsthemebeamer-doc-listing-1.pdf}}% + +\end{document} diff --git a/Master/texmf-dist/doc/latex/photobook/Makefile b/Master/texmf-dist/doc/latex/photobook/Makefile index 59b7ea002c8..19edca368e3 100644 --- a/Master/texmf-dist/doc/latex/photobook/Makefile +++ b/Master/texmf-dist/doc/latex/photobook/Makefile @@ -85,8 +85,7 @@ endif # markdown dialect... # -# XXX still needs some tweaking... -MD_FORMAT ?= markdown_github +MD_FORMAT ?= gfm # debug output... @@ -173,26 +172,11 @@ LN := cp -l # - |..| - verbatim does not work... # - || - parts of doc omitted... # - verbatim blocks get merged sometimes... +# - does not resolve \jobname in include... # - ... # ...not sure if this can be tweaked... -#%.md: %.tex -# pandoc -t $(MD_FORMAT) -s $< -o $@ - -# XXX EXPERIMENTAL... -# XXX revise: -# ...for this to work we need to replace: -# \documentclass{ltxdoc} -# to: -# \documentclass[markdownextra]{internet} -# XXX install the internet class... -# https://github.com/loopspace/latex-to-internet -# ...needs testing... %.md: %.tex - cat $< \ - | sed 's/documentclass{ltxdoc}/documentclass[markdownextra]{internet}/' \ - > $<.tmp - mv $<{.tmp,} - $(TEX) $< $(STDERR) + pandoc -t $(MD_FORMAT) -s $< -o $@ # meta-section... diff --git a/Master/texmf-dist/doc/latex/photobook/README.md b/Master/texmf-dist/doc/latex/photobook/README.md index 13daa3c373a..7055717be06 100644 --- a/Master/texmf-dist/doc/latex/photobook/README.md +++ b/Master/texmf-dist/doc/latex/photobook/README.md @@ -28,7 +28,7 @@ $ make install The `photobook` document class requires a set of modules to be installed for it to function, the full list is included in the docs and can be -printed by calling: +generated and printed by calling: ```shell $ make depends ``` @@ -39,7 +39,8 @@ For more info on `make` targets see the: [./Makefile](./Makefile) # Documentation -Pre-built documentation can be found on +Pre-built documentation can be found in the +[Github releases](https://github.com/flynx/photobook/releases/latest) or on [CTAN](http://mirrors.ctan.org/macros/latex/contrib/photobook/photobook.pdf). @@ -69,7 +70,7 @@ Build requirements for docs: ## Notes -- The main refetence is inline with the source [photobook.cls](./photobook.cls) +- The main reference is maintained inline with the source [photobook.cls](./photobook.cls) thus it is both human-readable next to the code it documents and is used to build the `photobook.pdf`. Extracting the documentation source (`photobook*.tex`) is done diff --git a/Master/texmf-dist/doc/latex/photobook/photobook.pdf b/Master/texmf-dist/doc/latex/photobook/photobook.pdf Binary files differindex 5e785e73cf6..119574f6191 100644 --- a/Master/texmf-dist/doc/latex/photobook/photobook.pdf +++ b/Master/texmf-dist/doc/latex/photobook/photobook.pdf diff --git a/Master/texmf-dist/doc/latex/polyglossia/README.md b/Master/texmf-dist/doc/latex/polyglossia/README.md index d0ba2a157a3..a3f65bbb9d6 100644 --- a/Master/texmf-dist/doc/latex/polyglossia/README.md +++ b/Master/texmf-dist/doc/latex/polyglossia/README.md @@ -1,4 +1,4 @@ -# THE POLYGLOSSIA PACKAGE v2.1 +# THE POLYGLOSSIA PACKAGE v2.2 ## Multilingual typesetting with XeLaTeX and LuaLaTeX This package provides an alternative to Babel for users of XeLaTeX and LuaLaTeX. diff --git a/Master/texmf-dist/doc/latex/polyglossia/example-arabic.pdf b/Master/texmf-dist/doc/latex/polyglossia/example-arabic.pdf Binary files differindex 20caa55173c..4808227a41a 100644 --- a/Master/texmf-dist/doc/latex/polyglossia/example-arabic.pdf +++ b/Master/texmf-dist/doc/latex/polyglossia/example-arabic.pdf diff --git a/Master/texmf-dist/doc/latex/polyglossia/example-arabic.tex b/Master/texmf-dist/doc/latex/polyglossia/example-arabic.tex index 939f20665da..0e7a197b09d 100644 --- a/Master/texmf-dist/doc/latex/polyglossia/example-arabic.tex +++ b/Master/texmf-dist/doc/latex/polyglossia/example-arabic.tex @@ -4,7 +4,12 @@ \usepackage{xltxtra,url,amsmath} \setmainfont{Linux Libertine O} \defaultfontfeatures{Scale=MatchLowercase} -\newfontfamily\arabicfont[Script=Arabic]{Amiri} +\newfontfamily\arabicfont[Script=Arabic]{Amiri}[% + UprightFont = *-Regular, + BoldFont = *-Bold, + Extension = .ttf, + ItalicFont = *-Italic, + BoldItalicFont = *-BoldItalic] \newfontfamily\arabicfonttt[Script=Arabic,Scale=.75]{DejaVu Sans Mono} \newfontfamily\farsifont[Script=Arabic,Scale=1.1,WordSpace=2]{IranNastaliq} \let\XeTeX\undefined diff --git a/Master/texmf-dist/doc/latex/polyglossia/example-chinese.pdf b/Master/texmf-dist/doc/latex/polyglossia/example-chinese.pdf Binary files differdeleted file mode 100644 index 394f0071ca0..00000000000 --- a/Master/texmf-dist/doc/latex/polyglossia/example-chinese.pdf +++ /dev/null diff --git a/Master/texmf-dist/doc/latex/polyglossia/example-japanese.pdf b/Master/texmf-dist/doc/latex/polyglossia/example-japanese.pdf Binary files differdeleted file mode 100644 index 61c74d82115..00000000000 --- a/Master/texmf-dist/doc/latex/polyglossia/example-japanese.pdf +++ /dev/null diff --git a/Master/texmf-dist/doc/latex/polyglossia/example-korean.pdf b/Master/texmf-dist/doc/latex/polyglossia/example-korean.pdf Binary files differindex 06feebd9740..dba7be728be 100644 --- a/Master/texmf-dist/doc/latex/polyglossia/example-korean.pdf +++ b/Master/texmf-dist/doc/latex/polyglossia/example-korean.pdf diff --git a/Master/texmf-dist/doc/latex/polyglossia/example-odia.pdf b/Master/texmf-dist/doc/latex/polyglossia/example-odia.pdf Binary files differdeleted file mode 100644 index a17158697c5..00000000000 --- a/Master/texmf-dist/doc/latex/polyglossia/example-odia.pdf +++ /dev/null diff --git a/Master/texmf-dist/doc/latex/polyglossia/example-thai.pdf b/Master/texmf-dist/doc/latex/polyglossia/example-thai.pdf Binary files differindex 12f2c1f0939..b291acb0b5e 100644 --- a/Master/texmf-dist/doc/latex/polyglossia/example-thai.pdf +++ b/Master/texmf-dist/doc/latex/polyglossia/example-thai.pdf diff --git a/Master/texmf-dist/doc/latex/polyglossia/example-uyghur.tex b/Master/texmf-dist/doc/latex/polyglossia/example-uyghur.tex new file mode 100644 index 00000000000..b226e61f186 --- /dev/null +++ b/Master/texmf-dist/doc/latex/polyglossia/example-uyghur.tex @@ -0,0 +1,128 @@ +% !TeX TS-program = xelatex +\documentclass[a4paper]{book} +\usepackage{polyglossia} +\usepackage{graphicx} +\usepackage{url,amsmath} + +\setmainlanguage{uyghur} +\newfontfamily\arabicfont[Script=Arabic,Scale=1]{UKIJ Tuz} +\let\arabicfonttt\ttfamily + +\setotherlanguage[variant=british]{english} + +\title{لاتېكىس قوللانمىسى} +\author{neouyghur} +\date{\today} + +\begin{document} + +\maketitle + +\tableofcontents + +\listoffigures + +\listoftables + +\pagenumbering{arabic} + +\chapter{ئۇيغۇرلار} + +\section{ئۇيغۇرلار ۋە ئۇلارنىڭ تۇرمۇش مەدەنىيىتى} + +ئۇيغۇرلار شىنجاڭ ئۇيغۇر ئاپتونوم رايونىنىڭ ھەقىقىي ئىگىلىرى ۋە مىراسخورلىرى بولۇپ، بۇ رايوندا توپلىشىپ ياشايدىغان غوللۇق، يەرلىك مىللەت ۋە ئاپتونومىيە ھوقۇقى يۈرگۈزگۈچى مىللەت. ئۇيغۇرلار پارچە ھالەتتە، جۇڭگونىڭ بىر قاتار چوڭ شەھەرلىرىدە خىزمەت ۋە تىجارەت قىلىدۇ. ئۇيغۇرلار شىنجاڭ ئۇيغۇر ئاپتونوم رايونىدىن باشقا، يەنە جۇڭگو، قازاقىستان، قىرغىزىستان، ئۆزبېكىستان، تاجىكىستان، تۈركمەنىستان (ئاساسلىقى بايرام ئەلى رايونى)، پاكىستان، ئەرەبىستان، تۈركىيە، ئاۋسترالىيە، گېرمانىيە، نورۋىگىيە، گوللاندىيە، شىۋىتسىيە، فىنلاندىيە، بېلگىيە، روسيە، ئامېرىكا قاتارلىق دۆلەتلەردە كۆرۈنەرلىك نوپۇستا، مۇئەييەن جامائەت تۈركۈمى شەكلىدە ياشايدۇ. + +\begin{english} +The \textbf{Uyghurs}\footnote{% + From \url{https://en.wikipedia.org/wiki/Uyghurs}} have traditionally inhabited a series of oases scattered across the Taklamakan Desert within the Tarim Basin. These oases have historically existed as independent states or were controlled by many civilizations including China, the Mongols, the Tibetans and various Turkic polities. The Uyghurs gradually started to become Islamized in the 10th century and most Uyghurs identified as Muslims by the 16th century. Islam has since played an important role in Uyghur culture and identity. +\end{english} + +\section{نىكاھ} +ئۇيغۇرلاردا نىكاھ مۇناسىۋىتى بىلەن چاي ئىچكۈزۈش، توي ئالدىدىكى مەسلىھەت چايلىرى، نىكاھ ئوقۇپ قىز-يىگىتنىڭ رازىلىقىنى ئېلىش، توي مۇراسىمى، يىگىت-قىزلار ئولتۇرۇشى، قۇدىلار چىللاقلىرى ئىزچىل ساقلىنىپ كەلدى. ئۇيغۇرلاردا دەپنە مۇراسىمى ھەرقايسى دىنىي مەدەنىيەتلەر تەسىرىدە ھەرخىل بولسىمۇ، ئەمما مېيىتنى پاكىزە يۇيۇپ كېپەنلەش، ھازىدارلار ئاق رومال سېلىپ، ئاق بەلۋاغ باغلاپ يىغا-زارە قىلىش، مېيىتنىڭ نامىزىنى چۈشۈرۈش، جىنازىنى ئالمىشىپ تالىشىپ كۈتۈرۈپ قەبرىستانلىققا ئېلىپ بېرىش، لەھەتتە مېيىتنىڭ يۈزىنى قىبلە (غەرب) تەرەپكە قىلىپ ياتقۇزۇش، ئىچ گۆرنىڭ ئاغزىنى كېسەك بىلەن ئېتىپ، تاش گۆرنى توپا بىلەن كۆمۈش، قەبرە بېشىدا مېيىتنىڭ ئىجابىي تەرىپىگە گۇۋاھلىق بېرىش، قەبرە تېشى-گۈمبەز ئورنىتىش، مېيىتنىڭ يەتتە، قىرىق، يىل نەزىرلىرىنى ئۆتكۈزۈش ئادەتلىرى بىردەك ئىزچىل بۇلۇپ كەلدى. ئۇيغۇرلار ۋە ئۇلارنىڭ ئەجدادلىرى مېيىت سۆڭىكىنى كاھىش (ساپال) ساندۇققا سېلىپ يەرلىككە قۇيۇش، مېيىتنى تاش گۆرگە كۆمۈش، مېيىتنى ئاستىغا ياغاچ شادا قويۇلغان گۆرگە ياتقۇزۇپ، ئۈستىگە قىزىل تۇپراق ۋە قۇم تۆكۈپ كۆمۈش، شام گۆرگە قويۇش قاتارلىق دەپنە قىلىش ئۇسۇللىرىنىمۇ قوللاندى. + +\section{ھېيت-ئايەم} + + +\begin{figure} + \begin{center} +\includegraphics[scale=1]{example-image-a} +\caption{ئا رەسىم.} + \end{center} +\end{figure} + +\begin{table} +\begin{center} + \begin{tabular}{||c c c c||} + \hline + Col1 & Col2 & Col2 & Col3 \\ [0.5ex] + \hline\hline + 1 & 6 & 87837 & 787 \\ + \hline + 2 & 7 & 78 & 5415 \\ + \hline + 3 & 545 & 778 & 7507 \\ + \hline + 4 & 545 & 18744 & 7560 \\ + \hline + 5 & 88 & 788 & 6344 \\ [1ex] + \hline + \end{tabular} + \caption{بىر سىناق جەدۋەل} +\end{center} +\end{table} + +\begin{equation} + x^2 + y^2 = z^2 + \label{test} +\end{equation} + + +\chapter{مەڭگۈ تاش يادىكارلىقلىرى} + +\section{تەس مەڭگۈ تېشى} +بۇ مەڭگۈ تاش يادىكارلىقى 1976- يىلى موڭغۇلىيەدىكى تەس دەرياسىنىڭ سول قىرغىدىكى نوغۇن تولغوي ئىگىزلىكىنىڭ يېنىدىن تېپىلغانلىقى ئۈچۈن، «تەس مەڭگۈ تېشى» دەپ ئاتالغان. «تەس مەڭگۈ تېشى» ئورخۇن ئۇيغۇر خانلىقى دەۋرىگە مەنسۇپ يادىكارلىقلارنىڭ ئىچىدە بۇزغۇنچىلىققا ئۇچرىشى ئېغىرراق. ئەڭ مۇھىم بولغان يازما يادىكارلىق. ئۇنىڭدا بۆگۈ قاغان (759- 780- يىللار) ئەجدادى (دادىسى) بولغان ئەل ئەتمىش بىلگە قاغان (مويۇنچۇر، 747- 759- يىللار9 دەۋرىگىچە بولغان ئۇيغۇر قاغانلىرىنىڭ تارىخى، جۈملىدىن بىرىنچى ۋە ئىككىنچى ئۇيغۇر خانلىقىنىڭ تەقدىرى. كۆل بىلگە قاغان ۋە ئەل ئەتمىش بىلگە قاغان باشچىلىقىدىكى ئۈچىنچى ئۇيغۇر خانلىقىنىڭ بەرپا بولۇشى قاتارلىق مەسىلىلەر ھەققىدە مەلۇمات بېرىلگەن. بۇ ھەقتىكى بىر قىسىم مەزمۇنلار كونا- يېڭى تاڭنامىلەردە ئۇچرىمايدۇ. شۇڭا تەس مەڭگۈ تېشىدىكى مەلۇماتلار زور سېلىشتۇرما قىممەتكە ئىگە. تەتقىقاتلارغا قارىغاندا، «تەس مەڭگۈ تېشى» نىڭ ئاپتورى مويۇنچۇر قاغاننىڭ يېقىن تۇققىنى تۈپەك ئالىپ شۇل دېگەن كىشى بولۇپ، مەڭگۈ تاشنى قاغان يېڭىدىن تەختكە چىققان ۋاقىتتا توغرىسى 761- 762- يىللىرى ئورنىتىلغان، دېيىشكە بولىدۇ. + + +\begin{table} + \begin{center} + \begin{tabular}{||c c c c||} + \hline + Col1 & Col2 & Col2 & Col3 \\ [0.5ex] + \hline\hline + 1 & 6 & 87837 & 787 \\ + \hline + 2 & 7 & 78 & 5415 \\ + \hline + 3 & 545 & 778 & 7507 \\ + \hline + 4 & 545 & 18744 & 7560 \\ + \hline + 5 & 88 & 788 & 6344 \\ [1ex] + \hline + \end{tabular} + \caption{يەنە بىر سىناق جەدۋەل} + \end{center} +\end{table} + +\section{تېرخىن مەڭگۈ تېشى} + +\begin{figure} + \begin{center} + \includegraphics[scale=0.5]{example-image-b} + \caption{ب رەسىم.} + \end{center} +\end{figure} + +\begin{thebibliography}{9} + \bibitem{latexcompanion} + Michel Goossens, Frank Mittelbach, and Alexander Samarin. + \textit{The \LaTeX\ Companion}. + Addison-Wesley, Reading, Massachusetts, 1993. + + \bibitem{einstein} + ئو. تۇرسۇن. + \textit{لاتېكىست قوللانمىسى}. (ئۇيغۇرچە) + [\textit{بىر ژورنال}]. , 322(10):891–921, 1905. +\end{thebibliography} + +\end{document} diff --git a/Master/texmf-dist/doc/latex/polyglossia/examples.pdf b/Master/texmf-dist/doc/latex/polyglossia/examples.pdf Binary files differindex 05d7cac61ce..ad1d2d4f693 100644 --- a/Master/texmf-dist/doc/latex/polyglossia/examples.pdf +++ b/Master/texmf-dist/doc/latex/polyglossia/examples.pdf diff --git a/Master/texmf-dist/doc/latex/polyglossia/examples.tex b/Master/texmf-dist/doc/latex/polyglossia/examples.tex index 7e331b70d45..09beb075e70 100644 --- a/Master/texmf-dist/doc/latex/polyglossia/examples.tex +++ b/Master/texmf-dist/doc/latex/polyglossia/examples.tex @@ -16,7 +16,12 @@ \setmainfont{Linux Libertine O} \defaultfontfeatures{Scale=MatchLowercase} \setmonofont{Inconsolata} -\newfontfamily\arabicfont[Script=Arabic]{Amiri} +\newfontfamily\arabicfont[Script=Arabic]{Amiri}[% + UprightFont = *-Regular, + BoldFont = *-Bold, + Extension = .ttf, + ItalicFont = *-Italic, + BoldItalicFont = *-BoldItalic] \newfontfamily\syriacfont[Script=Syriac]{Serto Jerusalem} \newfontfamily\hebrewfont[Script=Hebrew]{Ezra SIL} \newfontfamily\sanskritfont[Script=Devanagari]{Sanskrit 2003} diff --git a/Master/texmf-dist/doc/latex/polyglossia/polyglossia.pdf b/Master/texmf-dist/doc/latex/polyglossia/polyglossia.pdf Binary files differindex d218332d9b0..f7b12a7bd6b 100644 --- a/Master/texmf-dist/doc/latex/polyglossia/polyglossia.pdf +++ b/Master/texmf-dist/doc/latex/polyglossia/polyglossia.pdf diff --git a/Master/texmf-dist/doc/latex/polyglossia/polyglossia.tex b/Master/texmf-dist/doc/latex/polyglossia/polyglossia.tex index 1d4fc5e4aac..77fb0f02ac3 100644 --- a/Master/texmf-dist/doc/latex/polyglossia/polyglossia.tex +++ b/Master/texmf-dist/doc/latex/polyglossia/polyglossia.tex @@ -23,8 +23,10 @@ ]{hyperref} \usepackage{array} \usepackage{metalogo} -\let\XeTeX\undefined -\let\XeLaTeX\undefined +\ifxetex + \let\XeTeX\undefined + \let\XeLaTeX\undefined +\fi \usepackage[babelshorthands]{polyglossia} \usepackage{farsical} % @@ -124,15 +126,23 @@ \usepackage[osf]{libertine} % Monospace: Package dejavu-otf \setmonofont[Scale=MatchLowercase]{DejaVuSansMono} -% Libertine includes Hebrew, but we load it separately since -% osf is not supported with this script and we want to avoid the -% respective warnings -\newfontfamily\hebrewfont[Script=Hebrew]{Linux Libertine O} +% Package culmus +\newfontfamily\hebrewfont[Script=Hebrew]{DavidCLM}[ + UprightFont = *-Medium, + BoldFont = *-Bold, + Extension = .otf, + ItalicFont = *-MediumItalic, + BoldItalicFont = *-BoldItalic] % Package dejavu-otf \newfontfamily\armenianfont[Script=Armenian,Scale=MatchLowercase]{DejaVuSans} \newfontfamily\georgianfont[Scale=MatchLowercase]{DejaVuSerif} % Package amiri -\newfontfamily\arabicfont[Script=Arabic]{Amiri-Regular} +\newfontfamily\arabicfont[Script=Arabic]{Amiri}[% + UprightFont = *-Regular, + BoldFont = *-Bold, + Extension = .ttf, + ItalicFont = *-Italic, + BoldItalicFont = *-BoldItalic] % No Syriac otf/ttf font seems available on CTAN % This one, from the Syriac Institute, is included on Linux % in the x11-fonts set and can be downloaded from @@ -457,7 +467,7 @@ Table~\ref{tab:BCP47-polyglossia} lists the currently supported tags. dv & divehi & \tabularnewline el & greek & \tabularnewline el-monoton & greek & variant=monotonic [\emph{default}] \tabularnewline - el-polyton & greek & varant=polytonic \tabularnewline + el-polyton & greek & variant=polytonic \tabularnewline en & english & \tabularnewline en-AU & english & variant=australian \tabularnewline en-CA & english & variant=canadian \tabularnewline @@ -771,13 +781,25 @@ see sec.~\ref{sec:langtags}). \section{Font setup} -With polyglossia it is possible to associate a specific font with any script or language +With \pkg{polyglossia} it is possible to associate a specific font with any script or language that occurs in the document. That font should always be defined as -\cmd{\⟨script⟩font}\ or \cmd{\⟨language⟩font}. +\cmd{\⟨script⟩font}\ or \cmd{\⟨language⟩font}. Note that ¦⟨language⟩¦ points to the \pkg{polyglossia} +language name, ¦⟨script⟩¦ might point either to an OpenType script name as defined by \pkg{fontspec} +(\eg ¦Latin¦) \new{2.2}or a BCP-47 script tag (\eg ¦Latn¦), though the script is fully lower-cased +in the \cmd{\⟨script⟩font}\ command. + For instance, if the default font defined by \cmd\setmainfont\ does not support Greek, then one can define the font used to display Greek with:\\ -\centerline{ \cmd\newfontfamily\cmd{\greekfont[Script=Greek,\meta{…}]\marg{font}}. } -Note that polyglossia will use the font defined as is, so assure to do all necessary settings +\centerline{\cmd\newfontfamily\cmd{\greekfont[Script=Greek,\meta{…}]\marg{font}}} +% +If you want to setup a blackletter font specifically for the German blackletter script variant, +you might do so by:\\ +\centerline{\cmd\newfontfamily\cmd{\latffont[\meta{…}]\marg{font}}} +% +Setting up a font specifically for traditional Chinese is possible via:\\ +\centerline{\cmd\newfontfamily\cmd{\hantfont[Script=CJK,\meta{…}]\marg{font}}} +% +Note that \pkg{polyglossia} will use the font defined as is, so assure to do all necessary settings (please refer to the \pkg{fontspec} documentation for details). For instance, if \cmd\arabicfont\ is explicitly defined, then the option ¦Script=Arabic¦ should be included in that definition. @@ -787,10 +809,12 @@ it can be defined by means of \new{1.2.0} \cmd{\⟨script⟩fontsf} or \cmd{\⟨language⟩fontsf} and \cmd{\⟨script⟩fonttt} or \cmd{\⟨language⟩fonttt}, respectively. Whenever a new language is activated, \pkg{polyglossia} will first check whether -a font has been defined for that language or – for languages in non-Latin scripts – -for the script it uses. If it is not defined, it will use the currently active font -and – in the case of OpenType fonts – will attempt to turn on the appropriate -OpenType tags for the script and language used, in case these are available in +a font has been defined for that language. If this is not the case, it will check whether a font associated +with the BCP-47 script tag of the current language is defined. If this also isn't the case, \pkg{polyglossia} +will finally check (but this only for languages in non-Latin scripts) whether there is a font associated +with the OpenType script tag. If none of these fonts is defined, \pkg{polyglossia} will use the currently +active font as defined by ¦\setmainfont¦, ¦\setsansfont¦ or ¦\setmonofont¦ and – in the case of OpenType fonts – +will attempt to turn on the appropriate OpenType tags for the script and language used, in case these are available in the font, by means of \pkg{fontspec}’s \cmd\addfontfeature. If the current font does not appear to support the script of that language, an error message is displayed. @@ -1585,7 +1609,7 @@ and that passing \xpgvalue{babelshorthands} (without value) is equivalent to pas \end{table} \item \xpgchoicekey[1.46]{hyphenation}{\xpgvalue{classic}, \xpgvalue{modern}, or \xpgvalue{liturgical}} There are three different sets of hyphenation patterns for Latin. Separate - documention for them is available on the + documentation for them is available on the Internet.\footnote{Refer to \url{https://github.com/gregorio-project/hyphen-la/blob/master/doc/README.md\#hyphenation-styles}} Each of the four variants mentioned above has its default set of hyphenation patterns as indicated by table \ref{tab:latin-hyphenation}. Use the @@ -1657,7 +1681,7 @@ and that passing \xpgvalue{babelshorthands} (without value) is equivalent to pas \item[¦'AE¦] for Ǽ (AE ligature with acute), also available for \'Œ \end{shorthands} \item \xpgboolkeyfalse[1.46]{prosodicshorthands} - Enable shorthands for prosodic marks (macrons and breves) very similiar to + Enable shorthands for prosodic marks (macrons and breves) very similar to those provided by \pkg{babel-latin} using the ¦withprosodicmarks¦ modifier. Note that the active ¦=¦ character used for macrons will cause problems with @@ -2563,7 +2587,7 @@ in Hebrew script or in roman transliteration). \subsection{Islamic calendar (hijrical.sty)}\label{sec:hijrical} This package computes dates in the lunar Islamic (Hijra) calendar.\footnote{ % It makes use of the arithmetical algorithm in chapter 6 of - Reingold \& Gershowitz, \textit{Calendrical calculation: the Millenium edition} + Reingold \& Gershowitz, \textit{Calendrical calculation: the Millennium edition} (Cambridge University Press, 2001).\label{reingold}} It provides two macros for the end-user. The command @@ -2698,6 +2722,31 @@ where \meta{type} is a supported language id type (such as ¦bcp-47¦) and \meta \bgroup\footnotesize +\subsection*{2.2 (2024/07/15)} + +\subsubsection*{Bug fixes} +\begin{itemize} + \item Fix \texttt{lang} environment (\TXI{633}). + \item Fix first number of Maghrib abjad numbering for Algeria, Morocco and + Tunisia (\TXI{640}). + \item Fix some captions strings in Bulgarian, Chinese, Esperanto, Estonian, Hindi, + Latvian, and Slovak (\TXP{651}) + \item Improve performance with multilingual documents that have a TOC (\TXI{641}). +\end{itemize} + +\subsubsection*{New Features} +\begin{itemize} + \item Add possibility to associate a font to a language/variant with reference to + a BCP-47 script tag (\TXI{636}). +\end{itemize} + +\subsubsection*{Internal work} +\begin{itemize} + \item The major rewrite of the package code has been finished. More code has been cleaned up, + and \pkg{polyglossia} employs modern concepts (\pkg{latex3} and modern \LaTeXe). + All key-val handling uses \pkg{l3keys} now rather than \pkg{xkeyval}. +\end{itemize} + \subsection*{2.1 (2024/03/07)} \subsubsection*{Bug fixes} @@ -3756,7 +3805,7 @@ where \meta{type} is a supported language id type (such as ¦bcp-47¦) and \meta \section{Acknowledgements (by François Charette)} \pkg{Polyglossia} is notable for being a recycle box of previous contributions by other people. I take this opportunity to thank the following individuals, -whose splendid work has made my task almost trivial in comparision: \TA{Johannes +whose splendid work has made my task almost trivial in comparison: \TA{Johannes Braams} and the numerous contributors to the \pkg{babel} package (in particular \TA{Boris Lavva} and others for its Hebrew support), \TA{Alexej Kryukov} (\pkg{antomega}), \TA{Will Robertson} (\pkg{fontspec}), \TA{Apostolos Syropoulos} (\pkg{xgreek}), \TA{Youssef Jabri} @@ -3783,7 +3832,7 @@ Many thanks to all the people who have contributed bugfixes and new features to since we took over. In alphabetical order: \TA{Ignas Anikevicius}, \TA{Sina Ahmadi}, \TA{Matthew Bertucci}, \TA{Wouter Bolsterlee}, \TA{Christian Buhtz}, \TA{Ashok Das}, \TA{Oleg Domanov}, user \TA{fakhriaunur}, \TA{Philipp Gesang}, \TA{Kevin Godby}, -\TA{Enrico Gregorio}, \TA{Khaled Hosny}, \TA{Najib Idrissi}, user \TA{julroy67}, \TA{Dohyun Kim}, \TA{Phil Kime}, +\TA{Enrico Gregorio}, \TA{Khaled Hosny}, \TA{Stephen Huan}, \TA{Najib Idrissi}, user \TA{julroy67}, \TA{Dohyun Kim}, \TA{Phil Kime}, \TA{Mike Kroutikov}, \TA{Ivan Kokan}, \TA{Caleb Maclennan}, \TA{Gyula Magyarkuti}, \TA{José Mancera}, \TA{Miquel Ortega}, \TA{Yevgen Pogribnyi}, \TA{Will Robertson}, \TA{Maïeul Rouquette}, \TA{Elie Roux}, \TA{Hugo Roy}, \TA{Guy Rutenberg}, \TA{Marcin Serwin}, \TA{Arvinder Singh}, \TA{Avisek Jena}, \TA{Philipp Stephani}, \TA{Niranjan Tambe}, \TA{Takuji Tanaka}, diff --git a/Master/texmf-dist/doc/latex/polyglossia/test-welsh.pdf b/Master/texmf-dist/doc/latex/polyglossia/test-welsh.pdf Binary files differdeleted file mode 100644 index 8f18eb1e9df..00000000000 --- a/Master/texmf-dist/doc/latex/polyglossia/test-welsh.pdf +++ /dev/null diff --git a/Master/texmf-dist/doc/latex/polyomino/README.md b/Master/texmf-dist/doc/latex/polyomino/README.md new file mode 100644 index 00000000000..7f3c8023ad0 --- /dev/null +++ b/Master/texmf-dist/doc/latex/polyomino/README.md @@ -0,0 +1,25 @@ +# `polyomino` + +## Polyominoes using Ti*k*Z and LaTeX3 + +Version 1.0 (2024/08/01) + +This package is based on the package [Ti*k*Z](https://ctan.org/pkg/pgf) and can be used to draw polyominoes. It is possible to define custom styles, pics and grids. + +%% README.md +%% Copyright 2024 Matthias Floré +% +% This work may be distributed and/or modified under the +% conditions of the LaTeX Project Public License, either version 1.3c +% of this license or (at your option) any later version. +% The latest version of this license is in +% http://www.latex-project.org/lppl.txt +% and version 1.3c or later is part of all distributions of LaTeX +% version 2005/12/01 or later. +% +% This work has the LPPL maintenance status `maintained'. +% +% The Current Maintainer of this work is Matthias Floré. +% +% This work consists of the files polyomino.pdf, polyomino.sty, +% polyomino.tex and README.md.
\ No newline at end of file diff --git a/Master/texmf-dist/doc/latex/polyomino/polyomino.pdf b/Master/texmf-dist/doc/latex/polyomino/polyomino.pdf Binary files differnew file mode 100644 index 00000000000..597c00c4db5 --- /dev/null +++ b/Master/texmf-dist/doc/latex/polyomino/polyomino.pdf diff --git a/Master/texmf-dist/doc/latex/polyomino/polyomino.tex b/Master/texmf-dist/doc/latex/polyomino/polyomino.tex new file mode 100644 index 00000000000..c512cec8959 --- /dev/null +++ b/Master/texmf-dist/doc/latex/polyomino/polyomino.tex @@ -0,0 +1,278 @@ +%% polyomino.tex +%% Copyright 2024 Matthias Floré +% +% This work may be distributed and/or modified under the +% conditions of the LaTeX Project Public License, either version 1.3c +% of this license or (at your option) any later version. +% The latest version of this license is in +% http://www.latex-project.org/lppl.txt +% and version 1.3c or later is part of all distributions of LaTeX +% version 2005/12/01 or later. +% +% This work has the LPPL maintenance status `maintained'. +% +% The Current Maintainer of this work is Matthias Floré. +% +% This work consists of the files polyomino.pdf, polyomino.sty, +% polyomino.tex and README.md. +\documentclass[a4paper,english,dvipsnames]{ltxdoc} +\usepackage[english]{babel} +\usepackage{graphicx} +\usepackage[a4paper,left=2.25cm,right=2.25cm,top=2.5cm,bottom=2.5cm,nohead]{geometry} +\usepackage{parskip} +\usepackage{iftex} +\ifluatex +\else +\usepackage[T1]{fontenc} +\usepackage[utf8]{inputenc} +\fi +\usepackage{mathtools} +\usepackage{amssymb} +\allowdisplaybreaks +\usepackage{pdflscape} +\usepackage{polyomino} +\input{pgfmanual-en-macros.tex} +\usepackage{codehigh} +\usepackage{fancyhdr} +\pagestyle{fancy} +\renewcommand{\headrulewidth}{0pt} +\fancyhead{} +\ExplSyntaxOn +\NewExpandableDocumentCommand \repeatnumber {} + { \prg_replicate:nn { \thepage } { * } } +\ExplSyntaxOff +\fancyfoot[C]{\IfRefUndefinedExpandable{Thesourcecode}{}{\begin{tikzpicture}[scale=0.9] +\polyomino[ + grid, + p={*}{style={teal,draw=black}} +]{\repeatnumber} +\end{tikzpicture}}} +\usepackage[nottoc]{tocbibind} +\usepackage{imakeidx} +\makeindex[program=makeindex,columns=2,intoc=true] +\indexsetup{othercode={\thispagestyle{fancy}}} +\AtEndPreamble{\hypersetup{% +linktoc=all, +pdfstartview=FitH, +colorlinks=true, +linkcolor=Mahogany, +citecolor=ForestGreen, +urlcolor=MidnightBlue, +bookmarksnumbered=true, +pdftitle={The polyomino package}, +pdfauthor={Matthias Floré}, +pdfsubject={Manual}, +pdfkeywords={polyomino}}} +\setcounter{tocdepth}{2} +\setcounter{secnumdepth}{2} +\title{The \texttt{polyomino} package\\[12pt]\large Polyominoes using \tikzname{} and \LaTeX3} +\author{Matthias Floré} +\date{Version 1.0 (2024/08/01)}%\\[12pt] +\begin{document} +\maketitle +\thispagestyle{fancy} +\begin{abstract} +\noindent This package is based on the package |tikz| (see \cite{TtTaPGFp}) and can be used to draw polyominoes. It is possible to define custom styles, pics and grids.% This is the manual for version . +\end{abstract} +\tableofcontents +\section{Usage} +The package |polyomino| can be used by putting the following in the preamble. +\begin{codeexample}[code only] +\usepackage{polyomino} +\end{codeexample} +The package |polyomino| loads the package |tikz|. +\section{The command \textbackslash polyomino} +\begin{command}{\polyomino\opt{\oarg{options}}\marg{polyomino specification}} +This command can be placed inside a |tikzpicture| environment. The \meta{polyomino specification} is a token list. Spaces in this list are ignored. With the initial settings, a |,| starts a new row. Otherwise each element in this list corresponds to a cell. An element can consist of multiple characters by surrounding it with braces. The \meta{options} can be given with the keys described in Section \ref{Keys}. +\begin{codeexample}[width=8cm] +\pgfkeys{ + /polyomino, + p={F}{style={blue,draw=black,ultra thick}}, + p={I}{style={brown,draw=black,ultra thick}}, + p={L}{style={cyan,draw=black,ultra thick}}, + p={N}{style={gray,draw=black,ultra thick}}, + p={P}{style={lime,draw=black,ultra thick}}, + p={T}{style={magenta,draw=black,ultra thick}}, + p={U}{style={olive,draw=black,ultra thick}}, + p={V}{style={orange,draw=black,ultra thick}}, + p={W}{style={pink,draw=black,ultra thick}}, + p={X}{style={purple,draw=black,ultra thick}}, + p={Y}{style={red,draw=black,ultra thick}}, + p={Z}{style={teal,draw=black,ultra thick}} +} +\begin{tikzpicture} +\polyomino[ + grid +]{ + UUUVVV, + UXUZZV, + XXXFZV, + IXFFZZ, + ILLFFT, + ILNTTT, + ILNWWT, + ILNNWW, + PPPNYW, + PPYYYY +} +\end{tikzpicture} +\end{codeexample} +The algorithm constructs the border of each polyomino. It does not consider holes determined by empty cells. Although it does detect a cell inside a polyomino which has a different style. This is illustrated in the example below. +\begin{codeexample}[width=10cm] +\begin{tikzpicture}[scale=0.8] +\polyomino[ + p={a}{style={gray,draw=black,thick}} +]{ + aaaaa, + a.a.a, + aaaaa +} +\polyomino[ + at={(0,-4)}, + p={a}{style={gray,draw=black,thick}}, + p={*}{style={white,draw=black,thick}} +]{ + aaaaa, + a*a*a, + aaaaa +} +\end{tikzpicture} +\end{codeexample} +\end{command} +\section{Keys}\label{Keys} +The keys in this Section can be given as \meta{options} to the command |\polyomino|. + +There are two key families: |/polyomino| and |/polyomino/p_2|. The key family |/polyomino| is intended for usage in documents whereas |/polyomino/p_2| is not. In the key family |/polyomino|, also keys from the key family |/polyomino/p_2| will be looked up. The second argument from the key |p| only accepts keys from the key family |/polyomino/p_2|. +\begin{key}{/polyomino/at=\marg{point} (initially (0,0))} +This key defines the bottom left coordinate of the polyomino. +\end{key} +\begin{key}{/polyomino/p\_2/connected} +This key sets the |pic| type (which is activated by the key |pic|) to false. This is the initial setting. +\end{key} +\begin{key}{/polyomino/p\_2/discrete} +This key sets the |pic| type (which is activated by the key |pic|) to true. +\end{key} +\begin{key}{/polyomino/empty cell=\marg{token list} (initially .)} +A cell corresponding to the \meta{token list} in the \meta{polyomino specification} will be left empty. + +A cell corresponding to the empty token list will always be left empty. +\end{key} +\begin{key}{/polyomino/grid=\opt{\meta{boolean}} (default true, initially false)} +If true then a grid is drawn. The grid does not apply to borders of polyominoes. The style of this grid is determined by the key |grid style|. A grid does not apply to a cell with a |pic|. +\end{key} +\begin{stylekey}{/polyomino/grid style=\marg{options} (initially \normalfont empty)} +This key determines the style of the grid. +\begin{codeexample}[width=6.5cm] +\begin{tikzpicture}[rotate=90] +\polyomino[ + grid, + grid style={gray,dash pattern=on 3mm off 4mm on 3mm off 0mm}, + p={L}{style={darkgray,draw=black}}, + p={P}{style={green,draw=black}}, + p={T}{style={violet,draw=black}}, + p={V}{style={yellow,draw=black}} +]{ + LTVVV, + LTTTV, + LTPPV, + LLPPP +} +\end{tikzpicture} +\end{codeexample} +\end{stylekey} +\begin{stylekey}{/polyomino/p\_2/p=\marg{name}\marg{options} (initially \normalfont empty)} +This key determines the style of the polyomino with \meta{name} in the \meta{polyomino specification}. + +The \meta{options} only accept keys from the key family |/polyomino/p_2|. + +In the example below, the polyominoes have the same shape but are differentiated by using different names. +\begin{codeexample}[width=10cm] +\begin{tikzpicture} +\pgfkeys{ + /polyomino, + p={a}{}, + p={b}{}, + style={fill=none,draw} +} +\def\example{ + aa, + ab, + ab, + bb +} +\polyomino{\example} +\polyomino[ + at={(2,0)} +]{\example} +\end{tikzpicture} +\end{codeexample} +\end{stylekey} +\begin{key}{/polyomino/p\_2/pic=\marg{code}} +The \meta{code} defines the |pic| which is used for each cell of the polyomino. + +A grid does not apply to a cell with a |pic|. +\begin{codeexample}[width=7cm] +\begin{tikzpicture} +\polyomino[ + empty cell=*, + grid, + p={a}{style={red,draw=black}}, + p={b}{style={blue,draw=black}}, + p={c}{style={orange,draw=black}}, + p={circle}{pic={\fill[green] (0,0) circle[radius=0.4];}}, + row sep=; +]{ + {} * * b {} c ; + a a b b {circle} c ; + {circle} a a b c c +} +\end{tikzpicture} +\end{codeexample} +\begin{codeexample}[width=5cm] +\begin{tikzpicture} +\polyomino[ + p={circle}{ + pic={\path[pic actions] (0,0) circle[radius=0.45];}, + style={right color=cyan,left color=red,draw,dashed} + }, + p={L}{ + pic={ + \fill[yellow!80!black] (-0.5,-0.5) rectangle +(1,1); + \fill[yellow!50,rounded corners] (-0.4,-0.4) rectangle +(0.8,0.8); + } + }, + p={square}{ + pic={\path[pic actions] (-0.45,-0.45) rectangle +(0.9,0.9);}, + style={fill=magenta,draw,rounded corners} + } +]{ + L {circle} {square} {square} , + L {circle} {circle} {square} , + L L {circle} {circle} +} +\end{tikzpicture} +\end{codeexample} +\end{key} +\begin{key}{/polyomino/row sep=\marg{token list} (initially ,)} +The \meta{token list} in the \meta{polyomino specification} will start a new row. +\end{key} +\begin{stylekey}{/polyomino/p\_2/style=\marg{options} (initially \normalfont empty)} +This key determines the style of the polyomino. +\end{stylekey} +\begin{thebibliography}{9} +\bibitem{TtTaPGFp} +Till Tantau, +\emph{The \tikzname{} and {\upshape\pgfname} Packages}, +Manual for version 3.1.10, +\url{https://ctan.org/pkg/pgf}, +2023. +\end{thebibliography} +\printindex +\newgeometry{left=2.25cm,right=2.25cm,top=2.25cm,bottom=2.25cm} +\pagestyle{plain} +\appendix +\begin{landscape} +\section{The source code}\label{Thesourcecode} +\dochighinput[language=latex/latex3]{polyomino.sty} +\end{landscape} +\end{document}
\ No newline at end of file diff --git a/Master/texmf-dist/doc/latex/profcollege/ProfCollege-doc.pdf b/Master/texmf-dist/doc/latex/profcollege/profcollege-doc.pdf Binary files differindex dcd5987717d..c684b9fff89 100644 --- a/Master/texmf-dist/doc/latex/profcollege/ProfCollege-doc.pdf +++ b/Master/texmf-dist/doc/latex/profcollege/profcollege-doc.pdf diff --git a/Master/texmf-dist/doc/latex/profcollege/profcollege-doc.zip b/Master/texmf-dist/doc/latex/profcollege/profcollege-doc.zip Binary files differindex 097aea9c26c..995fa25ee88 100644 --- a/Master/texmf-dist/doc/latex/profcollege/profcollege-doc.zip +++ b/Master/texmf-dist/doc/latex/profcollege/profcollege-doc.zip diff --git a/Master/texmf-dist/doc/latex/proflycee/ProfLycee-doc.pdf b/Master/texmf-dist/doc/latex/proflycee/ProfLycee-doc.pdf Binary files differindex 40cb330c40a..b4802be53e6 100644 --- a/Master/texmf-dist/doc/latex/proflycee/ProfLycee-doc.pdf +++ b/Master/texmf-dist/doc/latex/proflycee/ProfLycee-doc.pdf diff --git a/Master/texmf-dist/doc/latex/proflycee/ProfLycee-docctan.zip b/Master/texmf-dist/doc/latex/proflycee/ProfLycee-docctan.zip Binary files differindex 0ef3a590262..2fef183bb19 100644 --- a/Master/texmf-dist/doc/latex/proflycee/ProfLycee-docctan.zip +++ b/Master/texmf-dist/doc/latex/proflycee/ProfLycee-docctan.zip diff --git a/Master/texmf-dist/doc/latex/proflycee/ProfLycee-exemples-pyluatex.pdf b/Master/texmf-dist/doc/latex/proflycee/ProfLycee-exemples-pyluatex.pdf Binary files differindex 5e6698109fb..c3e58a2813b 100644 --- a/Master/texmf-dist/doc/latex/proflycee/ProfLycee-exemples-pyluatex.pdf +++ b/Master/texmf-dist/doc/latex/proflycee/ProfLycee-exemples-pyluatex.pdf diff --git a/Master/texmf-dist/doc/latex/prtec/PRTEC19-template.pdf b/Master/texmf-dist/doc/latex/prtec/PRTEC19-template.pdf Binary files differdeleted file mode 100644 index c0f369154a9..00000000000 --- a/Master/texmf-dist/doc/latex/prtec/PRTEC19-template.pdf +++ /dev/null diff --git a/Master/texmf-dist/doc/latex/prtec/PRTEC24-template.pdf b/Master/texmf-dist/doc/latex/prtec/PRTEC24-template.pdf Binary files differnew file mode 100644 index 00000000000..a65827b7c47 --- /dev/null +++ b/Master/texmf-dist/doc/latex/prtec/PRTEC24-template.pdf diff --git a/Master/texmf-dist/doc/latex/prtec/PRTEC19-template.tex b/Master/texmf-dist/doc/latex/prtec/PRTEC24-template.tex index e0769005af8..59e978ef742 100644 --- a/Master/texmf-dist/doc/latex/prtec/PRTEC19-template.tex +++ b/Master/texmf-dist/doc/latex/prtec/PRTEC24-template.tex @@ -4,7 +4,7 @@ %% %% PRTEC uses A4 paper. %% -%% This file is version 1.04 dated 2019/04/17 +%% This file is version 1.07 dated 2024/07/07 %% %% Author: John H. Lienhard V %% Department of Mechanical Engineering @@ -22,18 +22,17 @@ %% %% * option to omit PRTEC footer and header [nofoot] %% -%% * option not to use newtxtext's superiors font for footnotes [nodefaultsups] and option -%% * for slightly larger small capitals [largesc] +%% * option for slightly larger small capitals [largesc] %% %% For details of newtxmath and newtxtext, see the documentation available on CTAN (http://ctan.org) %% -%% The booktabs, array, and dcolumn packages are loaded by default; those macros may be used for setting tables. +%% The booktabs, array, and dcolumn packages are loaded by default; those macros are for tables. %% %========================================================= %% %% LICENSE: %% -%% Copyright (c) 2019 John Lienhard +%% Copyright (c) 2024 John Lienhard %% %% Permission is hereby granted, free of charge, to any person obtaining a copy of this software and %% associated documentation files (the "Software"), to deal in the Software without restriction, @@ -53,17 +52,16 @@ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%% Class options are described above. - -\documentclass[upint,varvw]{prtec} - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%% Editing tools; can delete these if not using. - -\usepackage{lipsum} % makes paragraphs of "latin" for layout testing -\usepackage{comment} % see package documentation. Can comment out sections as needed. +%% Don't modify the \DocumentMetadata command unless you know what it does. +%% If this command throws an "undefined" error, your latex system is out of date: comment this command out. +\DocumentMetadata{ + pdfstandard = a-2b,% a-4, + pdfversion = 1.7,% 2.0, + lang = en-US, +} -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% Class options are described above. +\documentclass[upint,varvw,subscriptcorrection]{prtec} %%%%% pdf metadata %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -86,15 +84,15 @@ %%%%% Conference, title, authors, affiliations %%%%%%%% -\confname{Extended Abstracts of The Second Pacific Rim Thermal Engineering Conference} -\confdate{December 13-17, 2019} -\confcity{Maui, Hawaii, USA} +\confname{Extended Abstracts of The Third Pacific Rim Thermal Engineering Conference} +\confdate{December 15--19, 2024} +\confcity{Honolulu, Hawaii, USA} %%% Your paper number \paperno{PRTEC-XXXXX} %%% Your title -\papertitle{Our research paper: the latest developments in cutting-edge engineering} +\papertitle{Our research paper: cutting-edge cooling} %% Put author names into the order you want. Use the same order for affiliations. @@ -106,7 +104,7 @@ %% %% \JointFirstAuthor, if applicable, follows the affiliation of the relevant authors, no spaces. -\SetAuthors{Mamoru Tanahashi\affil{1}\JointFirstAuthor , Yongchan Kim\affil{2}\JointFirstAuthor , Sumanta Acharya\affil{3} , Koji Fukagata\affil{4}, John Lienhard\affil{5}\CorrespondingAuthor{lienhard@mit.edu}} +\SetAuthors{Mamoru Tanahashi\affil{1}\JointFirstAuthor, Yongchan Kim\affil{2}\JointFirstAuthor, Sumanta Acharya\affil{3}, Koji Fukagata\affil{4}, John Lienhard\affil{5}\CorrespondingAuthor{lienhard@mit.edu}} \SetAffiliation{1}{Department of Mechanical Engineering, Tokyo Institute of Technology, Japan} \SetAffiliation{2}{School of Mechanical Engineering, Korea University, Republic of Korea} @@ -124,18 +122,17 @@ \begin{abstract} -This guide has been prepared for authors of extended abstract to be presented at The Second Pacific Rim Thermal Engineering Conference (PRTEC2019), December 13--17, 2019, Maui, Hawaii, USA. Authors are requested to follow these guidelines to achieve uniformity in the presentation of the proceedings. The main format of the extended abstract is as follows. Text: Times New Roman (or equivalent), 11 pt, left and right justified. Headings: Times New Roman, all capitals, 12 pt, centered. Page size A4 (210 $\times$ 297 mm); 20 mm borders all round; paper title starts at 40 mm from the top of the page except for the first page. Convert the manuscript to a single PDF file and submit it to the Online Submission System (\url{https://www.jsme.or.jp/ted/PRTEC2019/}) by the electrical format. The abstract should summarize the key findings in your study and should be in a single paragraph no more than 250 words. It should give an account of the most relevant contributions of the paper. It is also important to briefly indicate the goal, the methods, the results, and the conclusions. Avoid abbreviations, diagrams, and references. It must be self-contained and understandable without reference to the text. +This guide has been prepared for authors of extended abstract to be presented at The Second Pacific Rim Thermal Engineering Conference (PRTEC2024), December 15--19, 2024, Honolulu, Hawaii, USA. Authors are requested to follow these guidelines to achieve uniformity in the presentation of the proceedings. The main format of the extended abstract is as follows. Text: Times New Roman (or equivalent), 11 pt, left and right justified. Headings: Times New Roman, all capitals, 12 pt, centered. Page size A4 (210 $\times$ 297 mm); 20 mm borders all round; paper title starts at 40 mm from the top of the page except for the first page. Convert the manuscript to a single PDF file and submit it to the Online Submission System (\url{https://www.jsme.or.jp/conference/PRTEC2024/}) by the electrical format. The abstract should summarize the key findings in your study and should be in a single paragraph no more than 250 words. It should give an account of the most relevant contributions of the paper. It is also important to briefly indicate the goal, the methods, the results, and the conclusions. Avoid abbreviations, diagrams, and references. It must be self-contained and understandable without reference to the text. -\keywords{PRTEC, Extended Abstract, Template; 10 pt Times font} %% <=== Change to your keywords, keep this command before \end{abstract}. +\keywords{Times New Roman, 10 pt, Convection, Computational methods, Heat exchanger, Cooling turbine blade, Film cooling, High temperature} %% <=== Change to your keywords, keep this command before \end{abstract}. \end{abstract} - \section{Introduction \NoCaseChange{(Details for submitting extended abstract)}} -The Extended Abstract must be formatted using this template and submitted by \textbf{June 30, 2019} for review. \textbf{The final version of the Extended Abstract must be submitted by August 31, 2019 for inclusion in the proceedings.} The final version of the extended abstract that does not conform to the correct format will not be included in the proceedings. There will be no opportunity to alter it after the submission of the final version. +The Extended Abstract must be formatted using this template and submitted by \textbf{August 15, 2024} for review. \textbf{The final version of the Extended Abstract must be submitted by September 30, 2024 for inclusion in the proceedings.} The final version of the extended abstract that does not conform to the correct format will not be included in the proceedings. There will be no opportunity to alter it after the submission of the final version. -It is assumed that the corresponding author will make a presentation at the conference. Each accepted extended abstract must have at least one paid regular or student registration by \textbf{August 31, 2019} to ensure that their presentation is included in the Conference Program. +It is assumed that the corresponding author will make a presentation at the conference. Each accepted extended abstract must have at least one paid regular or student registration by \textbf{October 15, 2024} to ensure that their presentation is included in the Conference Program. \section{Length and Layout} @@ -150,7 +147,7 @@ The layout of the extended abstract should follow the style of this document, st \textbf{KEYWORDS:} Keywords can be selected to describe the feature of the extended abstract. Leave two blank lines between keywords and the first major heading. -\textbf{Header and footnotes:} The header includes the Paper number. \textbf{Please insert your presentation ID supplied by the Online Submission System, e.g., PRTEC-23456, if your presentation ID is PRTEC-23456.} The footnote of the first page contains E-mail address of the corresponding author. Note that this ``formal'' corresponding author can be different from the ``practical'' corresponding author registered on the submission system. Do not edit the copyright line. We do not transfer the copyright for the authors' convenience. The copyright line should always appear as ``Copyright \textcopyright\ 2019 by The Author(s). Distributed by JSME, KSME, and ASTFE with permission.'' Do not substitute the authors' names in the copyright line. +\textbf{Header and footnotes:} The header includes the Paper number. \textbf{Please insert your presentation ID supplied by the Online Submission System, e.g., PRTEC-23456, if your presentation ID is PRTEC-23456.} The footnote of the first page contains E-mail address of the corresponding author. Note that this ``formal'' corresponding author can be different from the ``practical'' corresponding author registered on the submission system. Do not edit the copyright line. We do not transfer the copyright for the authors' convenience. The copyright line should always appear as ``Copyright \textcopyright\ 2024 by The Author(s). Distributed by JSME, KSME, and ASTFE with permission.'' Do not substitute the authors' names in the copyright line. @@ -240,11 +237,11 @@ Authors from non-English speaking countries are requested to find persons who ar \textbf{Figures and tables:} Figures and tables should be placed at the top or bottom of the page on which they are first mentioned if possible, on the next page if not. Do not gather them at the end of the extended abstract. -\textbf{Submission:} The Extended Abstract should be converted to a single PDF file whose size is no more than 4 Mbytes, and submitted to the Online Submission System (\url{https://www.jsme.or.jp/ted/PRTEC2019/}). +\textbf{Submission:} The Extended Abstract should be converted to a single PDF file whose size is no more than 4 Mbytes, and submitted to the Online Submission System (\url{https://www.jsme.or.jp/conference/PRTEC2024/}). -\textbf{Submission Deadline for review:} Extended Abstract for review should be submitted by \textbf{June 30, 2019}. Notification of acceptance will be made by July 15, 2019. +\textbf{Submission Deadline for review:} Extended Abstract for review should be submitted by \textbf{July 15, 2024}. Notification of acceptance will be made by August 15, 2024. -\textbf{Submission Deadline for final version:} All contributors must upload the final version of Extended Abstract for inclusion in the proceedings by \textbf{August 31, 2019} even if there is no modification from the initial Extended Abstract. The Final Extended Abstract that does not conform to the correct format will not be included in the proceedings. There will be no opportunity to alter it after the submission of the final version. +\textbf{Submission Deadline for final version:} All contributors must upload the final version of Extended Abstract for inclusion in the proceedings by \textbf{September 30, 2024} even if there is no modification from the initial Extended Abstract. The Final Extended Abstract that does not conform to the correct format will not be included in the proceedings. There will be no opportunity to alter it after the submission of the final version. \section*{Acknowledgements} @@ -286,7 +283,7 @@ Acknowledgments should be placed immediately following CONCLUSIONS, if necessary \section{Additional notes for \LaTeX\ users} The PRTEC class file is compatible with \hologo{pdfLaTeX}, \hologo{LuaLaTeX}, and \hologo{XeLaTeX}. The class relies on the \texttt{newtx} math and text fonts and is not configured for \texttt{fontspec}. The class will automatically set the needed margins, spacings, font sizes, and citation formats. The class is also designed to support hyperlinks, metadata, and pdf bookmarks. -The class loads the \verb|\booktabs|, \verb|\array|, and \verb|\dcolumn| packages, for use in formatting tables. +The class loads the \verb|mathtools| and \verb|amsmath| for setting mathematics. The class loads the \verb|booktabs|, \verb|array|, and \verb|dcolumn| packages for formatting tables. PRTEC requires that section headings be set in uppercase, bold-face type. The class will do this automatically. You can place \verb|\cite{..}|, \verb|\ref{..}|, \verb|\label{..}|, and into headings directly, as you would in the main text. Do not enclose them braces, e.g.\ \verb|{\cite{..}}|, which will cause errors. You can place \verb|\footnote{..}| into headings, but not into captions.\footnote{See \texttt{tex-stackexchange} for various approaches to footnotes in captions, if they seem necessary. For footnotes inside tables, use the \texttt{tablefootnote} package.} @@ -298,12 +295,12 @@ The pdf bookmarks are automatically set as the text of the section heading. Simp %% For math in a section heading: the optional argument creates a pdfbookmark %% without an error message or loss of characters. -\section[Proof that S-gen\neq 0]{Proof that $\dot{S}_{\textrm{gen}}\neq 0$} +\section[Proof that S-gen\neq 0]{Proof that \(\dot{S}_{\textrm{gen}}\neq 0\)} For math in a section heading, the optional argument of \verb|\section[..]{..}| creates a pdfbookmark without losing characters or producing error messages. For this example, we use: -\verb|\section[Proof that S-gen\neq 0]{Proof that $\dot{S}_{\textrm{gen}}\neq 0$}| +\verb|\section[Proof that S-gen\neq 0]{Proof that \(\dot{S}_{\textrm{gen}}\neq 0\)}| -Observe that some simple math expressions are accepted by the \verb|hyperref| package that manages the bookmarks. +Some simple math expressions are accepted by the \verb|hyperref| package that manages the bookmarks. \end{document}
\ No newline at end of file diff --git a/Master/texmf-dist/doc/latex/prtec/README.md b/Master/texmf-dist/doc/latex/prtec/README.md index f3dacefae1c..f01e4e5dc1c 100644 --- a/Master/texmf-dist/doc/latex/prtec/README.md +++ b/Master/texmf-dist/doc/latex/prtec/README.md @@ -1,6 +1,6 @@ #prtec -- A template for PRTEC conference papers# - Version 1.06 dated 2019/08/20. + Version 1.07 dated 2024/07/07. ####Overview#### This class provides a LaTeX template to format extended abstracts for the @@ -50,6 +50,12 @@ ####Version History#### + v1.07 + - update to PRTEC 24 + - update various aspects of code to account for 5 years of change in LaTeX + - adjust top and bottom margins + - include \\DocumentMetadata + v1.06 -- correct nofoot option to fully clear header v1.05 -- edits to .bst to better support urls; minor edit to \\entry @@ -62,7 +68,7 @@ ####License#### - Copyright (c) 2019 John H. Lienhard + Copyright (c) 2024 John H. Lienhard Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, diff --git a/Master/texmf-dist/doc/latex/prtec/sample-figure.pdf b/Master/texmf-dist/doc/latex/prtec/sample-figure.pdf Binary files differindex 29b41786be1..89d44bf9cff 100644 --- a/Master/texmf-dist/doc/latex/prtec/sample-figure.pdf +++ b/Master/texmf-dist/doc/latex/prtec/sample-figure.pdf diff --git a/Master/texmf-dist/doc/latex/randexam/randexam-a-answer.pdf b/Master/texmf-dist/doc/latex/randexam/randexam-a-answer.pdf Binary files differindex d961cd9cb55..686d3f696c0 100644 --- a/Master/texmf-dist/doc/latex/randexam/randexam-a-answer.pdf +++ b/Master/texmf-dist/doc/latex/randexam/randexam-a-answer.pdf diff --git a/Master/texmf-dist/doc/latex/randexam/randexam-a-blank.pdf b/Master/texmf-dist/doc/latex/randexam/randexam-a-blank.pdf Binary files differindex 9656be370dc..d6ea0b132c4 100644 --- a/Master/texmf-dist/doc/latex/randexam/randexam-a-blank.pdf +++ b/Master/texmf-dist/doc/latex/randexam/randexam-a-blank.pdf diff --git a/Master/texmf-dist/doc/latex/randexam/randexam-b-answer.pdf b/Master/texmf-dist/doc/latex/randexam/randexam-b-answer.pdf Binary files differindex fe0867038c6..ec97459092a 100644 --- a/Master/texmf-dist/doc/latex/randexam/randexam-b-answer.pdf +++ b/Master/texmf-dist/doc/latex/randexam/randexam-b-answer.pdf diff --git a/Master/texmf-dist/doc/latex/randexam/randexam-b-blank.pdf b/Master/texmf-dist/doc/latex/randexam/randexam-b-blank.pdf Binary files differindex c059b6e6152..459ad1f1166 100644 --- a/Master/texmf-dist/doc/latex/randexam/randexam-b-blank.pdf +++ b/Master/texmf-dist/doc/latex/randexam/randexam-b-blank.pdf diff --git a/Master/texmf-dist/doc/latex/randexam/randexam.pdf b/Master/texmf-dist/doc/latex/randexam/randexam.pdf Binary files differindex 68c0e5925db..1ef3fcc5ad8 100644 --- a/Master/texmf-dist/doc/latex/randexam/randexam.pdf +++ b/Master/texmf-dist/doc/latex/randexam/randexam.pdf diff --git a/Master/texmf-dist/doc/latex/randexam/randexam.tex b/Master/texmf-dist/doc/latex/randexam/randexam.tex index 74e57318df8..ff7d951a151 100644 --- a/Master/texmf-dist/doc/latex/randexam/randexam.tex +++ b/Master/texmf-dist/doc/latex/randexam/randexam.tex @@ -3,7 +3,7 @@ \documentclass[12pt,plain,math=most]{randexam} \geometry{b5paper,margin=2cm} -\newcommand*{\myversion}{2024E} +\newcommand*{\myversion}{2024F} \newcommand*{\mydate}{\the\year-\mylpad\month-\mylpad\day} \newcommand*{\mylpad}[1]{\ifnum#1<10 0\the#1\else\the#1\fi} diff --git a/Master/texmf-dist/doc/latex/reledmac/doc-more/page-typesetting-columns.pdf b/Master/texmf-dist/doc/latex/reledmac/doc-more/page-typesetting-columns.pdf Binary files differindex 1ae91515fbc..fc1cf0d3af0 100644 --- a/Master/texmf-dist/doc/latex/reledmac/doc-more/page-typesetting-columns.pdf +++ b/Master/texmf-dist/doc/latex/reledmac/doc-more/page-typesetting-columns.pdf diff --git a/Master/texmf-dist/doc/latex/reledmac/examples/1-criticalendnotes.pdf b/Master/texmf-dist/doc/latex/reledmac/examples/1-criticalendnotes.pdf Binary files differindex 58f1d6981d2..7454d1cce01 100644 --- a/Master/texmf-dist/doc/latex/reledmac/examples/1-criticalendnotes.pdf +++ b/Master/texmf-dist/doc/latex/reledmac/examples/1-criticalendnotes.pdf diff --git a/Master/texmf-dist/doc/latex/reledmac/examples/1-criticalnotes.pdf b/Master/texmf-dist/doc/latex/reledmac/examples/1-criticalnotes.pdf Binary files differindex ea2f749d324..51238cf5712 100644 --- a/Master/texmf-dist/doc/latex/reledmac/examples/1-criticalnotes.pdf +++ b/Master/texmf-dist/doc/latex/reledmac/examples/1-criticalnotes.pdf diff --git a/Master/texmf-dist/doc/latex/reledmac/examples/1-sidenotes.pdf b/Master/texmf-dist/doc/latex/reledmac/examples/1-sidenotes.pdf Binary files differindex 2d7130fcb9c..fa4b8cdbb5e 100644 --- a/Master/texmf-dist/doc/latex/reledmac/examples/1-sidenotes.pdf +++ b/Master/texmf-dist/doc/latex/reledmac/examples/1-sidenotes.pdf diff --git a/Master/texmf-dist/doc/latex/reledmac/examples/1-tabular.pdf b/Master/texmf-dist/doc/latex/reledmac/examples/1-tabular.pdf Binary files differindex d7a945978b7..80a889d85b0 100644 --- a/Master/texmf-dist/doc/latex/reledmac/examples/1-tabular.pdf +++ b/Master/texmf-dist/doc/latex/reledmac/examples/1-tabular.pdf diff --git a/Master/texmf-dist/doc/latex/reledmac/examples/1-verses-doublenumbering.pdf b/Master/texmf-dist/doc/latex/reledmac/examples/1-verses-doublenumbering.pdf Binary files differindex 75b679b50df..4881557ce02 100644 --- a/Master/texmf-dist/doc/latex/reledmac/examples/1-verses-doublenumbering.pdf +++ b/Master/texmf-dist/doc/latex/reledmac/examples/1-verses-doublenumbering.pdf diff --git a/Master/texmf-dist/doc/latex/reledmac/examples/1-verses.pdf b/Master/texmf-dist/doc/latex/reledmac/examples/1-verses.pdf Binary files differindex e1d1b6af197..3caf07a14ac 100644 --- a/Master/texmf-dist/doc/latex/reledmac/examples/1-verses.pdf +++ b/Master/texmf-dist/doc/latex/reledmac/examples/1-verses.pdf diff --git a/Master/texmf-dist/doc/latex/reledmac/examples/2-antilabe.pdf b/Master/texmf-dist/doc/latex/reledmac/examples/2-antilabe.pdf Binary files differindex f7b843c631f..7c94d43d135 100644 --- a/Master/texmf-dist/doc/latex/reledmac/examples/2-antilabe.pdf +++ b/Master/texmf-dist/doc/latex/reledmac/examples/2-antilabe.pdf diff --git a/Master/texmf-dist/doc/latex/reledmac/examples/2-cross_referencing.pdf b/Master/texmf-dist/doc/latex/reledmac/examples/2-cross_referencing.pdf Binary files differindex 1c53f875a00..0278d89b9f0 100644 --- a/Master/texmf-dist/doc/latex/reledmac/examples/2-cross_referencing.pdf +++ b/Master/texmf-dist/doc/latex/reledmac/examples/2-cross_referencing.pdf diff --git a/Master/texmf-dist/doc/latex/reledmac/examples/2-footnote_spacing.pdf b/Master/texmf-dist/doc/latex/reledmac/examples/2-footnote_spacing.pdf Binary files differindex c9e6daca454..542174e6f05 100644 --- a/Master/texmf-dist/doc/latex/reledmac/examples/2-footnote_spacing.pdf +++ b/Master/texmf-dist/doc/latex/reledmac/examples/2-footnote_spacing.pdf diff --git a/Master/texmf-dist/doc/latex/reledmac/examples/2-glossaries.pdf b/Master/texmf-dist/doc/latex/reledmac/examples/2-glossaries.pdf Binary files differindex f702632cf35..3ecab9d63bb 100644 --- a/Master/texmf-dist/doc/latex/reledmac/examples/2-glossaries.pdf +++ b/Master/texmf-dist/doc/latex/reledmac/examples/2-glossaries.pdf diff --git a/Master/texmf-dist/doc/latex/reledmac/examples/2-indexing.pdf b/Master/texmf-dist/doc/latex/reledmac/examples/2-indexing.pdf Binary files differindex ca3b90abcc8..607860d6e6f 100644 --- a/Master/texmf-dist/doc/latex/reledmac/examples/2-indexing.pdf +++ b/Master/texmf-dist/doc/latex/reledmac/examples/2-indexing.pdf diff --git a/Master/texmf-dist/doc/latex/reledmac/examples/2-lemma_disambigution.pdf b/Master/texmf-dist/doc/latex/reledmac/examples/2-lemma_disambigution.pdf Binary files differindex 95a09523d9a..26e21be7b93 100644 --- a/Master/texmf-dist/doc/latex/reledmac/examples/2-lemma_disambigution.pdf +++ b/Master/texmf-dist/doc/latex/reledmac/examples/2-lemma_disambigution.pdf diff --git a/Master/texmf-dist/doc/latex/reledmac/examples/2-line_numbers_in_header.pdf b/Master/texmf-dist/doc/latex/reledmac/examples/2-line_numbers_in_header.pdf Binary files differindex 0021b1cbd3b..b1dca2b1174 100644 --- a/Master/texmf-dist/doc/latex/reledmac/examples/2-line_numbers_in_header.pdf +++ b/Master/texmf-dist/doc/latex/reledmac/examples/2-line_numbers_in_header.pdf diff --git a/Master/texmf-dist/doc/latex/reledmac/examples/2-linespacing.pdf b/Master/texmf-dist/doc/latex/reledmac/examples/2-linespacing.pdf Binary files differindex 67424c3e0ca..499104658be 100644 --- a/Master/texmf-dist/doc/latex/reledmac/examples/2-linespacing.pdf +++ b/Master/texmf-dist/doc/latex/reledmac/examples/2-linespacing.pdf diff --git a/Master/texmf-dist/doc/latex/reledmac/examples/2-manuscript-apparatus.pdf b/Master/texmf-dist/doc/latex/reledmac/examples/2-manuscript-apparatus.pdf Binary files differindex 362ff7012a3..f5f58e81d62 100644 --- a/Master/texmf-dist/doc/latex/reledmac/examples/2-manuscript-apparatus.pdf +++ b/Master/texmf-dist/doc/latex/reledmac/examples/2-manuscript-apparatus.pdf diff --git a/Master/texmf-dist/doc/latex/reledmac/examples/2-notes-width.pdf b/Master/texmf-dist/doc/latex/reledmac/examples/2-notes-width.pdf Binary files differindex 0fe795532ad..abaf67b4f6f 100644 --- a/Master/texmf-dist/doc/latex/reledmac/examples/2-notes-width.pdf +++ b/Master/texmf-dist/doc/latex/reledmac/examples/2-notes-width.pdf diff --git a/Master/texmf-dist/doc/latex/reledmac/examples/2-one_series_per_pstart.pdf b/Master/texmf-dist/doc/latex/reledmac/examples/2-one_series_per_pstart.pdf Binary files differindex ad48933ba24..3cda9762d0e 100644 --- a/Master/texmf-dist/doc/latex/reledmac/examples/2-one_series_per_pstart.pdf +++ b/Master/texmf-dist/doc/latex/reledmac/examples/2-one_series_per_pstart.pdf diff --git a/Master/texmf-dist/doc/latex/reledmac/examples/2-performances.pdf b/Master/texmf-dist/doc/latex/reledmac/examples/2-performances.pdf Binary files differindex e68f4f3b491..c543daa1685 100644 --- a/Master/texmf-dist/doc/latex/reledmac/examples/2-performances.pdf +++ b/Master/texmf-dist/doc/latex/reledmac/examples/2-performances.pdf diff --git a/Master/texmf-dist/doc/latex/reledmac/examples/2-reledmac-right-to-left.pdf b/Master/texmf-dist/doc/latex/reledmac/examples/2-reledmac-right-to-left.pdf Binary files differindex ed0755c95b9..9030d23e946 100644 --- a/Master/texmf-dist/doc/latex/reledmac/examples/2-reledmac-right-to-left.pdf +++ b/Master/texmf-dist/doc/latex/reledmac/examples/2-reledmac-right-to-left.pdf diff --git a/Master/texmf-dist/doc/latex/reledmac/examples/2-subdivision-number-in-header.pdf b/Master/texmf-dist/doc/latex/reledmac/examples/2-subdivision-number-in-header.pdf Binary files differindex a0e92d1b909..53b0429efc5 100644 --- a/Master/texmf-dist/doc/latex/reledmac/examples/2-subdivision-number-in-header.pdf +++ b/Master/texmf-dist/doc/latex/reledmac/examples/2-subdivision-number-in-header.pdf diff --git a/Master/texmf-dist/doc/latex/reledmac/examples/2-titles_in_line_numbering_with_notes.pdf b/Master/texmf-dist/doc/latex/reledmac/examples/2-titles_in_line_numbering_with_notes.pdf Binary files differindex 22f3ac9ed37..7872a6a918e 100644 --- a/Master/texmf-dist/doc/latex/reledmac/examples/2-titles_in_line_numbering_with_notes.pdf +++ b/Master/texmf-dist/doc/latex/reledmac/examples/2-titles_in_line_numbering_with_notes.pdf diff --git a/Master/texmf-dist/doc/latex/reledmac/examples/2-titles_not_in_line_numbering.pdf b/Master/texmf-dist/doc/latex/reledmac/examples/2-titles_not_in_line_numbering.pdf Binary files differindex 6edc466546e..d751ef78ffe 100644 --- a/Master/texmf-dist/doc/latex/reledmac/examples/2-titles_not_in_line_numbering.pdf +++ b/Master/texmf-dist/doc/latex/reledmac/examples/2-titles_not_in_line_numbering.pdf diff --git a/Master/texmf-dist/doc/latex/reledmac/examples/3-reledpar_columns_different_languages.pdf b/Master/texmf-dist/doc/latex/reledmac/examples/3-reledpar_columns_different_languages.pdf Binary files differindex ae6daea2f39..d05683ac0ac 100644 --- a/Master/texmf-dist/doc/latex/reledmac/examples/3-reledpar_columns_different_languages.pdf +++ b/Master/texmf-dist/doc/latex/reledmac/examples/3-reledpar_columns_different_languages.pdf diff --git a/Master/texmf-dist/doc/latex/reledmac/examples/3-reledpar_mwe.pdf b/Master/texmf-dist/doc/latex/reledmac/examples/3-reledpar_mwe.pdf Binary files differindex 65e77b6045b..71adb5d7bb3 100644 --- a/Master/texmf-dist/doc/latex/reledmac/examples/3-reledpar_mwe.pdf +++ b/Master/texmf-dist/doc/latex/reledmac/examples/3-reledpar_mwe.pdf diff --git a/Master/texmf-dist/doc/latex/reledmac/examples/3-reledpar_pages_different_languages_lualatex.pdf b/Master/texmf-dist/doc/latex/reledmac/examples/3-reledpar_pages_different_languages_lualatex.pdf Binary files differindex 7864905fc58..3d12b5b07bb 100644 --- a/Master/texmf-dist/doc/latex/reledmac/examples/3-reledpar_pages_different_languages_lualatex.pdf +++ b/Master/texmf-dist/doc/latex/reledmac/examples/3-reledpar_pages_different_languages_lualatex.pdf diff --git a/Master/texmf-dist/doc/latex/reledmac/examples/3-reledpar_same_page_number_in_both_side.pdf b/Master/texmf-dist/doc/latex/reledmac/examples/3-reledpar_same_page_number_in_both_side.pdf Binary files differindex 147ece90398..36e59042160 100644 --- a/Master/texmf-dist/doc/latex/reledmac/examples/3-reledpar_same_page_number_in_both_side.pdf +++ b/Master/texmf-dist/doc/latex/reledmac/examples/3-reledpar_same_page_number_in_both_side.pdf diff --git a/Master/texmf-dist/doc/latex/reledmac/examples/3-reledpar_sync_setting_advancedshifted-nomax.pdf b/Master/texmf-dist/doc/latex/reledmac/examples/3-reledpar_sync_setting_advancedshifted-nomax.pdf Binary files differindex bc2e485aa77..df79382ca80 100644 --- a/Master/texmf-dist/doc/latex/reledmac/examples/3-reledpar_sync_setting_advancedshifted-nomax.pdf +++ b/Master/texmf-dist/doc/latex/reledmac/examples/3-reledpar_sync_setting_advancedshifted-nomax.pdf diff --git a/Master/texmf-dist/doc/latex/reledmac/examples/3-reledpar_sync_setting_advancedshifted.pdf b/Master/texmf-dist/doc/latex/reledmac/examples/3-reledpar_sync_setting_advancedshifted.pdf Binary files differindex a53aafd3657..d68d98ff29c 100644 --- a/Master/texmf-dist/doc/latex/reledmac/examples/3-reledpar_sync_setting_advancedshifted.pdf +++ b/Master/texmf-dist/doc/latex/reledmac/examples/3-reledpar_sync_setting_advancedshifted.pdf diff --git a/Master/texmf-dist/doc/latex/reledmac/examples/3-reledpar_sync_setting_default.pdf b/Master/texmf-dist/doc/latex/reledmac/examples/3-reledpar_sync_setting_default.pdf Binary files differindex b873ef26349..448dea3da89 100644 --- a/Master/texmf-dist/doc/latex/reledmac/examples/3-reledpar_sync_setting_default.pdf +++ b/Master/texmf-dist/doc/latex/reledmac/examples/3-reledpar_sync_setting_default.pdf diff --git a/Master/texmf-dist/doc/latex/reledmac/examples/3-reledpar_sync_setting_nomax-shifted.pdf b/Master/texmf-dist/doc/latex/reledmac/examples/3-reledpar_sync_setting_nomax-shifted.pdf Binary files differindex 4437bcd188e..37ac4daee67 100644 --- a/Master/texmf-dist/doc/latex/reledmac/examples/3-reledpar_sync_setting_nomax-shifted.pdf +++ b/Master/texmf-dist/doc/latex/reledmac/examples/3-reledpar_sync_setting_nomax-shifted.pdf diff --git a/Master/texmf-dist/doc/latex/reledmac/examples/3-reledpar_sync_setting_nomax.pdf b/Master/texmf-dist/doc/latex/reledmac/examples/3-reledpar_sync_setting_nomax.pdf Binary files differindex 0c36cb95649..d69077e19b3 100644 --- a/Master/texmf-dist/doc/latex/reledmac/examples/3-reledpar_sync_setting_nomax.pdf +++ b/Master/texmf-dist/doc/latex/reledmac/examples/3-reledpar_sync_setting_nomax.pdf diff --git a/Master/texmf-dist/doc/latex/reledmac/examples/3-reledpar_sync_setting_nosync.pdf b/Master/texmf-dist/doc/latex/reledmac/examples/3-reledpar_sync_setting_nosync.pdf Binary files differindex 073be3c769d..692832cc520 100644 --- a/Master/texmf-dist/doc/latex/reledmac/examples/3-reledpar_sync_setting_nosync.pdf +++ b/Master/texmf-dist/doc/latex/reledmac/examples/3-reledpar_sync_setting_nosync.pdf diff --git a/Master/texmf-dist/doc/latex/reledmac/examples/3-reledpar_sync_setting_shifted.pdf b/Master/texmf-dist/doc/latex/reledmac/examples/3-reledpar_sync_setting_shifted.pdf Binary files differindex 7a13994ca43..bf85737443f 100644 --- a/Master/texmf-dist/doc/latex/reledmac/examples/3-reledpar_sync_setting_shifted.pdf +++ b/Master/texmf-dist/doc/latex/reledmac/examples/3-reledpar_sync_setting_shifted.pdf diff --git a/Master/texmf-dist/doc/latex/reledmac/examples/4-reledpar_column_mix_with_not_column-continuous-numbering.pdf b/Master/texmf-dist/doc/latex/reledmac/examples/4-reledpar_column_mix_with_not_column-continuous-numbering.pdf Binary files differindex 5dbce101618..e9fb82d3458 100644 --- a/Master/texmf-dist/doc/latex/reledmac/examples/4-reledpar_column_mix_with_not_column-continuous-numbering.pdf +++ b/Master/texmf-dist/doc/latex/reledmac/examples/4-reledpar_column_mix_with_not_column-continuous-numbering.pdf diff --git a/Master/texmf-dist/doc/latex/reledmac/examples/4-reledpar_column_mix_with_not_column.pdf b/Master/texmf-dist/doc/latex/reledmac/examples/4-reledpar_column_mix_with_not_column.pdf Binary files differindex 4c574e496bc..6136c9957b8 100644 --- a/Master/texmf-dist/doc/latex/reledmac/examples/4-reledpar_column_mix_with_not_column.pdf +++ b/Master/texmf-dist/doc/latex/reledmac/examples/4-reledpar_column_mix_with_not_column.pdf diff --git a/Master/texmf-dist/doc/latex/reledmac/examples/4-reledpar_columns_alignment.pdf b/Master/texmf-dist/doc/latex/reledmac/examples/4-reledpar_columns_alignment.pdf Binary files differindex 012bb74b4e6..0fea810dc61 100644 --- a/Master/texmf-dist/doc/latex/reledmac/examples/4-reledpar_columns_alignment.pdf +++ b/Master/texmf-dist/doc/latex/reledmac/examples/4-reledpar_columns_alignment.pdf diff --git a/Master/texmf-dist/doc/latex/reledmac/examples/4-reledpar_columns_titles_in_line_numbering_with_notes.pdf b/Master/texmf-dist/doc/latex/reledmac/examples/4-reledpar_columns_titles_in_line_numbering_with_notes.pdf Binary files differindex fc67986e5af..b492f691216 100644 --- a/Master/texmf-dist/doc/latex/reledmac/examples/4-reledpar_columns_titles_in_line_numbering_with_notes.pdf +++ b/Master/texmf-dist/doc/latex/reledmac/examples/4-reledpar_columns_titles_in_line_numbering_with_notes.pdf diff --git a/Master/texmf-dist/doc/latex/reledmac/examples/4-reledpar_inside-outside-columns.pdf b/Master/texmf-dist/doc/latex/reledmac/examples/4-reledpar_inside-outside-columns.pdf Binary files differindex 58d08bf3bdd..d4643edcb39 100644 --- a/Master/texmf-dist/doc/latex/reledmac/examples/4-reledpar_inside-outside-columns.pdf +++ b/Master/texmf-dist/doc/latex/reledmac/examples/4-reledpar_inside-outside-columns.pdf diff --git a/Master/texmf-dist/doc/latex/reledmac/examples/4-reledpar_one_series_per_pstart.pdf b/Master/texmf-dist/doc/latex/reledmac/examples/4-reledpar_one_series_per_pstart.pdf Binary files differindex 36f63213865..09f3b726021 100644 --- a/Master/texmf-dist/doc/latex/reledmac/examples/4-reledpar_one_series_per_pstart.pdf +++ b/Master/texmf-dist/doc/latex/reledmac/examples/4-reledpar_one_series_per_pstart.pdf diff --git a/Master/texmf-dist/doc/latex/reledmac/examples/4-reledpar_pages_long_notes.pdf b/Master/texmf-dist/doc/latex/reledmac/examples/4-reledpar_pages_long_notes.pdf Binary files differindex db1ccbc5a7c..4ccf4308cd4 100644 --- a/Master/texmf-dist/doc/latex/reledmac/examples/4-reledpar_pages_long_notes.pdf +++ b/Master/texmf-dist/doc/latex/reledmac/examples/4-reledpar_pages_long_notes.pdf diff --git a/Master/texmf-dist/doc/latex/reledmac/examples/4-reledpar_pages_notes_leftpage.pdf b/Master/texmf-dist/doc/latex/reledmac/examples/4-reledpar_pages_notes_leftpage.pdf Binary files differindex d71f06d80e9..000ffd301c6 100644 --- a/Master/texmf-dist/doc/latex/reledmac/examples/4-reledpar_pages_notes_leftpage.pdf +++ b/Master/texmf-dist/doc/latex/reledmac/examples/4-reledpar_pages_notes_leftpage.pdf diff --git a/Master/texmf-dist/doc/latex/reledmac/examples/4-reledpar_pages_paragraph_separator_between.pdf b/Master/texmf-dist/doc/latex/reledmac/examples/4-reledpar_pages_paragraph_separator_between.pdf Binary files differindex c6186efd4de..3baa1de9869 100644 --- a/Master/texmf-dist/doc/latex/reledmac/examples/4-reledpar_pages_paragraph_separator_between.pdf +++ b/Master/texmf-dist/doc/latex/reledmac/examples/4-reledpar_pages_paragraph_separator_between.pdf diff --git a/Master/texmf-dist/doc/latex/reledmac/examples/4-reledpar_pages_titles_in_line_numbering_with_notes.pdf b/Master/texmf-dist/doc/latex/reledmac/examples/4-reledpar_pages_titles_in_line_numbering_with_notes.pdf Binary files differindex a36ab701dd8..7a63bced17a 100644 --- a/Master/texmf-dist/doc/latex/reledmac/examples/4-reledpar_pages_titles_in_line_numbering_with_notes.pdf +++ b/Master/texmf-dist/doc/latex/reledmac/examples/4-reledpar_pages_titles_in_line_numbering_with_notes.pdf diff --git a/Master/texmf-dist/doc/latex/reledmac/examples/4-reledpar_titles_not_in_line_numbering.pdf b/Master/texmf-dist/doc/latex/reledmac/examples/4-reledpar_titles_not_in_line_numbering.pdf Binary files differindex 33338d8f638..e68462600d2 100644 --- a/Master/texmf-dist/doc/latex/reledmac/examples/4-reledpar_titles_not_in_line_numbering.pdf +++ b/Master/texmf-dist/doc/latex/reledmac/examples/4-reledpar_titles_not_in_line_numbering.pdf diff --git a/Master/texmf-dist/doc/latex/reledmac/examples/4-reledpar_verse_text_between.pdf b/Master/texmf-dist/doc/latex/reledmac/examples/4-reledpar_verse_text_between.pdf Binary files differindex c8200f5ff5f..120bdeb43a4 100644 --- a/Master/texmf-dist/doc/latex/reledmac/examples/4-reledpar_verse_text_between.pdf +++ b/Master/texmf-dist/doc/latex/reledmac/examples/4-reledpar_verse_text_between.pdf diff --git a/Master/texmf-dist/doc/latex/reledmac/migration.pdf b/Master/texmf-dist/doc/latex/reledmac/migration.pdf Binary files differindex 50d46b721ed..1512a20fea9 100644 --- a/Master/texmf-dist/doc/latex/reledmac/migration.pdf +++ b/Master/texmf-dist/doc/latex/reledmac/migration.pdf diff --git a/Master/texmf-dist/doc/latex/reledmac/reledmac.pdf b/Master/texmf-dist/doc/latex/reledmac/reledmac.pdf Binary files differindex bc1f8b20f92..bf4c1a04d6d 100644 --- a/Master/texmf-dist/doc/latex/reledmac/reledmac.pdf +++ b/Master/texmf-dist/doc/latex/reledmac/reledmac.pdf diff --git a/Master/texmf-dist/doc/latex/reledmac/reledpar.pdf b/Master/texmf-dist/doc/latex/reledmac/reledpar.pdf Binary files differindex 84a3fd4ec0c..09730ec178a 100644 --- a/Master/texmf-dist/doc/latex/reledmac/reledpar.pdf +++ b/Master/texmf-dist/doc/latex/reledmac/reledpar.pdf diff --git a/Master/texmf-dist/doc/latex/reptheorem/reptheorem.pdf b/Master/texmf-dist/doc/latex/reptheorem/reptheorem.pdf Binary files differindex 31caef6e5df..cb574aa07cc 100644 --- a/Master/texmf-dist/doc/latex/reptheorem/reptheorem.pdf +++ b/Master/texmf-dist/doc/latex/reptheorem/reptheorem.pdf diff --git a/Master/texmf-dist/doc/latex/resolsysteme/ResolSysteme-doc.pdf b/Master/texmf-dist/doc/latex/resolsysteme/ResolSysteme-doc.pdf Binary files differindex 6e42e68df98..6f4fa467efb 100644 --- a/Master/texmf-dist/doc/latex/resolsysteme/ResolSysteme-doc.pdf +++ b/Master/texmf-dist/doc/latex/resolsysteme/ResolSysteme-doc.pdf diff --git a/Master/texmf-dist/doc/latex/resolsysteme/ResolSysteme-doc.tex b/Master/texmf-dist/doc/latex/resolsysteme/ResolSysteme-doc.tex index dde087fc1ce..167d62e4f40 100644 --- a/Master/texmf-dist/doc/latex/resolsysteme/ResolSysteme-doc.tex +++ b/Master/texmf-dist/doc/latex/resolsysteme/ResolSysteme-doc.tex @@ -3,8 +3,8 @@ % arara: lualatex: {shell: yes, synctex: no, interaction: batchmode} if found('log', '(undefined references|Please rerun|Rerun to get)') \documentclass[french,a4paper,11pt]{article} -\def\TPversion{0.1.7} -\def\TPdate{22 juin 2024} +\def\TPversion{0.1.8} +\def\TPdate{4 juillet 2024} \usepackage[executable=python.exe]{pyluatex} \usepackage[table,svgnames]{xcolor} \usepackage{amsmath,amssymb} @@ -148,7 +148,7 @@ \vspace{0.25cm} -{$\blacktriangleright$~~Une commande pour afficher une matrice carrée (2x2, 3x3 ou 4x4) avec la syntaxe du package.} +{$\blacktriangleright$~~Une commande pour afficher une matrice carrée (2×2, 3×3 ou 4×4) avec la syntaxe du package.} \smallskip @@ -156,15 +156,15 @@ \smallskip -{$\blacktriangleright$~~Des commandes pour calculer le déterminant et l'inverse de matrices carrées (2x2, 3x3 ou 4x4).} +{$\blacktriangleright$~~Des commandes pour calculer le déterminant et l'inverse de matrices carrées (2×2, 3×3 ou 4×4).} \smallskip -{$\blacktriangleright$~~Des commandes pour résoudre des systèmes linéaires (2x2, 3x3 ou 4x4).} +{$\blacktriangleright$~~Des commandes pour résoudre des systèmes linéaires (2×2, 3×3 ou 4×4).} \smallskip -{$\blacktriangleright$~~Des commandes pour travailler sur des graphes probabilistes (2x2, 3x3 ou 4x4).} +{$\blacktriangleright$~~Des commandes pour travailler sur des graphes probabilistes (2×2, 3×3 ou 4×4).} \vspace{1cm} @@ -207,7 +207,9 @@ \hrule -\medskip +\bigskip + +{\footnotesize\sffamily\itshape À mon papa.} \newpage @@ -240,8 +242,8 @@ La package \textit{propose} des outils pour travailler sur des matrices ou des s À noter que les calculs -- en interne -- peuvent être effectués de deux manières : \begin{itemize} - \item via les packages \textsf{xint*} pour des formats \textbf{2x2} ou \textbf{3x3} (et dans une certaine mesure pour des \textbf{4x4}) ; - \item via \textsf{python} et le package \textsf{pyluatex} (à charger manuellement du fait des options spécifiques) pour des formats \textbf{2x2}, \textbf{3x3} ou \textbf{4x4}. + \item via les packages \textsf{xint*} pour des formats \textbf{2×2} ou \textbf{3×3} (et dans une certaine mesure pour des \textbf{4×4}) ; + \item via \textsf{Python} et le package \textsf{pyluatex} (à charger manuellement du fait des options spécifiques) pour des formats \textbf{2×2}, \textbf{3×3} ou \textbf{4×4}. \end{itemize} Il n'est pas prévu -- pour le moment -- de travailler sur des matrices/systèmes plus grands, car l'idée est de pouvoir formater le résultat, ce qui se fait coefficient par coefficient. @@ -252,7 +254,7 @@ L'utilisation de \textsf{pyluatex} nécessite une compilation adaptée, à savoi \smallskip -La méthode par \textsf{python} utilise quoi qu'il en soit le module \texttt{sympy}, qui doit donc être installé ! +La méthode par \textsf{Python} utilise quoi qu'il en soit le module \texttt{sympy}, qui doit donc être installé ! \end{warningblock} \subsection{Packages utilisés, choix de formatage} @@ -283,7 +285,7 @@ En marge de la présente documentation, compilée en \textsf{lualatex} avec \tex \begin{itemize} \item \texttt{ResolSysteme-exemples} pour les commandes disponibles en version classique (\textsf{xint}) ; - \item \texttt{ResolSysteme-exemples-pyluatex} pour les commandes disponibles en version python (\textsf{pyluatex}). + \item \texttt{ResolSysteme-exemples-pyluatex} pour les commandes disponibles en version \textsf{Python} (\textsf{pyluatex}). \end{itemize} \vspace*{-\baselineskip}\leavevmode \end{noteblock} @@ -293,7 +295,7 @@ En marge de la présente documentation, compilée en \textsf{lualatex} avec \tex \subsection{Chargement du package, et option} \begin{importantblock} -Le package peut donc se charger de deux manières différentes, suivant si l'utilisateur utilise \textsf{python} ou non. Les commandes \textit{classiques} sont disponibles même si \textsf{python} est utilisé. +Le package peut donc se charger de deux manières différentes, suivant si l'utilisateur utilise \textsf{Python} ou non. Les commandes \textit{classiques} sont disponibles même si \textsf{Python} est utilisé. \end{importantblock} \begin{PresentationCode}{listing only} @@ -314,18 +316,22 @@ D'autres solutions existent pour faire du calcul matriciel, on peut pas exemple \smallskip -L'idée est ici de proposer une version, adaptée à des dimensions classiques, avec formatage des calculs, sous forme de fraction irréductible notamment. Les formatages étant effectués \textit{a posteriori}, j'ai choisi de limiter ce package à des formats de taille raisonnable (\textbf{1x2} à \textbf{4x4}). +L'idée est ici de proposer une version, adaptée à des dimensions classiques, avec formatage des calculs, sous forme de fraction irréductible notamment. Les formatages étant effectués \textit{a posteriori}, j'ai choisi de limiter ce package à des formats de taille raisonnable (\textbf{1×2} à \textbf{4×4}). \end{noteblock} \part{Historique} +\verb|v0.1.8|~:~~~~Correction de bugs, améliorations dans la documentation. + +\verb|v0.1.7|~:~~~~Correction de bugs dans certains calculs avec des fractions. + \verb|v0.1.6|~:~~~~Correction de bugs dans certains calculs avec des fractions. \verb|v0.1.6|~:~~~~Correction de bugs dans certains calculs. \verb|v0.1.5|~:~~~~Inverse d'une matrice 4x4 et système 4x4 (même en normal). -\verb|v0.1.4|~:~~~~Ajout de commandes pour du calcul matriciel sans python (de taille raisonnable) ; +\verb|v0.1.4|~:~~~~Ajout de commandes pour du calcul matriciel sans \textsf{Python} (de taille raisonnable) ; \verb| |~~~~~~commandes pour des graphes probabilistes. @@ -333,7 +339,7 @@ L'idée est ici de proposer une version, adaptée à des dimensions classiques, \verb| |~~~~~~inversion du comportement des commandes étoilées. -\verb|v0.1.2|~:~~~~Ajout d'une commande d'affichage (formaté) d'une matrice 2x2, 3x3 ou 4x4. +\verb|v0.1.2|~:~~~~Ajout d'une commande d'affichage (formaté) d'une matrice 2×2, 3×3 ou 4×4. \verb|v0.1.1|~:~~~~Correction d'un bug avec le caractère \og ; \fg. @@ -414,7 +420,7 @@ Les \textit{transformations} en fraction devraient pouvoir fonctionner avec des \subsection{La commande} \begin{cautionblock} -Une commande (matricielle) est dédiée à l'affichage d'une matrice \textbf{2x2} ou \textbf{3x3} ou \textbf{4x4} (\textsf{python} est ici non nécessaire !) : +Une commande (matricielle) est dédiée à l'affichage d'une matrice \textbf{2×2} ou \textbf{3×3} ou \textbf{4×4} (\textsf{Python} est ici non nécessaire !) : \begin{itemize} \item en saisissant les coefficients via une syntaxe propre au package (l'affichage est géré en interne par \textsf{nicematrix}) ; @@ -485,8 +491,8 @@ L'idée est de proposer des commandes pour effectuer des calculs matriciels \tex \item $(4\times4)\times(4\times4)$ ; \item $(4\times4)\times(4\times1)$ ; \end{itemize} - \item le carré d'une matrice 2x2 ou 3x3 ou 4x4 ; - \item la puissance d'une matrice 2x2 ou 3x3 ou 4x4 (via \textsf{python}). + \item le carré d'une matrice 2×2 ou 3×3 ou 4×4 ; + \item la puissance d'une matrice 2×2 ou 3×3 ou 4×4 (via \textsf{Python}). \end{itemize} \vspace*{-\baselineskip}\leavevmode \end{cautionblock} @@ -576,7 +582,7 @@ $\MatricePuissancePY(1,1,1,1 § 5,-2,1,5 § 0,5,2,-1 § 0,1,1,1)(5)[Aff]$ Une commande est disponible pour calculer le déterminant d'une matrice : \begin{itemize} - \item \textbf{2x2} ou \textbf{3x3} ou \textbf{4x4}. + \item \textbf{2×2} ou \textbf{3×3} ou \textbf{4×4}. \end{itemize} \vspace*{-\baselineskip}\leavevmode \end{cautionblock} @@ -585,7 +591,7 @@ Une commande est disponible pour calculer le déterminant d'une matrice : %version classique \DetMatrice(*)[option de formatage](matrice) -%version python +%version Python \DetMatricePY(*)[option de formatage](matrice) \end{PresentationCode} @@ -633,7 +639,7 @@ est $\det(A)=\DetMatrice(1,2,3,4 § 5,6,7,0 § 1,1,1,1 § 2,-3,-5,-6)$. \end{PresentationCode} \begin{PresentationCode}{} -%version python +%version Python Le dé. de $A=\AffMatrice(1,2 § 3,4)$ est $\det(A)=\DetMatricePY(1,2 § 3,4)$. \end{PresentationCode} @@ -644,13 +650,13 @@ $\det(A)=\DetMatricePY[d](-1,0.5 § 1/2,4)$. \end{PresentationCode} \begin{PresentationCode}{} -%version python +%version Python Le dét. de $A=\AffMatrice(-1,1/3,4 § 1/3,4,-1 § -1,0,0)$ est $\det(A) \approx \DetMatricePY[dec=3](-1,1/3,4 § 1/3,4,-1 § -1,0,0)$. \end{PresentationCode} \begin{PresentationCode}{} -%version python +%version Python Le dét. de $A=\AffMatrice(1,2,3,4 § 5,6,7,0 § 1,1,1,1 § 2,-3,-5,-6)$ est $\det(A)=\DetMatricePY(1,2,3,4 § 5,6,7,0 § 1,1,1,1 § 2,-3,-5,-6)$. \end{PresentationCode} @@ -665,8 +671,8 @@ est $\det(A)=\DetMatricePY(1,2,3,4 § 5,6,7,0 § 1,1,1,1 § 2,-3,-5,-6)$. Une commande (matricielle) disponible est pour calculer l'éventuelle inverse d'une matrice : \begin{itemize} - \item \textbf{2x2} ou \textbf{3x3} ou \textbf{4x4} (\cmaj{0.1.5}) pour le package \textit{classique} ; - \item \textbf{2x2} ou \textbf{3x3} ou \textbf{4x4} également pour la version \textsf{python}. + \item \textbf{2×2} ou \textbf{3×3} ou \textbf{4×4} (\cmaj{0.1.5}) pour le package \textit{classique} ; + \item \textbf{2×2} ou \textbf{3×3} ou \textbf{4×4} également pour la version \textsf{Python}. \end{itemize} \vspace*{-\baselineskip}\leavevmode \end{cautionblock} @@ -675,7 +681,7 @@ Une commande (matricielle) disponible est pour calculer l'éventuelle inverse d' %version classique \MatriceInverse(*)[option de formatage]<options nicematrix>(matrice)[Clé] -%version python +%version Python \MatriceInversePY(*)[option de formatage]<options nicematrix>(matrice)[Clé] \end{PresentationCode} @@ -714,7 +720,7 @@ $A^{-1}=\MatriceInverse[n]<cell-space-limits=2pt>(1,2,3 § 4,5,6 § 7,8,8)[Aff]$ \end{PresentationCode} \begin{PresentationCode}{} -%version python +%version Python L'inverse de $A=\AffMatrice(1,2 § 3,4)$ est $A^{-1}=\MatriceInversePY[d]<cell-space-limits=2pt>(1,2 § 3,4)[Aff]$. \end{PresentationCode} @@ -727,7 +733,7 @@ $A^{-1}= \end{PresentationCode} \begin{PresentationCode}{} -%version python +%version Python L'inv. de $A=\AffMatrice(1,2,3,4 § 5,6,7,0 § 1,1,1,1 § -2,-3,-5,-6)$ est $A^{-1}= \MatriceInversePY[n]<cell-space-limits=2pt>(1,2,3,4 § 5,6,7,0 § 1,1,1,1 § -2,-3,-5,-6)$. @@ -740,17 +746,17 @@ $A^{-1}= \subsection{Introduction} \begin{cautionblock} -\cmaj{0.1.4} Il existe des commandes pour travailler sur un graphe probabiliste (avec le package en version \textsf{python}) : +\cmaj{0.1.4} Il existe des commandes pour travailler sur un graphe probabiliste (avec le package en version \textsf{Python}) : \begin{itemize} - \item afficher un état probabiliste (\textbf{1x2} ou \textbf{1x3} ou \textbf{1x4}, version normale ou version \textsf{python}) ; - \item déterminer un état probabiliste à une certaine étape, uniquement en version \textsf{python}. + \item afficher un état probabiliste (\textbf{1×2} ou \textbf{1×3} ou \textbf{1×4}, version normale ou version \textsf{Python}) ; + \item déterminer un état probabiliste à une certaine étape, uniquement en version \textsf{Python}. \end{itemize} \vspace*{-\baselineskip}\leavevmode \end{cautionblock} \begin{PresentationCode}{listing only} -%version classique ou python +%version classique ou Python \AffEtatProb[opt de formatage]<opts nicematrix>(matrice ligne) \EtatProbPY[opt de formatage]<opts nicematrix>(état init)(mat de trans)(étape) \end{PresentationCode} @@ -847,8 +853,8 @@ $P_4 \approx \EtatProbPY[dec=3] Il existe une commande (matricielle) pour déterminer l'éventuelle solution d'un système linéaire qui s'écrit matriciellement $A\times X=B$: \begin{itemize} - \item \textbf{2x2} ou \textbf{3x3} ou \textbf{4x4} (\cmaj{0.1.5}) pour le package \textit{classique} ; - \item \textbf{2x2} ou \textbf{3x3} ou \textbf{4x4} également pour le package en version \textsf{python}. + \item \textbf{2×2} ou \textbf{3×3} ou \textbf{4×4} (\cmaj{0.1.5}) pour le package \textit{classique} ; + \item \textbf{2×2} ou \textbf{3×3} ou \textbf{4×4} également pour le package en version \textsf{Python}. \end{itemize} \vspace*{-\baselineskip}\leavevmode \end{cautionblock} @@ -857,7 +863,7 @@ Il existe une commande (matricielle) pour déterminer l'éventuelle solution d'u %version classique \SolutionSysteme(*)[opt de formatage]<opts nicematrix>(matriceA)(matriceB)[Clé] -%version python +%version Python \SolutionSystemePY(*)[opt de formatage]<opts nicematrix>(matriceA)(matriceB)[Clé] \end{PresentationCode} @@ -882,6 +888,10 @@ Concernant cette commande, qui est à insérer dans un environnement \textit{mat \item le dernier argument, \textit{optionnel} et entre \textsf{[...]}, permet -- grâce à la \textit{clé} \Cle{Matrice} -- de présenter le vecteur solution. \end{itemize} À noter que si la matrice n'est pas inversible, le texte \texttt{Matrice non inversible} est affiché. + +\smallskip + +Pour afficher le système via la commande \texttt{\textbackslash systeme}, le package \textsf{systeme} doit être chargé. \end{tipblock} \begin{PresentationCode}{} @@ -891,7 +901,7 @@ La solution de $\systeme{3x+y-2z=-1,2x-y+z=4,x-y-2z=5}$ est $\mathcal{S}=% \end{PresentationCode} \begin{PresentationCode}{} -%version python +%version Python La solution de $\systeme{x+y+z=-1,3x+2y-z=6,-x-y+2z=-5}$ est $\mathcal{S}=% \left\lbrace \SolutionSystemePY(1,1,1 § 3,2,-1 § -1,-1,2)(-1,6,-5) \right\rbrace$. \end{PresentationCode} @@ -914,7 +924,7 @@ est $\mathcal{S}= \end{PresentationCode} \begin{PresentationCode}{} -%version python +%version Python La solution de $\systeme[xyzt]{x+2y+3z+4t=-10,5x+6y+7z=0,x+y+z+t=4,-2x-3y-5z-6t=7}$ est $\mathcal{S}=% \left\lbrace @@ -938,8 +948,8 @@ La solution de $\systeme{x+2y=-5,4x+8y=1}$ est $\mathcal{S}=% \cmaj{0.1.4} Il existe une commande (matricielle) pour déterminer l'éventuel état stable d'un graphe probabiliste : \begin{itemize} - \item \textbf{2x2} pour le package \textit{classique} ; - \item \textbf{2x2} ou \textbf{3x3} ou \textbf{4x4} pour le package en version \textsf{python}. + \item \textbf{2×2} pour le package \textit{classique} ; + \item \textbf{2×2} ou \textbf{3×3} ou \textbf{4×4} pour le package en version \textsf{Python}. \end{itemize} \vspace*{-\baselineskip}\leavevmode \end{cautionblock} @@ -948,7 +958,7 @@ La solution de $\systeme{x+2y=-5,4x+8y=1}$ est $\mathcal{S}=% %version classique \EtatStable[opt de formatage]<opts nicematrix>(matriceA) -%version python +%version Python \EtatStablePY[opt de formatage]<opts nicematrix>(matriceA) \end{PresentationCode} @@ -982,7 +992,7 @@ ou $\Pi = \EtatStable[dec](0.72,0.28 § 0.12,0.88)$. \end{PresentationCode} \begin{PresentationCode}{} -%version python +%version Python L'état stable du gr. prob. de matrice $M=\AffMatrice[dec](0.72,0.28 § 0.12,0.88)$ @@ -991,7 +1001,7 @@ ou $\Pi = \EtatStablePY[dec](0.72,0.28 § 0.12,0.88)$. \end{PresentationCode} \begin{PresentationCode}{} -%version python +%version Python L'état stable du gr. prob. de matrice $M=\AffMatrice[dec](0.9,0.03,0.07 § 0.30,0.43,0.27 § 0.14,0.07,0.79)$ @@ -1000,7 +1010,7 @@ ou $\Pi = \EtatStablePY[dec](0.9,0.03,0.07 § 0.30,0.43,0.27 § 0.14,0.07,0.79)$ \end{PresentationCode} \begin{PresentationCode}{} -%version python +%version Python L'état stable du gr. prob. de matrice $M=\AffMatrice[dec]% (0.1,0.2,0.3,0.4 § 0.25,0.25,0.25,0.25 § 0.15,0.15,0.2,0.5 § 0.3,0.3,0.2,0.2)$ @@ -1013,7 +1023,7 @@ est $\Pi \approx \pagebreak -\part{Fonctions python utilisées} +\part{Fonctions Python utilisées} \begin{cautionblock} Les fonctions utilisées par les packages \textsf{pyluatex} ou \textsf{pythontex} sont données ci-dessous. @@ -1022,7 +1032,7 @@ Elles sont accessibles en \textit{natif} une fois l'option \textsf{pyluatex} act \end{cautionblock} \begin{PresentationCodePython}{listing only} -#variables symboliques (pour du 4x4 maxi) +#variables symboliques (pour du 4×4 maxi) import sympy as sy x = sy.Symbol('x') y = sy.Symbol('y') diff --git a/Master/texmf-dist/doc/latex/resolsysteme/ResolSysteme-exemples-pyluatex.pdf b/Master/texmf-dist/doc/latex/resolsysteme/ResolSysteme-exemples-pyluatex.pdf Binary files differindex 8aa1f3642e3..dfd7461c748 100644 --- a/Master/texmf-dist/doc/latex/resolsysteme/ResolSysteme-exemples-pyluatex.pdf +++ b/Master/texmf-dist/doc/latex/resolsysteme/ResolSysteme-exemples-pyluatex.pdf diff --git a/Master/texmf-dist/doc/latex/resolsysteme/ResolSysteme-exemples-pyluatex.tex b/Master/texmf-dist/doc/latex/resolsysteme/ResolSysteme-exemples-pyluatex.tex index 3527a582238..600ce6d1d3d 100644 --- a/Master/texmf-dist/doc/latex/resolsysteme/ResolSysteme-exemples-pyluatex.tex +++ b/Master/texmf-dist/doc/latex/resolsysteme/ResolSysteme-exemples-pyluatex.tex @@ -2,7 +2,7 @@ % !TeX TXS-program:compile = txs:///lualatex/[--shell-escape] \documentclass[french,a4paper,10pt]{article} -\def\RSver{0.1.7} +\def\RSver{0.1.8} \usepackage[margin=1.5cm]{geometry} \usepackage[executable=python.exe]{pyluatex} \usepackage[pyluatex]{ResolSysteme} @@ -27,7 +27,7 @@ \sisetup{locale=FR,output-decimal-marker={,}} \end{ShowCodeTeX} -\section{Affichage d'une matrice, 2x2 ou 3x3 ou 4x4} +\section{Affichage d'une matrice, 2×2 ou 3×3 ou 4×4} \begin{ShowCodeTeX} On considère les matrices $A=\AffMatrice(1,2 § 3,4)$ @@ -35,7 +35,7 @@ et $B=\AffMatrice[n](-1,-1/3,4 § 1/3,4,-1 § -1,0,0)$ et $C=\AffMatrice(1,2,3,4 § 5,6,7,0 § 1,1,1,1 § 2,-3,-5,-6)$. \end{ShowCodeTeX} -\section{Déterminant d'une matrice, 2x2 ou 3x3 ou 4x4} +\section{Déterminant d'une matrice, 2×2 ou 3×3 ou 4×4} \begin{ShowCodeTeX} Le déterminant de $A=\AffMatrice(1,2 § 3,4)$ est @@ -57,7 +57,7 @@ Le dét. de $A=\begin{pNiceMatrix} 1&2&3&4\\5&6&7&0\\1&1&1&1\\2&-3&-5&-6 \end{pN est $\det(A)=\DetMatricePY(1,2,3,4 § 5,6,7,0 § 1,1,1,1 § 2,-3,-5,-6)$. \end{ShowCodeTeX} -\section{Calculs avec des matrices, 2x2 ou 3x3 ou 4x4} +\section{Calculs avec des matrices, 2×2 ou 3×3 ou 4×4} \begin{ShowCodeTeX} $\ProduitMatricesPY(1,2)(3 § 4)[Aff]$ et $\ProduitMatricesPY(1,2)(3,4 § 5,6)[Aff]$ \\ @@ -83,7 +83,7 @@ $\MatricePuissancePY(1,1,-1 § 5,-2,1 § 0,5,2)(3)[Aff]$ \\ $\MatricePuissancePY(1,1,1,1 § 5,-2,1,5 § 0,5,2,-1 § 0,1,1,1)(5)[Aff]$ \end{ShowCodeTeX} -\section{Inverse d'une matrice, 2x2 ou 3x3 ou 4x4} +\section{Inverse d'une matrice, 2×2 ou 3×3 ou 4×4} \begin{ShowCodeTeX} L'inverse de $A=\begin{pNiceMatrix} 1&2 \\ 3&4 \end{pNiceMatrix}$ est @@ -120,7 +120,7 @@ L'inverse de $A=\begin{pNiceMatrix} 1&2&3&4\\5&6&7&0\\1&1&1&1\\2&-3&-5&-6 \end{p est $A^{-1}=\MatriceInversePY[n]<cell-space-limits=2pt>(1,2,3,4 § 5,6,7,0 § 1,1,1,1 § 2,-3,-5,-6)$. \end{ShowCodeTeX} -\section{Résolution d'un système, 2x2 ou 3x3 ou 4x4} +\section{Résolution d'un système, 2×2 ou 3×3 ou 4×4} \begin{ShowCodeTeX} La solution de $\systeme{-9x-8y=-8,3x-6y=-7}$ est $\mathcal{S}=% @@ -160,7 +160,7 @@ La solution de $\systeme[xyzt]{x+2y+3z+4t=-10,5x+6y+7z=0,x+y+z+t=4,-2x-3y-5z-6t= [Matrice]$ \end{ShowCodeTeX} -\section{État probabiliste d'un graphe probabiliste, 2x2 ou 3x3 ou 4x4} +\section{État probabiliste d'un graphe probabiliste, 2×2 ou 3×3 ou 4×4} \begin{ShowCodeTeX} État initial : $P_0 = \AffEtatProb[t](1/3,2/3)$. @@ -202,7 +202,7 @@ $P_4 \approx \EtatProbPY[dec=3] (4)$ \end{ShowCodeTeX} -\section{État stable d'un graphe probabiliste, 2x2 ou 3x3 ou 4x4} +\section{État stable d'un graphe probabiliste, 2×2 ou 3×3 ou 4×4} \begin{ShowCodeTeX} L'état stable du gr. prob. de matrice diff --git a/Master/texmf-dist/doc/latex/resolsysteme/ResolSysteme-exemples.pdf b/Master/texmf-dist/doc/latex/resolsysteme/ResolSysteme-exemples.pdf Binary files differindex 59e5819a3a6..bbf961d1a7d 100644 --- a/Master/texmf-dist/doc/latex/resolsysteme/ResolSysteme-exemples.pdf +++ b/Master/texmf-dist/doc/latex/resolsysteme/ResolSysteme-exemples.pdf diff --git a/Master/texmf-dist/doc/latex/resolsysteme/ResolSysteme-exemples.tex b/Master/texmf-dist/doc/latex/resolsysteme/ResolSysteme-exemples.tex index ffec22fb9fe..b228332dec2 100644 --- a/Master/texmf-dist/doc/latex/resolsysteme/ResolSysteme-exemples.tex +++ b/Master/texmf-dist/doc/latex/resolsysteme/ResolSysteme-exemples.tex @@ -2,7 +2,7 @@ % !TeX TXS-program:compile = txs:///pdflatex \documentclass[french,a4paper,10pt]{article} -\def\RSver{0.1.7} +\def\RSver{0.1.8} \usepackage[margin=1.5cm]{geometry} \usepackage{ResolSysteme} \usepackage{systeme} @@ -15,7 +15,7 @@ \part*{ResolSysteme (\RSver), version \og classique \fg{}} -\section{Préambule sans utiliser python} +\section{Préambule sans utiliser Python} \begin{ShowCodeTeX}[listing only] \documentclass[french,a4paper,10pt]{article} @@ -25,7 +25,7 @@ \sisetup{locale=FR,output-decimal-marker={,}} \end{ShowCodeTeX} -\section{Affichage d'une matrice, 2x2 ou 3x3 ou 4x4} +\section{Affichage d'une matrice, 2×2 ou 3×3 ou 4×4} \begin{ShowCodeTeX} On considère les matrices $A=\AffMatrice(1,2 § 3,4)$ @@ -33,7 +33,7 @@ et $B=\AffMatrice[n](-1,1/3,4 § 1/3,4,-1 § -1,0,0)$ et $C=\AffMatrice(1,2,3,4 § 5,6,7,0 § 1,1,1,1 § 2,-3,-5,-6)$. \end{ShowCodeTeX} -\section{Calculs avec des matrices, 2x2 ou 3x3 ou 4x4} +\section{Calculs avec des matrices, 2×2 ou 3×3 ou 4×4} \begin{ShowCodeTeX} $\ProduitMatrices(1,2)(3 § 4)[Aff]$ et $\ProduitMatrices(1,2)(3,4 § 5,6)[Aff]$ \\ @@ -59,7 +59,7 @@ $\CarreMatrice(-5,6,8 § 1,4,-9 § 1,-1,1)[Aff]$\\ $\CarreMatrice(1,2,3,4 § 5,6,7,0 § 1,1,1,1 § 2,-3,-5,-6)[Aff]$ \end{ShowCodeTeX} -\section{Déterminant d'une matrice, 2x2 ou 3x3 ou 4x4} +\section{Déterminant d'une matrice, 2×2 ou 3×3 ou 4×4} \begin{ShowCodeTeX} Le déterminant de $A=\AffMatrice(1,2 § 3,4)$ est @@ -81,7 +81,7 @@ Le dét. de $A=\begin{pNiceMatrix} 1&2&3&4\\5&6&7&0\\1&1&1&1\\2&-3&-5&-6 \end{pN est $\det(A)=\DetMatrice(1,2,3,4 § 5,6,7,0 § 1,1,1,1 § 2,-3,-5,-6)$. \end{ShowCodeTeX} -\section{Inverse d'une matrice, 2x2 ou 3x3 ou 4x4} +\section{Inverse d'une matrice, 2×2 ou 3×3 ou 4×4} \begin{ShowCodeTeX} L'inverse de $A=\begin{pNiceMatrix} 1&2 \\ 3&4 \end{pNiceMatrix}$ est @@ -113,7 +113,7 @@ L'inverse de $A=\begin{pNiceMatrix} 1&2&3&4\\5&6&7&0\\1&1&1&1\\2&-3&-5&-6 \end{p est $A^{-1}=\MatriceInverse[n]<cell-space-limits=2pt>(1,2,3,4 § 5,6,7,0 § 1,1,1,1 § 2,-3,-5,-6)$. \end{ShowCodeTeX} -\section*{Résolution d'un système, 2x2 ou 3x3 ou 4x4} +\section*{Résolution d'un système, 2×2 ou 3×3 ou 4×4} \begin{ShowCodeTeX} La solution de $\systeme{-9x-8y=-8,3x-6y=-7}$ est $\mathcal{S}=% @@ -158,7 +158,7 @@ La solution de $\systeme[xyzt]{x+2y+3z+4t=-10,5x+6y+7z=0,x+y+z+t=4,-2x-3y-5z-6t= [Matrice]$ \end{ShowCodeTeX} -\section{État stable d'une graphe probabiliste, 2x2} +\section{État stable d'une graphe probabiliste, 2×2} \begin{ShowCodeTeX} L'état stable du gr. prob. de matrice diff --git a/Master/texmf-dist/doc/latex/responsive/README b/Master/texmf-dist/doc/latex/responsive/README index dc2953cb549..c6ed3ea7ea6 100644 --- a/Master/texmf-dist/doc/latex/responsive/README +++ b/Master/texmf-dist/doc/latex/responsive/README @@ -1,6 +1,6 @@ The Responsive Package -Version 0.1 +Version v0.1a Change font sizes and other typographic details in LaTeX documents depending on the page dimensions. @@ -21,7 +21,7 @@ elements for various output formats and devices. Key features include: - Line Spacing Control: adjust line spacing determining the x-height percentage for enhanced readability. -Copyright: 2023-2023 Michal Hoftich +Copyright: 2023-2024 Michal Hoftich This work may be distributed and/or modified under the conditions of the LaTeX Project Public License, either version 1.3 diff --git a/Master/texmf-dist/doc/latex/responsive/responsive-doc.pdf b/Master/texmf-dist/doc/latex/responsive/responsive-doc.pdf Binary files differindex 1e7245c04f1..498fcac9bb9 100644 --- a/Master/texmf-dist/doc/latex/responsive/responsive-doc.pdf +++ b/Master/texmf-dist/doc/latex/responsive/responsive-doc.pdf diff --git a/Master/texmf-dist/doc/latex/responsive/responsive-doc.tex b/Master/texmf-dist/doc/latex/responsive/responsive-doc.tex index 4272397e3e8..e5e5b3f074d 100644 --- a/Master/texmf-dist/doc/latex/responsive/responsive-doc.tex +++ b/Master/texmf-dist/doc/latex/responsive/responsive-doc.tex @@ -22,7 +22,7 @@ \usepackage{booktabs} \usepackage[style=iso-authoryear]{biblatex} \addbibresource{responsive-doc.bib} -\newenvironment{changelog}{\longtable{@{} l p{30em}}}{\endlongtable} +\newenvironment{changelog}{\longtable{@{} l p{20em}}}{\endlongtable} \newcommand\change[2]{#1 & #2\\} \ifdefined\HCode % I want to convert parts of the document to images, @@ -525,6 +525,9 @@ under the terms of the \LaTeX\ Project Public License, version 1.3. \section{Changes} \begin{changelog} + \change{2024-07-14}{Version 0.1a released} + \change{2024-03-16}{Set the \texttt{topmargin} dimension} + \change{}{Call Geometry's \texttt{\textbackslash Gm@process} command to fix page dimensions, if Geometry is loaded} \change{2023-12-13}{Version 0.1 released.} \change{}{Finished documentation.} \change{2023-12-07}{Added the \texttt{lineheight} property.} diff --git a/Master/texmf-dist/doc/latex/rpgicons/README.md b/Master/texmf-dist/doc/latex/rpgicons/README.md index e889b70b03d..6de01a25869 100644 --- a/Master/texmf-dist/doc/latex/rpgicons/README.md +++ b/Master/texmf-dist/doc/latex/rpgicons/README.md @@ -1,4 +1,4 @@ -![Version 1.8.3](https://img.shields.io/badge/version-1.8.3-blue) +![Version 1.8.4](https://img.shields.io/badge/version-1.8.4-blue) <img width="200" alt="rpgicons-example" src="https://github.com/jasperhabicht/rpgicons/assets/6378801/81a1d0aa-7a4f-4f83-bbdc-3bc3332023b2" /> diff --git a/Master/texmf-dist/doc/latex/rpgicons/rpgicons-doc.pdf b/Master/texmf-dist/doc/latex/rpgicons/rpgicons-doc.pdf Binary files differindex 7fa0c036d70..dc0bce82b90 100644 --- a/Master/texmf-dist/doc/latex/rpgicons/rpgicons-doc.pdf +++ b/Master/texmf-dist/doc/latex/rpgicons/rpgicons-doc.pdf diff --git a/Master/texmf-dist/doc/latex/rpgicons/rpgicons-doc.tex b/Master/texmf-dist/doc/latex/rpgicons/rpgicons-doc.tex index 7eef59a1a40..9aebfdcd528 100644 --- a/Master/texmf-dist/doc/latex/rpgicons/rpgicons-doc.tex +++ b/Master/texmf-dist/doc/latex/rpgicons/rpgicons-doc.tex @@ -11,8 +11,8 @@ % This work has the LPPL maintenance status `maintained'. % \documentclass[a4paper]{article} -\def\rpgiconsfileversion{1.8.3} -\def\rpgiconsfiledate{15 May 2024} +\def\rpgiconsfileversion{1.8.4} +\def\rpgiconsfiledate{8 August 2024} \usepackage[T1]{fontenc} \usepackage{Alegreya} @@ -262,6 +262,7 @@ \changes{v1.8.0}{2024/03/24}{Unified wrapper to load either package variant.} \changes{v1.8.2}{2024/04/28}{Roll dice syntax for PGF variant.} \changes{v1.8.3}{2024/05/15}{Minor compatibility fix. Example of how to use pics added to ducumentation.} +\changes{v1.8.3}{2024/05/15}{Bug fix in evocation spellschool shape. Unification of frames in PGF and L3 variants.} \begin{document} diff --git a/Master/texmf-dist/doc/latex/se2thesis/CHANGELOG.md b/Master/texmf-dist/doc/latex/se2thesis/CHANGELOG.md index fa60e6d1b07..2d81b57f6fb 100644 --- a/Master/texmf-dist/doc/latex/se2thesis/CHANGELOG.md +++ b/Master/texmf-dist/doc/latex/se2thesis/CHANGELOG.md @@ -7,6 +7,36 @@ and this project adheres to ## [Unreleased] +## [v4.3.2] – 2024–08–12 + +### Fixed + +- Prevent line break in the lower back title if one added a manual line break + using `\\` to the title in order to layout it properly for the front title + page. + +## [v4.3.1] – 2024–07–31 + +### Added + +- Add a hint on the usage of `scrreprt` as the base class if one wants to have + numbered bibliography or appendices. +- Add section in the documentation on the usage of babel, its shorthands for + German and English to re-enable hyphenation of compound words, and the + conflicting package `hyphenat`. + +### Fixed + +- Fix list of implicitly loaded packages. + +## [v4.3.0] – 2024–07–23 + +### Fixed + +- The spelling bachelor thesis and master thesis are widely used but seem to be + wrong. According to the Oxford English Dictionary, the spelling shall be + bachelor's thesis and master's thesis. + ## [v4.2.0] – 2024–06–25 ### Fixed @@ -237,7 +267,10 @@ These changes might be breaking changes! ### Added - First official release -[Unreleased]: https://github.com/se2p/se2thesis/compare/v4.2.0...HEAD +[Unreleased]: https://github.com/se2p/se2thesis/compare/v4.3.2...HEAD +[v4.3.2]: https://github.com/se2p/se2thesis/compare/v4.3.2...v4.3.1 +[v4.3.1]: https://github.com/se2p/se2thesis/compare/v4.3.1...v4.3.0 +[v4.3.0]: https://github.com/se2p/se2thesis/compare/v4.3.0...v4.2.0 [v4.2.0]: https://github.com/se2p/se2thesis/compare/v4.2.0...v4.1.0 [v4.1.0]: https://github.com/se2p/se2thesis/compare/v4.1.0...v4.0.3 [v4.0.3]: https://github.com/se2p/se2thesis/compare/v4.0.3...v4.0.2 diff --git a/Master/texmf-dist/doc/latex/se2thesis/se2thesis-master-thesis-example.pdf b/Master/texmf-dist/doc/latex/se2thesis/se2thesis-master-thesis-example.pdf Binary files differindex 703086bd373..4d224fe981f 100644 --- a/Master/texmf-dist/doc/latex/se2thesis/se2thesis-master-thesis-example.pdf +++ b/Master/texmf-dist/doc/latex/se2thesis/se2thesis-master-thesis-example.pdf diff --git a/Master/texmf-dist/doc/latex/se2thesis/se2thesis.pdf b/Master/texmf-dist/doc/latex/se2thesis/se2thesis.pdf Binary files differindex 84789f2fc38..e37c07abf4f 100644 --- a/Master/texmf-dist/doc/latex/se2thesis/se2thesis.pdf +++ b/Master/texmf-dist/doc/latex/se2thesis/se2thesis.pdf diff --git a/Master/texmf-dist/doc/latex/sepfootnotes/README b/Master/texmf-dist/doc/latex/sepfootnotes/README index e0f9ac9aacc..2a507a1da49 100644 --- a/Master/texmf-dist/doc/latex/sepfootnotes/README +++ b/Master/texmf-dist/doc/latex/sepfootnotes/README @@ -5,8 +5,11 @@ This package supports footnotes and endnotes from separate files. This is achieved with commands \sepfootnotecontent and \sepfootnote; the former defines the content of a note, while the latter typesets that note. +2024/07/05 v0.3d + * Package options after: Allow \sepfootnotecontent after \sepfootnote + 2016/07/18 v0.3c - * Package options Note definitions may take global scope + * Package options global: Note definitions may take global scope 2014/07/22 v0.3b * Documentation Minor formatting changes to page 4 @@ -41,7 +44,7 @@ Usage: *See sepfootnotes.pdf -------------------------------------------------------------------------------- -Copyright (C) 2013-2016 Eduardo C. Lourenço de Lima +Copyright (C) 2013-2024 Eduardo C. Lourenço de Lima This material is subject to the LaTeX Project Public License. See http://www.ctan.org/tex-archive/help/Catalogue/licenses.lppl.html diff --git a/Master/texmf-dist/doc/latex/sepfootnotes/sepfootnotes.pdf b/Master/texmf-dist/doc/latex/sepfootnotes/sepfootnotes.pdf Binary files differindex 0cb449cb218..0246b086b50 100644 --- a/Master/texmf-dist/doc/latex/sepfootnotes/sepfootnotes.pdf +++ b/Master/texmf-dist/doc/latex/sepfootnotes/sepfootnotes.pdf diff --git a/Master/texmf-dist/doc/latex/sepfootnotes/sepfootnotes.tex b/Master/texmf-dist/doc/latex/sepfootnotes/sepfootnotes.tex index 4000f00fad0..f73370349a3 100644 --- a/Master/texmf-dist/doc/latex/sepfootnotes/sepfootnotes.tex +++ b/Master/texmf-dist/doc/latex/sepfootnotes/sepfootnotes.tex @@ -1,4 +1,4 @@ -% Copyright (C) 2013-2016 Eduardo C. Lourenço de Lima +% Copyright (C) 2013-2024 Eduardo C. Lourenço de Lima % % This work may be distributed and/or modified under the % conditions of the LaTeX Project Public License, either @@ -44,11 +44,11 @@ {\begin{center}\begin{minipage}[t]{0.5\linewidth}} {\end{minipage}\end{center}} \newcommand\TODO{\texttt{Todo:}} -\newcommand\fileversion{0.3c} -\newcommand\filedate{July 18, 2016} +\newcommand\fileversion{0.3d} +\newcommand\filedate{July 5, 2024} \begin{document} \title{The \textsf{\color{myblue} sepfootnotes} package,\thanks{This document corresponds to \textsf{sepfootnotes}~\fileversion, dated~\filedate. -I am grateful to Michael Sellhoff, Sam Foster, Mats, and David Carlisle for their valuable feedback on \texttt{sepfootnotes} and to Dan Luecking for the basic idea implemented in this package.}\\{or a footnote to Plato}} +I am grateful to Michael Sellhoff, Sam Foster, Mats, David Carlisle, and schtandard for their valuable feedback on \texttt{sepfootnotes} and to Dan Luecking for the basic idea implemented in this package.}\\{or a footnote to Plato}} \author{Eduardo C. Louren\c{c}o de Lima \\ \texttt{elourenco@phi.pro.br}} \maketitle @@ -59,9 +59,9 @@ I am grateful to Michael Sellhoff, Sam Foster, Mats, and David Carlisle for thei Standard |\footnote| and |\endnote| both take a note as a mandatory argument. Because notes have to be embedded in the paragraph to which they refer, sentences are often split up into two\footnote {This is precisely what this footnote does to the first paragraph of this document. There are more than thirty words between `two' and `or more' in the code of an otherwise short paragraph.} or more parts. Consequently, footnotes and endnotes may disrupt the flow of reading and editing {\LaTeX} prose.\footnote {In a posting to \texttt{texhax.tug.org} in April 2010, someone complained that using footnotes ``tends to disrupt the flow of the document on the screen and makes editing the text itself harder'', and asked about the possibility of ``putting all of the footnotes in a separate file''~\cite{Nicholas Cole}. Another user, back in 2004, remarked that the ``only thing I missed about word processors was the ability to keep footnote text at the bottom of the page, or in a separate window. I often have extensive footnotes, and don't want them cluttering up my main body text when I'm composing''~\cite{Luecking}.} This can be an issue for those who make extensive use of notes, such as philosophers and people from the humanities in general. - The |sepfootnotes| package gets around this inconvenience by separating note input from usage. That is, it provides a command to define what a particular note says, and another command to insert that note later on in the document. + The |sepfootnotes| package gets around this inconvenience by separating note input from usage. That is, it provides a command to define what a particular note says, and another command to insert that note in the document. - Note definitions may be grouped together---in no particular order---in the preamble, at the beginning of chapters or sections, right before a paragraph, or even in a \emph{separate file}. In that way, the main body is less cluttered. + Note definitions may be grouped together---in no particular order---in the preamble, at the beginning of chapters or sections, in a separate file, or even right after a paragraph. In that way, the main body is less cluttered. You may use |sepfootnotes| and standard |\footnote| simultaneously; the same goes for |\footcite| from |biblatex|. @@ -273,10 +273,10 @@ Default:\footnote{Adapted from the \texttt{endnotes} package.} \section {Package options} \begin{list}{}{} -\item[|warn|] Print warning messages. (Default.) +\item[|after|] (experimental) Allow |\sepfootnotecontent| after |\sepfootnote|. Must compile twice. Implies |global|. See below. +\item[|global|] Notes defined within environments and groups take global scope and become available throughout, as if they were defined in the preamble. \item[|error|] Print warning messages, halt, and wait for user input. \item[|quiet|] Suppress warning and error messages. -\item[|global|] Notes defined within environments and groups take global scope and become available throughout, as if they were defined in the preamble. \end{list} \section{Examples} diff --git a/Master/texmf-dist/doc/latex/sillypage/sillypage-example.pdf b/Master/texmf-dist/doc/latex/sillypage/sillypage-example.pdf Binary files differindex 3d8180932bc..5fa9dd30481 100644 --- a/Master/texmf-dist/doc/latex/sillypage/sillypage-example.pdf +++ b/Master/texmf-dist/doc/latex/sillypage/sillypage-example.pdf diff --git a/Master/texmf-dist/doc/latex/sillypage/sillypage.pdf b/Master/texmf-dist/doc/latex/sillypage/sillypage.pdf Binary files differindex 3efa13e7d7d..60305403ac9 100644 --- a/Master/texmf-dist/doc/latex/sillypage/sillypage.pdf +++ b/Master/texmf-dist/doc/latex/sillypage/sillypage.pdf diff --git a/Master/texmf-dist/doc/latex/siunitx/CHANGELOG.md b/Master/texmf-dist/doc/latex/siunitx/CHANGELOG.md index 1c81cd5e7a5..e5e9b95b0dc 100644 --- a/Master/texmf-dist/doc/latex/siunitx/CHANGELOG.md +++ b/Master/texmf-dist/doc/latex/siunitx/CHANGELOG.md @@ -7,6 +7,12 @@ Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to ## [Unreleased] +## [v3.3.20] - 2024-08-01 + +### Fixed +- Avoid rounding up when residual is exactly zero (see issue + [\#742](https://github.com/josephwright/siunitx/issues/742)) + ## [v3.3.19] - 2024-06-24 ### Fixed @@ -2120,7 +2126,8 @@ Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to ### Added - First public testing release (as `si`) -[Unreleased]: https://github.com/josephwright/siunitx/compare/v3.3.19...HEAD +[Unreleased]: https://github.com/josephwright/siunitx/compare/v3.3.20...HEAD +[v3.3.20]: https://github.com/josephwright/siunitx/compare/v3.3.19...v3.3.20 [v3.3.19]: https://github.com/josephwright/siunitx/compare/v3.3.18...v3.3.19 [v3.3.18]: https://github.com/josephwright/siunitx/compare/v3.3.17...v3.3.18 [v3.3.17]: https://github.com/josephwright/siunitx/compare/v3.3.16...v3.3.17 diff --git a/Master/texmf-dist/doc/latex/siunitx/siunitx-code.pdf b/Master/texmf-dist/doc/latex/siunitx/siunitx-code.pdf Binary files differindex 5f4841816e6..95f55e6cac8 100644 --- a/Master/texmf-dist/doc/latex/siunitx/siunitx-code.pdf +++ b/Master/texmf-dist/doc/latex/siunitx/siunitx-code.pdf diff --git a/Master/texmf-dist/doc/latex/siunitx/siunitx.pdf b/Master/texmf-dist/doc/latex/siunitx/siunitx.pdf Binary files differindex 9d1c9d36dbf..93a003d7f5c 100644 --- a/Master/texmf-dist/doc/latex/siunitx/siunitx.pdf +++ b/Master/texmf-dist/doc/latex/siunitx/siunitx.pdf diff --git a/Master/texmf-dist/doc/latex/spbmark/README.md b/Master/texmf-dist/doc/latex/spbmark/README.md index 0fd0ff23714..9fe0dc2c5c8 100644 --- a/Master/texmf-dist/doc/latex/spbmark/README.md +++ b/Master/texmf-dist/doc/latex/spbmark/README.md @@ -1,5 +1,5 @@ # The `spbmark` package -Customize superscripts and subscripts (v1.46k) +Customize superscripts and subscripts (v1.46n) ## Abstract `spbmark` provides three commands `\super`, `\sub` and `\supersub` to improve the layout of superscripts and subscripts which can be adjusted the relative position and format, and can be used in text and math mode. @@ -11,5 +11,5 @@ This work may be distributed and/or modified under the conditions of the CC-BY 4 | [Gitee](https://gitee.com/texno3/spbmark) | [Github](https://github.com/texno3/spbmark) | [CTAN](https://ctan.org/pkg/spbmark) | ## Maintainer -QuYi<br/> +Qu Yi<br/> Email: toquyi@163.com
\ No newline at end of file diff --git a/Master/texmf-dist/doc/latex/spbmark/spbmark.pdf b/Master/texmf-dist/doc/latex/spbmark/spbmark.pdf Binary files differindex f17405570b1..c0f3a420770 100644 --- a/Master/texmf-dist/doc/latex/spbmark/spbmark.pdf +++ b/Master/texmf-dist/doc/latex/spbmark/spbmark.pdf diff --git a/Master/texmf-dist/doc/latex/spbmark/spbmark.tex b/Master/texmf-dist/doc/latex/spbmark/spbmark.tex index 9da47d21515..d452fd09044 100644 --- a/Master/texmf-dist/doc/latex/spbmark/spbmark.tex +++ b/Master/texmf-dist/doc/latex/spbmark/spbmark.tex @@ -1,21 +1,21 @@ \documentclass[load-preamble+]{cnltx-doc} -\usepackage{siunitx,setspace,pifont,hologo,changelog,enumitem} +\usepackage{siunitx,setspace,hologo,changelog,enumitem} \usepackage[spbmark]{altsubsup} \usepackage[margin = 1in,marginparwidth = 0.6in,footskip = 0.5in]{geometry} \usepackage[noto]{newtxmath} \setcnltx { package = spbmark, - version = v1.46k, - date = 2024/06/21, + version = v1.46n, + date = 2024/07/14, authors = Qu Yi, - info = Customize superscript and subscript, + info = Customize superscripts and subscripts, email = toquyi@163.com, url = https://github.com/texno3/spbmark, abstract = { - \pkg*{spbmark} provides three commands \cs{super}, \cs{sub} and \cs{supersub} to improve the layout of superscript and subscript which can be adjusted the relative position and format, and can be used in text and math mode. + \pkg*{spbmark} provides three commands \cs{super}, \cs{sub} and \cs{supersub} to improve the layout of superscripts and subscripts which can be adjusted the relative position and format, and can be used in text and math mode. }, color-scheme = blue, listings-options = {numbers = none,gobble = 2,lineskip = 1pt}, @@ -51,13 +51,13 @@ The following macro package options will redefine the script commands of the \LaTeX{} kernel. If you do not specify the values of boolean options, they default to \code{true}. These options can also be changed in the preamble area and main body using the global control command \cs{spbset}. \begin{options} \keychoice{text}{true,\fbox{false}} - \cs{textsuperscript} and \cs{textsubscript} are equivalent to the \cs{super} and \cs{sub} commands. The command \cs{defspbstyle} can be used to define the style \code{textsp} and \code{textsb} to change the format of the text superscript and subscript. + \cs{textsuperscript} and \cs{textsubscript} are equivalent to the \cs{super} and \cs{sub} commands. The command \cs{defspbstyle} can be used to define the style \code{textsp} and \code{textsb} to change the format of the text superscripts and subscripts. \keychoice{math}{true,\fbox{false}} - \cs{sp} and \cs{sb} are equivalent to the \cs{super} and \cs{sub} commands. The command \cs{defspbstyle} can be used to define the style \code{mathsp} and \code{mathsb} to change the format of the math superscript and subscript. + \cs{sp} and \cs{sb} are equivalent to the \cs{super} and \cs{sub} commands. The command \cs{defspbstyle} can be used to define the style \code{mathsp} and \code{mathsb} to change the format of the math superscripts and subscripts. \keychoice{math*}{true,\fbox{false}}\newtag{Exp\\v1.46j}% - The \code{\^{}} and \code{\_{}} tokens in the math mode are equivalent to the \cs{super} and \cs{sub} commands. The command \cs{defspbstyle} can be used to define the style \code{mathsp*} and \code{mathsb*} to change the format of the math superscript and subscript. + The \code{\^{}} and \code{\_{}} tokens in the math mode are equivalent to the \cs{super} and \cs{sub} commands. The command \cs{defspbstyle} can be used to define the style \code{mathsp*} and \code{mathsb*} to change the format of the math superscripts and subscripts. \keychoice{foot}{true,\fbox{false}} - The format of the footnote mark match the superscript global move and format settings. \cs{defspbstyle} can be used to define the superscript style \code{fnmark} to change the format of the footnote mark. + The format of the footnote mark match the superscripts global move and format settings. \cs{defspbstyle} can be used to define the superscripts style \code{fnmark} to change the format of the footnote mark. \begin{example}[code-only] \defspbstyle{textsp}{vmove=-1pt,cmd=\bfseries} \defspbstyle{mathsb}{hmove=0.5em} @@ -73,19 +73,19 @@ The following macro package options will redefine the script commands of the \La \spbset{all=false,math} \end{example} \keychoice{spcore}{\fbox{trad},none}\newtag{New\\v1.46k}% - Kernel command case for text and math modes superscript. If \code{none} is selected, support for the superscript kernel command is removed, and the \option{cmd} and \option{vmove} options need to be set to control the size and offset of the superscript. + Kernel command case for text and math modes superscripts. If \code{none} is selected, support for the superscripts kernel command is removed, and the \option{cmd} and \option{vmove} options need to be set to control the size and offset of the superscripts. \begin{example}[code-only] \usepackage[spcore=none]{spbmark} \usepackage{graphicx} \spbset{spcmd=\scalebox{0.6},spvmove=5pt} \end{example} \keychoice{sbcore}{\fbox{trad},none}\newtag{New\\v1.46k}% - Option for subscript kernel command case, similar to the \option{spcore} option. + Option for subscripts kernel command case, similar to the \option{spcore} option. \end{options} \section{User commands} \label{sec:user commands} -There are currently three commands to set superscript and subscript. Their format can be set temporarily using the optional parameters of the command, or set globally using a key-value list, see Section \ref{sec:global control interface}. +There are currently three commands to print superscripts and subscripts. Their format can be set locally using the optional parameter of the command, or set globally using a key-value list, see Section \ref{sec:global control interface}. \begin{commands} \command{super}[\sarg\oarg{kv list}\marg{content}\oarg{kv list}] This is a superscript output command. The two \meta{kv list} are equivalent. @@ -128,7 +128,7 @@ There are currently three commands to set superscript and subscript. Their forma 6A\supersub[hmove=-8pt]{examsuper}{sub}\hspace{\dimexpr(\maxwd-8pt)}B \end{example} \command{defspbstyle}[\marg{style name}\marg{kv list}] - Defines the style of the superscript or subscript used for the \option{style} option. + Defines the style of the superscripts or subscripts used for the \option{style} option. \command{spbifmath}[\marg{math code}\marg{text code}] In some cases, \code{math} or \code{text} output modes require different code for format or move. This command can be used when using the \code{match} option or changing the output mode locally, whitch should be used in the move or format options. It can switch the corresponding code according to different output modes. \command{spbshortkv}[\marg{short opt}\marg{key value}] @@ -155,11 +155,11 @@ The options common to \meta{kv list} of the three commands are as follows. They \keyval{cmd}{format cmds} The format commands of superscript or subscript. The last command can take a parameter, which accepts superscript or subscript. Represents the format of superscript and subscript in the superscript and subscript commands. \keyval{cmd+}{format cmds} - Add code to the previous global superscript or subscript format commands. + Add code to the previous option \option{cmd}. \keyval{height}{fixed length} - The distance between the superscript or subscript baseline and the previous line. It is recommended that the superscript adjusts the height and the subscript adjusts the depth. + The height of the marker box above the baseline. It is recommended that the superscript adjusts the height and the subscript adjusts the depth. \keyval{depth}{fixed length} - The distance between the superscript or subscript baseline and the next line. + The depth of the marker box below the baseline. \keyval{style}{style name} Use the \meta{style name} defined by the \cs{defspbstyle} command to make it work global or local. \keychoice{mode}{text,math,\fbox{match}} @@ -185,71 +185,74 @@ The options common to \meta{kv list} of the three commands are as follows. They \label{sec:global control interface} \begin{commands} \command{spbset}[\marg{key-value list}] - \pkg*{spbmark} uses the \cs{spbset} command to control the global default format of superscript and subscript. These options also apply to \meta{kv list} of the above commands. The values set by it will be overwritten by the optional parameters of the superscript and other commands. + \pkg*{spbmark} uses the \cs{spbset} command to control the global default format of superscripts and subscripts. These options also apply to \meta{kv list} of the \textcolor{red}{above} print commands. The values set by it will be overwritten by the optional parameter of superscripts and subscripts commands. + + Note that the relative length units in the options such as \code{ex} and \code{em} are for the \textcolor{red}{body} font size, not the marker itself. + + The following list of keys control the format both of superscripts \emph{or} subscripts. They can also be used in the optional parameter of the \cs{super} or \cs{sub} command. \end{commands} -The following list of keys control the format both of superscript \emph{or} subscript. \begin{options} \keyval{spvmove}{fixed length}\Default{0pt} - Extra vertical move of the superscript. + Extra vertical move of the superscripts. \keyval{sphmove}{fixed length}\Default{0pt} - Extra horizontal move of the superscript. + Extra horizontal move of the superscripts. \keyval{sbvmove}{fixed length}\Default{0pt} - Extra vertical move of the subscript. + Extra vertical move of the subscripts. \keyval{sbhmove}{fixed length}\Default{0pt} - Extra horizontal move of the subscript. + Extra horizontal move of the subscripts. \opt{nohmove} - Cancel the horizontal move of superscript and subscript at the same time. + Cancel the horizontal move of superscripts and subscripts at the same time. \opt{novmove} - Cancel the vertical move of superscript and subscript at the same time. + Cancel the vertical move of superscripts and subscripts at the same time. \keyval{spcmd}{format cmds} - The format commands of superscript. The last command in the code can take an argument, which is a superscript. + The format commands of superscripts. The last command in the code can take an argument, which is a superscripts. \keyval{spcmd+}{format cmds} - Add code to the previous global superscript format commands. + Add code to the previous option \option{spcmd}. \keyval{sbcmd}{format cmds} - The format commands of subscript. Similar to the \option{spcmd} option, but for subscript. + The format commands of subscripts. Similar to the \option{spcmd} option, but for subscripts. \keyval{sbcmd+}{format cmds} - Add code to the previous global subcript format commands. + Add code to the previous option \option{sbcmd}. \keyval{spheight}{fixed length} - The distance between the superscript baseline and the previous line. + The height of the superscript box above the baseline. \keyval{spdepth}{fixed length} - The distance between the superscript baseline and the next line. + The depth of the superscript box below the baseline. \keyval{sbheight}{fixed length} - The distance between the subscript baseline and the previous line. + The height of the subscript box above the baseline. \keyval{sbdepth}{fixed length} - The distance between the subscript baseline and the next line. + The depth of the subscript box below the baseline. \keychoice{spthiswd}{auto,\fbox{keep}} - Width processing mode after using this superscript. See Section \ref{sec:user commands} for the meaning of this option. + Width processing mode after using this superscripts. See Section \ref{sec:user commands} for the meaning of this option. \keychoice{sbthiswd}{auto,\fbox{keep}} - Width processing mode after using this subscript. See Section \ref{sec:user commands} for the meaning of this option. + Width processing mode after using this subscripts. See Section \ref{sec:user commands} for the meaning of this option. \keyval{spregex}{regular expression} - After the superscript command is used, the regular expression rules of the following tokens are matched. See Section \ref{sec:user commands} for the meaning of this option. + After the superscripts command is used, the regular expression rules of the following tokens are matched. See Section \ref{sec:user commands} for the meaning of this option. \keyval{sbregex}{regular expression} - Similar to the \option{spregex} option, but for subscript. + Similar to the \option{spregex} option, but for subscripts. \end{options} -If \option{sphmove} is positive, the superscript or subscript moves to the right, conversely it moves to the left. The positive direction of vertical offset of subscript and superscript is \textcolor{red}{opposite}. For superscript, if \option{spvmove} is positive, the superscript moves up, conversely it moves down. For subscript, if \option{spvmove} is positive, the subscript moves down, conversely it moves up. +If \option{sphmove} is positive, the superscripts or subscripts moves to the right, conversely it moves to the left. The positive direction of vertical offset of subscripts and superscripts is \textcolor{red}{opposite}. For superscripts, if \option{spvmove} is positive, the superscripts moves up, conversely it moves down. For subscripts, if \option{spvmove} is positive, the subscripts moves down, conversely it moves up. -The following list of keys control the format of superscript \emph{and} subscript. +The following list of keys control the format of superscripts \emph{and} subscripts. They can also be used in the optional parameter of the \cs{supersub} command. \begin{options} \keyval{spbhmove}{fixed length}\Default{0pt} - Extra vertical move of the superscript and the subscript. + Extra vertical move of the superscripts and the subscripts. \kvsplit{spbcmd}{super cmds}{sub cmds} - The format commands of superscript and subscript. The first part is in superscript format, and the latter part is in subscript format. They are separated by commas, or only the first part exists. + The format commands of superscripts and subscripts. The first part is in superscripts format, and the latter part is in subscripts format. They are separated by commas, or only the first part exists. \kvsplit{spbcmd+}{super cmds}{sub cmds} - Add code to the previous global superscript and subscript format commands. + Add code to the previous option \option{spbcmd}. \keyval{spbheight}{fixed length} - The distance between the superscript baseline and the previous line. + The height of the superscript box above the baseline. \keyval{spbdepth}{fixed length} - The distance between the subscript baseline and the next line. + The depth of the subscript box below the baseline. \kvsplit{vsep}{super move}{sub move}\Default{0.6ex} - The extra vertical distance between superscript and subscript. The front part is the movement amount of the superscript, and the latter part is the movement amount of the subscript. If only the front part means that both are vertically shifted by one-half of the current value. + The extra vertical distance between superscripts and subscripts. The front part is the movement amount of the superscripts, and the latter part is the movement amount of the subscripts. If only the front part means that both are vertically shifted by one-half of the current value. \keychoice{halign}{\fbox{l},c,r} - The alignment of superscript and subscript, which contains \code{l}, \code{c}, and \code{r} parameters respectively for left, center, and right alignment. + The alignment of superscripts and subscripts, which contains \code{l}, \code{c}, and \code{r} parameter respectively for left, center, and right alignment. \end{options} \section{Examples of use} -Here is a list of the three commands, please pay attention to the usage of optional parameters. Note when the horizontal move is negative, the starting point is at the right end of the mark. +Here is a list of the three commands, please pay attention to the usage of optional parameter. Note when the horizontal move is negative, the starting point is at the right end of the mark. \begin{example} \defspbstyle{fancy}{cmd=\color{purple}} \spbset{spbcmd={\spbifmath{\mathtt}{\ttfamily},\color{blue}}} @@ -261,7 +264,7 @@ Here is a list of the three commands, please pay attention to the usage of optio \end{example} \subsection{siunitx} -It can also be used with the \pkg*{siunitx} package to output superscript and subscript in the unit: +It can also be used with the \pkg*{siunitx} package to output superscripts and subscripts in the unit: \begin{example} \spbset{spcmd=\spbifmath{}{\color{purple}}} \sisetup{text-superscript-command=\super} @@ -272,13 +275,13 @@ It can also be used with the \pkg*{siunitx} package to output superscript and su \end{example} \subsection{realscripts} -If the OpenType text font you are using does not have optical sizes, the superscript and subscript may not appear correctly. Loading the \pkg*{realscripts} package before the \pkg*{spbmark} package fixes this behavior. +If the OpenType text font you are using does not have optical sizes, the superscripts and subscripts may not appear correctly. Loading the \pkg*{realscripts} package before the \pkg*{spbmark} package fixes this behavior. \begin{example}[code-only] \usepackage{realscripts,spbmark} \end{example} \subsection{altsubsup} -The \pkg*{altsubsup} package allows to write alternate superscript and subscript in math mode with \code{\^{}}\oarg{mark} and \code{\_{}}\oarg{mark} dimensions. When the package is loaded using the \code{spbmark} option, the superscript and subscript mechanism of \pkg*{spbmark} is used, you can use \cs{defspbstyle} to define its superscript style \code{altsup} and subscript style \code{altsub}. +The \pkg*{altsubsup} package allows to write alternate superscripts and subscripts in math mode with \code{\^{}}\oarg{mark} and \code{\_{}}\oarg{mark} dimensions. When the package is loaded using the \code{spbmark} option, the superscripts and subscripts mechanism of \pkg*{spbmark} is used, you can use \cs{defspbstyle} to define its superscripts style \code{altsup} and subscripts style \code{altsub}. \begin{example} \defspbstyle{altsup}{sphmove=-\llastwd,spthiswd=auto,spvmove=1pt} $A_[bcd]^[e]B$ @@ -291,13 +294,13 @@ The \pkg*{altsubsup} package allows to write alternate superscript and subscript If you need to use the original definitions of \cs{textsuperscript}, \cs{textsubscript}, \cs{sp} and \cs{sb} after using the \option{text} or \option{math} option, then you can use the following commands: \begin{commands} \command{spb@textsuperscript@save}[\marg{content}] - Save the original definition of the \cs{textsuperscript} command, output superscript in the text mode. + Save the original definition of the \cs{textsuperscript} command, output superscripts in the text mode. \command{spb@textsubscript@save}[\marg{content}] - Save the original definition of the \cs{textsubscript} command, output subscript in the text mode. + Save the original definition of the \cs{textsubscript} command, output subscripts in the text mode. \command{spb@math@super@save}[\marg{content}] - Save the original definition of the \cs{sp} command, output superscript in the math mode. + Save the original definition of the \cs{sp} command, output superscripts in the math mode. \command{spb@math@sub@save}[\marg{content}] - Save the original definition of the \cs{sb} command, output subscript in the math mode. + Save the original definition of the \cs{sb} command, output subscripts in the math mode. \end{commands} \section{Known issues} @@ -309,10 +312,9 @@ At present, the vertical and horizontal move are effective for the unit commands \item Add option \option{math*}: The \code{\^{}} and \code{\_{}} tokens in the math mode are equivalent to the \cs{super} and \cs{sub} commands. \end{version} \begin{version}[v = 1.46k,date = 2024/06/21] - \item Add options \option{spcore} and \option{sbcore}: Set kernel commands for superscript and subscript of text and math modes. + \item Add options \option{spcore} and \option{sbcore}: Set kernel commands for superscripts and subscripts of text and math modes. \end{version} \end{changelog} \nocite{*} -\AddToHook{cmd/printindex/before}{\clearpage} \end{document}
\ No newline at end of file diff --git a/Master/texmf-dist/doc/latex/subeqn/CATALOG b/Master/texmf-dist/doc/latex/subeqn/CATALOG new file mode 100644 index 00000000000..9d420c825f1 --- /dev/null +++ b/Master/texmf-dist/doc/latex/subeqn/CATALOG @@ -0,0 +1,17 @@ +Name: subeqn +Problems-To: texniek at texniek.nl +Author: J.L. Braams, Donald Arsenau, Stephen Gildea +Version: 2.0c + +Description: + +The subeqn package implements an extension to LaTeXs's equation +and eqnarray environments in order to be able to put labels on +individual expressions. To this end two now environments are defined: +subequations and subeqnarray. + +Keywords: latex equations, + +Address: +TeXniek +The Netherlands diff --git a/Master/texmf-dist/doc/latex/subeqn/MANIFEST b/Master/texmf-dist/doc/latex/subeqn/MANIFEST new file mode 100644 index 00000000000..4fe2a9a1565 --- /dev/null +++ b/Master/texmf-dist/doc/latex/subeqn/MANIFEST @@ -0,0 +1,19 @@ +% +% CONTENTS OF THE SUBEQN PACKAGE +% ============================== +% +% README -- A short introduction +% MANIFEST -- A list of files +% CATALOG -- An entry for the macro catalog +% +% subeqn.dtx -- A package to number subexpressions of an equation; +% originally by Stephen Gildea, +% rewritten by Donald Arsenau, +% updated for LaTeX2e by Johannes Braams +% subeqn.pdf -- A `printed´ version of subeqn.dtx +% subeqn-sample.pdf -- The `printed' version of the sample file +% +% Installation script for the various parts: +% ------------------------------------------- +% +% subeqn.ins -- produces subeqn.sty and subeqn-sample.tex diff --git a/Master/texmf-dist/doc/latex/subeqn/README b/Master/texmf-dist/doc/latex/subeqn/README new file mode 100644 index 00000000000..25f16dbe879 --- /dev/null +++ b/Master/texmf-dist/doc/latex/subeqn/README @@ -0,0 +1,14 @@ + subeqn bundle + + July 20, 2024 + +This bundle contains a package that extends the functionality +of LaTeX's equation and eqnarray environments. +It provides the environments subequations and subeqnarray. + +Copyright (C) 2024 Johannes L. Braams texniek(at)texniek.nl + +This program can be redistributed and/or modified under the terms +of the LaTeX Project Public License Distributed from CTAN +archives in directory macros/latex/base/lppl.txt; either +version 1.3c of the License, or any later version. diff --git a/Master/texmf-dist/doc/latex/subeqn/manifest.txt b/Master/texmf-dist/doc/latex/subeqn/manifest.txt deleted file mode 100644 index 58e7cdb2219..00000000000 --- a/Master/texmf-dist/doc/latex/subeqn/manifest.txt +++ /dev/null @@ -1,16 +0,0 @@ -% -% CONTENTS OF THE SUBEQN PACKAGE -% ============================== -% -% manifest.txt -- This file -% -% subeqn.dtx -- A package to number subexpressions of an equation; -% originally by Stephen Gildea, -% rewritten by Donald Arsenau, -% updated for LaTeX2e by me -% subeqn.pdf -- A `printed version of subeqn.dtx -% -% Installation script for the various parts: -% ------------------------------------------- -% -% subeqn.ins -- produces subeqn.sty and subeqn.tex diff --git a/Master/texmf-dist/doc/latex/subeqn/subeqn-sample.pdf b/Master/texmf-dist/doc/latex/subeqn/subeqn-sample.pdf Binary files differnew file mode 100644 index 00000000000..ae4bd5c4670 --- /dev/null +++ b/Master/texmf-dist/doc/latex/subeqn/subeqn-sample.pdf diff --git a/Master/texmf-dist/doc/latex/subeqn/subeqn.tex b/Master/texmf-dist/doc/latex/subeqn/subeqn-sample.tex index 6e2f67a639b..a169b7a658a 100644 --- a/Master/texmf-dist/doc/latex/subeqn/subeqn.tex +++ b/Master/texmf-dist/doc/latex/subeqn/subeqn-sample.tex @@ -1,23 +1,24 @@ %% -%% This is file `subeqn.tex', +%% This is file `subeqn-sample.tex', %% generated with the docstrip utility. %% %% The original source files were: %% %% subeqn.dtx (with options: `sample') +%% This is a generated file. %% -%% Copyright (C) 1999-2004 Johannes Braams. All rights reserved. +%% Copyright (C) 1999-2024 Johannes Braams. All rights reserved. %% %% This file was generated from file(s) of the subeqn package. %% ----------------------------------------------------------- %% %% It may be distributed and/or modified under the -%% conditions of the LaTeX Project Public License, either version 1.3 +%% conditions of the LaTeX Project Public License, either version 1.3с %% of this license or (at your option) any later version. %% 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. +%% and version 1.3с or later is part of all distributions of LaTeX +%% version 2008 or later. %% %% This work has the LPPL maintenance status "maintained". %% @@ -28,23 +29,25 @@ %% without such generated files. %% %% The list of all files belonging to the subeqn package is -%% given in the file `manifest.txt. +%% given in the file `MANIFEST'. %% %% The list of derived (unpacked) files belonging to the distribution %% and covered by LPPL is defined by the unpacking scripts (with %% extension .ins) which are part of the distribution. -%% File: `subeqn.dtx' -%% Copyright (C) 1999-2004 -%% Donald Arsenau (asnd at reg.triumf.ca), -%% Johannes Braams (TeXniek at braams.cistron.nl) -%% -\ProvidesFile{subeqn.tex} - [2004/04/15 v2.0b subnumbering of equations] +\ProvidesFile{subeqn-sample.tex} + [2024/07/21 v2.0c subnumbering of equations] \documentclass{article} \usepackage{subeqn} \begin{document} -This is an example ot the use of the \texttt{subeqations} package. +\title{Sample sub-equations} +\author{Johannes L. Braams} +\date{\today} +\maketitle + +\noindent +This is an example of the use of the \texttt{subeqations} +package. First we have a normal \textsf{equation} environment. \begin{equation} \label{a} a^2 + b^2 = c^2 @@ -71,6 +74,7 @@ Now we start sub-numbering. and~\ref{c2}. \end{subequations} +\noindent Now lets start a \textsf{subeqnarray} environment. \begin{subeqnarray} \label{d} @@ -81,4 +85,4 @@ This was equation~\ref{d}, with parts~\ref{d1} and~\ref{d2}. \end{document} \endinput %% -%% End of file `subeqn.tex'. +%% End of file `subeqn-sample.tex'. diff --git a/Master/texmf-dist/doc/latex/subeqn/subeqn.pdf b/Master/texmf-dist/doc/latex/subeqn/subeqn.pdf Binary files differindex e2247d3fdc1..bf29789b713 100644 --- a/Master/texmf-dist/doc/latex/subeqn/subeqn.pdf +++ b/Master/texmf-dist/doc/latex/subeqn/subeqn.pdf diff --git a/Master/texmf-dist/doc/latex/subeqnarray/CATALOG b/Master/texmf-dist/doc/latex/subeqnarray/CATALOG new file mode 100644 index 00000000000..5e037823f88 --- /dev/null +++ b/Master/texmf-dist/doc/latex/subeqnarray/CATALOG @@ -0,0 +1,17 @@ +Name: subeqnarray +Problems-To: texniek at texniek.nl +Author: J.L. Braams, Donald Arsenau, Stephen Gildea +Version: 2.1e + +Description: + +The subeqnarray package provides two new environments subeqnarray and +subeqnarray* which behave like LaTeX's eqnarray and subeqnarray environments +except the individual lines are numbered like 1a, 1b, 1c etc. +This package is not compatible with the package subeqn. + +Keywords: latex equations, + +Address: +TeXniek +The Netherlands diff --git a/Master/texmf-dist/doc/latex/subeqnarray/manifest.txt b/Master/texmf-dist/doc/latex/subeqnarray/MANIFEST index f54bba3c8a8..7c253639719 100644 --- a/Master/texmf-dist/doc/latex/subeqnarray/manifest.txt +++ b/Master/texmf-dist/doc/latex/subeqnarray/MANIFEST @@ -2,14 +2,18 @@ % CONTENTS OF THE SUBEQNARRAY PACKAGE % =================================== % -% manifest.txt -- This file +% README -- A short introduction +% MANIFEST -- A list of files +% CATALOG -- An entry for the macro catalog % % subeqnarray.dtx -- Numbering of individual lines of an eqnarray % environment as subexpressions; not compatible % with subeqn.dtx -% subeqnarray.pdf -- A `printed version of subeqnarray.dtx +% subeqnarray.pdf -- A `printed´ version of subeqnarray.dtx +% subeqnarray-sample.pdf -- The `printed' versino of the sample file % % Installation script for the various parts: % ------------------------------------------- % % subeqnarray.ins -- produces subeqnarray.sty and subeqnarray.tex + diff --git a/Master/texmf-dist/doc/latex/subeqnarray/README b/Master/texmf-dist/doc/latex/subeqnarray/README new file mode 100644 index 00000000000..e52f27f0bb9 --- /dev/null +++ b/Master/texmf-dist/doc/latex/subeqnarray/README @@ -0,0 +1,16 @@ + subeqnarray bundle + + July 20, 2024 + +This bundle contains a package that provides two new environments +subeqnarray and subeqnarray* which behave like LaTeX's eqnarray and +subeqnarray environments except the individual lines are numbered like +1a, 1b, 1c etc. +This package is not compatible with the package subeqn. + +Copyright (C) 2024 Johannes L. Braams texniek(at)texniek.nl + +This program can be redistributed and/or modified under the terms +of the LaTeX Project Public License Distributed from CTAN +archives in directory macros/latex/base/lppl.txt; either +version 1.3c of the License, or any later version. diff --git a/Master/texmf-dist/doc/latex/subeqnarray/subeqnarray-sample.pdf b/Master/texmf-dist/doc/latex/subeqnarray/subeqnarray-sample.pdf Binary files differnew file mode 100644 index 00000000000..2345c08f589 --- /dev/null +++ b/Master/texmf-dist/doc/latex/subeqnarray/subeqnarray-sample.pdf diff --git a/Master/texmf-dist/doc/latex/subeqnarray/subeqnarray.tex b/Master/texmf-dist/doc/latex/subeqnarray/subeqnarray-sample.tex index c119fe16b10..b2a63516d3f 100644 --- a/Master/texmf-dist/doc/latex/subeqnarray/subeqnarray.tex +++ b/Master/texmf-dist/doc/latex/subeqnarray/subeqnarray-sample.tex @@ -1,23 +1,23 @@ %% -%% This is file `subeqnarray.tex', +%% This is file `subeqnarray-sample.tex', %% generated with the docstrip utility. %% %% The original source files were: %% %% subeqnarray.dtx (with options: `sample') %% -%% Copyright (C) 1999-2004 Johannes Braams. All rights reserved. +%% Copyright (C) 1999-2024 Johannes Braams. All rights reserved. %% %% This file was generated from file(s) of the subeqnarray package. %% ---------------------------------------------------------------- %% %% It may be distributed and/or modified under the -%% conditions of the LaTeX Project Public License, either version 1.3 +%% conditions of the LaTeX Project Public License, either version 1.3c %% of this license or (at your option) any later version. %% 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. +%% and version 1.3c or later is part of all distributions of LaTeX +%% version 2008 or later. %% %% This work has the LPPL maintenance status "maintained". %% @@ -33,20 +33,20 @@ %% The list of derived (unpacked) files belonging to the distribution %% and covered by LPPL is defined by the unpacking scripts (with %% extension .ins) which are part of the distribution. -%% Copyright (C) 1988--2004 by Johannes Braams, -%% all rights resserved %% %% Error reports please to: J. Braams %% TeXniek -%% Kooienswater 62 -%% 2715 AJ Zoetermeer -%% The Netherlands -%% Email: texniek at braams.cistron.nl -\ProvidesFile{subeqnarray.tex} - [2004/04/15 v2.1c subeqnarray package] +%% Email: texniek at texniek.nl +\ProvidesFile{subeqnarray-sample.tex} + [2024/07/20 v2.1e subeqnarray package] \documentclass[fleqn]{article} \usepackage{subeqnarray} \begin{document} +\title{Sample subeqnarray} +\author{Johannes L. Braams} +\date{\today} +\maketitle + This document shows an example of the use of the \emph{subeqnarray} environment. Here is one: \begin{subeqnarray} @@ -76,4 +76,4 @@ These are equations~\ref{eq10},~\ref{eq11} and~\ref{eq12}. \end{document} \endinput %% -%% End of file `subeqnarray.tex'. +%% End of file `subeqnarray-sample.tex'. diff --git a/Master/texmf-dist/doc/latex/subeqnarray/subeqnarray.pdf b/Master/texmf-dist/doc/latex/subeqnarray/subeqnarray.pdf Binary files differindex 937120f21dc..d69c2335130 100644 --- a/Master/texmf-dist/doc/latex/subeqnarray/subeqnarray.pdf +++ b/Master/texmf-dist/doc/latex/subeqnarray/subeqnarray.pdf diff --git a/Master/texmf-dist/doc/latex/supertabular/CATALOG b/Master/texmf-dist/doc/latex/supertabular/CATALOG index 8c582730505..b6438f4bcfc 100644 --- a/Master/texmf-dist/doc/latex/supertabular/CATALOG +++ b/Master/texmf-dist/doc/latex/supertabular/CATALOG @@ -1,7 +1,7 @@ Name: supertabular (also called supertab) -Problems-To: texniek@braams.xs4all.nl +Problems-To: texniek@texniek.nl Author: J.L. Braams and T. Jurriens -Version: 4.1g +Version: 4.2c Description: @@ -23,6 +23,4 @@ ISBN 0-201-54199-8. Address: TeXniek -Kersengaarde 33 -2723 BP Zoetermeer The Netherlands diff --git a/Master/texmf-dist/doc/latex/supertabular/MANIFEST b/Master/texmf-dist/doc/latex/supertabular/MANIFEST index bcd27adbf44..3015e0edd5a 100644 --- a/Master/texmf-dist/doc/latex/supertabular/MANIFEST +++ b/Master/texmf-dist/doc/latex/supertabular/MANIFEST @@ -1,6 +1,6 @@ -README - A short introduction -MANIFEST - A list of files -CATALOG - An entry for the macro catalog +00readme.tx - A short introduction +manifest.txt - A list of files +catalog.txt - An entry for the macro catalog Changelog - An overview of the changes to the package supertabular.dtx - The documented version of the code, including a couple of examples of how to use it. Needs supertabular.sty diff --git a/Master/texmf-dist/doc/latex/supertabular/README b/Master/texmf-dist/doc/latex/supertabular/README index ccd7c596a50..9de0746460e 100644 --- a/Master/texmf-dist/doc/latex/supertabular/README +++ b/Master/texmf-dist/doc/latex/supertabular/README @@ -13,9 +13,9 @@ The files contained in this bundle are listed in the file MANIFEST Supertabular can be used with LaTeX2e as a package. -Copyright (C) 1989 - 2020 Johannes L. Braams texniek at braams.xs4all.nl +Copyright (C) 1989 - 2024 Johannes L. Braams texniek at texniek.nl This program can be redistributed and/or modified under the terms of the LaTeX Project Public License Distributed from CTAN archives in directory macros/latex/base/lppl.txt; either -version 1 of the License, or any later version. +version 1.3c of the License, or any later version. diff --git a/Master/texmf-dist/doc/latex/supertabular/ChangeLog b/Master/texmf-dist/doc/latex/supertabular/supertabular.bug index 1dedbe6cd47..7c340f0a997 100644 --- a/Master/texmf-dist/doc/latex/supertabular/ChangeLog +++ b/Master/texmf-dist/doc/latex/supertabular/supertabular.bug @@ -1,8 +1,29 @@ -2020-02-02 Johannes Braams <texniek at braams.xs4all.nl> +2021-02-14 Johannes Braams <texniek at texniek.nl> + + * supertabular.dtx: Issue a \penalty-\@M instead of \newpage when + moving the first part of a supertabular to the next page to + prevent the first two rows from opverlapping. + +2021-02-14 Johannes Braams <texniek at texniek.nl> + + * supertabular.dtx: When the tablehead and/or tabletail are not + defeined the internal macros that store their arguments need to + remain empty as well. Otherwise the algorithm will always think + there's a head and tail with a height of 2.5 pt. + +2020-06-27 Johannes Braams <texniek at texniek.nl> + + * supertabular.dtx: the new algorithm for calculating the height + of the row broke old documents, especially when small font sizes + are used. Made the new algorithm optional (calculate versus + estimate) and make sure the row height covers super- and + subscripts. + +2020-02-02 Johannes Braams <texniek at texniek.nl> * supertabular.dtx: Replaced the way the height of normal tabular lines is calculated by basing it on the height and depth of - \strutbox. This also ment being able to take the \extrarowheight + \strutbox. This also meant being able to take the \extrarowheight from the array package into account. Also the height of the first and subsequent heads was not taken into account in the calculation of the available pageheigt. This @@ -14,25 +35,25 @@ \pagesofar. Therefore we substract a little extra from \ST@pageleft. -2020-01-26 Johannes Braams <texniek at braams.xs4all.nl> +2020-01-26 Johannes Braams <texniek at texniek.nl> * supertabular.dtx: Updated the copyright year and rearranged the text around the examples in order to get the first table to split accross a page boundary again. -2019-01-18 Johannes Braams <texniek at braams.xs4all.nl> +2019-01-18 Johannes Braams <texniek at texniek.nl> * supertabular.dtx: The linenumber in the tracing information, that is reported from within \\, is off by one when the optional argument is missing. Therefore the input linenumber is now saved before TeX starts scanning. Problem reported by Frank Mittelbach. -2019-01-16 Johannes Braams <texniek at braams.xs4all.nl> +2019-01-16 Johannes Braams <texniek at texniek.nl> * supertabular.dtx: The option "pageshow" didn't work as it set a too low value in \c@tracingst. Problem reported by Frank Mittelbach. -2019-01-12 Johannes Braams <texniek at braams.xs4all.nl> +2019-01-12 Johannes Braams <texniek at texniek.nl> * supertabular.dtx : The definition for the first table head was different from the definition of the regular table heads. This problem was reported by FMi as it produced an extra table in @@ -44,7 +65,7 @@ themselves although this couteracts the change that was introduced on 08-08-1999. -2001-08-21 Johannes Braams <texniek at braams.xs4all.nl> +2001-08-21 Johannes Braams <texniek at texniek.nl> * supertabular.dtx : The macro \ST@next needs to be defined when \ST@skippage was called. Therefore I moved the default definition @@ -52,7 +73,7 @@ is called; possibly defined by \ST@newpage. This problem was reported by Andrew Dorrell <dorrell@research.canon.com.au>. -1999-08-08 Johannes Braams <texniek at braams.xs4all.nl> +1999-08-08 Johannes Braams <texniek at texniek.nl> * supertabular.dtx : No longer re-initialize the internal variable \@table@first@head and \@table@last@tail. This made it impossible @@ -61,20 +82,20 @@ redeclaring the firsthead and/or lasttail. Reported by Christian Matuszewski <matuszew@informatik.uni-halle.de>. -Fri Nov 7 20:27:27 1997 Johannes Braams <texniek at braams.xs4all.nl> +Fri Nov 7 20:27:27 1997 Johannes Braams <texniek at texniek.nl> * supertabular.dtx : For standard LaTeX we need to change \@@startpbox not \@startpbox. Found by Peter R Wilson - <Peter.Wilson@PSS.Boeing.com> + <Peter.Wilson@PSS.Boeing.com>. -Wed Oct 8 22:35:40 1997 Johannes Braams <texniek at braams.xs4all.nl> +Wed Oct 8 22:35:40 1997 Johannes Braams <texniek at texniek.nl> * supertabular.dtx: Running the documentation revealed a loop; inside the table tail and head \\ was reset to \@tabularcr instead of to \@@tabularcr (now: \org@tabularcr). First found by Thomas - Esser <te@informatik.uni-hannover.de> + Esser <te@informatik.uni-hannover.de>. -Sat Sep 27 21:35:29 1997 Johannes Braams <texniek at braams.xs4all.nl> +Sat Sep 27 21:35:29 1997 Johannes Braams <texniek at texniek.nl> * supertabular.dtx: Added the mpsupertabular and mpsupertabular* environments provided by Axel Kielhorn <A.Kielhorn@tu-bs.de>; @@ -84,14 +105,14 @@ Sat Sep 27 21:35:29 1997 Johannes Braams <texniek at braams.xs4all.nl> The calculation of the available height still missed the case where TeX has already begun the second column. -Thu Sep 18 00:31:55 1997 Johannes Braams <texniek at braams.xs4all.nl> +Thu Sep 18 00:31:55 1997 Johannes Braams <texniek at texniek.nl> * supertabular.dtx : The \tablehead and \tabletail commands reset the command \\; they used \cr for it. That should have been \@tabularcr to properly deal with it's optional argument. Found by Axel Kielhorn <A.Kielhorn@tu-bs.de> -Wed Sep 17 23:59:13 1997 Johannes Braams <texniek at braams.xs4all.nl> +Wed Sep 17 23:59:13 1997 Johannes Braams <texniek at texniek.nl> * supertabular.dtx : In two column mode the parameters that determine how much space is left on the page were not correctly @@ -99,7 +120,7 @@ Wed Sep 17 23:59:13 1997 Johannes Braams <texniek at braams.xs4all.nl> completely. Found by Jeffrey Spielberg <jspielberg@infinet-software.com> -Tue May 20 23:46:08 1997 Johannes Braams <texniek at braams.xs4all.nl> +Tue May 20 23:46:08 1997 Johannes Braams <texniek at texniek.nl> * supertabular.dtx : \shrinkheight didn't shrink the available height for a part of the tabular (as documented); it just *set* it @@ -109,26 +130,26 @@ Tue May 20 23:46:08 1997 Johannes Braams <texniek at braams.xs4all.nl> \@table@last@tail are undefined; this shoud be done globally. Found by Axel Kielhorn <A.Kielhorn@tu-bs.de> -Sat Apr 12 23:37:33 1997 Johannes Braams <texniek at braams.xs4all.nl> +Sat Apr 12 23:37:33 1997 Johannes Braams <texniek at texniek.nl> * supertabular.dtx : Added \ST@stretchht and \ST@prevht to improve decision process. \estimate@lineht now also computes the difference between a normal line height and when \arraystretch is in effect. -Thu Apr 10 23:33:07 1997 Johannes Braams <texniek at braams.xs4all.nl> +Thu Apr 10 23:33:07 1997 Johannes Braams <texniek at texniek.nl> * supertabular.dtx: Had to repaire some documentation errors. (found by Thomas Esser <te@informatik.uni-hannover.de>) -Wed Apr 9 00:29:36 1997 Johannes Braams <texniek at braams.xs4all.nl> +Wed Apr 9 00:29:36 1997 Johannes Braams <texniek at texniek.nl> * supertabular.dtx : Only the first part of a supertabular can be moved to the next page. Therefore we need to change the definition of \ST@skippage in the middle of processing the supertabular data. -Thu Mar 6 21:56:18 1997 Johannes Braams <texniek at braams.xs4all.nl> +Thu Mar 6 21:56:18 1997 Johannes Braams <texniek at texniek.nl> * supertabular.dtx : Using a tabular environment in the cells of a supertabular gives `interesting' results when the algorithm @@ -136,14 +157,14 @@ Thu Mar 6 21:56:18 1997 Johannes Braams <texniek at braams.xs4all.nl> tabular. A number of changes were necessary to make this work. Found by Axel Kielhorn <i0080108@ws.rz.tu-bs.de> -Thu Feb 20 23:29:18 1997 Johannes Braams <texniek at braams.xs4all.nl> +Thu Feb 20 23:29:18 1997 Johannes Braams <texniek at texniek.nl> * supertabular.dtx: Renamed \tableformat into \ST@tableformat because the KOPMA-packages also use \tableformat and therefore clashed with babel. Found by Axel Kielhorn <i0080108@ws.rz.tu-bs.de> -Tue Feb 4 23:50:50 1997 Johannes Braams <texniek at braams.xs4all.nl> +Tue Feb 4 23:50:50 1997 Johannes Braams <texniek at texniek.nl> * supertabular.dtx (section{The Implementation}): Removed the use of the page height correction for p-columns; the current algorithm @@ -155,7 +176,7 @@ Tue Feb 4 23:50:50 1997 Johannes Braams <texniek at braams.xs4all.nl> page on a calculated minimum height of the table. The minimum is the head, the tail and 1 line of tabular data. -Thu Nov 28 20:38:53 1996 Johannes Braams <texniek at braams.xs4all.nl> +Thu Nov 28 20:38:53 1996 Johannes Braams <texniek at texniek.nl> * supertabular.dtx: Started a cleanup of the code, made source file a full fledged .dtx file @@ -168,7 +189,7 @@ Thu Nov 28 20:38:53 1996 Johannes Braams <texniek at braams.xs4all.nl> % jurriens at fwn.rug.nl P.O Box 800, 9700 AV Groningen % % revised by: Johannes Braams -% texniek at braams.xs4all.nl TeXniek (NL) +% texniek at texniek.nl TeXniek (NL) % \def\fileversion{3.7c} % \def\filename{supertabular sty} % \def\filedate{1995/10/16} diff --git a/Master/texmf-dist/doc/latex/supertabular/supertabular.pdf b/Master/texmf-dist/doc/latex/supertabular/supertabular.pdf Binary files differindex 444cbfdcd75..a24a8c865c4 100644 --- a/Master/texmf-dist/doc/latex/supertabular/supertabular.pdf +++ b/Master/texmf-dist/doc/latex/supertabular/supertabular.pdf diff --git a/Master/texmf-dist/doc/latex/synthslant/LICENSE b/Master/texmf-dist/doc/latex/synthslant/LICENSE index f8b699e6eb5..888d9e68e7a 100644 --- a/Master/texmf-dist/doc/latex/synthslant/LICENSE +++ b/Master/texmf-dist/doc/latex/synthslant/LICENSE @@ -355,11 +355,11 @@ Here is an example of such a notice and statement: %% Copyright 2005 M. Y. Name % % This work may be distributed and/or modified under the - % conditions of the LaTeX Project Public License, either version 1.3 + % conditions of the LaTeX Project Public License, either version 1.3c % of this license or (at your option) any later version. % 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 + % https://www.latex-project.org/lppl.txt + % and version 1.3c or later is part of all distributions of LaTeX % version 2005/12/01 or later. % % This work has the LPPL maintenance status `maintained'. diff --git a/Master/texmf-dist/doc/latex/synthslant/README.md b/Master/texmf-dist/doc/latex/synthslant/README.md index 1b1c7191893..efc20fd37ee 100644 --- a/Master/texmf-dist/doc/latex/synthslant/README.md +++ b/Master/texmf-dist/doc/latex/synthslant/README.md @@ -1,3 +1,6 @@ +![distcheck status](https://github.com/cspiel/synthslant/actions/workflows/distcheck.yml/badge.svg) + + # SynthSlant – Synthetic slanting of glyphs LaTeX package `synthslant` slants short pieces of text to the right or to the left. diff --git a/Master/texmf-dist/doc/latex/synthslant/RELEASE-HOWTO.md b/Master/texmf-dist/doc/latex/synthslant/RELEASE-HOWTO.md deleted file mode 100644 index 13435ef66d5..00000000000 --- a/Master/texmf-dist/doc/latex/synthslant/RELEASE-HOWTO.md +++ /dev/null @@ -1,51 +0,0 @@ -# How to prepare a new release - -... and not make too many mistakes. - - -1. Check that the work-area is clean with respect to **git**-tracked - files. - - ``` git status ``` - -1. Update the date stamp of `\ProvidesPackage`. - -1. (Temporarily) Zero the `\overfullrule`s of the documentation and - the example files. - -1. Thoroughly clean the work-area: - - ```make maintainer-clean``` - -1. Rebuild: - - ```make``` - -1. Check that all _*.sty_ and _*.pdf_ files are in good shape. - -1. Push the documentation files created in the previous step down into - the *docs* directory: - - ```make update-docs``` - -1. Undo the `\overfullrule` change. - -1. Commit the changes: - - ``` - git add . - ``` - - and finally - - ``` - git commit - ``` - -1. Tag the commit with the version string of `\ProvidesPackage`: - - ```git tag v1.23``` - -1. Push the changes to the public repository: - - ```git push origin master --tags``` diff --git a/Master/texmf-dist/doc/latex/synthslant/index.md b/Master/texmf-dist/doc/latex/synthslant/index.md deleted file mode 100644 index c8c312f3887..00000000000 --- a/Master/texmf-dist/doc/latex/synthslant/index.md +++ /dev/null @@ -1,4 +0,0 @@ -### Package Documentation - -- Comprehensive `synthslant` documentation: [synthslant.pdf](https://cspiel.github.io/synthslant/synthslant.pdf) -- `synthslant` test and demonstration: [synthslant-gauge.pdf](https://cspiel.github.io/synthslant/synthslant-gauge.pdf) diff --git a/Master/texmf-dist/doc/latex/synthslant/shear-transform.mp b/Master/texmf-dist/doc/latex/synthslant/shear-transform.mp index aeacb9a5841..2ae5591d18a 100644 --- a/Master/texmf-dist/doc/latex/synthslant/shear-transform.mp +++ b/Master/texmf-dist/doc/latex/synthslant/shear-transform.mp @@ -11,11 +11,11 @@ %% Copyright (C) 2024 by Ch. L. Spiel %% %% This work may be distributed and/or modified under the conditions -%% of the LaTeX Project Public License, either version 1.3 of this +%% of the LaTeX Project Public License, either version 1.3c of this %% license or (at your option) any later version. 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 +%% https://www.latex-project.org/lppl.txt +%% and version 1.3c or later is part of all distributions of LaTeX %% version 2003/12/01 or later. %% %% This work has the LPPL maintenance status `maintained'. diff --git a/Master/texmf-dist/doc/latex/synthslant/synthslant-gauge.pdf b/Master/texmf-dist/doc/latex/synthslant/synthslant-gauge.pdf Binary files differindex 425e7944efe..762c1e00a00 100644 --- a/Master/texmf-dist/doc/latex/synthslant/synthslant-gauge.pdf +++ b/Master/texmf-dist/doc/latex/synthslant/synthslant-gauge.pdf diff --git a/Master/texmf-dist/doc/latex/synthslant/synthslant-gauge.tex b/Master/texmf-dist/doc/latex/synthslant/synthslant-gauge.tex index dbea94e5cea..17de9acf55c 100644 --- a/Master/texmf-dist/doc/latex/synthslant/synthslant-gauge.tex +++ b/Master/texmf-dist/doc/latex/synthslant/synthslant-gauge.tex @@ -11,11 +11,11 @@ %% Copyright (C) 2024 by Ch. L. Spiel %% %% This work may be distributed and/or modified under the conditions -%% of the LaTeX Project Public License, either version 1.3 of this +%% of the LaTeX Project Public License, either version 1.3c of this %% license or (at your option) any later version. 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 +%% https://www.latex-project.org/lppl.txt +%% and version 1.3c or later is part of all distributions of LaTeX %% version 2003/12/01 or later. %% %% This work has the LPPL maintenance status `maintained'. @@ -134,7 +134,7 @@ \setlength{\headheight}{0pt} \setlength{\headsep}{0pt} -\setlength{\overfullrule}{3pt} +\setlength{\overfullrule}{0pt} \pagestyle{plain} diff --git a/Master/texmf-dist/doc/latex/synthslant/synthslant-minimal-test.tex b/Master/texmf-dist/doc/latex/synthslant/synthslant-minimal-test.tex new file mode 100644 index 00000000000..9f79f6d3d40 --- /dev/null +++ b/Master/texmf-dist/doc/latex/synthslant/synthslant-minimal-test.tex @@ -0,0 +1,39 @@ +%% +%% This is file `synthslant-minimal-test.tex', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% synthslant.dtx (with options: `minimal-test') +%% +%% This is a generated file. +%% +%% Copyright (C) 2024 by Ch. L. Spiel +%% +%% This work may be distributed and/or modified under the conditions +%% of the LaTeX Project Public License, either version 1.3c of this +%% license or (at your option) any later version. The latest version +%% of this license is in +%% https://www.latex-project.org/lppl.txt +%% and version 1.3c or later is part of all distributions of LaTeX +%% version 2003/12/01 or later. +%% +%% This work has the LPPL maintenance status `maintained'. +%% +%% The Current Maintainer of this work is Ch. L. Spiel. +%% +%% This work consists of the files synthslant.dtx and synthslant.ins +%% and the derived files synthslant.sty, synthslant-gauge.tex, +%% shear-transform.mp, and title.mp. +%% +%% +\documentclass{minimal} + +\usepackage{synthslant} + +\begin{document} +\textsynthslant{abc} +\end{document} +\endinput +%% +%% End of file `synthslant-minimal-test.tex'. diff --git a/Master/texmf-dist/doc/latex/synthslant/synthslant.gst b/Master/texmf-dist/doc/latex/synthslant/synthslant.gst new file mode 100644 index 00000000000..9d7be0ed103 --- /dev/null +++ b/Master/texmf-dist/doc/latex/synthslant/synthslant.gst @@ -0,0 +1,44 @@ +%% +%% This is file `synthslant.gst', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% synthslant.dtx (with options: `changes-style') +%% +%% This is a generated file. +%% +%% Copyright (C) 2024 by Ch. L. Spiel +%% +%% This work may be distributed and/or modified under the conditions +%% of the LaTeX Project Public License, either version 1.3c of this +%% license or (at your option) any later version. The latest version +%% of this license is in +%% https://www.latex-project.org/lppl.txt +%% and version 1.3c or later is part of all distributions of LaTeX +%% version 2003/12/01 or later. +%% +%% This work has the LPPL maintenance status `maintained'. +%% +%% The Current Maintainer of this work is Ch. L. Spiel. +%% +%% This work consists of the files synthslant.dtx and synthslant.ins +%% and the derived files synthslant.sty, synthslant-gauge.tex, +%% shear-transform.mp, and title.mp. +%% +%% +actual '=' +delim_0 "\\nobreak\\enspace" +delim_1 "\\nobreak\\enspace" +delim_2 "\\nobreak\\enspace" +heading_prefix "\\pagebreak[3]\\smallskip\n\n{\\sffamily\\bfseries\\large " +heading_suffix "}\\nopagebreak\n" +headings_flag 0 +item_x1 "\\efill\n\\subitem " +item_x2 "\\ " +keyword "\\glossaryentry" +level '>' +line_max 65536 +postamble "\n\\end{theglossary}\n" +preamble "\\begin{theglossary}\n \\makeatletter\\scan@allowedfalse" +quote '!' diff --git a/Master/texmf-dist/doc/latex/synthslant/synthslant.ist b/Master/texmf-dist/doc/latex/synthslant/synthslant.ist index c593624beff..05784657484 100644 --- a/Master/texmf-dist/doc/latex/synthslant/synthslant.ist +++ b/Master/texmf-dist/doc/latex/synthslant/synthslant.ist @@ -11,11 +11,11 @@ %% Copyright (C) 2024 by Ch. L. Spiel %% %% This work may be distributed and/or modified under the conditions -%% of the LaTeX Project Public License, either version 1.3 of this +%% of the LaTeX Project Public License, either version 1.3c of this %% license or (at your option) any later version. 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 +%% https://www.latex-project.org/lppl.txt +%% and version 1.3c or later is part of all distributions of LaTeX %% version 2003/12/01 or later. %% %% This work has the LPPL maintenance status `maintained'. @@ -28,11 +28,12 @@ %% %% actual '=' +delim_0 "\\nobreak\\enspace" +delim_1 "\\nobreak\\enspace" +delim_2 "\\nobreak\\enspace" heading_prefix "\\pagebreak[3]\\smallskip\n\n{\\sffamily\\bfseries\\large " heading_suffix "}\\nopagebreak\n" headings_flag 1 level '>' +line_max 65536 quote '!' -\endinput -%% -%% End of file `synthslant.ist'. diff --git a/Master/texmf-dist/doc/latex/synthslant/synthslant.pdf b/Master/texmf-dist/doc/latex/synthslant/synthslant.pdf Binary files differindex 9b034b86c39..555101ee3c9 100644 --- a/Master/texmf-dist/doc/latex/synthslant/synthslant.pdf +++ b/Master/texmf-dist/doc/latex/synthslant/synthslant.pdf diff --git a/Master/texmf-dist/doc/latex/synthslant/title.mp b/Master/texmf-dist/doc/latex/synthslant/title.mp index 25658ecb985..57efebbae1a 100644 --- a/Master/texmf-dist/doc/latex/synthslant/title.mp +++ b/Master/texmf-dist/doc/latex/synthslant/title.mp @@ -11,11 +11,11 @@ %% Copyright (C) 2024 by Ch. L. Spiel %% %% This work may be distributed and/or modified under the conditions -%% of the LaTeX Project Public License, either version 1.3 of this +%% of the LaTeX Project Public License, either version 1.3c of this %% license or (at your option) any later version. 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 +%% https://www.latex-project.org/lppl.txt +%% and version 1.3c or later is part of all distributions of LaTeX %% version 2003/12/01 or later. %% %% This work has the LPPL maintenance status `maintained'. diff --git a/Master/texmf-dist/doc/latex/tablvar/README.md b/Master/texmf-dist/doc/latex/tablvar/README.md index 565ed9c0499..0be4d44111f 100644 --- a/Master/texmf-dist/doc/latex/tablvar/README.md +++ b/Master/texmf-dist/doc/latex/tablvar/README.md @@ -6,8 +6,8 @@ - A complete and easy to use package for typesetting pretty tables of signs and variations according to French usage. - The syntax is similar to that of the array environment and uses intuitive position commands. - Arrows are automatically drawn (with PSTricks or TikZ). -- Macros are provided for drawing double bars, single bars crossing the zeros, intervals where a function is not defined or for placing special values. -- Several features of variations tables can be customized. +- Macros are provided for drawing double bars, single bars crossing zero values, intervals where a function is not defined or for placing special values. +- Many features of variations tables can be customized. ## Documentation @@ -18,7 +18,7 @@ The documentation is in French. ## Installation - run LaTeX on tablvar.ins, you obtain the file tablvar.sty, -- if then you run XeLaTeX or LaTeX + dvips + ps2pdf on tablvar.dtx you get the file tablvar.pdf which is also in the archive, +- if then you run LaTeX + dvips + ps2pdf on tablvar.dtx you get the file tablvar.pdf which is also in the archive, - put the files tablvar.sty and tablvar.pdf in your TeX Directory Structure. diff --git a/Master/texmf-dist/doc/latex/tablvar/tablvar.pdf b/Master/texmf-dist/doc/latex/tablvar/tablvar.pdf Binary files differindex 7f5962d8fc7..d949a47be31 100644 --- a/Master/texmf-dist/doc/latex/tablvar/tablvar.pdf +++ b/Master/texmf-dist/doc/latex/tablvar/tablvar.pdf diff --git a/Master/texmf-dist/doc/latex/tagpdf/README.md b/Master/texmf-dist/doc/latex/tagpdf/README.md index 9602302c2a2..edcdc6b5e6e 100644 --- a/Master/texmf-dist/doc/latex/tagpdf/README.md +++ b/Master/texmf-dist/doc/latex/tagpdf/README.md @@ -1,6 +1,6 @@ #tagpdf — A package to create tagged pdf -Packageversion: 0.99c -Packagedate: 2024/06/20 +Packageversion: 0.99d +Packagedate: 2024/08/02 Author: Ulrike Fischer, LaTeX Project Team ## License diff --git a/Master/texmf-dist/doc/latex/tagpdf/ex-AF-file.pdf b/Master/texmf-dist/doc/latex/tagpdf/ex-AF-file.pdf index 37673eac26e..9ba962e1e33 100644 --- a/Master/texmf-dist/doc/latex/tagpdf/ex-AF-file.pdf +++ b/Master/texmf-dist/doc/latex/tagpdf/ex-AF-file.pdf @@ -1,11 +1,11 @@ %PDF-2.0 % 22 0 obj -<< /Subtype /application#2Fx-tex/Type /EmbeddedFile /Params<</ModDate (D:20240620175033+02'00') /Size 151 /CheckSum (4C0D15859D9BA750E65BE6F420DEA972) >> /Length 151 >> +<< /Subtype /application#2Fx-tex/Type /EmbeddedFile /Params<</ModDate (D:20240802125547+02'00') /Size 151 /CheckSum (D4716966C44F441B4E4C1D2DD929683B) >> /Length 151 >> stream %% LaTeX2e file `example-input-file.tex' %% generated by the `filecontents' environment -%% from source `ex-AF-file' on 2024/06/20. +%% from source `ex-AF-file' on 2024/08/02. %% Additional info! @@ -15,7 +15,7 @@ endobj << /Type /Filespec /AFRelationship /Unspecified /F (example-input-file.tex) /UF <FEFF006500780061006D0070006C0065002D0069006E007000750074002D00660069006C0065002E007400650078> /EF<</F 22 0 R/UF 22 0 R>> >> endobj 25 0 obj -<< /Subtype /text#2Fplain/Type /EmbeddedFile /Params<</ModDate (D:20240620) >> /Length 19 >> +<< /Subtype /text#2Fplain/Type /EmbeddedFile /Params<</ModDate (D:20240802) >> /Length 19 >> stream Bär with teh shirt endstream @@ -24,7 +24,7 @@ endobj << /Type /Filespec /AFRelationship /Supplement /F (tag-AFfile1.txt) /UF <FEFF007400610067002D0041004600660069006C00650031002E007400780074> /EF<</F 25 0 R/UF 25 0 R>> >> endobj 28 0 obj -<< /Subtype /text#2Fplain/Type /EmbeddedFile /Params<</ModDate (D:20240620) >> /Length 4 >> +<< /Subtype /text#2Fplain/Type /EmbeddedFile /Params<</ModDate (D:20240802) >> /Length 4 >> stream Duck endstream @@ -242,17 +242,17 @@ stream </dc:language> <dc:date> <rdf:Seq> - <rdf:li>2024-06-20T17:50:54+02:00</rdf:li> + <rdf:li>2024-08-02T12:56:09+02:00</rdf:li> </rdf:Seq> </dc:date> <dc:format>application/pdf</dc:format> <dc:source>ex-AF-file.tex</dc:source> <xmp:CreatorTool>LaTeX</xmp:CreatorTool> - <xmp:CreateDate>2024-06-20T17:50:54+02:00</xmp:CreateDate> - <xmp:ModifyDate>2024-06-20T17:50:54+02:00</xmp:ModifyDate> - <xmp:MetadataDate>2024-06-20T17:50:54+02:00</xmp:MetadataDate> + <xmp:CreateDate>2024-08-02T12:56:09+02:00</xmp:CreateDate> + <xmp:ModifyDate>2024-08-02T12:56:09+02:00</xmp:ModifyDate> + <xmp:MetadataDate>2024-08-02T12:56:09+02:00</xmp:MetadataDate> <xmpMM:DocumentID>uuid:38d5a844-2217-4081-87cc-b2129dc357a6</xmpMM:DocumentID> - <xmpMM:InstanceID>uuid:9859f422-c856-46c6-8928-4dfab5f8790c</xmpMM:InstanceID> + <xmpMM:InstanceID>uuid:3ff2b426-7c06-4861-8f14-4e8e04ac9b4c</xmpMM:InstanceID> <prism:complianceProfile>three</prism:complianceProfile> <prism:pageCount>1</prism:pageCount> </rdf:Description> @@ -347,7 +347,7 @@ endobj << /Type /Namespace /NS (https://www.latex-project.org/ns/book/2022) /RoleMapNS 18 0 R >> endobj 19 0 obj -<< /Type /Namespace /NS (data:,15379C35-DB3-5B3E-89A5-42149DCFB2F) >> +<< /Type /Namespace /NS (data:,BBA64916-90D9-A0B9-F592-8E68FD20F532) >> endobj 8 0 obj [ 9 0 R 11 0 R 13 0 R 15 0 R 17 0 R 19 0 R ] @@ -449,7 +449,7 @@ endobj << /Type /Catalog /Pages 36 0 R /MarkInfo 37 0 R/Lang (de-DE)/Metadata 31 0 R/StructTreeRoot 5 0 R >> endobj 46 0 obj -<< /Producer (luahbtex-1.18.0)/Creator (LaTeX)/CreationDate (D:20240620175054+02'00')/ModDate (D:20240620175054+02'00') /Trapped /False /PTEX.FullBanner (This is LuaHBTeX, Version 1.18.0 (TeX Live 2024)) >> +<< /Producer (luahbtex-1.18.0)/Creator (LaTeX)/CreationDate (D:20240802125609+02'00')/ModDate (D:20240802125609+02'00') /Trapped /False /PTEX.FullBanner (This is LuaHBTeX, Version 1.18.0 (TeX Live 2024)) >> endobj xref 0 47 @@ -458,10 +458,10 @@ xref 0000000003 00000 f 0000000004 00000 f 0000000010 00000 f -0000016360 00000 n +0000016362 00000 n 0000013627 00000 n 0000013838 00000 n -0000015790 00000 n +0000015792 00000 n 0000014417 00000 n 0000000012 00000 f 0000014485 00000 n @@ -474,34 +474,34 @@ xref 0000015425 00000 n 0000015703 00000 n 0000000000 00000 f -0000015851 00000 n +0000015853 00000 n 0000000020 00000 n 0000000382 00000 n -0000015964 00000 n +0000015966 00000 n 0000000603 00000 n 0000000758 00000 n -0000016096 00000 n +0000016098 00000 n 0000000943 00000 n 0000001083 00000 n -0000016228 00000 n +0000016230 00000 n 0000001268 00000 n 0000013481 00000 n 0000013346 00000 n 0000012740 00000 n -0000020113 00000 n -0000020467 00000 n +0000020115 00000 n +0000020469 00000 n 0000013591 00000 n 0000013684 00000 n 0000013801 00000 n -0000016480 00000 n -0000018929 00000 n -0000016666 00000 n -0000019150 00000 n -0000020267 00000 n -0000020529 00000 n -0000020647 00000 n +0000016482 00000 n +0000018931 00000 n +0000016668 00000 n +0000019152 00000 n +0000020269 00000 n +0000020531 00000 n +0000020649 00000 n trailer -<< /Size 47 /Root 45 0 R /Info 46 0 R /ID [ <CB0601DB4D9A68774E7E29190E0D5823> <CB0601DB4D9A68774E7E29190E0D5823> ] >> +<< /Size 47 /Root 45 0 R /Info 46 0 R /ID [ <E2F9D94DBDFC11D2EE5801BA51FD5C99> <E2F9D94DBDFC11D2EE5801BA51FD5C99> ] >> startxref -20870 +20872 %%EOF diff --git a/Master/texmf-dist/doc/latex/tagpdf/ex-alt-actualtext.pdf b/Master/texmf-dist/doc/latex/tagpdf/ex-alt-actualtext.pdf Binary files differindex 8bbbbcc16c0..f64d4e66bfe 100644 --- a/Master/texmf-dist/doc/latex/tagpdf/ex-alt-actualtext.pdf +++ b/Master/texmf-dist/doc/latex/tagpdf/ex-alt-actualtext.pdf diff --git a/Master/texmf-dist/doc/latex/tagpdf/ex-attribute.pdf b/Master/texmf-dist/doc/latex/tagpdf/ex-attribute.pdf index 172ce029909..feda9e252ac 100644 --- a/Master/texmf-dist/doc/latex/tagpdf/ex-attribute.pdf +++ b/Master/texmf-dist/doc/latex/tagpdf/ex-attribute.pdf @@ -216,17 +216,17 @@ stream </dc:language> <dc:date> <rdf:Seq> - <rdf:li>2024-06-20T17:51:49+02:00</rdf:li> + <rdf:li>2024-08-02T12:57:08+02:00</rdf:li> </rdf:Seq> </dc:date> <dc:format>application/pdf</dc:format> <dc:source>ex-attribute.tex</dc:source> <xmp:CreatorTool>LaTeX</xmp:CreatorTool> - <xmp:CreateDate>2024-06-20T17:51:49+02:00</xmp:CreateDate> - <xmp:ModifyDate>2024-06-20T17:51:49+02:00</xmp:ModifyDate> - <xmp:MetadataDate>2024-06-20T17:51:49+02:00</xmp:MetadataDate> + <xmp:CreateDate>2024-08-02T12:57:08+02:00</xmp:CreateDate> + <xmp:ModifyDate>2024-08-02T12:57:08+02:00</xmp:ModifyDate> + <xmp:MetadataDate>2024-08-02T12:57:08+02:00</xmp:MetadataDate> <xmpMM:DocumentID>uuid:7a9cf910-1c19-429a-8f24-339c62d8a57f</xmpMM:DocumentID> - <xmpMM:InstanceID>uuid:d4b89449-5e1d-43cf-83af-3903105d1b3f</xmpMM:InstanceID> + <xmpMM:InstanceID>uuid:b262e437-7e89-4c42-8e29-bedae4c498b6</xmpMM:InstanceID> <prism:complianceProfile>three</prism:complianceProfile> <prism:pageCount>1</prism:pageCount> </rdf:Description> @@ -450,7 +450,7 @@ endobj << /Type /Catalog /Pages 26 0 R /MarkInfo 27 0 R/Lang (de_DE)/Metadata 21 0 R/StructTreeRoot 5 0 R >> endobj 38 0 obj -<< /Producer (luahbtex-1.18.0)/Creator (LaTeX)/Title (Title)/CreationDate (D:20240620175149+02'00')/ModDate (D:20240620175149+02'00') /Trapped /False /PTEX.FullBanner (This is LuaHBTeX, Version 1.18.0 (TeX Live 2024)) >> +<< /Producer (luahbtex-1.18.0)/Creator (LaTeX)/Title (Title)/CreationDate (D:20240802125708+02'00')/ModDate (D:20240802125708+02'00') /Trapped /False /PTEX.FullBanner (This is LuaHBTeX, Version 1.18.0 (TeX Live 2024)) >> endobj xref 0 39 @@ -494,7 +494,7 @@ xref 0000017721 00000 n 0000017839 00000 n trailer -<< /Size 39 /Root 37 0 R /Info 38 0 R /ID [ <658202793A4D39DC44497E1203173F04> <658202793A4D39DC44497E1203173F04> ] >> +<< /Size 39 /Root 37 0 R /Info 38 0 R /ID [ <2033D8BFB67E1F1EDFB190E1DEC10A2C> <2033D8BFB67E1F1EDFB190E1DEC10A2C> ] >> startxref 18076 %%EOF diff --git a/Master/texmf-dist/doc/latex/tagpdf/ex-formula-problem.pdf b/Master/texmf-dist/doc/latex/tagpdf/ex-formula-problem.pdf index 9ac7a851bc9..637338d16f2 100644 --- a/Master/texmf-dist/doc/latex/tagpdf/ex-formula-problem.pdf +++ b/Master/texmf-dist/doc/latex/tagpdf/ex-formula-problem.pdf @@ -239,17 +239,17 @@ stream </dc:language> <dc:date> <rdf:Seq> - <rdf:li>2024-06-20T17:52:18+02:00</rdf:li> + <rdf:li>2024-08-02T12:57:37+02:00</rdf:li> </rdf:Seq> </dc:date> <dc:format>application/pdf</dc:format> <dc:source>ex-formula-problem.tex</dc:source> <xmp:CreatorTool>LaTeX</xmp:CreatorTool> - <xmp:CreateDate>2024-06-20T17:52:18+02:00</xmp:CreateDate> - <xmp:ModifyDate>2024-06-20T17:52:18+02:00</xmp:ModifyDate> - <xmp:MetadataDate>2024-06-20T17:52:18+02:00</xmp:MetadataDate> + <xmp:CreateDate>2024-08-02T12:57:37+02:00</xmp:CreateDate> + <xmp:ModifyDate>2024-08-02T12:57:37+02:00</xmp:ModifyDate> + <xmp:MetadataDate>2024-08-02T12:57:37+02:00</xmp:MetadataDate> <xmpMM:DocumentID>uuid:8eb2ce1d-b2ec-440a-8bc2-73733eb3eeb0</xmpMM:DocumentID> - <xmpMM:InstanceID>uuid:b48ac58a-5b57-46ab-8ab8-087479364eeb</xmpMM:InstanceID> + <xmpMM:InstanceID>uuid:8fbc3896-5f57-401a-81d8-1fdb02abac8a</xmpMM:InstanceID> <prism:complianceProfile>three</prism:complianceProfile> <prism:pageCount>2</prism:pageCount> </rdf:Description> @@ -425,7 +425,7 @@ endobj << /Type /Catalog /Pages 16 0 R /MarkInfo 23 0 R/Lang (de-DE)/Metadata 19 0 R/StructTreeRoot 5 0 R >> endobj 33 0 obj -<< /Producer (luahbtex-1.18.0)/Creator (LaTeX)/CreationDate (D:20240620175218+02'00')/ModDate (D:20240620175218+02'00') /Trapped /False /PTEX.FullBanner (This is LuaHBTeX, Version 1.18.0 (TeX Live 2024)) >> +<< /Producer (luahbtex-1.18.0)/Creator (LaTeX)/CreationDate (D:20240802125737+02'00')/ModDate (D:20240802125737+02'00') /Trapped /False /PTEX.FullBanner (This is LuaHBTeX, Version 1.18.0 (TeX Live 2024)) >> endobj xref 0 34 @@ -464,7 +464,7 @@ xref 0000018886 00000 n 0000019004 00000 n trailer -<< /Size 34 /Root 32 0 R /Info 33 0 R /ID [ <4A2EBD4B9A1971E2BAF6A530303DF07B> <4A2EBD4B9A1971E2BAF6A530303DF07B> ] >> +<< /Size 34 /Root 32 0 R /Info 33 0 R /ID [ <84EDE341B761805B059537E407E8C0CD> <84EDE341B761805B059537E407E8C0CD> ] >> startxref 19227 %%EOF diff --git a/Master/texmf-dist/doc/latex/tagpdf/ex-list.pdf b/Master/texmf-dist/doc/latex/tagpdf/ex-list.pdf index 2346b0398a9..381477d8292 100644 --- a/Master/texmf-dist/doc/latex/tagpdf/ex-list.pdf +++ b/Master/texmf-dist/doc/latex/tagpdf/ex-list.pdf @@ -210,17 +210,17 @@ stream </dc:language> <dc:date> <rdf:Seq> - <rdf:li>2024-06-20T17:52:47+02:00</rdf:li> + <rdf:li>2024-08-02T12:58:08+02:00</rdf:li> </rdf:Seq> </dc:date> <dc:format>application/pdf</dc:format> <dc:source>ex-list.tex</dc:source> <xmp:CreatorTool>LaTeX</xmp:CreatorTool> - <xmp:CreateDate>2024-06-20T17:52:47+02:00</xmp:CreateDate> - <xmp:ModifyDate>2024-06-20T17:52:47+02:00</xmp:ModifyDate> - <xmp:MetadataDate>2024-06-20T17:52:47+02:00</xmp:MetadataDate> + <xmp:CreateDate>2024-08-02T12:58:08+02:00</xmp:CreateDate> + <xmp:ModifyDate>2024-08-02T12:58:08+02:00</xmp:ModifyDate> + <xmp:MetadataDate>2024-08-02T12:58:08+02:00</xmp:MetadataDate> <xmpMM:DocumentID>uuid:4c749825-1de7-414c-879f-29e4d0bef66e</xmpMM:DocumentID> - <xmpMM:InstanceID>uuid:843c5ce9-108a-49d8-86ef-881382f178ee</xmpMM:InstanceID> + <xmpMM:InstanceID>uuid:0803684d-fad7-4d08-8dc2-c5108f24d889</xmpMM:InstanceID> <prism:complianceProfile>three</prism:complianceProfile> <prism:pageCount>1</prism:pageCount> </rdf:Description> @@ -654,7 +654,7 @@ endobj << /Type /Catalog /Pages 54 0 R /MarkInfo 55 0 R/Lang (en)/Metadata 48 0 R/StructTreeRoot 5 0 R >> endobj 72 0 obj -<< /Producer (luahbtex-1.18.0)/Creator (LaTeX)/CreationDate (D:20240620175247+02'00')/ModDate (D:20240620175247+02'00') /Trapped /False /PTEX.FullBanner (This is LuaHBTeX, Version 1.18.0 (TeX Live 2024)) >> +<< /Producer (luahbtex-1.18.0)/Creator (LaTeX)/CreationDate (D:20240802125808+02'00')/ModDate (D:20240802125808+02'00') /Trapped /False /PTEX.FullBanner (This is LuaHBTeX, Version 1.18.0 (TeX Live 2024)) >> endobj xref 0 73 @@ -732,7 +732,7 @@ xref 0000029590 00000 n 0000029705 00000 n trailer -<< /Size 73 /Root 71 0 R /Info 72 0 R /ID [ <14B40F363BE2C4EFB96EAE91DC2CE4F7> <14B40F363BE2C4EFB96EAE91DC2CE4F7> ] >> +<< /Size 73 /Root 71 0 R /Info 72 0 R /ID [ <0EE2DD31789AD5C7E80F8407D72CF075> <0EE2DD31789AD5C7E80F8407D72CF075> ] >> startxref 29928 %%EOF diff --git a/Master/texmf-dist/doc/latex/tagpdf/ex-mc-manual-para-split-obsolete.pdf b/Master/texmf-dist/doc/latex/tagpdf/ex-mc-manual-para-split-obsolete.pdf index 70cfe5e7937..6d60e107364 100644 --- a/Master/texmf-dist/doc/latex/tagpdf/ex-mc-manual-para-split-obsolete.pdf +++ b/Master/texmf-dist/doc/latex/tagpdf/ex-mc-manual-para-split-obsolete.pdf @@ -243,17 +243,17 @@ stream </dc:language> <dc:date> <rdf:Seq> - <rdf:li>2024-06-20T17:53:22+02:00</rdf:li> + <rdf:li>2024-08-02T12:58:35+02:00</rdf:li> </rdf:Seq> </dc:date> <dc:format>application/pdf</dc:format> <dc:source>ex-mc-manual-para-split-obsolete.tex</dc:source> <xmp:CreatorTool>LaTeX</xmp:CreatorTool> - <xmp:CreateDate>2024-06-20T17:53:22+02:00</xmp:CreateDate> - <xmp:ModifyDate>2024-06-20T17:53:22+02:00</xmp:ModifyDate> - <xmp:MetadataDate>2024-06-20T17:53:22+02:00</xmp:MetadataDate> + <xmp:CreateDate>2024-08-02T12:58:35+02:00</xmp:CreateDate> + <xmp:ModifyDate>2024-08-02T12:58:35+02:00</xmp:ModifyDate> + <xmp:MetadataDate>2024-08-02T12:58:35+02:00</xmp:MetadataDate> <xmpMM:DocumentID>uuid:c33d64b4-96ec-4e48-8f27-0b3edc831547</xmpMM:DocumentID> - <xmpMM:InstanceID>uuid:36712ce3-22f3-4c4a-8418-0427448d178a</xmpMM:InstanceID> + <xmpMM:InstanceID>uuid:075c36f4-757d-4e0f-8258-3c0a3e372d69</xmpMM:InstanceID> <prism:complianceProfile>three</prism:complianceProfile> <prism:pageCount>2</prism:pageCount> </rdf:Description> @@ -413,7 +413,7 @@ endobj << /Type /Catalog /Pages 14 0 R /Lang (de)/Metadata 15 0 R >> endobj 25 0 obj -<< /Producer (luahbtex-1.18.0)/Creator (LaTeX)/CreationDate (D:20240620175322+02'00')/ModDate (D:20240620175322+02'00') /Trapped /False /PTEX.FullBanner (This is LuaHBTeX, Version 1.18.0 (TeX Live 2024)) >> +<< /Producer (luahbtex-1.18.0)/Creator (LaTeX)/CreationDate (D:20240802125835+02'00')/ModDate (D:20240802125835+02'00') /Trapped /False /PTEX.FullBanner (This is LuaHBTeX, Version 1.18.0 (TeX Live 2024)) >> endobj xref 0 26 @@ -444,7 +444,7 @@ xref 0000023894 00000 n 0000023972 00000 n trailer -<< /Size 26 /Root 24 0 R /Info 25 0 R /ID [ <2A141E41EDA78C2ADA31A952D041C439> <2A141E41EDA78C2ADA31A952D041C439> ] >> +<< /Size 26 /Root 24 0 R /Info 25 0 R /ID [ <1A7EFBAD198841A82D20467F858B3B6C> <1A7EFBAD198841A82D20467F858B3B6C> ] >> startxref 24195 %%EOF diff --git a/Master/texmf-dist/doc/latex/tagpdf/ex-softhyphen.pdf b/Master/texmf-dist/doc/latex/tagpdf/ex-softhyphen.pdf index 5f96db2bdbf..09a8d8aca07 100644 --- a/Master/texmf-dist/doc/latex/tagpdf/ex-softhyphen.pdf +++ b/Master/texmf-dist/doc/latex/tagpdf/ex-softhyphen.pdf @@ -210,17 +210,17 @@ stream </dc:language> <dc:date> <rdf:Seq> - <rdf:li>2024-06-20T17:53:55+02:00</rdf:li> + <rdf:li>2024-08-02T12:59:01+02:00</rdf:li> </rdf:Seq> </dc:date> <dc:format>application/pdf</dc:format> <dc:source>ex-softhyphen.tex</dc:source> <xmp:CreatorTool>LaTeX</xmp:CreatorTool> - <xmp:CreateDate>2024-06-20T17:53:55+02:00</xmp:CreateDate> - <xmp:ModifyDate>2024-06-20T17:53:55+02:00</xmp:ModifyDate> - <xmp:MetadataDate>2024-06-20T17:53:55+02:00</xmp:MetadataDate> + <xmp:CreateDate>2024-08-02T12:59:01+02:00</xmp:CreateDate> + <xmp:ModifyDate>2024-08-02T12:59:01+02:00</xmp:ModifyDate> + <xmp:MetadataDate>2024-08-02T12:59:01+02:00</xmp:MetadataDate> <xmpMM:DocumentID>uuid:aa82e685-4098-469d-861c-3c45dfc700c7</xmpMM:DocumentID> - <xmpMM:InstanceID>uuid:9c8a342f-f758-4367-8d05-7621809f3e05</xmpMM:InstanceID> + <xmpMM:InstanceID>uuid:994c7ab3-d509-4a5b-88b5-92bca5031c75</xmpMM:InstanceID> <prism:complianceProfile>three</prism:complianceProfile> <prism:pageCount>1</prism:pageCount> </rdf:Description> @@ -393,7 +393,7 @@ endobj << /Type /Catalog /Pages 19 0 R /MarkInfo 20 0 R/Lang (de)/Metadata 14 0 R/StructTreeRoot 5 0 R >> endobj 30 0 obj -<< /Producer (luahbtex-1.18.0)/Creator (LaTeX)/CreationDate (D:20240620175355+02'00')/ModDate (D:20240620175355+02'00') /Trapped /False /PTEX.FullBanner (This is LuaHBTeX, Version 1.18.0 (TeX Live 2024)) >> +<< /Producer (luahbtex-1.18.0)/Creator (LaTeX)/CreationDate (D:20240802125901+02'00')/ModDate (D:20240802125901+02'00') /Trapped /False /PTEX.FullBanner (This is LuaHBTeX, Version 1.18.0 (TeX Live 2024)) >> endobj xref 0 31 @@ -429,7 +429,7 @@ xref 0000018113 00000 n 0000018228 00000 n trailer -<< /Size 31 /Root 29 0 R /Info 30 0 R /ID [ <5BCC76B86A64606D9B117AF50FFA18AE> <5BCC76B86A64606D9B117AF50FFA18AE> ] >> +<< /Size 31 /Root 29 0 R /Info 30 0 R /ID [ <EECF5F575625EC21F0BEE870E572FEB1> <EECF5F575625EC21F0BEE870E572FEB1> ] >> startxref 18451 %%EOF diff --git a/Master/texmf-dist/doc/latex/tagpdf/ex-spaceglyph-listings.pdf b/Master/texmf-dist/doc/latex/tagpdf/ex-spaceglyph-listings.pdf index 21b11b9346f..35e1d0609af 100644 --- a/Master/texmf-dist/doc/latex/tagpdf/ex-spaceglyph-listings.pdf +++ b/Master/texmf-dist/doc/latex/tagpdf/ex-spaceglyph-listings.pdf @@ -210,17 +210,17 @@ stream </dc:language> <dc:date> <rdf:Seq> - <rdf:li>2024-06-20T17:54:22+02:00</rdf:li> + <rdf:li>2024-08-02T12:59:25+02:00</rdf:li> </rdf:Seq> </dc:date> <dc:format>application/pdf</dc:format> <dc:source>ex-spaceglyph-listings.tex</dc:source> <xmp:CreatorTool>LaTeX</xmp:CreatorTool> - <xmp:CreateDate>2024-06-20T17:54:22+02:00</xmp:CreateDate> - <xmp:ModifyDate>2024-06-20T17:54:22+02:00</xmp:ModifyDate> - <xmp:MetadataDate>2024-06-20T17:54:22+02:00</xmp:MetadataDate> + <xmp:CreateDate>2024-08-02T12:59:25+02:00</xmp:CreateDate> + <xmp:ModifyDate>2024-08-02T12:59:25+02:00</xmp:ModifyDate> + <xmp:MetadataDate>2024-08-02T12:59:25+02:00</xmp:MetadataDate> <xmpMM:DocumentID>uuid:acdc2435-bf29-4e54-8d09-1c9b6dc32038</xmpMM:DocumentID> - <xmpMM:InstanceID>uuid:ad8487cb-8dcc-4cab-8542-55106010deec</xmpMM:InstanceID> + <xmpMM:InstanceID>uuid:c59181fc-bb69-430b-8f90-90206d3ba579</xmpMM:InstanceID> <prism:complianceProfile>three</prism:complianceProfile> <prism:pageCount>1</prism:pageCount> </rdf:Description> @@ -354,7 +354,7 @@ endobj << /Type /Catalog /Pages 15 0 R /MarkInfo 16 0 R/Lang (de)/Metadata 10 0 R/StructTreeRoot 5 0 R >> endobj 26 0 obj -<< /Producer (luahbtex-1.18.0)/Creator (LaTeX)/CreationDate (D:20240620175422+02'00')/ModDate (D:20240620175422+02'00') /Trapped /False /PTEX.FullBanner (This is LuaHBTeX, Version 1.18.0 (TeX Live 2024)) >> +<< /Producer (luahbtex-1.18.0)/Creator (LaTeX)/CreationDate (D:20240802125925+02'00')/ModDate (D:20240802125925+02'00') /Trapped /False /PTEX.FullBanner (This is LuaHBTeX, Version 1.18.0 (TeX Live 2024)) >> endobj xref 0 27 @@ -386,7 +386,7 @@ xref 0000015485 00000 n 0000015600 00000 n trailer -<< /Size 27 /Root 25 0 R /Info 26 0 R /ID [ <50A5738B4CABF76A4CC27558811B7E58> <50A5738B4CABF76A4CC27558811B7E58> ] >> +<< /Size 27 /Root 25 0 R /Info 26 0 R /ID [ <EC0A5DEABF5EE1A293FAD60891A0BF63> <EC0A5DEABF5EE1A293FAD60891A0BF63> ] >> startxref 15823 %%EOF diff --git a/Master/texmf-dist/doc/latex/tagpdf/ex-structure-obsolete.pdf b/Master/texmf-dist/doc/latex/tagpdf/ex-structure-obsolete.pdf index 7c9c135bf7a..73ce1c06022 100644 --- a/Master/texmf-dist/doc/latex/tagpdf/ex-structure-obsolete.pdf +++ b/Master/texmf-dist/doc/latex/tagpdf/ex-structure-obsolete.pdf @@ -210,17 +210,17 @@ stream </dc:language> <dc:date> <rdf:Seq> - <rdf:li>2024-06-20T17:54:47+02:00</rdf:li> + <rdf:li>2024-08-02T12:59:50+02:00</rdf:li> </rdf:Seq> </dc:date> <dc:format>application/pdf</dc:format> <dc:source>ex-structure-obsolete.tex</dc:source> <xmp:CreatorTool>LaTeX</xmp:CreatorTool> - <xmp:CreateDate>2024-06-20T17:54:47+02:00</xmp:CreateDate> - <xmp:ModifyDate>2024-06-20T17:54:47+02:00</xmp:ModifyDate> - <xmp:MetadataDate>2024-06-20T17:54:47+02:00</xmp:MetadataDate> + <xmp:CreateDate>2024-08-02T12:59:50+02:00</xmp:CreateDate> + <xmp:ModifyDate>2024-08-02T12:59:50+02:00</xmp:ModifyDate> + <xmp:MetadataDate>2024-08-02T12:59:50+02:00</xmp:MetadataDate> <xmpMM:DocumentID>uuid:bf5e4a2b-cfa9-4fc5-878c-8f9d2ee95445</xmpMM:DocumentID> - <xmpMM:InstanceID>uuid:971e1e25-37c4-4af9-8523-72714a87dea7</xmpMM:InstanceID> + <xmpMM:InstanceID>uuid:2ccba557-e5ae-4703-80db-28b73a88c1cd</xmpMM:InstanceID> <prism:complianceProfile>three</prism:complianceProfile> <prism:pageCount>1</prism:pageCount> </rdf:Description> @@ -526,7 +526,7 @@ endobj << /Type /Catalog /Pages 26 0 R /MarkInfo 27 0 R/Lang (de)/Metadata 20 0 R/StructTreeRoot 5 0 R >> endobj 43 0 obj -<< /Producer (luahbtex-1.18.0)/Creator (LaTeX)/CreationDate (D:20240620175447+02'00')/ModDate (D:20240620175447+02'00') /Trapped /False /PTEX.FullBanner (This is LuaHBTeX, Version 1.18.0 (TeX Live 2024)) >> +<< /Producer (luahbtex-1.18.0)/Creator (LaTeX)/CreationDate (D:20240802125950+02'00')/ModDate (D:20240802125950+02'00') /Trapped /False /PTEX.FullBanner (This is LuaHBTeX, Version 1.18.0 (TeX Live 2024)) >> endobj xref 0 44 @@ -575,7 +575,7 @@ xref 0000023423 00000 n 0000023538 00000 n trailer -<< /Size 44 /Root 42 0 R /Info 43 0 R /ID [ <ADB87D57539D5CE2A8FC3A4721B94DA0> <ADB87D57539D5CE2A8FC3A4721B94DA0> ] >> +<< /Size 44 /Root 42 0 R /Info 43 0 R /ID [ <AE5400E970AB8EBE6C04A229EBA70E89> <AE5400E970AB8EBE6C04A229EBA70E89> ] >> startxref 23761 %%EOF diff --git a/Master/texmf-dist/doc/latex/tagpdf/ex-tagpdf-template.pdf b/Master/texmf-dist/doc/latex/tagpdf/ex-tagpdf-template.pdf index 81423fede4f..7147cd1e913 100644 --- a/Master/texmf-dist/doc/latex/tagpdf/ex-tagpdf-template.pdf +++ b/Master/texmf-dist/doc/latex/tagpdf/ex-tagpdf-template.pdf @@ -210,17 +210,17 @@ stream </dc:language> <dc:date> <rdf:Seq> - <rdf:li>2024-06-20T17:55:14+02:00</rdf:li> + <rdf:li>2024-08-02T13:00:16+02:00</rdf:li> </rdf:Seq> </dc:date> <dc:format>application/pdf</dc:format> <dc:source>ex-tagpdf-template.tex</dc:source> <xmp:CreatorTool>LaTeX</xmp:CreatorTool> - <xmp:CreateDate>2024-06-20T17:55:14+02:00</xmp:CreateDate> - <xmp:ModifyDate>2024-06-20T17:55:14+02:00</xmp:ModifyDate> - <xmp:MetadataDate>2024-06-20T17:55:14+02:00</xmp:MetadataDate> + <xmp:CreateDate>2024-08-02T13:00:16+02:00</xmp:CreateDate> + <xmp:ModifyDate>2024-08-02T13:00:16+02:00</xmp:ModifyDate> + <xmp:MetadataDate>2024-08-02T13:00:16+02:00</xmp:MetadataDate> <xmpMM:DocumentID>uuid:f320abfc-f6ab-4d12-8719-d176f4d947cf</xmpMM:DocumentID> - <xmpMM:InstanceID>uuid:898c4009-cc18-43c3-8fda-44ab8e28318c</xmpMM:InstanceID> + <xmpMM:InstanceID>uuid:3b4409f1-f3e5-4c01-86c4-a0bcea68ea38</xmpMM:InstanceID> <prism:complianceProfile>three</prism:complianceProfile> <prism:pageCount>1</prism:pageCount> </rdf:Description> @@ -307,7 +307,7 @@ endobj << /Type /Namespace /NS (https://www.latex-project.org/ns/book/2022) /RoleMapNS 18 0 R >> endobj 19 0 obj -<< /Type /Namespace /NS (data:,69C62BB9-6D5A-6FC9-FD75-56BC71E087F4) >> +<< /Type /Namespace /NS (data:,25352333-84F8-941A-42AB-414B46468294) >> endobj 8 0 obj [ 9 0 R 11 0 R 13 0 R 15 0 R 17 0 R 19 0 R ] @@ -399,7 +399,7 @@ endobj << /Type /Catalog /Pages 31 0 R /MarkInfo 32 0 R/Lang (en)/Metadata 26 0 R/StructTreeRoot 5 0 R >> endobj 42 0 obj -<< /Producer (luahbtex-1.18.0)/Creator (LaTeX)/CreationDate (D:20240620175514+02'00')/ModDate (D:20240620175514+02'00') /Trapped /False /PTEX.FullBanner (This is LuaHBTeX, Version 1.18.0 (TeX Live 2024)) >> +<< /Producer (luahbtex-1.18.0)/Creator (LaTeX)/CreationDate (D:20240802130016+02'00')/ModDate (D:20240802130016+02'00') /Trapped /False /PTEX.FullBanner (This is LuaHBTeX, Version 1.18.0 (TeX Live 2024)) >> endobj xref 0 43 @@ -447,7 +447,7 @@ xref 0000017842 00000 n 0000017957 00000 n trailer -<< /Size 43 /Root 41 0 R /Info 42 0 R /ID [ <E36FE13F3FA0066C1F9796E38E50018C> <E36FE13F3FA0066C1F9796E38E50018C> ] >> +<< /Size 43 /Root 41 0 R /Info 42 0 R /ID [ <42D962292B4982520E998D32C837DE43> <42D962292B4982520E998D32C837DE43> ] >> startxref 18180 %%EOF diff --git a/Master/texmf-dist/doc/latex/tagpdf/link-figure-input.tex b/Master/texmf-dist/doc/latex/tagpdf/link-figure-input.tex index ef07c33e95b..1a1036d282d 100644 --- a/Master/texmf-dist/doc/latex/tagpdf/link-figure-input.tex +++ b/Master/texmf-dist/doc/latex/tagpdf/link-figure-input.tex @@ -27,7 +27,7 @@ \NewDocumentCommand\balloon{m}{% \node[fit={(pic cs:#1-first) (pic cs:#1-end) ([yshift=7pt]pic cs:#1-end)},balloon](#1){};} -\begin{tikzpicture}[overlay,remember picture] +\begin{tikzpicture}[overlay,remember picture,alt={Illustration of link annotation structure}] \balloon{link} \balloon{structparent} \balloon{OBJR} @@ -45,7 +45,7 @@ \draw[ref] (kid)--(OBJR); \draw[ref] (OBJR)--(linkref); \end{tikzpicture} -\begin{lstlisting}[name=OBJR] +\begin{taglstlisting}[name=OBJR] *\tikzmark{link-first}*18 0 obj*\tikzmark{link-end}* %Link Object << /Type /Annot /Subtype/Link /Rect [ 196.109 494.573 399.167 506.831 ] @@ -67,4 +67,4 @@ endobj}; << /Nums [... *\tikzmark{pnum-first}*16*\tikzmark{pnum-end}* *\tikzmark{pref-first}*17 0 R*\tikzmark{pref-end}* ...] >> endobj -\end{lstlisting} +\end{taglstlisting} diff --git a/Master/texmf-dist/doc/latex/tagpdf/pac2024-report.png b/Master/texmf-dist/doc/latex/tagpdf/pac2024-report.png Binary files differnew file mode 100644 index 00000000000..4474bc989f1 --- /dev/null +++ b/Master/texmf-dist/doc/latex/tagpdf/pac2024-report.png diff --git a/Master/texmf-dist/doc/latex/tagpdf/pac2024-version.png b/Master/texmf-dist/doc/latex/tagpdf/pac2024-version.png Binary files differnew file mode 100644 index 00000000000..1bc12bdafe4 --- /dev/null +++ b/Master/texmf-dist/doc/latex/tagpdf/pac2024-version.png diff --git a/Master/texmf-dist/doc/latex/tagpdf/tagpdf-code.pdf b/Master/texmf-dist/doc/latex/tagpdf/tagpdf-code.pdf Binary files differindex 4dd216d1a95..76e839d0d50 100644 --- a/Master/texmf-dist/doc/latex/tagpdf/tagpdf-code.pdf +++ b/Master/texmf-dist/doc/latex/tagpdf/tagpdf-code.pdf diff --git a/Master/texmf-dist/doc/latex/tagpdf/tagpdf.pdf b/Master/texmf-dist/doc/latex/tagpdf/tagpdf.pdf Binary files differindex 04d46c2fbfc..f7c6ea02a36 100644 --- a/Master/texmf-dist/doc/latex/tagpdf/tagpdf.pdf +++ b/Master/texmf-dist/doc/latex/tagpdf/tagpdf.pdf diff --git a/Master/texmf-dist/doc/latex/tagpdf/tagpdf.tex b/Master/texmf-dist/doc/latex/tagpdf/tagpdf.tex index ac1c33fa4a8..10d36d09a0d 100644 --- a/Master/texmf-dist/doc/latex/tagpdf/tagpdf.tex +++ b/Master/texmf-dist/doc/latex/tagpdf/tagpdf.tex @@ -16,8 +16,8 @@ } \DebugBlocksOff \makeatletter -\def\UlrikeFischer@package@version{0.99c} -\def\UlrikeFischer@package@date{2024-06-20} +\def\UlrikeFischer@package@version{0.99d} +\def\UlrikeFischer@package@date{2024-08-02} \makeatother \documentclass[bibliography=totoc,a4paper]{article} @@ -338,13 +338,15 @@ improvements and new features in the \LaTeX\ kernel, the latex-lab bundle and the \PDF\ management code and is now much better. Only a few structures---mostly some from currently unsupported packages--- still need manual tagging. But sadly the output of the validators don't quite reflect -the improvements. The documentation uses now \PDF~2.0 and PAC~2024 can't handle -this, it claims that the file is damaged. The Adobe validator has a bug and +the improvements. The documentation uses now \PDF~2.0 and while the newest +PAC~2024 can at least open the file it can not validate properly the file. For example +it complains about the tabular header cells as it doesn't follow attribute classes. +The Adobe validator has a bug and doesn't like the (valid) use of the \texttt{Lbl} tag for the section numbers (see figure~\ref{fig:adobe}). -But even if the documentation passed the tests of the validators: as +But even if the documentation would pass all the tests of the validators: as mentioned above passing a formal test doesn't mean that the content is really good and usable. The user commands used for the tagging and also some of the patches used are still rather crude. So there is lot space for improvement. @@ -354,8 +356,9 @@ Be aware that to create the tagged version a current lualatex-dev and a current version of the pdfmanagment-testphase package is needed. \end{tcolorbox} -\includegraphics[alt=PAC 3 report]{pac3} +\includegraphics[alt=PAC 2024 complains about PDF version]{pac2024-version} +\includegraphics[alt=PAC 2024 complains about table header cells]{pac2024-report} \begin{figure} @@ -504,6 +507,10 @@ The key-val list understands at least the following keys. More keys are defined least \PrintKeyName{activate/mc} has been used. The old name of the key |interwordspace| is still supported but deprecated. +\item[\PrintKeyName{activate/softhyphen}] Boolean. luamode only. + The key activates/deactivates the replacing of hard hyphens from hyphenation + by soft hyphens. By default this is activated. + \item[\PrintKeyName{role/new-tag}] Allows to define new tag names, see section \ref{sec:new-tag} for a description. @@ -721,11 +728,8 @@ To tag a \PDF{} three tasks must be carried out: \minisec{Page stream with marked content} -\tagpdfparaOff - -\tagstructbegin{tag=Figure,alt={Illustration of page stream with marked content},attribute=bbox}% -\tagmcbegin{tag=Figure}% -\begin{tikzpicture}[baseline=(a.north),node distance=2pt,remember picture] +\begin{tikzpicture}[baseline=(a.north),node distance=2pt,remember picture, +alt={Illustration of page stream with marked content}] \node(start){\ldots~\ldots~\ldots}; \node[draw,base right = of start](a) {mc-chunk 1}; \node[draw,base right = of a](b) {mc-chunk 2}; @@ -733,20 +737,13 @@ To tag a \PDF{} three tasks must be carried out: \node[draw,base right = of c](d) {mc-chunk 3}; \node[base right = of d] {\ldots~\ldots}; \end{tikzpicture} -\tagmcend\tagstructend - -\tagpdfparaOn \minisec{Structure} -\tagpdfparaOff \newlength\ydistance\setlength\ydistance{-0.8cm} -\tagstructbegin{tag=Figure,alt={Illustration of structure},attribute=bbox}% -\tagmcbegin{tag=Figure}% -\begin{tikzpicture}[remember picture,baseline=(root.north)] - +\begin{tikzpicture}[remember picture,baseline=(root.north),alt={Illustration of structure}] \node[draw,anchor=base west] (root) at (0,0) {Sect (start section)}; \node[draw,anchor=base west] at (0.3,\ydistance) {H (header section)}; \node[draw,anchor=base west](aref) at (0.6,2\ydistance){mc-chunk 1}; @@ -758,17 +755,12 @@ To tag a \PDF{} three tasks must be carried out: \node[draw,anchor=base west] at (0.3,8\ydistance){/P (end paragraph)}; \node[draw,anchor=base west] at (0,9\ydistance){/Sect (end section)}; \end{tikzpicture} - \begin{tikzpicture}[remember picture, overlay] \draw[->,red](aref)-|(a); \draw[->,red](bref)-|(b); \draw[->,red](cref)-|(c); \draw[->,red](dref)-|(d); - \end{tikzpicture} -\tagmcend\tagstructend - -\tagpdfparaOn \end{tcolorbox} @@ -1108,8 +1100,8 @@ the command, as the effect of the begin command ends with a new \begin{docCommands} { - {doc name=tagmcuse}, - {doc name=tag_mc_use:n} + {doc name=tagmcuse,doc parameter=\marg{label}}, + {doc name=tag_mc_use:n,doc parameter=\marg{label}} } \end{docCommands} @@ -1283,13 +1275,8 @@ add the needed code. \begin{figure} -\tagpdfparaOff -\tagstructbegin{tag=Figure,alt={Illustration of link annotation structure},attribute=bbox}\tagmcbegin{tag=Figure} -\tagstop \input{link-figure-input} -\tagstart -\tagmcend\tagstructend \caption{Structure needed for a link annotation}\label{fig:linkannot} @@ -2661,7 +2648,8 @@ already mentioned there are more requirements: is normally not a problem. With pdflatex it could need additional \verb+\pdfglyphtounicode+ commands. - \item Hard and soft hyphen must be distinct. + \item Hard and soft hyphen must be distinct. In luamode this is now handled through + the \texttt{activate/softhyphen} key. For pdftex no solution is known. \item Spaces between words should be space glyphs and not only a horizontal movement. See section~\ref{sec:spacechars}. @@ -3061,10 +3049,7 @@ examples and remarks easier to understand. \item[postfix notation] \PDF{} uses in various places postfix notation. This means that the operator is behind its arguments: -\tagpdfparaOff - -\tagstructbegin{tag=Figure,alt={Illustration of postfix notation},attribute=bbox}\tagmcbegin{tag=Figure} -\begin{tikzpicture}[baseline=(c.base)] +\begin{tikzpicture}[baseline=(c.base),alt={Illustration of postfix notation}] \node[arg](a1) {18}; \node[arg,right=of a1.east](a2) {0}; \node[operator,right= of a2.east](c) {obj}; @@ -3072,7 +3057,7 @@ examples and remarks easier to understand. \draw[->] (c.south) --++(0,-2mm) -| (a2); \end{tikzpicture} -\begin{tikzpicture}[baseline=(c.base)] +\begin{tikzpicture}[baseline=(c.base),alt={Illustration of postfix notation}] \node[arg](a1) {18}; \node[arg,right=of a1.east](a2) {0}; \node[operator,right= of a2.east](c) {R}; @@ -3081,7 +3066,7 @@ examples and remarks easier to understand. \end{tikzpicture} (a reference (operator R) to an object -\begin{tikzpicture}[baseline=(c.base)] +\begin{tikzpicture}[baseline=(c.base),alt={Illustration of postfix notation}] \node[arg](a1) {1}; \node[arg,right = of a1.east](a2) {0}; \node[arg,right = of a2.east](a3) {0}; @@ -3097,19 +3082,15 @@ examples and remarks easier to understand. \draw[->] (c.south) --++(0,-2mm) -|(a1); \end{tikzpicture} -\begin{tikzpicture}[baseline=(c.base)] +\begin{tikzpicture}[baseline=(c.base),alt={Illustration of postfix notation}] \node[arg](a1) {/P}; \node[arg,right = of a1.east](a2) {<</MCID 0>>}; \node[operator,right = of a2.east](c) {BDC}; \draw[->] (c.south) --++(0,-2mm) -| (a1); \draw[->] (c.south) --++(0,-2mm) -| (a2); \end{tikzpicture} -\tagmcend\tagstructend - -\tagpdfparaOn - \item[Names] \PDF{} knows a sort of variable called a \enquote{name}. Names start with a slash and may include any regular characters, but not delimiter or white-space characters. Uppercase @@ -3152,19 +3133,13 @@ examples and remarks easier to understand. \mbox{\texttt{[0 15 0 R (hello) <</Type /X>> [1 2 3]]}} -\tagpdfparaOff - - \tagstructbegin{tag=Figure,alt={Illustration of array},attribute=bbox}\tagmcbegin{tag=Figure} - \begin{tikzpicture}[baseline=(c.base)] + \begin{tikzpicture}[baseline=(c.base),alt={Illustration of array}] \node[arg](a1) {0}; \node[arg,right = of a1.east](a2) {15 0 R}; \node[arg,right = of a2.east](a3) {(hello)}; \node[arg,right = of a3.east](a4) {<</Type /X>>}; \node[arg,right = of a4.east](a5) {[1 2 3]}; \end{tikzpicture} -\tagmcend\tagstructend - -\tagpdfparaOn \item[Dictionaries] Dictionaries are enclosed by double angle diff --git a/Master/texmf-dist/doc/latex/tagpdf/tagpdfsetup-keys.tex b/Master/texmf-dist/doc/latex/tagpdf/tagpdfsetup-keys.tex index 04f8b88aec6..a02411c31fd 100644 --- a/Master/texmf-dist/doc/latex/tagpdf/tagpdfsetup-keys.tex +++ b/Master/texmf-dist/doc/latex/tagpdf/tagpdfsetup-keys.tex @@ -12,7 +12,8 @@ new key name & old key name & value &type & defined in \\\midrul activate & activate & boolean &meta & tagpdf \\ activate/all & activate-all & boolean &meta & tagpdf\\ -activate/mc & activate-mc & boolean &bool & tagpdf\\ +activate/mc & activate-mc & boolean &bool & tagpdf\\ +activate/softhyphen & --- & boolean &bool & tagpdf \\ activate/spaces & interwordspace & boolean &code & tagpdf-space\\ activate/struct & activate-struct & boolean &bool & tagpdf\\ activate/struct-dest & no-struct-dest&boolean &bool & tagpdf\\ diff --git a/Master/texmf-dist/doc/latex/tcolorbox/CHANGES.md b/Master/texmf-dist/doc/latex/tcolorbox/CHANGES.md index 5aaa4f6f216..a0287ad4b2c 100644 --- a/Master/texmf-dist/doc/latex/tcolorbox/CHANGES.md +++ b/Master/texmf-dist/doc/latex/tcolorbox/CHANGES.md @@ -22,7 +22,45 @@ and this project adheres to -## [6.2.0] +## [6.3.0] - 2024-07-10 + +### Added +- Library `documentation`: + - Option `page ref formatter` (issue #273) +- First experimental partial tagging support: suppress tagging of drawing (issue #283) + This works for lualatex only. + +### Changed +- The base package loads `tikz` now instead of `pgf`. + All skins, including the `standard` family, use `tikzpicture` as internal environment now. +- Boolean marker to detect if inside a `tcb@savebox` introduced (issue #262) +- LaTeX usrguide cited for `\NewDocumentCommand` and friends (issue #263) +- Stricter checks on box names in `\newtcbox` and friends (issue #264) +- Checks on formatter like `index key formatter` enforced (issue #265) +- Needed LaTeX version updated to 2023-11-01 +- More meaningful error message in case of `\DeclareTColorBox` with same auto counter (issue #276) +- Library `theorems`: + - Options `ams align`, `ams align*`, `ams gather`, and `ams gather*` are now shortcuts + for the upper part only (issue #282) + - Documentation for `ams align`, `ams align*`, `ams gather`, and `ams gather*` adapted, i.e. + exclusion of lower parts documented (issue #282) +- Technical information: The package documentation is now produced with lualatex instead of pdflatex + +### Deprecated +- The option `graphical environment` is useless now, since all environments are based on `tikzpicture` now. + +### Removed +- Documentation for the deprecated options `before example` and `after example` +- Documentation for the deprecated option `graphical environment` + +### Fixed +- `\@nobreakfalse` added to `\tcb@parbox@false@settings` to avoid + decreased space before list with `parbox=false` following a section heading (issue #270) +- Documentation typos fixed (issue #279) + + + +## [6.2.0] - 2024-01-10 ### Added - New convenience options for box content additions (issue #250) diff --git a/Master/texmf-dist/doc/latex/tcolorbox/README.md b/Master/texmf-dist/doc/latex/tcolorbox/README.md index 27f6edf11de..e90e2bec18d 100644 --- a/Master/texmf-dist/doc/latex/tcolorbox/README.md +++ b/Master/texmf-dist/doc/latex/tcolorbox/README.md @@ -1,4 +1,4 @@ -# The LaTeX package tcolorbox - version 6.2.0 (2024/01/10) +# The LaTeX package tcolorbox - version 6.3.0 (2024/07/10) > Copyright (c) 2006-2024 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de> diff --git a/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox-example-poster.pdf b/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox-example-poster.pdf Binary files differindex e39ddaa037c..1e380d5559a 100644 --- a/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox-example-poster.pdf +++ b/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox-example-poster.pdf diff --git a/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox-example-poster.tex b/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox-example-poster.tex index ffa291103b5..cb8586e6ec1 100644 --- a/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox-example-poster.tex +++ b/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox-example-poster.tex @@ -1,4 +1,4 @@ -%% The LaTeX package tcolorbox - version 6.2.0 (2024/01/10) +%% The LaTeX package tcolorbox - version 6.3.0 (2024/07/10) %% tcolorbox-example-poster.tex: a poster example for tcolorbox %% %% ------------------------------------------------------------------------------------------- diff --git a/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox-example.pdf b/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox-example.pdf Binary files differindex 809b35a2caf..2d332523c2d 100644 --- a/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox-example.pdf +++ b/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox-example.pdf diff --git a/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox-example.tex b/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox-example.tex index 1adaa24d7ea..6f878d2f1dd 100644 --- a/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox-example.tex +++ b/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox-example.tex @@ -1,4 +1,4 @@ -%% The LaTeX package tcolorbox - version 6.2.0 (2024/01/10) +%% The LaTeX package tcolorbox - version 6.3.0 (2024/07/10) %% tcolorbox-example.tex: an example for tcolorbox %% %% ------------------------------------------------------------------------------------------- diff --git a/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox-tutorial-poster.pdf b/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox-tutorial-poster.pdf Binary files differindex eb23961967b..f81aee07830 100644 --- a/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox-tutorial-poster.pdf +++ b/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox-tutorial-poster.pdf diff --git a/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox-tutorial-poster.tex b/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox-tutorial-poster.tex index ae550c5c6de..7c6c769d1d8 100644 --- a/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox-tutorial-poster.tex +++ b/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox-tutorial-poster.tex @@ -1,5 +1,5 @@ % \LaTeX-Main\ -%% The LaTeX package tcolorbox - version 6.2.0 (2024/01/10) +%% The LaTeX package tcolorbox - version 6.3.0 (2024/07/10) %% tcolorbox-tutorial-poster.tex: a tutorial for poster creation with tcolorbox %% %% ------------------------------------------------------------------------------------------- diff --git a/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.bib b/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.bib index be1c60b666d..e38e91c3d4c 100644 --- a/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.bib +++ b/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.bib @@ -209,3 +209,9 @@ } +@manual{latexproject:usrguide, + author = {The \LaTeX{} Project Team}, + title = {{\LaTeX} for authors --- current version}, + url = {https://mirrors.ctan.org/macros/latex/base/usrguide.pdf}, + date = {2023-05-23}, +} diff --git a/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.breakable.tex b/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.breakable.tex index a86994c7e20..00dc2198b22 100644 --- a/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.breakable.tex +++ b/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.breakable.tex @@ -252,7 +252,7 @@ The |break at| option can be used to insert better break points by hand. The example code enlarged the second partial box by one line, the third partial box by two lines, and all following parts are not enlarged. \begin{marker} - If an automated page break occures before the first partial box, the + If an automated page break occurs before the first partial box, the page enlargement is applied to the page before the first partial box \emph{and} again to the page of the first partial box. Insert a manual break to prevent this.\\ In general, |enlargepage| should be used at the final stage of a document @@ -513,7 +513,7 @@ and \refKey{/tcb/enlarge bottom at break by}. \item the segmentation line (or similar) is drawn as first element of the partial box containing the \emph{lower part}, if \refKey{/tcb/segmentation at break} is set to be |true|. - \item the segmenation line (or similar) is not drawn at all, if + \item the segmentation line (or similar) is not drawn at all, if \refKey{/tcb/segmentation at break} is set to be |false|. This may be preferable for skins like \refSkin{bicolor}, \refSkin{tile}, or \refSkin{beamer}. diff --git a/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.coremacros.tex b/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.coremacros.tex index 0847f09775d..c41134a6c84 100644 --- a/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.coremacros.tex +++ b/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.coremacros.tex @@ -214,7 +214,8 @@ numbered title and options. \begin{docCommand}{NewTColorBox}{\oarg{init options}\marg{name}\marg{specification}\marg{options}} Creates a new environment \meta{name} based on \refEnv{tcolorbox}.\\ Basically, \refCom{NewTColorBox} operates like |\NewDocumentEnvironment|. This means, - the new environment \meta{name} is constructed with the given argument \meta{specification}. + the new environment \meta{name} is constructed with the + given \LaTeX3 argument \meta{specification} following \cite{latexproject:usrguide}. An error is issued if an environment with \meta{name} has already been defined. The \meta{options} are given to the underlying \refEnv{tcolorbox}.\\ Note that \refKey{/tcb/savedelimiter} is set to the given \meta{name} @@ -275,7 +276,8 @@ This is a tcolorbox. Creates a new command \texttt{\textbackslash}\meta{name} based on \refEnv{tcolorbox}. In contrast to \refCom{NewTColorBox}, also the \meta{content} of the |tcolorbox| is specified.\\ Basically, \refCom{NewTotalTColorBox} operates like |\NewDocumentCommand|. This means, - the new command \texttt{\textbackslash}\meta{name} is constructed with the given argument \meta{specification}. + the new command \texttt{\textbackslash}\meta{name} is constructed with the given + given \LaTeX3 argument \meta{specification} following \cite{latexproject:usrguide}. An error is issued if \texttt{\textbackslash}\meta{name} has already been defined. The \meta{options} are given to the underlying \refEnv{tcolorbox} which is filled with the specified \meta{content}.\\ @@ -387,7 +389,8 @@ The \xmybox[green]{quick} brown \xmybox{fox} \xmybox[blue]{jumps} over the \begin{docCommand}{NewTCBox}{\oarg{init options}\brackets{\texttt{\textbackslash}\meta{name}}\marg{specification}\marg{options}} Creates a new command \texttt{\textbackslash}\meta{name} based on \refCom{tcbox}. Basically, \refCom{NewTCBox} operates like |\NewDocumentCommand|. This means, - the new command \texttt{\textbackslash}\meta{name} is constructed with the given argument \meta{specification}. + the new command \texttt{\textbackslash}\meta{name} is constructed with the given + given \LaTeX3 argument \meta{specification} following \cite{latexproject:usrguide}. An error is issued if \texttt{\textbackslash}\meta{name} has already been defined. The \meta{options} are given to the underlying \refCom{tcbox}.\\ Note that \refKey{/tcb/savedelimiter} is set to the given \meta{name} @@ -437,7 +440,8 @@ The \xmybox[green]{quick} brown \xmybox{fox} \xmybox[blue]{jumps} over the Creates a new command \texttt{\textbackslash}\meta{name} based on \refCom{tcbox}. In contrast to \refCom{NewTCBox}, also the \meta{content} of the |tcbox| is specified.\\ Basically, \refCom{NewTotalTCBox} operates like |\NewDocumentCommand|. This means, - the new command \texttt{\textbackslash}\meta{name} is constructed with the given argument \meta{specification}. + the new command \texttt{\textbackslash}\meta{name} is constructed with the + given \LaTeX3 argument \meta{specification} following \cite{latexproject:usrguide}. An error is issued if \texttt{\textbackslash}\meta{name} has already been defined. The \meta{options} are given to the underlying \refCom{tcbox} which is filled with the specified \meta{content}.\\ diff --git a/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.coreoptions.tex b/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.coreoptions.tex index e20936d76b2..62f3fa3c019 100644 --- a/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.coreoptions.tex +++ b/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.coreoptions.tex @@ -3104,11 +3104,11 @@ inside the document preamble. \begin{docTcbKey}[][doc new={2020-09-25}]{before skip balanced}{=\meta{glue}}{no default, initially |0.5\textbackslash baselineskip plus 2pt|} Inserts some vertical space before the colored box. This style sets \refKey{/tcb/before}.\par If the depth of the - preceeding \TeX\ box is between |0pt| and |0.3\baselineskip|, - the distance between the \emph{baseline} of the preceeding \TeX\ box and the tcolorbox - ist set to \meta{glue}$+$|0.3\baselineskip|.\par - If the depth is larger, the distance of the preceeding \TeX\ box and the tcolorbox - ist set to \meta{glue}.\par + preceding \TeX\ box is between |0pt| and |0.3\baselineskip|, + the distance between the \emph{baseline} of the preceding \TeX\ box and the tcolorbox + is set to \meta{glue}$+$|0.3\baselineskip|.\par + If the depth is larger, the distance of the preceding \TeX\ box and the tcolorbox + is set to \meta{glue}.\par Alternatively, see \refKey{/tcb/before skip} which ignores the \emph{baseline}. \begin{exdispExample*}{before_skip_balanced}{sbs,lefthand ratio=0.6} @@ -3174,7 +3174,7 @@ line 4 g Inserts some vertical space of the given \meta{glue} before the colored box. This style sets \refKey{/tcb/before}. In contrast to \refKey{/tcb/before skip balanced}, this \meta{glue} is - relative to the lower edge of the preceeding box and not to the baseline. + relative to the lower edge of the preceding box and not to the baseline. \begin{exdispExample*}{before_skip}{sbs,lefthand ratio=0.6} Some text. \begin{tcolorbox}[before skip=1cm, @@ -4363,7 +4363,8 @@ from page \pageref{sec:numberedboxes}, e.\,g.\ \refKey{/tcb/new/auto counter}. \begin{docTcbKey}[][doc new=2014-11-28]{phantomlabel}{=\meta{marker}}{no default, initially unset} Equivalent to \refKey{/tcb/label} for an \emph{unnumbered} box. A |\phantomsection| from the package |hyperref| \cite{rahtz:hyperref} is used to set a correct -hyperlink target. This is not needed for a numbered box. +hyperlink target. +This is not needed and should typically not be used for a numbered box. \end{docTcbKey} \clearpage @@ -4691,8 +4692,7 @@ It is precise only, if \refKey{/tcb/check odd page} was set. See \Fullref{sec:external} for the \mylib{external} library of |tcolorbox|. \end{marker} -If the \emph{externalization} library of the \texttt{tikz} package is used -and \refKey{/tcb/graphical environment} is set to |tikzpicture|, +If the \emph{externalization} library of the \texttt{tikz} package is used, a |tcolorbox| could trigger the externalization process which will arise a compilation error. diff --git a/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.documentation.tex b/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.documentation.tex index 9934cd5c860..45282f3c468 100644 --- a/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.documentation.tex +++ b/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.documentation.tex @@ -953,7 +953,7 @@ hand side if too long. Linebreaks can be used inside the \meta{text}. \begin{dispListing} \begin{docCommands}[ doc name = l_tcobox_example_tl, - doc sort index = example_tl, % sorted unter e like example + doc sort index = example_tl, % sorted under e like example ]{} \end{docCommands} \end{dispListing} @@ -1354,29 +1354,6 @@ keys to insert code before (or after) the description texts. \end{docTcbKey} -\begin{marker} -The following two keys are deprecated and without function (v3.50 and above). -Use \refKey{/tcb/before} and \refKey{/tcb/after} with appropriate values -instead. Also see \refKey{/tcb/docexample}. -\end{marker} - -\begin{docTcbKey}[][doc updated=2015-03-16]{before example}{=\meta{macros}}{no default, initially empty} -\smallskip\begin{deprecated} - Sets the \meta{macros} which are executed before \refEnv{dispExample} and \refEnv{dispListing} - additional to \refKey{/tcb/before}. -\end{deprecated} -\end{docTcbKey} - -\enlargethispage*{1cm} - -\begin{docTcbKey}{after example}{=\meta{macros}}{no default, initially empty} -\smallskip\begin{deprecated} - Sets the \meta{macros} which are executed after \refEnv{dispExample} and \refEnv{dispListing} - additional to \refKey{/tcb/after}. -\end{deprecated} -\end{docTcbKey} - -\clearpage \begin{docTcbKey}[][doc new=2017-04-25]{keywords bold}{\colOpt{=true\textbar false}}{default |true|, initially |true|} Keyword used in \refEnv{docEnvironment}, \refEnv{docCommand}, etc. are printed boldface (or not). Since the typewriter font is used, the effect may be @@ -1391,6 +1368,24 @@ instead. Also see \refKey{/tcb/docexample}. \end{dispExample*} \end{docTcbKey} +\clearpage + +\begin{docTcbKeys} + { + { + doc name = page ref formatter, + doc new = {2024-03-13}, + doc parameter = \colOpt{=\meta{macro}}, + doc description = {no default, initially \texttt{\textbackslash textsuperscript}}, + } + } +Sets \meta{macro} as formatter for page references like the +reference to \refEnv{tcolorbox}. +The default setting puts the page reference in a |\textsuperscript|. +It may be changed to |\fakesuperscript| to cope with superiors problems +in combination with the |realscripts| package or just otherwise for user customization. +\end{docTcbKeys} + \begin{docTcbKey}[][doc new=2015-01-09]{index command}{=\meta{macro}}{no default, initially \cs{index}} diff --git a/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.external.tex b/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.external.tex index b7a10c23314..62c982c2d3e 100644 --- a/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.external.tex +++ b/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.external.tex @@ -74,7 +74,7 @@ executed. \documentclass[a4paper]{book}% for example \usepackage{...}% anything % ... -% Tpyically, all or the very most settings for the document. +% Typically, all or the very most settings for the document. \tcbEXTERNALIZE% Typically, just before \begin{document} @@ -500,7 +500,7 @@ in this case. \clearpage \begin{docCommand}[doc new=2015-03-11]{newtcbexternalizeenvironment}{\marg{newenv}\marg{env}\marg{options}\marg{begin}\marg{end}} Creates a new environment \meta{newenv} which is based on - \refEnv{tcbexternal}. This enviroment takes \emph{at least} + \refEnv{tcbexternal}. This environment takes \emph{at least} one optional parameter and one mandatory parameter. These two parameters are passed to \refEnv{tcbexternal}. Further, the given \meta{options} are always added to the option list of \refEnv{tcbexternal}.\par @@ -532,7 +532,7 @@ a & This table is externalized as snippet. Obviously, \begin{docCommand}[doc new=2015-03-11]{newtcbexternalizetcolorbox}{\marg{newenv}\marg{env}\marg{options}\marg{begin end options}} Creates a new environment \meta{newenv} which is based on - \refEnv{tcbexternal}. This enviroment takes \emph{at least} + \refEnv{tcbexternal}. This environment takes \emph{at least} one optional parameter and one mandatory parameter. These two parameters are passed to \refEnv{tcbexternal}. Further, the given \meta{options} are always added to the option list of \refEnv{tcbexternal}.\par diff --git a/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.filling.tex b/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.filling.tex index 9f1f4627caa..909f7f4ac0f 100644 --- a/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.filling.tex +++ b/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.filling.tex @@ -63,7 +63,7 @@ To be more specific, they determine the east-to-west and the north-to-south dime which may be not the maximal dimensions for a non-rectangular node. Note that the following dimensions are measured exactly including the line width of the border line. If a new rectangle or node with the same dimensions -and a border is to be drawn, this border width has to be substracted. +and a border is to be drawn, this border width has to be subtracted. \begin{docCommand}[doc new=2014-09-19]{tcbsettowidthofnode}{\marg{register}\marg{node}} Sets the east-to-west dimension of the given \meta{node} @@ -88,7 +88,7 @@ and a border is to be drawn, this border width has to be substracted. \node[align=center,draw=red,fill=yellow] (A) {This is my\\example node}; \tcbsetmacrotowidthofnode\mywidth{A} \tcbsetmacrotoheightofnode\myheight{A} - \path[fill=blue!25!white] % rectangle widthout border + \path[fill=blue!25!white] % rectangle without border ([xshift=2mm]A.south east) rectangle node{Copy} +(\mywidth,\myheight); \node[draw=blue,fill=blue!25!white, % standard border width 0.4pt diff --git a/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.fitting.tex b/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.fitting.tex index 14f9e7b5771..a541659c37c 100644 --- a/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.fitting.tex +++ b/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.fitting.tex @@ -145,7 +145,8 @@ The library is loaded by a package option or inside the preamble by: \begin{docCommand}{NewTCBoxFit}{\oarg{init options}\brackets{\texttt{\textbackslash}\meta{name}}\marg{specification}\marg{options}} Creates a new command \texttt{\textbackslash}\meta{name} based on \refCom{tcboxfit}. Basically, \refCom{NewTCBoxFit} operates like |\NewDocumentCommand|. This means, - the new command \texttt{\textbackslash}\meta{name} is constructed with the given argument \meta{specification}. + the new command \texttt{\textbackslash}\meta{name} is constructed with the given + given \LaTeX3 argument \meta{specification} following \cite{latexproject:usrguide}. An error is issued if \texttt{\textbackslash}\meta{name} has already been defined. The \meta{options} are given to the underlying \refCom{tcboxfit}.\\ Note that \refKey{/tcb/savedelimiter} is set to the given \meta{name} @@ -192,7 +193,8 @@ The library is loaded by a package option or inside the preamble by: Creates a new command \texttt{\textbackslash}\meta{name} based on \refCom{tcboxfit}. In contrast to \refCom{NewTCBoxFit}, also the \meta{content} of the |tcboxfit| is specified.\\ Basically, \refCom{NewTotalTCBoxFit} operates like |\NewDocumentCommand|. This means, - the new command \texttt{\textbackslash}\meta{name} is constructed with the given argument \meta{specification}. + the new command \texttt{\textbackslash}\meta{name} is constructed with the given + given \LaTeX3 argument \meta{specification} following \cite{latexproject:usrguide}. An error is issued if \texttt{\textbackslash}\meta{name} has already been defined. The \meta{options} are given to the underlying \refCom{tcboxfit} which is filled with the specified \meta{content}.\\ @@ -620,7 +622,7 @@ if necessary. \begin{docTcbKey}{fit maxstep}{=\meta{number}}{no default, initially |20|} Sets the maximal step size for the font size adjustment algorithm. - In normal situations, the algorithm stops before reaching the intial value of 20 steps. + In normal situations, the algorithm stops before reaching the initial value of 20 steps. If the box content does not shrink, this value prevents an endless loop. \end{docTcbKey} diff --git a/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.intro.tex b/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.intro.tex index 548c70e0816..0d76c0afbb3 100644 --- a/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.intro.tex +++ b/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.intro.tex @@ -48,7 +48,7 @@ for some hints. The short story is: you have to install not only \subsection{Loading the Package} The base package |tcolorbox| loads the packages -|pgf| \cite{tantau:tikz_and_pgf}, |verbatim| \cite{schoepf:verbatim}, +|tikz| \cite{tantau:tikz_and_pgf}, |verbatim| \cite{schoepf:verbatim}, |etoolbox| \cite{lehmann:etoolbox}, and |environ| \cite{robertson:2014a}. |tcolorbox| itself is loaded in the usual manner in the preamble: diff --git a/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.listings.tex b/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.listings.tex index c2e8b5fe277..c6e56dcdfab 100644 --- a/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.listings.tex +++ b/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.listings.tex @@ -282,7 +282,8 @@ This is my \LaTeX\ box. \begin{docCommand}{NewTCBListing}{\oarg{init options}\marg{name}\marg{specification}\marg{options}} Creates a new environment \meta{name} based on \refEnv{tcblisting}.\\ Basically, \refCom{NewTCBListing} operates like |\NewDocumentEnvironment|. This means, - the new environment \meta{name} is constructed with the given argument \meta{specification}. + the new environment \meta{name} is constructed with the + given \LaTeX3 argument \meta{specification} following \cite{latexproject:usrguide}. An error is issued if \meta{name} has already been defined. The \meta{options} are given to the underlying \refEnv{tcblisting}.\\ Note that \refKey{/tcb/savedelimiter} is set to the given \meta{name} @@ -429,7 +430,8 @@ Note that the following code uses \verb+!O{}+ now. \begin{docCommand}{NewTCBInputListing}{\oarg{init options}\brackets{\texttt{\textbackslash}\meta{name}}\marg{specification}\marg{options}} Creates a new command \texttt{\textbackslash}\meta{name} based on \refCom{tcbinputlisting}. Basically, \refCom{NewTCBInputListing} operates like |\NewDocumentCommand|. This means, - the new command \texttt{\textbackslash}\meta{name} is constructed with the given argument \meta{specification}. + the new command \texttt{\textbackslash}\meta{name} is constructed with the + given \LaTeX3 argument \meta{specification} following \cite{latexproject:usrguide}. An error is issued if \texttt{\textbackslash}\meta{name} has already been defined. The \meta{options} are given to the underlying \refCom{tcbinputlisting}.\\ The \meta{init options} allow setting up automatic numbering, @@ -1178,6 +1180,7 @@ This \meta{system command} is added to \refKey{/tcb/process code}. \end{marker} \end{docTcbKey} +\enlargethispage*{5mm} \begin{docTcbKey}[][doc new=2014-11-14]{run pdflatex}{\colOpt{=\meta{arguments}}}{style, no default, initially unset} Issues a |pdflatex| compilation of the listing with the given \meta{arguments}. diff --git a/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.s_main.sty b/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.s_main.sty index 3eabd88b1e6..7bc44882c8e 100644 --- a/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.s_main.sty +++ b/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.s_main.sty @@ -276,9 +276,9 @@ before skip=\medskipamount,after skip=\medskipamount,frame style={}}, } -\newtcbexternalizetcolorbox{exdispExample}{dispExample}{environment with percent=false,minipage}{beforeafter example} +\newtcbexternalizetcolorbox{exdispExample}{dispExample}{environment with percent=false,minipage,compiler=lualatex}{beforeafter example} -\newtcbexternalizetcolorbox{exdispExample*}{dispExample*}{environment with percent=false,minipage}{beforeafter example} +\newtcbexternalizetcolorbox{exdispExample*}{dispExample*}{environment with percent=false,minipage,compiler=lualatex}{beforeafter example} \newcommand{\inputpreamblelisting}[1]{% \tcbinputlisting{title=Definition in the preamble:, diff --git a/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.skincatalog.tex b/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.skincatalog.tex index ece3b4bc351..9f79252f3e1 100644 --- a/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.skincatalog.tex +++ b/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.skincatalog.tex @@ -117,7 +117,6 @@ defined just for this documentation. \begin{tcolorbox}[skintable=standard] \begin{tabbing} \refKey{/tcb/interior titled engine}: \=\kill - \refKey{/tcb/graphical environment}: \> |pgfpicture|\\ \refKey{/tcb/frame engine}: \> |standard|\\ \refKey{/tcb/interior titled engine}: \> |standard|\\ \refKey{/tcb/interior engine}: \> |standard|\\ @@ -143,7 +142,6 @@ defined just for this documentation. \begin{tcolorbox}[skintable=standard jigsaw] \begin{tabbing} \refKey{/tcb/interior titled engine}: \=\kill - \refKey{/tcb/graphical environment}: \> |pgfpicture|\\ \refKey{/tcb/frame engine}: \> |standardjigsaw|\\ \refKey{/tcb/interior titled engine}: \> |standard|\\ \refKey{/tcb/interior engine}: \> |standard|\\ @@ -185,7 +183,6 @@ have some \enquote{enhanced} features, the |enhanced| skin is what you are looki \begin{tcolorbox}[skintable=enhanced] \begin{tabbing} \refKey{/tcb/interior titled engine}: \=\kill - \refKey{/tcb/graphical environment}: \> |tikzpicture|\\ \refKey{/tcb/frame engine}: \> |path|\\ \refKey{/tcb/interior titled engine}: \> |path|\\ \refKey{/tcb/interior engine}: \> |path|\\ @@ -297,7 +294,6 @@ Nevertheless, this skin can be applied independently. \begin{tcolorbox}[skintable=enhancedfirst] \begin{tabbing} \refKey{/tcb/interior titled engine}: \=\kill - \refKey{/tcb/graphical environment}: \> |tikzpicture|\\ \refKey{/tcb/frame engine}: \> |pathfirst|\\ \refKey{/tcb/interior titled engine}: \> |pathfirst|\\ \refKey{/tcb/interior engine}: \> |pathfirst|\\ @@ -322,7 +318,6 @@ Nevertheless, this skin can be applied independently. \begin{tcolorbox}[skintable=enhancedmiddle] \begin{tabbing} \refKey{/tcb/interior titled engine}: \=\kill - \refKey{/tcb/graphical environment}: \> |tikzpicture|\\ \refKey{/tcb/frame engine}: \> |pathmiddle|\\ \refKey{/tcb/interior titled engine}: \> |pathmiddle|\\ \refKey{/tcb/interior engine}: \> |pathmiddle|\\ @@ -346,7 +341,6 @@ Nevertheless, this skin can be applied independently. \begin{tcolorbox}[skintable=enhancedlast] \begin{tabbing} \refKey{/tcb/interior titled engine}: \=\kill - \refKey{/tcb/graphical environment}: \> |tikzpicture|\\ \refKey{/tcb/frame engine}: \> |pathlast|\\ \refKey{/tcb/interior titled engine}: \> |pathlast|\\ \refKey{/tcb/interior engine}: \> |pathlast|\\ @@ -368,7 +362,6 @@ Nevertheless, this skin can be applied independently. \begin{tcolorbox}[skintable=enhanced jigsaw] \begin{tabbing} \refKey{/tcb/interior titled engine}: \=\kill - \refKey{/tcb/graphical environment}: \> |tikzpicture|\\ \refKey{/tcb/frame engine}: \> |pathjigsaw|\\ \refKey{/tcb/interior titled engine}: \> |path|\\ \refKey{/tcb/interior engine}: \> |path|\\ @@ -404,7 +397,6 @@ Nevertheless, this skin can be applied independently. \begin{tcolorbox}[skintable=enhancedfirst jigsaw] \begin{tabbing} \refKey{/tcb/interior titled engine}: \=\kill - \refKey{/tcb/graphical environment}: \> |tikzpicture|\\ \refKey{/tcb/frame engine}: \> |pathfirstjigsaw|\\ \refKey{/tcb/interior titled engine}: \> |pathfirst|\\ \refKey{/tcb/interior engine}: \> |pathfirst|\\ @@ -429,7 +421,6 @@ Nevertheless, this skin can be applied independently. \begin{tcolorbox}[skintable=enhancedmiddle jigsaw] \begin{tabbing} \refKey{/tcb/interior titled engine}: \=\kill - \refKey{/tcb/graphical environment}: \> |tikzpicture|\\ \refKey{/tcb/frame engine}: \> |pathmiddlejigsaw|\\ \refKey{/tcb/interior titled engine}: \> |pathmiddle|\\ \refKey{/tcb/interior engine}: \> |pathmiddle|\\ @@ -509,7 +500,6 @@ Nevertheless, this skin can be applied independently. \begin{tcolorbox}[skintable=enhancedlast] \begin{tabbing} \refKey{/tcb/interior titled engine}: \=\kill - \refKey{/tcb/graphical environment}: \> |tikzpicture|\\ \refKey{/tcb/frame engine}: \> |pathlastjigsaw|\\ \refKey{/tcb/interior titled engine}: \> |pathlast|\\ \refKey{/tcb/interior engine}: \> |pathlast|\\ @@ -537,7 +527,6 @@ Nevertheless, this skin can be applied independently. \begin{tcolorbox}[skintable=bicolor] \begin{tabbing} \refKey{/tcb/interior titled engine}: \=\kill - \refKey{/tcb/graphical environment}: \> |tikzpicture|\\ \refKey{/tcb/frame engine}: \> |path|\\ \refKey{/tcb/interior titled engine}: \> \emph{special}\\ \refKey{/tcb/interior engine}: \> \emph{special}\\ @@ -694,7 +683,6 @@ Nevertheless, this skin can be applied independently. \begin{tcolorbox}[skintable=bicolorfirst] \begin{tabbing} \refKey{/tcb/interior titled engine}: \=\kill - \refKey{/tcb/graphical environment}: \> |tikzpicture|\\ \refKey{/tcb/frame engine}: \> |pathfirst|\\ \refKey{/tcb/interior titled engine}: \> \emph{special}\\ \refKey{/tcb/interior engine}: \> \emph{special}\\ @@ -720,7 +708,6 @@ Nevertheless, this skin can be applied independently. \begin{tcolorbox}[skintable=bicolormiddle] \begin{tabbing} \refKey{/tcb/interior titled engine}: \=\kill - \refKey{/tcb/graphical environment}: \> |tikzpicture|\\ \refKey{/tcb/frame engine}: \> |pathmiddle|\\ \refKey{/tcb/interior titled engine}: \> \emph{special}\\ \refKey{/tcb/interior engine}: \> \emph{special}\\ @@ -746,7 +733,6 @@ Nevertheless, this skin can be applied independently. \begin{tcolorbox}[skintable=bicolorlast] \begin{tabbing} \refKey{/tcb/interior titled engine}: \=\kill - \refKey{/tcb/graphical environment}: \> |tikzpicture|\\ \refKey{/tcb/frame engine}: \> |pathlast|\\ \refKey{/tcb/interior titled engine}: \> \emph{special}\\ \refKey{/tcb/interior engine}: \> \emph{special}\\ @@ -772,7 +758,6 @@ Nevertheless, this skin can be applied independently. \begin{tcolorbox}[skintable=bicolor jigsaw] \begin{tabbing} \refKey{/tcb/interior titled engine}: \=\kill - \refKey{/tcb/graphical environment}: \> |tikzpicture|\\ \refKey{/tcb/frame engine}: \> |pathjigsaw|\\ \refKey{/tcb/interior titled engine}: \> \emph{special}\\ \refKey{/tcb/interior engine}: \> \emph{special}\\ @@ -805,7 +790,6 @@ Nevertheless, this skin can be applied independently. \begin{tcolorbox}[skintable=bicolorfirst jigsaw] \begin{tabbing} \refKey{/tcb/interior titled engine}: \=\kill - \refKey{/tcb/graphical environment}: \> |tikzpicture|\\ \refKey{/tcb/frame engine}: \> |pathfirstjigsaw|\\ \refKey{/tcb/interior titled engine}: \> \emph{special}\\ \refKey{/tcb/interior engine}: \> \emph{special}\\ @@ -833,7 +817,6 @@ Nevertheless, this skin can be applied independently. \begin{tcolorbox}[skintable=bicolormiddle jigsaw] \begin{tabbing} \refKey{/tcb/interior titled engine}: \=\kill - \refKey{/tcb/graphical environment}: \> |tikzpicture|\\ \refKey{/tcb/frame engine}: \> |pathmiddlejigsaw|\\ \refKey{/tcb/interior titled engine}: \> \emph{special}\\ \refKey{/tcb/interior engine}: \> \emph{special}\\ @@ -860,7 +843,6 @@ Nevertheless, this skin can be applied independently. \begin{tcolorbox}[skintable=bicolorlast jigsaw] \begin{tabbing} \refKey{/tcb/interior titled engine}: \=\kill - \refKey{/tcb/graphical environment}: \> |tikzpicture|\\ \refKey{/tcb/frame engine}: \> |pathlastjigsaw|\\ \refKey{/tcb/interior titled engine}: \> \emph{special}\\ \refKey{/tcb/interior engine}: \> \emph{special}\\ @@ -891,7 +873,6 @@ Nevertheless, this skin can be applied independently. \begin{tcolorbox}[skintable=tile] \begin{tabbing} \refKey{/tcb/interior titled engine}: \=\kill - \refKey{/tcb/graphical environment}: \> |tikzpicture|\\ \refKey{/tcb/frame engine}: \> |empty|\\ \refKey{/tcb/interior titled engine}: \> \emph{special}\\ \refKey{/tcb/interior engine}: \> \emph{special}\\ @@ -923,7 +904,6 @@ Nevertheless, this skin can be applied independently. \begin{tcolorbox}[skintable=tilefirst] \begin{tabbing} \refKey{/tcb/interior titled engine}: \=\kill - \refKey{/tcb/graphical environment}: \> |tikzpicture|\\ \refKey{/tcb/frame engine}: \> |empty|\\ \refKey{/tcb/interior titled engine}: \> \emph{special}\\ \refKey{/tcb/interior engine}: \> \emph{special}\\ @@ -949,7 +929,6 @@ Nevertheless, this skin can be applied independently. \begin{tcolorbox}[skintable=tilemiddle] \begin{tabbing} \refKey{/tcb/interior titled engine}: \=\kill - \refKey{/tcb/graphical environment}: \> |tikzpicture|\\ \refKey{/tcb/frame engine}: \> |empty|\\ \refKey{/tcb/interior titled engine}: \> \emph{special}\\ \refKey{/tcb/interior engine}: \> \emph{special}\\ @@ -976,7 +955,6 @@ Nevertheless, this skin can be applied independently. \begin{tcolorbox}[skintable=tilelast] \begin{tabbing} \refKey{/tcb/interior titled engine}: \=\kill - \refKey{/tcb/graphical environment}: \> |tikzpicture|\\ \refKey{/tcb/frame engine}: \> |empty|\\ \refKey{/tcb/interior titled engine}: \> \emph{special}\\ \refKey{/tcb/interior engine}: \> \emph{special}\\ @@ -1006,7 +984,6 @@ Nevertheless, this skin can be applied independently. \begin{tcolorbox}[skintable=beamer] \begin{tabbing} \refKey{/tcb/interior titled engine}: \=\kill - \refKey{/tcb/graphical environment}: \> |tikzpicture|\\ \refKey{/tcb/frame engine}: \> |path|\\ \refKey{/tcb/interior titled engine}: \> \emph{special}\\ \refKey{/tcb/interior engine}: \> \emph{special}\\ @@ -1069,7 +1046,6 @@ Nevertheless, this skin can be applied independently. \begin{tcolorbox}[skintable=beamerfirst] \begin{tabbing} \refKey{/tcb/interior titled engine}: \=\kill - \refKey{/tcb/graphical environment}: \> |tikzpicture|\\ \refKey{/tcb/frame engine}: \> |pathfirst|\\ \refKey{/tcb/interior titled engine}: \> \emph{special}\\ \refKey{/tcb/interior engine}: \> \emph{special}\\ @@ -1094,7 +1070,6 @@ Nevertheless, this skin can be applied independently. \begin{tcolorbox}[skintable=beamermiddle] \begin{tabbing} \refKey{/tcb/interior titled engine}: \=\kill - \refKey{/tcb/graphical environment}: \> |tikzpicture|\\ \refKey{/tcb/frame engine}: \> |pathmiddle|\\ \refKey{/tcb/interior titled engine}: \> \emph{special}\\ \refKey{/tcb/interior engine}: \> \emph{special}\\ @@ -1118,7 +1093,6 @@ Nevertheless, this skin can be applied independently. \begin{tcolorbox}[skintable=beamerlast] \begin{tabbing} \refKey{/tcb/interior titled engine}: \=\kill - \refKey{/tcb/graphical environment}: \> |tikzpicture|\\ \refKey{/tcb/frame engine}: \> |pathlast|\\ \refKey{/tcb/interior titled engine}: \> \emph{special}\\ \refKey{/tcb/interior engine}: \> \emph{special}\\ @@ -1145,7 +1119,6 @@ Nevertheless, this skin can be applied independently. \begin{tcolorbox}[skintable=widget] \begin{tabbing} \refKey{/tcb/interior titled engine}: \=\kill - \refKey{/tcb/graphical environment}: \> |tikzpicture|\\ \refKey{/tcb/frame engine}: \> |path|\\ \refKey{/tcb/interior titled engine}: \> |path|\\ \refKey{/tcb/interior engine}: \> |path|\\ @@ -1184,7 +1157,6 @@ Nevertheless, this skin can be applied independently. \begin{tcolorbox}[skintable=widgetfirst] \begin{tabbing} \refKey{/tcb/interior titled engine}: \=\kill - \refKey{/tcb/graphical environment}: \> |tikzpicture|\\ \refKey{/tcb/frame engine}: \> |pathfirst|\\ \refKey{/tcb/interior titled engine}: \> |pathfirst|\\ \refKey{/tcb/interior engine}: \> |pathfirst|\\ @@ -1208,7 +1180,6 @@ Nevertheless, this skin can be applied independently. \begin{tcolorbox}[skintable=widgetmiddle] \begin{tabbing} \refKey{/tcb/interior titled engine}: \=\kill - \refKey{/tcb/graphical environment}: \> |tikzpicture|\\ \refKey{/tcb/frame engine}: \> |pathmiddle|\\ \refKey{/tcb/interior titled engine}: \> |pathmiddle|\\ \refKey{/tcb/interior engine}: \> |pathmiddle|\\ @@ -1231,7 +1202,6 @@ Nevertheless, this skin can be applied independently. \begin{tcolorbox}[skintable=widgetlast] \begin{tabbing} \refKey{/tcb/interior titled engine}: \=\kill - \refKey{/tcb/graphical environment}: \> |tikzpicture|\\ \refKey{/tcb/frame engine}: \> |pathlast|\\ \refKey{/tcb/interior titled engine}: \> |pathlast|\\ \refKey{/tcb/interior engine}: \> |pathlast|\\ @@ -1257,7 +1227,6 @@ Nevertheless, this skin can be applied independently. \begin{tcolorbox}[skintable=empty] \begin{tabbing} \refKey{/tcb/interior titled engine}: \=\kill - \refKey{/tcb/graphical environment}: \> |tikzpicture|\\ \refKey{/tcb/frame engine}: \> |empty|\\ \refKey{/tcb/interior titled engine}: \> |empty|\\ \refKey{/tcb/interior engine}: \> |empty|\\ @@ -1348,7 +1317,6 @@ Nevertheless, this skin can be applied independently. \begin{tcolorbox}[skintable=emptyfirst] \begin{tabbing} \refKey{/tcb/interior titled engine}: \=\kill - \refKey{/tcb/graphical environment}: \> |tikzpicture|\\ \refKey{/tcb/frame engine}: \> |empty|\\ \refKey{/tcb/interior titled engine}: \> |empty|\\ \refKey{/tcb/interior engine}: \> |empty|\\ @@ -1375,7 +1343,6 @@ Nevertheless, this skin can be applied independently. \begin{tcolorbox}[skintable=emptymiddle] \begin{tabbing} \refKey{/tcb/interior titled engine}: \=\kill - \refKey{/tcb/graphical environment}: \> |tikzpicture|\\ \refKey{/tcb/frame engine}: \> |empty|\\ \refKey{/tcb/interior titled engine}: \> |empty|\\ \refKey{/tcb/interior engine}: \> |empty|\\ @@ -1401,7 +1368,6 @@ Nevertheless, this skin can be applied independently. \begin{tcolorbox}[skintable=emptylast] \begin{tabbing} \refKey{/tcb/interior titled engine}: \=\kill - \refKey{/tcb/graphical environment}: \> |tikzpicture|\\ \refKey{/tcb/frame engine}: \> |empty|\\ \refKey{/tcb/interior titled engine}: \> |empty|\\ \refKey{/tcb/interior engine}: \> |empty|\\ @@ -1520,7 +1486,6 @@ are drawn by the codes given by \begin{tcolorbox}[skintable=spartan] \begin{tabbing} \refKey{/tcb/interior titled engine}: \=\kill - \refKey{/tcb/graphical environment}: \> |tikzpicture|\\ \refKey{/tcb/frame engine}: \> |spartan|\\ \refKey{/tcb/interior titled engine}: \> |spartan|\\ \refKey{/tcb/interior engine}: \> |spartan|\\ @@ -1551,7 +1516,6 @@ are drawn by the codes given by \begin{tcolorbox}[skintable=draft] \begin{tabbing} \refKey{/tcb/interior titled engine}: \=\kill - \refKey{/tcb/graphical environment}: \> |tikzpicture|\\ \refKey{/tcb/frame engine}: \> \emph{special}\\ \refKey{/tcb/interior titled engine}: \> \emph{special}\\ \refKey{/tcb/interior engine}: \> \emph{special}\\ @@ -1612,7 +1576,6 @@ you would have used \refKey{/tcb/freelance} before. \begin{tcolorbox}[skintable=freelance] \begin{tabbing} \refKey{/tcb/interior titled engine}: \=\kill - \refKey{/tcb/graphical environment}: \> |tikzpicture|\\ \refKey{/tcb/frame engine}: \> |freelance|\\ \refKey{/tcb/interior titled engine}: \> |freelance|\\ \refKey{/tcb/interior engine}: \> |freelance|\\ diff --git a/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.skins.tex b/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.skins.tex index e92d81a6440..bbf946c9fca 100644 --- a/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.skins.tex +++ b/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.skins.tex @@ -7,8 +7,7 @@ The library is loaded by a package option or inside the preamble by: \begin{dispListing} \tcbuselibrary{skins} \end{dispListing} -This also loads the package |tikz| \cite{tantau:tikz_and_pgf}. Typically but not necessarily, -the following skins use |tikz| instead of |pgf|. +This also loads the package |tikzfill.image|. In the following, general settings and options of the library are documented. @@ -1059,9 +1058,7 @@ By default, the resulting boxed title is somewhat smaller than the main box. \clearpage \subsection{Watermark Option Keys}\label{subsec:watermarks} -The following watermark options are applicable for all skins which -use |tikzpicture| as \refKey{/tcb/graphical environment}. -Therefore, the skin \refSkin{standard} does not support these watermarks, +The skin \refSkin{standard} does not support these watermarks, but all other skins, e.\,g.\ \refSkin{enhanced}. \begin{marker} @@ -1479,9 +1476,7 @@ Donau\-dampf\-schiff\-fahrts\-ka\-pi\-t\"ans\-m\"ut\-zen\-fran\-sen \clearpage \subsection{Border Line Option Keys}\label{subsec:borderline} -The following borderline options are applicable for most skins which -use |tikzpicture| as \refKey{/tcb/graphical environment}. -Therefore, the skin \refSkin{standard} does not support these border lines, +The skin \refSkin{standard} does not support these border lines, but most other skins, e.\,g.\ \refSkin{enhanced}. The borderlines are independent from the normal |tcolorbox| rules. @@ -1714,9 +1709,7 @@ but adapt to breakable boxes. \clearpage \subsection{Shadow Option Keys}\label{subsec:shadows} -The following shadow options are applicable for most skins which -use |tikzpicture| as \refKey{/tcb/graphical environment}. -Therefore, the skin \refSkin{standard} does not support these shadows, +The skin \refSkin{standard} does not support these shadows, but most other skins, e.\,g.\ \refSkin{enhanced}. The shadows are stackable, i.\,e.\ several different shadows can be @@ -2087,7 +2080,7 @@ This is a tcolorbox. from the frame outline. A positive \meta{offset} value shrinks the shadow and a negative \meta{offset} value enlarges the shadow. The shadow is filled along a \tikzname\ path with the given \tikzname\ \meta{options}.\\ - The shadows adapt to the rounded corners of the |tcolorbox|. A shrinked shadow + The shadows adapt to the rounded corners of the |tcolorbox|. A shrunken shadow will switch to sharp corners if necessary, an enlarged shadow may become more rounded depending on several factors. But \refKey{/tcb/sharp corners} have sharp shadows. @@ -2255,7 +2248,7 @@ This is a tcolorbox. \clearpage \subsubsection{\tikzname\ Shadows} -Alternativ to the package shadow options described before, shadows from +Alternative to the package shadow options described before, shadows from the \flqq Shadows Library\frqq\ of \tikzname\ can be used. Such shadows can be added directly to the frame path using \refKey{/tcb/frame style}. @@ -2292,9 +2285,7 @@ Such shadows can be added directly to the frame path using \refKey{/tcb/frame st \clearpage \subsection{\tikzname\ Picture Option Keys}\label{subsec:tikzpicture} -The following general options are applicable for skins which -use |tikzpicture| as \refKey{/tcb/graphical environment}. -Therefore, the skin \refSkin{standard} does not support these options, +The skin \refSkin{standard} does not support these options, but most other skins, e.\,g.\ \refSkin{enhanced}. diff --git a/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.technical.tex b/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.technical.tex index 1e6960ffd2a..a9fbc31bb27 100644 --- a/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.technical.tex +++ b/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.technical.tex @@ -62,13 +62,6 @@ option from the core package has to be set. \clearpage -\begin{docTcbKey}{graphical environment}{=\meta{name}}{no default, initially \texttt{pgfpicture}} - Sets the graphical environment for the |tcolorbox| to \meta{name}. - Feasible values are |pgfpicture| and |tikzpicture| or environments which - inherit from one of these two. This key is set by a \refKey{/tcb/skin} and - may seldom be used directly. -\end{docTcbKey} - The skin of a |tcolorbox| is drawn by up to four \emph{engines}. Afterwards, the text content is drawn which is not part of a skin. The four steps are: @@ -85,18 +78,6 @@ The four steps are: by \refKey{/tcb/title engine}. \end{enumerate} -%Every engine for the up to four steps can be set to one of the following types: -%\begin{enumerate} -%\item\docValue{standard}: the original code from the core package. -%\item\docValue{path}: a |tikz| path which can be controlled by options. -%\item\docValue{pathfirst}: a |tikz| path which can be controlled by options. -%\item\docValue{pathmiddle}: a |tikz| path which can be controlled by options. -%\item\docValue{pathlast}: a |tikz| path which can be controlled by options. -%\item\docValue{freelance}: arbitrary user code. -%\item\docValue{spartan}: a quite spartan code. -%\end{enumerate} -%\clearpage - \begin{docTcbKey}{frame engine}{=\meta{name}}{no default, initially \texttt{standard}} Sets the \emph{frame} drawing engine for a box to \meta{name}. Typically, this key is set by a \refKey{/tcb/skin}. @@ -644,7 +625,7 @@ These color names are \item\docColor{tcbcolframe} set by \refKey{/tcb/colframe} (frame color) \item\docColor{tcbcolback} set by \refKey{/tcb/colback} (background color) \item\docColor{tcbcolbacktitle} set by \refKey{/tcb/colbacktitle} (background color of the title) -\item\docColor{tcbcolbacklower} set by \refKey{/tcb/colbacklower} (skin dependend background color +\item\docColor{tcbcolbacklower} set by \refKey{/tcb/colbacklower} (skin dependent background color of the lower part; needs \mylib{skins} to be loaded) \item\docColor{tcbcolupper} set by \refKey{/tcb/colupper} (text color upper part) \item\docColor{tcbcollower} set by \refKey{/tcb/collower} (text color lower part) diff --git a/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.theorems.tex b/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.theorems.tex index 4884e85f576..f1a7be1ff41 100644 --- a/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.theorems.tex +++ b/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.theorems.tex @@ -243,7 +243,7 @@ E&=mc^2 + \int_a^b x\, dx \begin{docTcbKey}{separator sign}{=\meta{sign}}{no default, initially |:|} The given \meta{sign} is used inside the title text of a theorem - as separater between display name combined with number and + as separator between display name combined with number and the specific title text. It is omitted, if there is no specific title text. \begin{dispExample} @@ -706,91 +706,140 @@ created by hand or using \refCom{newtcbtheorem}. \end{docTcbKey} \clearpage -\begin{docTcbKey}{ams align upper}{}{style, no value} +\begin{docTcbKeys}[ + doc parameter = , + doc description = {style, no value}, + ] + { + { + doc name = ams align upper, + }, + { + doc name = ams align, + doc updated = 2024-06-27, + } + } Adds an |amsmath| |align| environment to the start and end of the upper part. -\end{docTcbKey} - -\begin{docTcbKey}{ams align lower}{}{style, no value} - Adds an |amsmath| |align| environment to the start and end - of the lower part. -\end{docTcbKey} - -\begin{docTcbKey}{ams align}{}{style, no value} - Adds an |amsmath| |align| environment to the start and end - of the upper \emph{and} lower part. \begin{dispExample} \begin{tcolorbox}[ams align,colback=yellow!10!white,colframe=red!50!black] \sum\limits_{n=1}^{\infty} \frac{1}{n} &= \infty.\\ \int x^2 ~\text{d}x &= \frac13 x^3 + c. \end{tcolorbox} \end{dispExample} -\end{docTcbKey} - -\begin{docTcbKey}{ams align* upper}{}{style, no value} - Adds an |amsmath| |align*| environment to the start and end - of the upper part. -\end{docTcbKey} +\begin{marker} + Boxes with \refKey{/tcb/ams align upper} or \refKey{/tcb/ams align} + cannot have a lower part! + For a lower part, use \refKey{/tcb/ams nodisplayskip upper} instead. +\end{marker} +\end{docTcbKeys} -\begin{docTcbKey}{ams align* lower}{}{style, no value} - Adds an |amsmath| |align*| environment to the start and end +\begin{docTcbKey}{ams align lower}{}{style, no value} + Adds an |amsmath| |align| environment to the start and end of the lower part. \end{docTcbKey} -\begin{docTcbKey}{ams align*}{}{style, no value} + +\begin{docTcbKeys}[ + doc parameter = , + doc description = {style, no value}, + ] + { + { + doc name = ams align* upper, + }, + { + doc name = ams align*, + doc updated = 2024-06-27, + } + } Adds an |amsmath| |align*| environment to the start and end - of the upper \emph{and} lower part. + of the upper part. \begin{dispExample} \begin{tcolorbox}[ams align*,colback=yellow!10!white,colframe=red!50!black] \sum\limits_{n=1}^{\infty} \frac{1}{n} &= \infty.\\ \int x^2 ~\text{d}x &= \frac13 x^3 + c. \end{tcolorbox} \end{dispExample} -\end{docTcbKey} - -\clearpage -\begin{docTcbKey}{ams gather upper}{}{style, no value} - Adds an |amsmath| |gather| environment to the start and end - of the upper part. -\end{docTcbKey} +\begin{marker} + Boxes with \refKey{/tcb/ams align* upper} or \refKey{/tcb/ams align*} + cannot have a lower part! + For a lower part, use \refKey{/tcb/ams nodisplayskip upper} instead. +\end{marker} +\end{docTcbKeys} -\begin{docTcbKey}{ams gather lower}{}{style, no value} - Adds an |amsmath| |gather| environment to the start and end +\begin{docTcbKey}{ams align* lower}{}{style, no value} + Adds an |amsmath| |align*| environment to the start and end of the lower part. \end{docTcbKey} -\begin{docTcbKey}{ams gather}{}{style, no value} + +\clearpage +\begin{docTcbKeys}[ + doc parameter = , + doc description = {style, no value}, + ] + { + { + doc name = ams gather upper, + }, + { + doc name = ams gather, + doc updated = 2024-06-27, + } + } Adds an |amsmath| |gather| environment to the start and end - of the upper \emph{and} lower part. + of the upper part. \begin{dispExample} \begin{tcolorbox}[ams gather,colback=yellow!10!white,colframe=red!50!black] \sum\limits_{n=1}^{\infty} \frac{1}{n} = \infty.\\ \int x^2 ~\text{d}x = \frac13 x^3 + c. \end{tcolorbox} \end{dispExample} -\end{docTcbKey} - -\begin{docTcbKey}{ams gather* upper}{}{style, no value} - Adds an |amsmath| |gather*| environment to the start and end - of the upper part. -\end{docTcbKey} +\begin{marker} + Boxes with \refKey{/tcb/ams gather upper} or \refKey{/tcb/ams gather} + cannot have a lower part! + For a lower part, use \refKey{/tcb/ams nodisplayskip upper} instead. +\end{marker} +\end{docTcbKeys} -\begin{docTcbKey}{ams gather* lower}{}{style, no value} - Adds an |amsmath| |gather*| environment to the start and end +\begin{docTcbKey}{ams gather lower}{}{style, no value} + Adds an |amsmath| |gather| environment to the start and end of the lower part. \end{docTcbKey} -\begin{docTcbKey}{ams gather*}{}{style, no value} +\begin{docTcbKeys}[ + doc parameter = , + doc description = {style, no value}, + ] + { + { + doc name = ams gather* upper, + }, + { + doc name = ams gather*, + doc updated = 2024-06-27, + } + } Adds an |amsmath| |gather*| environment to the start and end - of the upper \emph{and} lower part. + of the upper part. \begin{dispExample} \begin{tcolorbox}[ams gather*,colback=yellow!10!white,colframe=red!50!black] \sum\limits_{n=1}^{\infty} \frac{1}{n} = \infty.\\ \int x^2 ~\text{d}x = \frac13 x^3 + c. \end{tcolorbox} \end{dispExample} -\end{docTcbKey} +\begin{marker} + Boxes with \refKey{/tcb/ams gather* upper} or \refKey{/tcb/ams gather*} + cannot have a lower part! + For a lower part, use \refKey{/tcb/ams nodisplayskip upper} instead. +\end{marker} +\end{docTcbKeys} +\begin{docTcbKey}{ams gather* lower}{}{style, no value} + Adds an |amsmath| |gather*| environment to the start and end + of the lower part. +\end{docTcbKey} \clearpage \begin{docTcbKey}{ams nodisplayskip upper}{}{style, no value} diff --git a/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.vignette.tex b/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.vignette.tex index 733c356d8e0..8ea72010fe0 100644 --- a/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.vignette.tex +++ b/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.vignette.tex @@ -140,7 +140,7 @@ is used internally. \enlargethispage*{1cm} -\begin{vigTcbKey}[][doc new=2016-04-22]{inside node}{=\meta{name}}{style, initally unset} +\begin{vigTcbKey}[][doc new=2016-04-22]{inside node}{=\meta{name}}{style, initially unset} Places the \refCom{tcbvignette} inside the node with the given \meta{name}. The outer limits of the \emph{vignette} are adapted to the node geometry. \begin{dispExample*}{sbs,righthand width=3cm,center lower} @@ -154,7 +154,7 @@ is used internally. \clearpage -\begin{vigTcbKey}[][doc new=2016-04-22]{outside node}{=\meta{name}}{style, initally unset} +\begin{vigTcbKey}[][doc new=2016-04-22]{outside node}{=\meta{name}}{style, initially unset} Places the \refCom{tcbvignette} outside the node with the given \meta{name}. The inner limits of the \emph{vignette} are adapted to the node geometry. \begin{dispExample*}{sbs,righthand width=3cm,center lower} @@ -167,7 +167,7 @@ is used internally. \end{vigTcbKey} -\begin{vigTcbKey}[][doc new=2016-04-22]{over node}{=\meta{name}}{style, initally unset} +\begin{vigTcbKey}[][doc new=2016-04-22]{over node}{=\meta{name}}{style, initially unset} Places the \refCom{tcbvignette} over the node with the given \meta{name}. The outer limits of the \emph{vignette} are adapted to the node geometry, but are shifted to the outside by \refKey{/tcb/vig/over node offset}. diff --git a/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.pdf b/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.pdf Binary files differindex a7499395e4a..3054aff5913 100644 --- a/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.pdf +++ b/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.pdf diff --git a/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.tex b/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.tex index b7c17423914..c60eb4acfa8 100644 --- a/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.tex +++ b/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.tex @@ -1,5 +1,5 @@ % \LaTeX-Main\ -%% The LaTeX package tcolorbox - version 6.2.0 (2024/01/10) +%% The LaTeX package tcolorbox - version 6.3.0 (2024/07/10) %% tcolorbox.tex: Manual %% %% ------------------------------------------------------------------------------------------- @@ -25,6 +25,18 @@ % arara: pdflatex: { shell: yes, synctex: yes } % arara: pdflatex: { shell: yes, synctex: yes } % +%\DocumentMetadata{ +% lang = en, +% pdfversion = 2.0, +% pdfstandard = ua-2, +% pdfstandard = a-4f, +% testphase = +% { +% phase-III, +% firstaid +% }, +% %uncompress, +%} \PassOptionsToPackage{pdftex,bookmarks,raiselinks,pageanchor,hyperindex,colorlinks,pdfusetitle,pdfpagelabels}{hyperref} \documentclass[a4paper,11pt]{ltxdoc} @@ -51,8 +63,8 @@ \setlength{\bibitemsep}{\smallskipamount} \addbibresource{tcolorbox.doc.bib} -\def\version{6.2.0}% -\def\datum{2024/01/10}% +\def\version{6.3.0}% +\def\datum{2024/07/10}% \makeindex \hypersetup{ @@ -68,7 +80,7 @@ %\geometry{showframe} %\tcbset{draftmode} \tcbset{/tcb/external/-}% for final run -%\includeonly{tcolorbox.doc.initoptions,tcolorbox.doc.index} +%\includeonly{tcolorbox.doc.coreoptions} %\hypersetup{colorlinks=false} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/Master/texmf-dist/doc/latex/telprint/README.md b/Master/texmf-dist/doc/latex/telprint/README.md new file mode 100644 index 00000000000..de7d729ad61 --- /dev/null +++ b/Master/texmf-dist/doc/latex/telprint/README.md @@ -0,0 +1,13 @@ +# telprint package for LaTeX + +Version: 2024-07-26 v1.12 + +Format German phone numbers + +## Copyright (C) +* 1996, 1997, 2004-2008 Heiko Oberdiek +* 2016-2024 Oberdiek Package Support Group + + +## License +LATEX Project Public License, version 1.3c or later. diff --git a/Master/texmf-dist/doc/latex/oberdiek/telprint.pdf b/Master/texmf-dist/doc/latex/telprint/telprint.pdf Binary files differindex f8027491c86..49a2968f35a 100644 --- a/Master/texmf-dist/doc/latex/oberdiek/telprint.pdf +++ b/Master/texmf-dist/doc/latex/telprint/telprint.pdf diff --git a/Master/texmf-dist/doc/latex/texvc/texvc.pdf b/Master/texmf-dist/doc/latex/texvc/texvc.pdf Binary files differindex 7269b865f21..f431f01829d 100644 --- a/Master/texmf-dist/doc/latex/texvc/texvc.pdf +++ b/Master/texmf-dist/doc/latex/texvc/texvc.pdf diff --git a/Master/texmf-dist/doc/latex/thuthesis/CHANGELOG.md b/Master/texmf-dist/doc/latex/thuthesis/CHANGELOG.md index fb293105fc3..b038a8a762d 100644 --- a/Master/texmf-dist/doc/latex/thuthesis/CHANGELOG.md +++ b/Master/texmf-dist/doc/latex/thuthesis/CHANGELOG.md @@ -6,6 +6,17 @@ ## [Unreleased] +## [v7.5.2] - 2024-07-01 + +### Added + +- 增加选项 `eqn-paren-style` 控制公式编号的括号样式([#959](https://github.com/tuna/thuthesis/pull/959))。 + +### Fixed + +- 解决本科生的多篇“书面翻译对应的原文索引”([#956](https://github.com/tuna/thuthesis/issues/956))。 +- 修复 GitHub 发布的 Release 压缩包缺少部分文件的问题([#965](https://github.com/tuna/thuthesis/issues/965))。 + ## [v7.5.1] - 2024-05-20 ### Changed @@ -988,7 +999,8 @@ -[Unreleased]: https://github.com/tuna/thuthesis/compare/v7.5.1...HEAD +[Unreleased]: https://github.com/tuna/thuthesis/compare/v7.5.2...HEAD +[v7.5.2]: https://github.com/tuna/thuthesis/compare/v7.5.1...v7.5.2 [v7.5.1]: https://github.com/tuna/thuthesis/compare/v7.5.0...v7.5.1 [v7.5.0]: https://github.com/tuna/thuthesis/compare/v7.4.0...v7.5.0 [v7.4.0]: https://github.com/tuna/thuthesis/compare/v7.3.2...v7.4.0 diff --git a/Master/texmf-dist/doc/latex/thuthesis/thuthesis-example.pdf b/Master/texmf-dist/doc/latex/thuthesis/thuthesis-example.pdf Binary files differindex 2c48ce2ef57..36ed8efd751 100644 --- a/Master/texmf-dist/doc/latex/thuthesis/thuthesis-example.pdf +++ b/Master/texmf-dist/doc/latex/thuthesis/thuthesis-example.pdf diff --git a/Master/texmf-dist/doc/latex/thuthesis/thuthesis.pdf b/Master/texmf-dist/doc/latex/thuthesis/thuthesis.pdf Binary files differindex daa32de045d..4979b94dc41 100644 --- a/Master/texmf-dist/doc/latex/thuthesis/thuthesis.pdf +++ b/Master/texmf-dist/doc/latex/thuthesis/thuthesis.pdf diff --git a/Master/texmf-dist/doc/latex/tikzbricks/tikzbricks-doc-settings.sty b/Master/texmf-dist/doc/latex/tikzbricks/tikzbricks-doc-settings.sty new file mode 100644 index 00000000000..777cedba6ef --- /dev/null +++ b/Master/texmf-dist/doc/latex/tikzbricks/tikzbricks-doc-settings.sty @@ -0,0 +1,199 @@ +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +% Personal helper theme for package documentations +% Copyright samcarter +% +% This file may be distributed and/or modified +% under the LaTeX Project Public License 1.3c or later +% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +% Usage: +% ln ~/Life/latex/beamertheme-sam/themesam.sty package-doc-settings.sty +% \usepackage[ +% themecolor=samdblue +% ]{\jobname-settings} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +% Colours +% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\RequirePackage{xcolor} +\definecolor{samyellow}{RGB}{246,193,65} +\definecolor{samorange}{RGB}{241,147,45} +\definecolor{samred}{RGB}{191,26,46}% TikZbricks +\definecolor{sammagenta}{RGB}{170,42,104}% TikZmarmots +\definecolor{samviolet}{RGB}{136,46,114}% TikZlings +\definecolor{samlila}{RGB}{101,67,159}% Rainbow beamer theme +\definecolor{samdblue}{RGB}{0,51,134}% beamer theme +\definecolor{samlblue}{RGB}{22,89,155}% TikZducks +\definecolor{samteal}{RGB}{25,143,157}% Tcolorbox beamer theme +\definecolor{samlgreen}{RGB}{68,170,153}% Jigsaw +\definecolor{samdgreen}{RGB}{78,178,125} +\definecolor{samlgray}{RGB}{160,160,185} +\definecolor{samdgray}{RGB}{60,60,85} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +% Package options +% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\RequirePackage{xkeyval} +\DeclareOptionX{themecolor}[samdblue]{\colorlet{themecolor}{#1}} +\DeclareOptionX{listingcolor}[samlblue]{\colorlet{listingcolor}{#1}} +\ExecuteOptionsX{themecolor,listingcolor} +\ProcessOptionsX + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +% Packages +% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\@ifclassloaded{beamer}{}{% + \RequirePackage[english]{babel} + \RequirePackage[paper=a4paper,margin=2.9cm]{geometry} + \RequirePackage{scrlayer-scrpage} + \let\hrulefillx\hrulefill + \RequirePackage[bitstream-charter]{mathdesign} + \let\hrulefill\hrulefillx + \RequirePackage[hang,flushmargin,bottom]{footmisc} + \RequirePackage{footnotehyper} + \makesavenoteenv{tcolorbox} + \RequirePackage[all]{nowidow} + \RequirePackage[colorlinks=true,breaklinks=true,allcolors=themecolor,hyperfootnotes=false]{hyperref} +} +\RequirePackage[T1]{fontenc} +\RequirePackage{xspace} +\RequirePackage{inconsolata}% mono font with bold, but italic is missing +% \RequirePackage[scale=0.85]{cascadia-code} +% \AddToHook{cmd/ttfamily/before}{\fontseries{sl}} +\RequirePackage{iexec} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +% Listings +% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\RequirePackage[ + cachedir=$TMPDIR/minted/ +]{minted} + +% smuggling custom pygmentize style in cache folder +% (a real pygmentise style would need installtion in some python folder) +\begin{filecontents*}[noheader]{./sam.pygstyle} +\makeatletter +\def\PYG@reset{\let\PYG@it=\relax \let\PYG@bf=\relax% + \let\PYG@ul=\relax \let\PYG@tc=\relax% + \let\PYG@bc=\relax \let\PYG@ff=\relax} +\def\PYG@tok#1{\csname PYG@tok@#1\endcsname} +\def\PYG@toks#1+{\ifx\relax#1\empty\else% + \PYG@tok{#1}\expandafter\PYG@toks\fi} +\def\PYG@do#1{\PYG@bc{\PYG@tc{\PYG@ul{% + \PYG@it{\PYG@bf{\PYG@ff{#1}}}}}}} +\def\PYG#1#2{\PYG@reset\PYG@toks#1+\relax+\PYG@do{#2}} + +% optional arguments +\expandafter\def\csname PYG@tok@na\endcsname{\def\PYG@tc##1{\textcolor{black}{##1}}} + +% macros +\expandafter\def\csname PYG@tok@k\endcsname{\def\PYG@tc##1{\textcolor{listingcolor}{\bfseries ##1}}} +% curly brakets +\expandafter\def\csname PYG@tok@nb\endcsname{\def\PYG@tc##1{\textcolor{listingcolor}{\bfseries ##1}}} + +% comments (italics won't work with the inconsolata font) +\expandafter\def\csname PYG@tok@c\endcsname{\def\PYG@tc##1{\textcolor{gray}{##1}}} + +\def\PYGZbs{\char`\\} +\def\PYGZus{\char`\_} +\def\PYGZob{\char`\{} +\def\PYGZcb{\char`\}} +\def\PYGZca{\char`\^} +\def\PYGZam{\char`\&} +\def\PYGZlt{\char`\<} +\def\PYGZgt{\char`\>} +\def\PYGZsh{\char`\#} +\def\PYGZpc{\char`\%} +\def\PYGZdl{\char`\$} +\def\PYGZhy{\char`\-} +\def\PYGZsq{\char`\'} +\def\PYGZdq{\char`\"} +\def\PYGZti{\char`\~} +% for compatibility with earlier versions +\def\PYGZat{@} +\def\PYGZlb{[} +\def\PYGZrb{]} +\makeatother +\end{filecontents*} + +\iexec{mkdir -p $TMPDIR/minted && mv sam.pygstyle $TMPDIR/minted/.} + +\usemintedstyle{sam} +\setminted{ + breaksymbolleft={}, + tabsize=2, + breaklines=true, +} +\newminted[samcode]{latex}{} +\newmintinline[saminline]{latex}{} + +% use non-bold and all coloured for inline code in articles +\ifdefined\insertaspectratio\else + \patchcmd{\minted@inputpyg@inline}{\minted@input}{\color{listingcolor}\renewcommand\textcolor[3][]{##3}\renewcommand\bfseries{}\minted@input}{}{} +\fi + +\RequirePackage[most]{tcolorbox} +\tcbuselibrary{minted} +\tcbset{% + colframe=themecolor, + fonttitle=\bfseries, + sidebyside, + center lower, + righthand width=5.7cm, + bottom=2pt, + top=2pt, + left=3pt, + right=3pt, + sidebyside gap=10pt, + lower separated=false, + listing engine=minted, + minted language=latex, + colback=themecolor!10, + sharp corners, + boxrule=0pt, + before title={\strut} +} + +% avoid page breaks right in front of the tcolorbox +\@ifclassloaded{beamer}{}{ + \tcbuselibrary{hooks} + \tcbset{before pre={\nopagebreak[4]}} +} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +% document settings +% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\@ifclassloaded{scrartcl}{% + \KOMAoptions{parskip=half} + \addtokomafont{sectioning}{\color{themecolor}} + \addtokomafont{date}{\normalsize} + \addtokomafont{author}{\normalsize} + \setlength{\footnotemargin}{0.7em} +}{} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +% Custom macros +% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\providecommand*{\CTAN}{\textsc{CTAN}\xspace} +\providecommand*{\TikZ}{Ti\emph{k}Z\xspace} +\providecommand*{\miktex}{MiK\TeX\xspace} +\providecommand*{\texlive}{\TeX{}Live\xspace} +\providecommand*{\tikzbrick}{Ti\emph{k}Zbrick\xspace} +\providecommand*{\tikzducks}{Ti\emph{k}Zducks\xspace} +\providecommand*{\tikzlings}{Ti\emph{k}Zlings\xspace} +\providecommand*{\tikzmarmots}{Ti\emph{k}Zmarmots\xspace} +\providecommand*{\ConTeXt}{C\kern-.0333emon\-\kern-.0667em\TeX\kern-.0333emt}
\ No newline at end of file diff --git a/Master/texmf-dist/doc/latex/tkz-elements/README.md b/Master/texmf-dist/doc/latex/tkz-elements/README.md index a4d8d90fadd..66c11bf62fe 100644 --- a/Master/texmf-dist/doc/latex/tkz-elements/README.md +++ b/Master/texmf-dist/doc/latex/tkz-elements/README.md @@ -1,10 +1,10 @@ # tkz-elements — for euclidean geometry -Release 2.25c 2024/04/28 +Release 2.30c 2024/07/16 ## Description -`tkz-elements v.2.25c` is the new version of a library written in lua, allowing to make all the necessary calculations to define the objects of a Euclidean geometry figure. You need to compile with `LuaLaTeX`. With `tkz-elements`, the definitions and calculations are only done with `Lua`. +`tkz-elements v.2.30c` is the new version of a library written in lua, allowing to make all the necessary calculations to define the objects of a Euclidean geometry figure. You need to compile with `LuaLaTeX`. With `tkz-elements`, the definitions and calculations are only done with `Lua`. The main possibility of programmation proposed is oriented "object programming" with object classes like point, line, triangle, circle and ellipse. For the moment, once the calculations are done, it is `tkz-euclide` or `TikZ` which allows the drawings. You can use the option `mini` with `tkz-euclide` to load only the modules required for tracing. @@ -62,6 +62,15 @@ An important example `Golden Arbelos` using the package is on the site. All the are on the site. ## History + + - version 2.30c + - new version of the macro `\tkzGetNodes` written by Sanskar Singh. This version now fixes a bug that prevented a figure from being centred with `centering` or the `center` environment. + - adding methods `bevan_circle`, `symmedial_circle`. + - correction of the methods `function triangle: bevan_point ()` and `function triangle: mittenpunkt_point ()`. + - adding `function triangle: similar ()` + - adding `function line : perpendicular_bisector ()` which is similar to `function line : mediator ()` + - correction of documentation. + - version 2.25c - French documentation at my site: [http://altermundus.fr](http://altermundus.fr) - Added `colinear_at` a new method for the classe `line` diff --git a/Master/texmf-dist/doc/latex/tkz-elements/TKZdoc-elements-classes-circle.tex b/Master/texmf-dist/doc/latex/tkz-elements/TKZdoc-elements-classes-circle.tex index 7ae96c7ada5..85e73595189 100644 --- a/Master/texmf-dist/doc/latex/tkz-elements/TKZdoc-elements-classes-circle.tex +++ b/Master/texmf-dist/doc/latex/tkz-elements/TKZdoc-elements-classes-circle.tex @@ -25,8 +25,8 @@ This class is defined by two points: the center and a point through which the ci \Iattr{circle}{south} & |C.AB.south| & |z.S = C.OA.south| \\ \Iattr{circle}{east} & |C.AB.east| & |z.E = C.OA.east| \\ \Iattr{circle}{west} & |C.AB.west| & |z.W = C.OA.west| \\ -\Iattr{circle}{opp} & |z.Ap = C.AB.opp| & Refer to (\ref{ssub:example_circle_attributes}) \\ -\Iattr{circle}{ct} & |L = C.AB.ct| & Refer to (\ref{ssub:example_circle_attributes}) \\ +\Iattr{circle}{opp} & |z.Ap = C.AB.opp| & [\ref{ssub:example_circle_attributes}] \\ +\Iattr{circle}{ct} & |L = C.AB.ct| [ \ref{ssub:example_circle_attributes} ] \\ \bottomrule % \end{tabular} \egroup @@ -71,16 +71,16 @@ Three attributes are used (south, west, radius). z.c = C.ab.opp z.r,z.t = get_points (C.ab.ct : ortho_from (z.b)) \end{tkzelements} -\hspace*{\fill} -\begin{tikzpicture} + +\emph{\begin{tikzpicture} \tkzGetNodes \tkzDrawPoints(a,b,c,s,w) \tkzLabelPoints(a,b,c,s,w) \tkzDrawCircle(a,b) \tkzDrawSegments(a,b r,t b,c) \tkzLabelSegment[sloped](a,b){ab = \tkzUseLua{r}} -\end{tikzpicture} -\hspace*{\fill} +\end{tikzpicture}} + \end{minipage} % subsubsection example_circle_attributes (end) % subsection attributes_of_a_circle (end) @@ -96,184 +96,314 @@ Three attributes are used (south, west, radius). \toprule \textbf{Methods} & \textbf{Comments} & \\ \midrule \\ -\Igfct{circle}{new(O,A)} & |C.OA = circle : new (z.O,z.A)| & circle center $O$ through $A$\\ -\Igfct{circle}{radius(O,r)} & |C.OA = circle : radius (z.O,2)| & circle center $O$ radius =2 cm\\ -\Igfct{circle}{diameter(A,B)} & |C.OA = circle :diameter(z.A,z.B)| & circle diameter $[AB]$ \\ +\Igfct{circle}{new(O,A)} & |C.OA = circle : new (z.O,z.A)| & center $O$ through $A$; [\ref{ssub:method_imeth_circle_new}]\\ +\Igfct{circle}{radius(O,r)} & |C.OA = circle : radius (z.O,2)| & center $O$ radius =2 cm; [\ref{ssub:method_imeth_circle_radius}]\\ +\Igfct{circle}{diameter(A,B)} & |C.OA = circle :diameter(z.A,z.B)| & diameter $[AB]$; [\ref{ssub:method_imeth_circle_diameter}] \\ \midrule \textbf{Points} &&\\ \midrule -\Imeth{circle}{antipode (pt)} & |z.C = C.OA: antipode (z.B)| & $[BC]$ is a diameter \\ -\Imeth{circle}{inversion (pt)} & |z.Bp = C.AC: inversion (z.B)|&\\ -\Imeth{circle}{midarc (pt,pt)} & |z.D = C.AB: midarc (z.B,z.C)|& $D$ is the midarc of $\widearc{BC}$\\ -\Imeth{circle}{point (r)} & |z.E = C.AB: point (0.25)|& |r| between 0 and 1\\ +\Imeth{circle}{antipode (pt)} & |z.C = C.OA: antipode (z.B)| & $[BC]$ = diameter; [\ref{ssub:method_imeth_circle_antipode}] \\ +\Imeth{circle}{midarc (pt,pt)} & |z.D = C.AB: midarc (z.B,z.C)|& $D$ is the midarc of $\widearc{BC}$; [\ref{ssub:method_imeth_circle_midarc}]\\ +\Imeth{circle}{point (r)} & |z.E = C.AB: point (0.25)|& |r| between 0 and 1; [\ref{ssub:method_imeth_circle_point}]\\ \Imeth{circle}{random\_pt(lower, upper)} & &\\ -\Imeth{circle}{internal\_similitude (C)} & |z.I = C.one : internal_similitude (C.two)| &\\ -\Imeth{circle}{external\_similitude (C)} & |z.J = C.one : external_similitude (C.two)| & \\ -\Imeth{circle}{radical\_center (C1<,C2>)} & or only (C1) & Refer to \ref{sub:radical_center} \\ +\Imeth{circle}{inversion (obj)} & |z.Bp = C.AC: inversion (z.B)|& [\ref{ssub:inversion}]\\ +\Imeth{circle}{internal\_similitude (C)} & |z.I= C.one: internal_similitude(C.two)| & [\ref{ssub:method_imeth_circle_internal__similitude}]\\ +\Imeth{circle}{external\_similitude (C)} & |z.J= C.one: external_similitude(C.two)| & [\ref{ssub:method_imeth_circle_external__similitude}] \\ +\Imeth{circle}{radical\_center (C1<,C2>)} & or only (C1) & [\ref{ssub:radical_center} ] \\ \midrule \textbf{Lines} & & \\ \midrule -\Imeth{circle}{radical\_axis (C)} & Refer to ( \ref{sub:d_alembert_2} ; \ref{sub:radical_axis_v1} ; \ref{sub:radical_axis_v2} ; \ref{sub:radical_axis_v3} ; \ref{sub:radical_axis_v4})& \\ -\Imeth{circle}{tangent\_at (pt)} & |z.P = C.OA: tangent_at (z.M)| & Refer to (\ref{ssub:lemoine} ; \ref{ssub:example_combination_of_methods})\\ -\Imeth{circle}{tangent\_from (pt)}& |z.M,z.N = C.OA: tangent_from (z.P)| & Refer to (\ref{tangent_from})\\ -\Imeth{circle}{inversion (line)} & |L or C = C.AC: inversion (L.EF)|& Refer to (\ref{ssub:inversion_line})\\ -\Imeth{circle}{common\_tangent (C)} & |z.a,z.b = C.AC: common_tangent (C.EF)|& Refer to (\ref{sub:common_tangent} ; \ref{sub:common_tangent_orthogonality})\\ +\Imeth{circle}{radical\_axis (C)} & [ \ref{ssub:method_imeth_circle_radical__axis_c} ; \ref{sub:d_alembert_2} ] & \\ +\Imeth{circle}{tangent\_at (pt)} & |z.P=C.OA:tangent_at(z.M)| & [\ref{ssub:method_imeth_circle_tangent}] \\ +\Imeth{circle}{tangent\_from (pt)}& |z.M,z.N=C.OA: tangent_from (z.P)| & [\ref{ssub:method_imeth_circle_tangent} ] \\ +\Imeth{circle}{common\_tangent (C)}& |z.a,z.b = C.AC: common_tangent (C.EF)|& [\ref{ssub:common_tangent} ; \ref{sub:common_tangent_orthogonality}] \\ \midrule \textbf{Circles}& &\\ \midrule -\Imeth{circle}{orthogonal\_from (pt)} &|C=C.OA:orthogonal_from (z.P)| & Refer to (\ref{ssub:altshiller} ; \ref{sub:common_tangent_orthogonality} ; \ref{sub:orthogonal_circles_v1} ; \ref{sub:pencil_v1}) \\ -\Imeth{circle}{orthogonal\_through (pta,ptb)}&|C=C.OA:orthogonal_through (z.z1,z.z2)| & Refer to (\ref{sub:orthogonal_circle_through})\\ -\Imeth{circle}{inversion (...)} &|C.AC:inversion (pt, pts, L or C)|& Refer to \ref{ssub:inversion}, \ref{ssub:inversion_point}, \ref{ssub:inversion_line}, \ref{ssub:inversion_circle}\\ -\Imeth{circle}{midcircle (C)} & |C.inv = C.OA: midcircle (C.EF)| & Refer to \ref{ssub:midcircle} \\ -\Imeth{circle}{radical\_circle (C1<,C2>)} & or only (C1) & Refer to \ref{sub:radical_circle}\\ +\Imeth{circle}{orthogonal\_from (pt)} &|C=C.OA:orthogonal_from (z.P)| & [\ref{ssub:method_imeth_circle_orthogonal_from_pt} ;\ref{sub:altshiller} ; \ref{sub:pencil_v1}] \\ +\Imeth{circle}{orthogonal\_through(pta,ptb)}&|C=C.OA:orthogonal_through (z.z1,z.z2)| & [\ref{ssub:method_imeth_circle_orthogonal_through}]\\ +\Imeth{circle}{midcircle (C)} & |C.inv = C.OA: midcircle (C.EF)| & [\ref{ssub:midcircle}] \\ +\Imeth{circle}{radical\_circle (C1<,C2>)} & or only (C1) & [\ref{ssub:radical_circle}] \\ \midrule \textbf{Miscellaneous} &&\\ \midrule -\Imeth{circle}{power (pt)} &|p = C.OA: power (z.M)| & Refer to (\ref{sub:power_v1} ; \ref{sub:power_v2} ; \ref{sub:apollonius_circle_v1_with_inversion}) \\ -\Imeth{circle}{in\_out (pt)} & |C.OA : in_out (z.M)| & Refer to (\ref{sub:in_out_for_circle_and_disk}) \\ -\Imeth{circle}{in\_out\_disk (pt)} & |C.OA : in_out_disk (z.M)| & Refer to (\ref{sub:in_out_for_circle_and_disk}) \\ +\Imeth{circle}{power (pt)} &| r = C.OA: power (z.M)| & [\ref{par:power_v1} ; \ref{par:power_v2} ; \ref{sub:apollonius_circle_v1_with_inversion} ] \\ +\Imeth{circle}{in\_out (pt)} & |C.OA : in_out (z.M)| & [\ref{ssub:in_out_for_circle_and_disk}] \\ +\Imeth{circle}{in\_out\_disk (pt)} & |C.OA : in_out_disk (z.M)| & [\ref{ssub:in_out_for_circle_and_disk}] \\ \Imeth{circle}{draw ()} & for further use &\\ -\Imeth{circle}{circles\_position (C1)} & result = string &Refer to (\ref{sub:circles_position}) \\ +\Imeth{circle}{circles\_position (C1)} & result = string & [\ref{ssub:circles_position}] \\ \bottomrule \end{tabular} \egroup % subsection methods_circle (end) -\subsubsection{Altshiller} % (fold) -\label{ssub:altshiller} +\subsubsection{Method \Imeth{circle}{new}} % (fold) +\label{ssub:method_imeth_circle_new} + +A circle is defined by its centre and a point through which it passes. +\vspace{6pt} \begin{minipage}{.5\textwidth} \begin{Verbatim} \begin{tkzelements} - z.P = point : new (0,0) - z.Q = point : new (5,0) - z.I = point : new (3,2) - C.QI = circle : new (z.Q,z.I) - C.PE = C.QI : orthogonal_from (z.P) - z.E = C.PE.through - C.QE = circle : new (z.Q,z.E) - _,z.F = intersection (C.PE,C.QE) - z.A = C.PE: point (1/9) - L.AE = line : new (z.A,z.E) - _,z.C = intersection (L.AE,C.QE) - L.AF = line : new (z.A,z.F) - L.CQ = line : new (z.C,z.Q) - z.D = intersection (L.AF,L.CQ) +z.O = point: new (0,0) +z.A = point: new (2,1) +C = circle: new (z.O , z.A) \end{tkzelements} -\begin{tikzpicture} - \tkzGetNodes - \tkzDrawCircles(P,E Q,E) - \tkzDrawLines[add=0 and 1](P,Q) - \tkzDrawLines[add=0 and 2](A,E) - \tkzDrawSegments(P,E E,F F,C A,F C,D) - \tkzDrawPoints(P,Q,E,F,A,C,D) - \tkzLabelPoints(P,Q,E,F,A,C,D) +\begin{tikzpicture}[gridded] +\tkzGetNodes +\tkzDrawCircles(O,A) +\tkzDrawPoints(A,O) +\tkzLabelPoints[right](A,O) \end{tikzpicture} \end{Verbatim} \end{minipage} -\hspace*{\fill} \begin{minipage}{.5\textwidth} - \begin{tkzelements} - scale =.5 - z.P = point : new (0,0) - z.Q = point : new (5,0) - z.I = point : new (3,2) - C.QI = circle : new (z.Q,z.I) - C.PE = C.QI : orthogonal_from (z.P) - z.E = C.PE.through - C.QE = circle : new (z.Q,z.E) - _,z.F = intersection (C.PE,C.QE) - z.A = C.PE: point (1/9) - L.AE = line : new (z.A,z.E) - _,z.C = intersection (L.AE,C.QE) - L.AF = line : new (z.A,z.F) - L.CQ = line : new (z.C,z.Q) - z.D = intersection (L.AF,L.CQ) - \end{tkzelements} - \begin{tikzpicture} - \tkzGetNodes - \tkzDrawCircles(P,E Q,E) - \tkzDrawLines[add=0 and 1](P,Q) - \tkzDrawLines[add=0 and 2](A,E) - \tkzDrawSegments(P,E E,F F,C A,F C,D) - \tkzDrawPoints(P,Q,E,F,A,C,D) - \tkzLabelPoints(P,Q,E,F,A,C,D) - \end{tikzpicture} +\begin{tkzelements} +z.O = point: new (0,0) +z.A = point: new (2,1) +C = circle: new (z.O , z.A) +\end{tkzelements} + \begin{center} +\begin{tikzpicture}[gridded] +\tkzGetNodes +\tkzDrawCircles(O,A) +\tkzDrawPoints(A,O) +\tkzLabelPoints[right](A,O) +\end{tikzpicture} + \end{center} + \end{minipage} -%subsubsection altshiller (end) -\subsubsection{Lemoine} % (fold) -\label{ssub:lemoine} +% subsubsection method_imeth_circle_new (end) +\subsubsection{Method \Imeth{circle}{radius}} % (fold) +\label{ssub:method_imeth_circle_radius} + + +We define a circle with its centre and radius. + +\vspace{6pt} \begin{minipage}{.5\textwidth} \begin{Verbatim} \begin{tkzelements} - scale = 1.25 - z.A = point: new (1,0) - z.B = point: new (5,2) - z.C = point: new (1.2,2) - T = triangle: new(z.A,z.B,z.C) - z.O = T.circumcenter - C.OA = circle: new (z.O,z.A) - L.tA = C.OA: tangent_at (z.A) - L.tB = C.OA: tangent_at (z.B) - L.tC = C.OA: tangent_at (z.C) - z.P = intersection (L.tA,T.bc) - z.Q = intersection (L.tB,T.ca) - z.R = intersection (L.tC,T.ab) +z.O = point: new (0,0) +z.A = point: new (2,1) +C = circle: radius (z.A , math.sqrt(5)) +z.T = C.through \end{tkzelements} -\begin{tikzpicture} - \tkzGetNodes - \tkzDrawPolygon[teal](A,B,C) - \tkzDrawCircle(O,A) - \tkzDrawPoints(A,B,C,P,Q,R) - \tkzLabelPoints(A,B,C,P,Q,R) - \tkzDrawLine[blue](Q,R) - \tkzDrawLines[red](A,P B,Q R,C) - \tkzDrawSegments(A,R C,P C,Q) +\begin{tikzpicture}[gridded] +\tkzGetNodes +\tkzDrawCircles(A,T) +\tkzDrawPoints(A,O,T) +\tkzLabelPoints[right](A,O,T) +\end{tikzpicture} +\end{Verbatim} +\end{minipage} +\begin{minipage}{.5\textwidth} + \begin{tkzelements} + z.O = point: new (0,0) + z.A = point: new (2,1) + C = circle: radius (z.A , math.sqrt(5)) + z.T = C.through + \end{tkzelements} + \begin{center} + \begin{tikzpicture}[gridded] + \tkzGetNodes + \tkzDrawCircles(A,T) + \tkzDrawPoints(A,O,T) + \tkzLabelPoints[right](A,O,T) + \end{tikzpicture} + \end{center} +\end{minipage} +% subsubsection method_imeth_circle_radius (end) + +\subsubsection{Method \Imeth{circle}{diameter}} % (fold) +\label{ssub:method_imeth_circle_diameter} + +A circle is defined by two points at the ends of one of its diameters. + +\vspace{6pt} +\begin{minipage}{.5\textwidth} +\begin{Verbatim} +\begin{tkzelements} +z.A = point: new (0,0) +z.B = point: new (2,1) +C = circle: diameter (z.A , z.B) +z.O = C.center +z.T = C.through +\end{tkzelements} +\begin{tikzpicture}[gridded] +\tkzGetNodes +\tkzDrawCircles(O,T) +\tkzDrawPoints(A,B,O,T) +\tkzLabelPoints[right](A,B,O,T) \end{tikzpicture} \end{Verbatim} +\end{minipage} +\begin{minipage}{.5\textwidth} +\begin{tkzelements} +z.A = point: new (0,0) +z.B = point: new (2,1) +C = circle: diameter (z.A , z.B) +z.O = C.center +z.T = C.through +\end{tkzelements} + \begin{center} +\begin{tikzpicture}[gridded] +\tkzGetNodes +\tkzDrawCircles(O,T) +\tkzDrawPoints(A,B,O,T) +\tkzLabelPoints[right](A,B,O,T) +\end{tikzpicture} + \end{center} +\end{minipage} +% subsubsection method_imeth_circle_diameter (end) +\subsubsection{Method \Imeth{circle}{antipode}} % (fold) +\label{ssub:method_imeth_circle_antipode} +This method is used to define a point that is diametrically opposed to a point on a given circle. + +\vspace{6pt} +\begin{minipage}{.5\textwidth} +\begin{Verbatim} +\begin{tkzelements} +z.A = point: new (0,0) +z.O = point: new (2,1) +C = circle: new (z.O , z.A) +z.B = C : antipode (z.A) +\end{tkzelements} +\begin{tikzpicture}[gridded] +\tkzGetNodes +\tkzDrawCircles(O,A) +\tkzDrawPoints(A,B,O) +\tkzLabelPoints[right](A,B,O) +\end{tikzpicture} +\end{Verbatim} \end{minipage} \begin{minipage}{.5\textwidth} \begin{tkzelements} -scale = .75 -z.A = point: new (1,0) -z.B = point: new (5,2) -z.C = point: new (1.2,2) -T = triangle: new(z.A,z.B,z.C) -z.O = T.circumcenter -C.OA = circle: new (z.O,z.A) -L.tA = C.OA: tangent_at (z.A) -L.tB = C.OA: tangent_at (z.B) -L.tC = C.OA: tangent_at (z.C) -z.R = intersection (L.tC,T.ab) -z.P = intersection (L.tA,T.bc) -z.Q = intersection (L.tB,T.ca) -\end{tkzelements} -\hspace*{\fill} -\begin{tikzpicture}[rotate=90] -\tkzGetNodes -\tkzDrawPolygon[teal](A,B,C) +z.A = point: new (0,0) +z.O = point: new (2,1) +C = circle: new (z.O , z.A) +z.B = C : antipode (z.A) +\end{tkzelements} + \begin{center} +\begin{tikzpicture}[gridded] +\tkzGetNodes +\tkzDrawCircles(O,A) +\tkzDrawPoints(A,B,O) +\tkzLabelPoints[right](A,B,O) +\end{tikzpicture} + \end{center} +\end{minipage} + + +% subsubsection method_imeth_circle_antipode (end) + +\subsubsection{Method \Imeth{circle}{midarc}} % (fold) +\label{ssub:method_imeth_circle_midarc} +The definition given in [ \href{https://mathworld.wolfram.com/Mid-ArcPoints.html}{Weisstein, Eric W. "Mid-Arc Points." From MathWorld--A Wolfram Web Resource.}] is as follows: +The mid-arc points of a triangle as defined by Johnson (1929) are the points on the circumcircle of the triangle which lie half-way along each of the three arcs determined by the vertices. These points arise in the definition of the Fuhrmann circle and Fuhrmann triangle, and lie on the extensions of the perpendicular bisectors of the triangle sides drawn from the circumcenter. + +The definition I use here is more general: the defined point is simply the point that divides an arc into two arcs of the same length. + +\vspace{6pt} +\begin{minipage}{.5\textwidth} +\begin{Verbatim} +\begin{tkzelements} +z.A = point: new (0,0) +z.O = point: new (2,1) +C = circle: new (z.O , z.A) +z.B = C : point (0.25) +z.M = C : midarc (z.A,z.B) +\end{tkzelements} +\begin{tikzpicture}[gridded] +\tkzGetNodes +\tkzDrawCircles(O,A) +\tkzDrawPoints(A,B,O,M) +\tkzLabelPoints[right](A,B,O,M) +\end{tikzpicture} +\end{Verbatim} +\end{minipage} +\begin{minipage}{.5\textwidth} +\begin{tkzelements} +z.A = point: new (0,0) +z.O = point: new (2,1) +C = circle: new (z.O , z.A) +z.B = C : point (0.25) +z.M = C : midarc (z.A,z.B) +\end{tkzelements} + \begin{center} +\begin{tikzpicture}[gridded] +\tkzGetNodes +\tkzDrawCircles(O,A) +\tkzDrawPoints(A,B,O,M) +\tkzLabelPoints[right](A,B,O,M) +\end{tikzpicture} + \end{center} +\end{minipage} + +% subsubsection method_imeth_circle_midarc (end) + +\subsubsection{Method \Imeth{circle}{point (r)}} % (fold) +\label{ssub:method_imeth_circle_point} + +Let $C$ be a circle with centre $O$ and passing through $A$ such that |z.A = C.through|. This method defines a point $M$ on the circle from A such that the ratio of the length of $\widearc{AM}$ to the circumference of the circle is equal to $r$. + +In the next example, $r=\dfrac{1}{6}$ corresponds to $\dfrac{\pi/3}{2\pi}$, so the angle $\widehat{AOE}$ has the measure $\pi/3$. + +If $r=.5$ the defined point is diametrically opposed to $A$, the angle $\widehat{AOD}$ has the measure $\pi$. + +\vspace{6pt} +\begin{minipage}{.5\textwidth} +\begin{Verbatim} + \begin{tkzelements} + z.O = point: new (0,0) + z.A = point: new (1,2) + C.OA = circle: new (z.O,z.A) + z.B = C.OA: point (1/6) + z.C = C.OA: point (0.25) + z.D = C.OA: point (0.5) +\end{tkzelements} +\begin{tikzpicture} +\tkzGetNodes \tkzDrawCircle(O,A) -\tkzDrawPoints(A,B,C,P,Q,R) -\tkzLabelPoints(A,B,C,P,Q,R) -\tkzDrawLine[blue](Q,R) -\tkzDrawLines[red](A,P B,Q R,C) -\tkzDrawSegments(A,R C,P C,Q) +\tkzDrawPoints(A,...,D,O) +\tkzLabelPoints(A,...,D,O) \end{tikzpicture} +\end{Verbatim} \end{minipage} -%\caption{Lemoine line} -% subsubsection lemoine (end) +\begin{minipage}{.5\textwidth} + \begin{tkzelements} + z.O = point: new (0,0) + z.A = point: new (1,2) + C.OA = circle: new (z.O,z.A) + z.B = C.OA: point (1/6) + z.C = C.OA: point (0.25) + z.D = C.OA: point (0.5) +\end{tkzelements} +\begin{center} +\begin{tikzpicture} +\tkzGetNodes +\tkzDrawCircle(O,A) +\tkzDrawPoints(A,...,D,O) +\tkzLabelPoints(A,...,D,O) +\end{tikzpicture} +\end{center} +\end{minipage} -\subsubsection{Inversion: point, line and circle} % (fold) + +% subsubsection method_imeth_circle_point (end) + +\subsubsection{Method \Imeth{circle}{inversion (obj)}: point, line and circle} % (fold) \label{ssub:inversion} The \code{inversion} method can be used on a point, a line or a circle. Depending on the type of object, the function determines the correct algorithm to use. -\subsubsection{Inversion: point} % (fold) -\label{ssub:inversion_point} +\paragraph{Inversion: point} % (fold) +\label{par:inversion_point} The \code{inversion} method can be used on a point, a group of points, a line or a circle. Depending on the type of object, the function determines the correct algorithm to use. @@ -308,20 +438,23 @@ The \code{inversion} method can be used on a point, a group of points, a line or z.d = C.oa: inversion (z.c) p = C.oa: power (z.c) \end{tkzelements} -\hspace*{\fill} -\begin{tikzpicture} - \tkzGetNodes - \tkzDrawCircle(o,a) - \tkzDrawSegments(o,a o,c) - \tkzDrawPoints(a,o,c,d) - \tkzLabelPoints(a,o,c,d) - \tkzLabelSegment[sloped,above=1em](c,d){% - La puissance de c est \tkzUseLua{p}} - \end{tikzpicture} + +\begin{center} + \begin{tikzpicture} + \tkzGetNodes + \tkzDrawCircle(o,a) + \tkzDrawSegments(o,a o,c) + \tkzDrawPoints(a,o,c,d) + \tkzLabelPoints(a,o,c,d) + \tkzLabelSegment[sloped,above=1em](c,d){% + La puissance de c est \tkzUseLua{p}} + \end{tikzpicture} +\end{center} + \end{minipage} -\subsubsection{Inversion: line} % (fold) -\label{ssub:inversion_line} +\paragraph{Inversion: line} % (fold) +\label{par:inversion_line} The result is either a straight line or a circle. @@ -333,7 +466,7 @@ The result is either a straight line or a circle. C.oa = circle: new (z.o,z.a) z.c = point: new (3,2) z.d = point: new (0,4) - L.cd = line: new (z.c,z.d) + L.cd = line: new (z.c,z.d) C.OH = C.oa: inversion (L.cd) z.O,z.H = get_points(C.OH) \end{tkzelements} @@ -357,19 +490,22 @@ The result is either a straight line or a circle. C.OH = C.oa: inversion (L.cd) z.O,z.H = get_points(C.OH) \end{tkzelements} -\hspace*{\fill} -\begin{tikzpicture} - \tkzGetNodes - \tkzDrawCircles(o,a) - \tkzDrawCircles[new](O,H) - \tkzDrawLines(c,d o,H) - \tkzDrawPoints(a,o,c,d,H) - \tkzLabelPoints(a,o,c,d,H) - \end{tikzpicture} + +\begin{center} + \begin{tikzpicture} + \tkzGetNodes + \tkzDrawCircles(o,a) + \tkzDrawCircles[new](O,H) + \tkzDrawLines(c,d o,H) + \tkzDrawPoints(a,o,c,d,H) + \tkzLabelPoints(a,o,c,d,H) + \end{tikzpicture} +\end{center} + \end{minipage} - \subsubsection{Inversion: circle} % (fold) - \label{ssub:inversion_circle} +\paragraph{Inversion: circle} % (fold) + \label{par:inversion_circle} The result is either a straight line or a circle. @@ -423,19 +559,697 @@ color = "orange" else z.f,z.b = get_points(obj) end color = "orange" \end{tkzelements} - \hspace{\fill} - \begin{tikzpicture} - \tkzGetNodes - \tkzDrawCircles[black](o,a) - \tkzDrawCircles[teal](c,o e,d) - \tkzDrawCircles[\tkzUseLua{color}](f,b) - \tkzDrawLines[\tkzUseLua{color}](p,q) - \tkzDrawPoints(a,...,f,o,p,q) - \tkzLabelPoints(a,...,f,o,p,q) - \end{tikzpicture} + + \begin{center} + \begin{tikzpicture} + \tkzGetNodes + \tkzDrawCircles[black](o,a) + \tkzDrawCircles[teal](c,o e,d) + \tkzDrawCircles[\tkzUseLua{color}](f,b) + \tkzDrawLines[\tkzUseLua{color}](p,q) + \tkzDrawPoints(a,...,f,o,p,q) + \tkzLabelPoints(a,...,f,o,p,q) + \end{tikzpicture} + \end{center} \end{minipage} + % subsubsection inversion (end) +\subsubsection{Method \Imeth{circle}{internal\_similitude}} % (fold) +\label{ssub:method_imeth_circle_internal__similitude} + +Circles are geometrically similar to one another and mirror symmetric. Hence, a pair of circles has both types of homothetic centers, internal and external, unless the centers are equal or the radii are equal; these exceptional cases are treated after general position. These two homothetic centers lie on the line joining the centers of the two given circles, which is called the line of centers. Circles with radius zero can also be included (see exceptional cases), and negative radius can also be used, switching external and internal. [Wikipedia] + +\begin{minipage}{.5\textwidth} +\begin{Verbatim} +\begin{tkzelements} + scale = 0.75 +z.A = point : new ( 0 , 0 ) +z.a = point : new ( 2 , 2 ) +z.B = point : new ( 5 , 2 ) +z.b = point : new ( 6 , 1 ) +C.Aa = circle : new (z.A,z.a) +C.Bb = circle : new (z.B,z.b) +z.I = C.Aa : internal_similitude (C.Bb) +L.TA1,L.TA2 = C.Aa : tangent_from (z.I) +z.A1 = L.TA1.pb +z.A2 = L.TA2.pb +\end{tkzelements} +\begin{tikzpicture} +\tkzGetNodes +\tkzDrawCircles(A,a B,b) +\tkzDrawPoints(A,a,B,b,I,A1,A2) +\tkzDrawLines[add = 1 and 2](A1,I A2,I) +\end{tikzpicture} +\end{Verbatim} +\end{minipage} +\begin{minipage}{.5\textwidth} +\begin{tkzelements} + scale = .75 +z.A = point : new ( 0 , 0 ) +z.a = point : new ( 2 , 2 ) +z.B = point : new ( 5 , 2 ) +z.b = point : new ( 6 , 1 ) +C.Aa = circle : new (z.A,z.a) +C.Bb = circle : new (z.B,z.b) +z.I = C.Aa : internal_similitude (C.Bb) +L.TA1,L.TA2 = C.Aa : tangent_from (z.I) +z.A1 = L.TA1.pb +z.A2 = L.TA2.pb +\end{tkzelements} +\begin{center} + \begin{tikzpicture} + \tkzGetNodes + \tkzDrawCircles(A,a B,b) + \tkzDrawPoints(A,a,B,b,I,A1,A2) + \tkzDrawLines[add = 1 and 2](A1,I A2,I) + \end{tikzpicture} +\end{center} +\end{minipage} + +% subsubsection method_imeth_circle_internal__similitude (end) + +\subsubsection{Method \Imeth{circle}{external\_similitude}} % (fold) +\label{ssub:method_imeth_circle_external__similitude} + +\begin{minipage}{.5\textwidth} +\begin{Verbatim} +\begin{tkzelements} +z.A = point : new ( 0 , 0 ) +z.a = point : new ( 2 , 2 ) +z.B = point : new ( 3 , 2 ) +z.b = point : new ( 4 , 1 ) +C.Aa = circle : new (z.A,z.a) +C.Bb = circle : new (z.B,z.b) +z.I = C.Aa : external_similitude (C.Bb) +L.TA1,L.TA2 = C.Aa : tangent_from (z.I) +z.A1 = L.TA1.pb +z.A2 = L.TA2.pb +\end{tkzelements} +\begin{tikzpicture} +\tkzGetNodes +\tkzDrawCircles(A,a B,b) +\tkzDrawPoints(A,a,B,b,I,A1,A2) +\tkzDrawLines[add = .5 and .2](A1,I A2,I) +\end{tikzpicture} +\end{Verbatim} +\end{minipage} +\begin{minipage}{.5\textwidth} +\begin{tkzelements} + scale = .75 +z.A = point : new ( 0 , 0 ) +z.a = point : new ( 2 , 2 ) +z.B = point : new ( 3 , 2 ) +z.b = point : new ( 4 , 1 ) +C.Aa = circle : new (z.A,z.a) +C.Bb = circle : new (z.B,z.b) +z.I = C.Aa : external_similitude (C.Bb) +L.TA1,L.TA2 = C.Aa : tangent_from (z.I) +z.A1 = L.TA1.pb +z.A2 = L.TA2.pb +\end{tkzelements} +\begin{center} +\begin{tikzpicture} +\tkzGetNodes +\tkzDrawCircles(A,a B,b) +\tkzDrawPoints(A,a,B,b,I,A1,A2) +\tkzDrawLines[add = .5 and .2](A1,I A2,I) +\end{tikzpicture} +\end{center} +\end{minipage} +% subsubsection method_imeth_circle_external__similitude (end) + + +\subsubsection{Method \Imeth{circle}{radical\_center (C1,C2)}} % (fold) +\label{ssub:radical_center} + +The radical lines of three circles are concurrent in a point known as the radical center (also called the power center). This theorem was originally demonstrated by Monge (Dörrie 1965, p. 153). [\href{https://mathworld.wolfram.com/RadicalCenter.html}{Weisstein, Eric W. "Radical Center." From MathWorld--A Wolfram Web Resource. } +] + +Here I have also named \code{radical\_center} the point of intersection of the radical axis of two circles with the centre axis. See the following example for how to obtain point $H$. + + +\begin{minipage}[t]{.5\textwidth}\vspace{0pt}% +\begin{Verbatim} +\begin{tkzelements} + z.O = point : new (0,0) + z.x = point : new (1,0) + z.y = point : new (4,0) + z.z = point : new (2,0) + z.Op = point : new (4,2) + z.P = point : new (2,2.5) + C.Ox = circle : new (z.O,z.x) + C.Pz = circle : new (z.P,z.z) + C.Opy = circle : new (z.Op,z.y) + z.ap,z.a = intersection (C.Ox,C.Pz) + z.bp,z.b = intersection (C.Opy,C.Pz) + L.aap = line : new (z.a,z.ap) + L.bbp = line : new (z.b,z.bp) + -- z.X = intersection (L.aap,L.bbp) + z.X = C.Ox : radical_center(C.Pz,C.Opy) + -- L.OOp = line : new (z.O,z.Op) + -- z.H = L.OOp : projection (z.X) + z.H = C.Ox : radical_center(C.Opy) +\end{tkzelements} +\begin{tikzpicture} + \tkzGetNodes + \tkzDrawCircles(O,a O',b P,z) + \tkzDrawLines[red](a,X b',X H,X O,O') + \tkzDrawPoints(O,O',P,a,a',b,b',X,H) + \tkzLabelPoints[below right](O,O',P,H) +\end{tikzpicture} +\end{Verbatim} +\end{minipage} +\begin{minipage}[t]{.5\textwidth}\vspace{0pt}% +\begin{tkzelements} +z.O = point : new (0,0) +z.x = point : new (1,0) +z.y = point : new (4,0) +z.z = point : new (2,0) +z.Op = point : new (4,2) +z.P = point : new (2,2.5) +C.Ox = circle : new (z.O,z.x) +C.Pz = circle : new (z.P,z.z) +C.Opy = circle : new (z.Op,z.y) +z.ap,z.a = intersection (C.Ox,C.Pz) +z.bp,z.b = intersection (C.Opy,C.Pz) +L.aap = line : new (z.a,z.ap) +L.bbp = line : new (z.b,z.bp) +z.X = intersection (L.aap,L.bbp) +L.OOp = line : new (z.O,z.Op) +z.H = L.OOp : projection (z.X) +\end{tkzelements} + +\begin{center} + \begin{tikzpicture} + \tkzGetNodes + \tkzDrawCircles(O,a O',b P,z) + \tkzDrawLines[red](a,X b',X H,X O,O') + \tkzDrawPoints(O,O',P,a,a',b,b',X,H) + \tkzLabelPoints[below right](O,O',P,H) + \end{tikzpicture} +\end{center} + +\end{minipage} +% subsubsection radical_center (end) + +\subsubsection{Method \Imeth{circle}{radical\_axis}(C)} % (fold) +\label{ssub:method_imeth_circle_radical__axis_c} + +The radical line, also called the radical axis, is the locus of points of equal circle power with respect to two nonconcentric circles. By the chordal theorem, it is perpendicular to the line of centers (Dörrie 1965). [\href{https://mathworld.wolfram.com/RadicalLine.html}{Weisstein, Eric W. "Radical Line." From MathWorld--A Wolfram Web Resource.} ] + +\vspace{6pt} +\paragraph{Radical axis v1} % (fold) +\label{par:radical_axis_v1} + +\begin{Verbatim} +\begin{tkzelements} +scale = .75 +z.X = point : new (0,0) +z.B = point : new (2,2) +z.Y = point : new (7,1) +z.Ap = point : new (8,-1) +L.XY = line : new (z.X,z.Y) +C.XB = circle : new (z.X,z.B) +C.YAp = circle : new (z.Y,z.Ap) +z.E,z.F = get_points (C.XB : radical_axis (C.YAp)) +z.A = C.XB : point (0.4) +T.ABAp = triangle: new (z.A,z.B,z.Ap) +z.O = T.ABAp.circumcenter +C.OAp = circle : new (z.O,z.Ap) +_,z.Bp = intersection (C.OAp,C.YAp) +L.AB = line : new (z.A,z.B) +L.ApBp = line : new (z.Ap,z.Bp) +z.M = intersection (L.AB,L.ApBp) +z.H = L.XY : projection (z.M) +\end{tkzelements} +\begin{tikzpicture} + \tkzGetNodes + \tkzDrawCircles(X,B Y,A') + \tkzDrawArc[dashed,delta=30](O,A')(A) + \tkzDrawPoints(A,B,A',B',M,H,X,Y,O,E,F) + \tkzDrawLines[red](A,M A',M X,Y E,F) + \tkzDrawLines[red,add=1 and 3](M,H) +\end{tikzpicture} +\end{Verbatim} + +\begin{tkzelements} +scale = .75 +z.X = point : new (0,0) +z.B = point : new (2,2) +z.Y = point : new (7,1) +z.Ap = point : new (8,-1) +L.XY = line : new (z.X,z.Y) +C.XB = circle : new (z.X,z.B) +C.YAp = circle : new (z.Y,z.Ap) +z.E,z.F = get_points (C.XB : radical_axis (C.YAp)) +z.A = C.XB : point (0.4) +T.ABAp = triangle: new (z.A,z.B,z.Ap) +z.O = T.ABAp.circumcenter +C.OAp = circle : new (z.O,z.Ap) +_,z.Bp = intersection (C.OAp,C.YAp) +L.AB = line : new (z.A,z.B) +L.ApBp = line : new (z.Ap,z.Bp) +z.M = intersection (L.AB,L.ApBp) +z.H = L.XY : projection (z.M) +\end{tkzelements} + +\begin{center} + \begin{tikzpicture} + \tkzGetNodes + \tkzDrawCircles(X,B Y,A') + \tkzDrawArc[dashed,delta=30](O,A')(A) + \tkzDrawPoints(A,B,A',B',M,H,X,Y,O,E,F) + \tkzDrawLines[red](A,M A',M X,Y E,F) + \tkzDrawLines[red,add=1 and 3](M,H) + \end{tikzpicture} +\end{center} +% paragraph radical_axis_v1 (end) + +\paragraph{Radical axis v2} % (fold) +\label{par:radical_axis_v2} + +\begin{Verbatim} +\begin{tkzelements} +scale = 1.25 +z.O = point : new (-1,0) +z.Op = point : new (4,-1) +z.B = point : new (0,2) +z.D = point : new (4,0) +C.OB = circle : new (z.O,z.B) +C.OpD = circle : new (z.Op,z.D) +L.EF = C.OB : radical_axis (C.OpD) +z.E,z.F = get_points (L.EF) +z.M = L.EF : point (.75) +L.MT,L.MTp = C.OB : tangent_from (z.M) +_,z.T = get_points (L.MT) +_,z.Tp = get_points (L.MTp) +L.MK,L.MKp = C.OpD : tangent_from (z.M) +_,z.K = get_points (L.MK) +_,z.Kp = get_points (L.MKp) +\end{tkzelements} +\begin{tikzpicture} + \tkzGetNodes + \tkzDrawCircles(O,B O',D) + \tkzDrawLine(E,F) + \tkzDrawLine[add=.5 and .5](O,O') + \tkzDrawLines[add = 0 and .5](M,T M,T' M,K M,K') + \tkzDrawCircle(M,T) + \tkzDrawPoints(O,O',T,M,T',K,K') + \tkzLabelPoints(O,O',T,T',K,K',M) +\end{tikzpicture} +\end{Verbatim} + +\begin{tkzelements} +scale =1.25 +z.O = point : new (-1,0) +z.Op = point : new (4,-1) +z.B = point : new (0,2) +z.D = point : new (4,0) +C.OB = circle : new (z.O,z.B) +C.OpD = circle : new (z.Op,z.D) +L.EF = C.OB : radical_axis (C.OpD) +z.E,z.F = get_points (L.EF) +z.M = L.EF : point (.75) +L.MT,L.MTp = C.OB : tangent_from (z.M) +_,z.T = get_points (L.MT) +_,z.Tp = get_points (L.MTp) +L.MK,L.MKp = C.OpD : tangent_from (z.M) +_,z.K = get_points (L.MK) +_,z.Kp = get_points (L.MKp) +\end{tkzelements} + +\begin{center} + \begin{tikzpicture} + \tkzGetNodes + \tkzDrawCircles(O,B O',D) + \tkzDrawLine(E,F) + \tkzDrawLine[add=.5 and .5](O,O') + \tkzDrawLines[add = 0 and .5](M,T M,T' M,K M,K') + \tkzDrawCircle(M,T) + \tkzDrawPoints(O,O',T,M,T',K,K') + \tkzLabelPoints(O,O',T,T',K,K',M) + \end{tikzpicture} +\end{center} +% paragraph radical_axis_v2 (end) + +\paragraph{Radical axis v3} % (fold) +\label{par:radical_axis_v3} + +\begin{Verbatim} + \begin{tkzelements} + z.O = point : new (0,0) + z.B = point : new (4,0) + z.Op = point : new (6,0) + C.OB = circle : new (z.O,z.B) + C.OpB = circle : new (z.Op,z.B) + L.EF = C.OB : radical_axis (C.OpB) + z.E,z.F = get_points(L.EF) + z.M = L.EF : point (0.2) + L = C.OB : tangent_from (z.M) + _,z.T = get_points (L) + L = C.OpB : tangent_from (z.M) + _,z.Tp = get_points (L) +\end{tkzelements} +\begin{tikzpicture} + \tkzGetNodes + \tkzDrawCircles(O,B O',B) + \tkzDrawSegments(M,T M,T') + \tkzDrawSegments(E,F) + \tkzDrawLine[add=.5 and .5](O,O') + \tkzDrawPoints(O,B,O',E,F,M,T,T') + \tkzLabelPoints(O,O',B,E,F,T,T') + \tkzDrawArc(M,T')(T) +\end{tikzpicture} +\end{Verbatim} + +\begin{tkzelements} +z.O = point : new (0,0) +z.B = point : new (4,0) +z.Op = point : new (6,0) +C.OB = circle : new (z.O,z.B) +C.OpB = circle : new (z.Op,z.B) +L.EF = C.OB : radical_axis (C.OpB) +z.E,z.F = get_points(L.EF) +z.M = L.EF : point (0.2) +L = C.OB : tangent_from (z.M) +_,z.T = get_points (L) +L = C.OpB : tangent_from (z.M) +_,z.Tp = get_points (L) +\end{tkzelements} + +\begin{center} + \begin{tikzpicture} + \tkzGetNodes + \tkzDrawCircles(O,B O',B) + \tkzDrawSegments(M,T M,T') + \tkzDrawSegments(E,F) + \tkzDrawLine[add=.5 and .5](O,O') + \tkzDrawPoints(O,B,O',E,F,M,T,T') + \tkzLabelPoints(O,O',B,E,F,T,T') + \tkzDrawArc(M,T')(T) + \end{tikzpicture} +\end{center} +% paragraph radical_axis_v3 (end) + +\paragraph{Radical axis v4} % (fold) +\label{par:radical_axis_v4} + +\begin{Verbatim} +\begin{tkzelements} + z.O = point : new (0,0) + z.B = point : new (5,0) + z.Op = point : new (3,0) + C.OB = circle : new (z.O,z.B) + C.OpB = circle : new (z.Op,z.B) + L.EF = C.OB : radical_axis (C.OpB) + z.E,z.F = get_points(L.EF) + z.H = L.EF.mid + z.M = L.EF : point (.8) + _,L = C.OB : tangent_from (z.M) + _,z.T = get_points (L) + _,L = C.OpB : tangent_from (z.M) + _,z.Tp = get_points (L) +\end{tkzelements} +\begin{tikzpicture} + \tkzGetNodes + \tkzDrawCircles(O,B O',B) + \tkzDrawSegments(M,T M,T') + \tkzDrawSegments(E,F) + \tkzDrawLine[add=.3 and .3](O,H) + \tkzDrawPoints(O,O',B,E,H,M) + \tkzLabelPoints[below right](O,O',E,F,M,T,T') + \tkzDrawArc(M,B)(T) +\end{tikzpicture} +\end{Verbatim} + +\begin{tkzelements} + z.O = point : new (0,0) + z.B = point : new (5,0) + z.Op = point : new (3,0) + C.OB = circle : new (z.O,z.B) + C.OpB = circle : new (z.Op,z.B) + L.EF = C.OB : radical_axis (C.OpB) + z.E,z.F = get_points(L.EF) + z.H = L.EF.mid + z.M = L.EF : point (.8) + _,L = C.OB : tangent_from (z.M) + _,z.T = get_points (L) + _,L = C.OpB : tangent_from (z.M) + _,z.Tp = get_points (L) +\end{tkzelements} + +\begin{center} + \begin{tikzpicture} + \tkzGetNodes + \tkzDrawCircles(O,B O',B) + \tkzDrawSegments(M,T M,T') + \tkzDrawSegments(E,F) + \tkzDrawLine[add=.3 and .3](O,H) + \tkzDrawPoints(O,O',B,E,H,M) + \tkzLabelPoints[below right](O,O',E,F,M,T,T') + \tkzDrawArc(M,B)(T) + \end{tikzpicture} +\end{center} +% paragraph radical_axis_v4 (end) + +% subsubsection method_imeth_circle_radical__axis_c (end) + + +\subsubsection{Methods \Imeth{circle}{tangent\_at (P)} and \Imeth{circle}{tangent\_from (P)}} % (fold) +\label{ssub:method_imeth_circle_tangent} + +\begin{minipage}{.5\textwidth} +\begin{Verbatim} + \begin{tkzelements} + z.A = point: new (0,0) + z.B = point: new (1,2) + C.AB = circle: new (z.A,z.B) + z.C = point: new (3,-2) + L.T = C.AB : tangent_at (z.B) + z.D = L.T.pb + L.T1,L.T2 = C.AB : tangent_from (z.C) + z.T1 = L.T1.pb + z.T2 = L.T2.pb +\end{tkzelements} +\begin{tikzpicture} +\tkzGetNodes +\tkzDrawCircle(A,B) +\tkzDrawLines[add =.5 and .5](B,D C,T1 C,T2) +\tkzDrawSegments[dashed](A,B A,T1 A,T2) +\tkzDrawPoints(A,...,D,T1,T2) +\tkzLabelPoints[below left](A,T2,C) +\tkzLabelPoints[above right](B,T1,D) +\tkzMarkRightAngles(A,B,D A,T1,C A,T2,C) +\end{tikzpicture} +\end{Verbatim} +\end{minipage} +\begin{minipage}{.5\textwidth} + \begin{tkzelements} + z.A = point: new (0,0) + z.B = point: new (1,2) + C.AB = circle: new (z.A,z.B) + z.C = point: new (3,-2) + L.T = C.AB : tangent_at (z.B) + z.D = L.T.pb + L.T1,L.T2 = C.AB : tangent_from (z.C) + z.T1 = L.T1.pb + z.T2 = L.T2.pb +\end{tkzelements} +\begin{center} + \begin{tikzpicture} + \tkzGetNodes + \tkzDrawCircle(A,B) + \tkzDrawLines[add =.5 and .5](B,D C,T1 C,T2) + \tkzDrawSegments[dashed](A,B A,T1 A,T2) + \tkzDrawPoints(A,...,D,T1,T2) + \tkzLabelPoints[below left](A,T2,C) + \tkzLabelPoints[above right](B,T1,D) + \tkzMarkRightAngles(A,B,D A,T1,C A,T2,C) + \end{tikzpicture} +\end{center} + +\end{minipage} +% subsubsection (end) + +\subsubsection{Common tangent: Angle of two intersecting circles} % (fold) +\label{ssub:common_tangent} + +Let be a tangent common to both circles at $T$ and $T'$ (closest to $C$). Let a secant parallel to this tangent pass through $C$. Then the segment $[TT']$ is seen from the other common point $D$ at an angle equal to half the angle of the two circles. + +\begin{Verbatim} +\begin{tkzelements} + z.A = point : new ( 0 , 0 ) + z.B = point : new ( 5 , 2 ) + L.AB = line : new ( z.A , z.B ) + z.C = point : new ( 1 , 2 ) + C.AC = circle : new (z.A,z.C) + C.BC = circle : new (z.B,z.C) + z.T,z.Tp = C.AC : common_tangent (C.BC) + L.TTp = line : new (z.T,z.Tp) + z.M = C.AC : point (0.45) + L.MC =line : new (z.M,z.C) + z.Mp = intersection (L.MC, C.BC) + L.mm = L.TTp : ll_from (z.C) + _,z.M = intersection (L.mm, C.AC) + z.Mp = intersection (L.mm, C.BC) + _,z.D = intersection (C.AC,C.BC) +\end{tkzelements} +\begin{tikzpicture} + \tkzGetNodes + \tkzDrawCircles(A,C B,C) + \tkzDrawSegments(M,M' A,D B,D A,B C,D T,C T',C) + \tkzDrawSegments[gray](D,M D,M' T,T' D,T D,T') + \tkzDrawPoints(A,B,C,D,M,M',T,T') + \tkzLabelPoints(A,B,D,M) + \tkzLabelPoints[above](C,M',T,T') + \tkzMarkAngles[mark=|,size=.75](T,C,M C,T,T' C,D,T T,D,M) + \tkzMarkAngles[mark=||,size=.75](M',C,T' T,T',C T',D,C M',D,T') +\end{tikzpicture} +\end{Verbatim} + + +\begin{tkzelements} +z.A = point : new ( 0 , 0 ) +z.B = point : new ( 5 , 2 ) +L.AB = line : new ( z.A , z.B ) +z.C = point : new ( 1 , 2 ) +C.AC = circle : new (z.A,z.C) +C.BC = circle : new (z.B,z.C) +z.T,z.Tp = C.AC : common_tangent (C.BC) +L.TTp = line : new (z.T,z.Tp) +z.M = C.AC : point (0.45) +L.MC =line : new (z.M,z.C) +z.Mp = intersection (L.MC, C.BC) +L.mm = L.TTp : ll_from (z.C) +_,z.M = intersection (L.mm, C.AC) +z.Mp = intersection (L.mm, C.BC) +_,z.D = intersection (C.AC,C.BC) +\end{tkzelements} + +\begin{center} + \begin{tikzpicture} + \tkzGetNodes + \tkzDrawCircles(A,C B,C) + \tkzDrawSegments(M,M' A,D B,D A,B C,D T,C T',C) + \tkzDrawSegments[gray](D,M D,M' T,T' D,T D,T') + \tkzDrawPoints(A,B,C,D,M,M',T,T') + \tkzLabelPoints(A,B,D,M) + \tkzLabelPoints[above](C,M',T,T') + \tkzMarkAngles[mark=|,size=.75](T,C,M C,T,T' C,D,T T,D,M) + \tkzMarkAngles[mark=||,size=.75](M',C,T' T,T',C T',D,C M',D,T') + \end{tikzpicture} +\end{center} +% subsubsection common_tangent (end) + +\subsubsection{Method \Imeth{circle}{orthogonal\_from (pt)}} % (fold) +\label{ssub:method_imeth_circle_orthogonal_from_pt} + +In geometry, two circles are said to be orthogonal if their respective tangent lines at the points of intersection are perpendicular (meet at a right angle). [wikipedia] + +This method determines a circle with a given centre, orthogonal to a circle that is also given. + +\begin{Verbatim} +\begin{tkzelements} + scale = .6 + z.C_1 = point: new (0,0) + z.C_2 = point: new (8,0) + z.A = point: new (5,0) + C = circle: new (z.C_1,z.A) + z.S,z.T = get_points (C: orthogonal_from (z.C_2)) +\end{tkzelements} +\begin{tikzpicture} + \tkzGetNodes + \tkzDrawCircles(C_1,T C_2,T) + \tkzDrawSegments(C_1,T C_2,T) + \tkzDrawLine(C_1,C_2) + \tkzMarkRightAngle[fill=teal,% + opacity=.2,size=1](C_1,T,C_2) + \tkzDrawPoints(C_1,C_2,T) + \tkzLabelPoints(C_1,C_2) + \tkzLabelPoints[above](T) + \tkzLabelSegment[left](C_1,T){r} + \tkzLabelSegments[right](C_2,T){$\gamma$} + \tkzLabelSegment[below](C_1,C_2){d} + \tkzLabelCircle[left=10pt](C_1,T)(180){Circle 1} + \tkzLabelCircle[right=10pt](C_2,T)(180){Circle 2} +\end{tikzpicture} +\end{Verbatim} + +\begin{tkzelements} +scale = .6 +z.C_1 = point: new (0,0) +z.C_2 = point: new (8,0) +z.A = point: new (5,0) +C = circle: new (z.C_1,z.A) +z.S,z.T = get_points (C: orthogonal_from (z.C_2)) +\end{tkzelements} + +\begin{center} + \begin{tikzpicture} + \tkzGetNodes + \tkzDrawCircles(C_1,T C_2,T) + \tkzDrawSegments(C_1,T C_2,T) + \tkzDrawLine(C_1,C_2) + \tkzMarkRightAngle[fill=teal,opacity=.2,size=.5](C_1,T,C_2) + \tkzDrawPoints(C_1,C_2,T) + \tkzLabelPoints(C_1,C_2) + \tkzLabelPoints[above](T) + \tkzLabelSegment[left](C_1,T){r} + \tkzLabelSegments[right](C_2,T){$\gamma$} + \tkzLabelSegment[below](C_1,C_2){d} + \tkzLabelCircle[left=10pt](C_1,T)(180){Circle 1} + \tkzLabelCircle[right=10pt](C_2,T)(180){Circle 2} + \end{tikzpicture} +\end{center} + +% subsubsection method_imeth_circle_orthogonal__from_pt (end) + +\subsubsection{Method \Imeth{circle}{orthogonal\_through}} % (fold) +\label{ssub:method_imeth_circle_orthogonal_through} + +\begin{minipage}{.5\textwidth} +\begin{Verbatim} +\begin{tkzelements} + z.O = point: new (0,1) + z.A = point: new (1,0) + z.z1 = point: new (-1.5,-1.5) + z.z2 = point: new (2.5,-1.25) + C.OA = circle: new (z.O,z.A) + C = C.OA: orthogonal_through (z.z1,z.z2) + z.c = C.center +\end{tkzelements} +\begin{tikzpicture} + \tkzGetNodes + \tkzDrawCircle(O,A) + \tkzDrawCircle[new](c,z1) + \tkzDrawPoints[new](O,A,z1,z2,c) + \tkzLabelPoints[right](O,A,z1,z2,c) +\end{tikzpicture} +\end{Verbatim} +\end{minipage} +\begin{minipage}{.5\textwidth}\begin{tkzelements} + z.O = point: new (0,1) + z.A = point: new (1,0) + z.z1 = point: new (-1.5,-1.5) + z.z2 = point: new (2.5,-1.25) + C.OA = circle: new (z.O,z.A) + C = C.OA: orthogonal_through (z.z1,z.z2) + z.c = C.center +\end{tkzelements} + +\begin{center} + \begin{tikzpicture} + \tkzGetNodes + \tkzDrawCircle(O,A) + \tkzDrawCircle[orange](c,z1) + \tkzDrawPoints[orange](O,A,z1,z2,c) + \tkzLabelPoints[right](O,A,z1,z2,c) + \end{tikzpicture} +\end{center} +\end{minipage} +% subsubsection method_imeth_circle_orthogonal__through (end) + \subsubsection{midcircle} % (fold) \label{ssub:midcircle} @@ -473,8 +1287,8 @@ z.H = C.AO.north z.F = C.BP.north z.G = C.BP.south C.IT,C.JV = C.AO : midcircle (C.BP) -z.I,z.T = get_points ( C.IT ) -z.J,z.V = get_points ( C.JV ) +z.I,z.T = get_points (C.IT) +z.J,z.V = get_points (C.JV) z.X,z.Y = intersection (C.AO,C.BP) \end{tkzelements} \end{Verbatim} @@ -493,8 +1307,8 @@ z.X,z.Y = intersection (C.AO,C.BP) z.F = C.BP.north z.G = C.BP.south C.IT,C.JV = C.AO : midcircle (C.BP) - z.I,z.T = get_points ( C.IT ) - z.J,z.V = get_points ( C.JV ) + z.I,z.T = get_points (C.IT) + z.J,z.V = get_points (C.JV) z.X,z.Y = intersection (C.AO,C.BP) \end{tkzelements} \begin{tikzpicture} @@ -520,7 +1334,7 @@ z.X,z.Y = intersection (C.AO,C.BP) \vfill \item One given circle is in the interior of the other given circle. - +\label{midcircle_diameter} \begin{minipage}{.6\textwidth} \begin{Verbatim} \begin{tkzelements} @@ -539,7 +1353,7 @@ z.X,z.Y = intersection (C.AO,C.BP) z.x = C.SV.center z.y = C.UR.center C.IT = C.AO : midcircle (C.BP) - z.I,z.T = get_points ( C.IT ) + z.I,z.T = get_points (C.IT) \end{tkzelements} \end{Verbatim} \end{minipage} @@ -560,7 +1374,7 @@ z.X,z.Y = intersection (C.AO,C.BP) z.x = C.SV.center z.y = C.UR.center C.IT = C.AO : midcircle (C.BP) - z.I,z.T = get_points ( C.IT ) + z.I,z.T = get_points (C.IT) \end{tkzelements} \begin{tikzpicture} \tkzGetNodes @@ -597,7 +1411,7 @@ z.E = C.Aa.north z.F = C.Bb.north L.EF = line : new (z.E,z.F) C.IT = C.Aa : midcircle (C.Bb) -z.I,z.T = get_points ( C.IT ) +z.I,z.T = get_points (C.IT) L.TF = C.Bb : tangent_from (z.I) z.H = intersection (L.TF,C.IT) z.E = intersection (L.TF,C.Aa) @@ -620,7 +1434,7 @@ z.E = C.Aa.north z.F = C.Bb.north L.EF = line : new (z.E,z.F) C.IT = C.Aa : midcircle (C.Bb) -z.I,z.T = get_points ( C.IT ) +z.I,z.T = get_points (C.IT) L.TF = C.Bb : tangent_from (z.I) z.H = intersection (L.TF,C.IT) z.E = intersection (L.TF,C.Aa) @@ -662,7 +1476,7 @@ z.E = C.Aa.north z.F = C.Bb.north L.EF = line : new (z.E,z.F) C.IT = C.Aa : midcircle (C.Bb) -z.I,z.T = get_points ( C.IT ) +z.I,z.T = get_points(C.IT) L.TF = C.Bb : tangent_from (z.I) z.H = intersection (L.TF,C.IT) z.E = intersection (L.TF,C.Aa) @@ -685,7 +1499,7 @@ z.E = C.Aa.north z.F = C.Bb.north L.EF = line : new (z.E,z.F) C.IT = C.Aa : midcircle (C.Bb) -z.I,z.T = get_points ( C.IT ) +z.I,z.T = get_points (C.IT) L.TF = C.Bb : tangent_from (z.I) z.H = intersection (L.TF,C.IT) z.E = intersection (L.TF,C.Aa) @@ -711,14 +1525,14 @@ z.F=L.TF.pb \begin{minipage}{.4\textwidth} \begin{Verbatim} \begin{tkzelements} -z.A = point : new ( 2 , 0 ) -z.B = point : new ( 4 , 0 ) -z.a = point : new ( 1 , 0) -z.b = point : new ( 1 , 0) -C.Aa = circle : new (z.A,z.a) -C.Bb = circle : new (z.B,z.b) -C.IT = C.Aa : midcircle (C.Bb) -z.I,z.T = get_points ( C.IT ) +z.A = point : new ( 2 , 0 ) +z.B = point : new ( 4 , 0 ) +z.a = point : new ( 1 , 0) +z.b = point : new ( 1 , 0) +C.Aa = circle : new (z.A,z.a) +C.Bb = circle : new (z.B,z.b) +C.IT = C.Aa : midcircle (C.Bb) +z.I,z.T = get_points(C.IT) \end{tkzelements} \end{Verbatim} \end{minipage} @@ -731,7 +1545,7 @@ z.b = point : new ( 1 , 0) C.Aa = circle : new (z.A,z.a) C.Bb = circle : new (z.B,z.b) C.IT = C.Aa : midcircle (C.Bb) -z.I,z.T = get_points ( C.IT ) +z.I,z.T = get_points (C.IT) \end{tkzelements} \begin{tikzpicture} @@ -748,206 +1562,205 @@ z.I,z.T = get_points ( C.IT ) \end{enumerate} % subsubsection midcircle (end) -% subsection methods_of_the_class_circle (end) -\subsection{Circles\_position} % (fold) -\label{sub:circles_position} -This function returns a string indicating the position of the circle in relation to another. Useful for creating a function. Cases are: +\subsubsection{Radical circle} % (fold) +\label{ssub:radical_circle} -\begin{itemize} - \item \code{outside} - \item \code{outside tangent} - \item \code{inside tangent} - \item \code{inside} - \item \code{intersect} -\end{itemize} - -\begin{minipage}{.5\textwidth} -\begin{Verbatim} +\begin{minipage}[t]{.5\textwidth}\vspace{0pt}% +\begin{Verbatim} \begin{tkzelements} - z.A = point : new ( 0 , 0 ) - z.a = point : new ( 3 , 0 ) - z.B = point : new ( 2 , 0 ) - z.b = point : new ( 3 , 0 ) - C.Aa = circle: new (z.A,z.a) - C.Bb = circle: new (z.B,z.b) - position = C.Aa : circles_position (C.Bb) - if position == "inside tangent" - then color = "orange" - else color = "blue" end + scale = .5 + z.A = point: new (0,0) + z.B = point: new (6,0) + z.C = point: new (0.8,4) + T.ABC = triangle : new ( z.A,z.B,z.C ) + C.exa = T.ABC : ex_circle () + z.I_a,z.Xa = get_points (C.exa) + C.exb = T.ABC : ex_circle (1) + z.I_b,z.Xb = get_points (C.exb) + C.exc = T.ABC : ex_circle (2) + z.I_c,z.Xc = get_points (C.exc) + C.ortho = C.exa : radical_circle (C.exb,C.exc) + z.w,z.a = get_points (C.ortho) \end{tkzelements} - \begin{tikzpicture} \tkzGetNodes - \tkzDrawCircle(A,a) - \tkzDrawCircle[color=\tkzUseLua{color}](B,b) + \tkzDrawPolygon(A,B,C) + \tkzDrawCircles(I_a,Xa I_b,Xb I_c,Xc) + \tkzDrawCircles[red,thick](w,a) + \tkzDrawPoints(A,B,C) + \tkzLabelPoints(A,B,C) \end{tikzpicture} \end{Verbatim} \end{minipage} -\begin{minipage}{.5\textwidth} + \begin{tkzelements} -z.A = point : new ( 1 , 0 ) -z.a = point : new ( 3 , 0 ) -z.B = point : new ( 2 , 0 ) -z.b = point : new ( 3 , 0 ) -C.Aa = circle: new (z.A,z.a) -C.Bb = circle: new (z.B,z.b) -position = C.Aa : circles_position (C.Bb) -if position == "inside tangent" then color = "orange" else color = "blue" end + scale = .5 + z.A = point: new (0,0) + z.B = point: new (6,0) + z.C = point: new (0.8,4) + T.ABC = triangle : new ( z.A,z.B,z.C ) + C.exa = T.ABC : ex_circle () + z.I_a,z.Xa = get_points (C.exa) + C.exb = T.ABC : ex_circle (1) + z.I_b,z.Xb = get_points (C.exb) + C.exc = T.ABC : ex_circle (2) + z.I_c,z.Xc = get_points (C.exc) + C.ortho = C.exa : radical_circle (C.exb,C.exc) + z.w,z.a = get_points (C.ortho) \end{tkzelements} -\hspace{\fill} -\begin{tikzpicture} -\tkzGetNodes -\tkzDrawCircle(A,a) -\tkzDrawCircle[color=\tkzUseLua{color}](B,b) -\end{tikzpicture}\hspace{\fill} -\end{minipage} -% subsection circles__position (end) -\subsection{Common tangent: Angle of two intersecting circles} % (fold) -\label{sub:common_tangent} +\begin{center} + \begin{tikzpicture} + \tkzGetNodes + \tkzDrawPolygon(A,B,C) + \tkzDrawCircles(I_a,Xa I_b,Xb I_c,Xc) + \tkzDrawCircles[red,thick](w,a) + \tkzDrawPoints(A,B,C) + \tkzLabelPoints(A,B,C) + \end{tikzpicture} +\end{center} +% subsubsection radical_circle (end) -Let be a tangent common to both circles at $T$ and $T'$ (closest to $C$). Let a secant parallel to this tangent pass through $C$. Then the segment $[TT']$ is seen from the other common point $D$ at an angle equal to half the angle of the two circles. +\subsubsection{Method \Imeth{circle}{power(C)}} % (fold) +\label{ssub:method_imeth_circle_power_c} +\paragraph{Power v1} % (fold) +\label{par:power_v1} +\begin{minipage}[t]{.5\textwidth}\vspace{0pt}% \begin{Verbatim} \begin{tkzelements} - z.A = point : new ( 0 , 0 ) - z.B = point : new ( 5 , 2 ) - L.AB = line : new ( z.A , z.B ) - z.C = point : new ( 1 , 2 ) - C.AC = circle : new (z.A,z.C) - C.BC = circle : new (z.B,z.C) - z.T,z.Tp = C.AC : common_tangent (C.BC) - L.TTp = line : new (z.T,z.Tp) - z.M = C.AC : point (0.45) - L.MC =line : new (z.M,z.C) - z.Mp = intersection (L.MC, C.BC) - L.mm = L.TTp : ll_from (z.C) - _,z.M = intersection (L.mm, C.AC) - z.Mp = intersection (L.mm, C.BC) - _,z.D = intersection (C.AC,C.BC) -\end{tkzelements} + z.O = point : new (0,0) + z.A = point : new (2,-2) + z.M = point : new (-6,0) + L.AM = line : new (z.A,z.M) + C.OA = circle : new (z.O,z.A) + z.Ap = C.OA : antipode (z.A) + z.B = intersection (L.AM, C.OA) +\end{tkzelements} \begin{tikzpicture} \tkzGetNodes - \tkzDrawCircles(A,C B,C) - \tkzDrawSegments(M,M' A,D B,D A,B C,D T,C T',C) - \tkzDrawSegments[gray](D,M D,M' T,T' D,T D,T') - \tkzDrawPoints(A,B,C,D,M,M',T,T') - \tkzLabelPoints(A,B,D,M) - \tkzLabelPoints[above](C,M',T,T') - \tkzMarkAngles[mark=|,size=.75](T,C,M C,T,T' C,D,T T,D,M) - \tkzMarkAngles[mark=||,size=.75](M',C,T' T,T',C T',D,C M',D,T') + \tkzDrawCircle(O,A) + \tkzMarkRightAngle[fill=gray!10](A',B,M) + \tkzDrawSegments(M,O A,A' A',B) + \tkzDrawPoints(O,A,A',M,B) + \tkzLabelPoints(O,A,A',M,B) + \tkzDrawSegments[-Triangle](M,A M,A') \end{tikzpicture} \end{Verbatim} - - +\end{minipage} +\begin{minipage}[t]{.5\textwidth} \begin{tkzelements} -z.A = point : new ( 0 , 0 ) -z.B = point : new ( 5 , 2 ) -L.AB = line : new ( z.A , z.B ) -z.C = point : new ( 1 , 2 ) -C.AC = circle : new (z.A,z.C) -C.BC = circle : new (z.B,z.C) -z.T,z.Tp = C.AC : common_tangent (C.BC) -L.TTp = line : new (z.T,z.Tp) -z.M = C.AC : point (0.45) -L.MC =line : new (z.M,z.C) -z.Mp = intersection (L.MC, C.BC) -L.mm = L.TTp : ll_from (z.C) -_,z.M = intersection (L.mm, C.AC) -z.Mp = intersection (L.mm, C.BC) -_,z.D = intersection (C.AC,C.BC) +scale = 1 +z.O = point : new (0,0) +z.A = point : new (2,-2) +z.M = point : new (-6,0) +L.AM = line : new (z.A,z.M) +C.OA = circle : new (z.O,z.A) +z.Ap = C.OA : antipode (z.A) +z.B = intersection (L.AM, C.OA) \end{tkzelements} -\hspace*{\fill} -\begin{tikzpicture} -\tkzGetNodes -\tkzDrawCircles(A,C B,C) -\tkzDrawSegments(M,M' A,D B,D A,B C,D T,C T',C) -\tkzDrawSegments[gray](D,M D,M' T,T' D,T D,T') -\tkzDrawPoints(A,B,C,D,M,M',T,T') -\tkzLabelPoints(A,B,D,M) -\tkzLabelPoints[above](C,M',T,T') -\tkzMarkAngles[mark=|,size=.75](T,C,M C,T,T' C,D,T T,D,M) -\tkzMarkAngles[mark=||,size=.75](M',C,T' T,T',C T',D,C M',D,T') -\end{tikzpicture} -\hspace*{\fill} -% subsection common_tangent (end) -\subsection{Common tangent: orthogonality} % (fold) -\label{sub:common_tangent_orthogonality} -For two circles to be orthogonal, it is necessary and sufficient for a secant passing through one of their common points to be seen from the other common point at a right angle. +\begin{center} + \begin{tikzpicture} + \tkzGetNodes + \tkzDrawCircle(O,A) + \tkzMarkRightAngle[fill=gray!10](A',B,M) + \tkzDrawSegments(M,O A,A' A',B) + \tkzDrawPoints(O,A,A',M,B) + \tkzLabelPoints(O,A,A',M,B) + \tkzDrawSegments[-Triangle](M,A M,A') + \end{tikzpicture} +\end{center} + +\end{minipage} +% paragraph power_v1 (end) +\paragraph{Power v2} % (fold) +\label{par:power_v2} +\begin{minipage}[t]{.5\textwidth}\vspace{0pt}% \begin{Verbatim} \begin{tkzelements} - z.A = point : new ( 0 , 0 ) - z.B = point : new ( 4 , 2 ) - L.AB = line : new ( z.A , z.B ) - z.a = point : new ( 1 , 2 ) - C.Aa = circle : new (z.A,z.a) - C.BC = C.Aa : orthogonal_from (z.B) - z.C,z.D = intersection (C.Aa,C.BC) - C.AC = circle : new (z.A,z.C) - z.T,z.Tp = C.AC : common_tangent (C.BC) - L.TTp = line : new (z.T,z.Tp) - z.M = C.AC : point (0.45) - L.MC =line : new (z.M,z.C) - z.Mp = intersection (L.MC, C.BC) - L.mm = L.TTp : ll_from (z.C) - _,z.M = intersection (L.mm, C.AC) - z.Mp = intersection (L.mm, C.BC) + z.O = point : new (0,0) + z.A = point : new (2,2) + z.M = point : new (-1.5,0) + L.AM = line : new (z.A,z.M) + C.OA = circle : new (z.O,z.A) + z.Ap = C.OA : antipode (z.A) + _,z.B = intersection (L.AM, C.OA) + z.m = z.M : north(1) + L.mM = line : new (z.m,z.M) + z.U,z.V = intersection (L.mM,C.OA) \end{tkzelements} - \begin{tikzpicture} \tkzGetNodes - \tkzDrawCircles(A,C B,C) - \tkzDrawSegments(M,M' A,C B,C A,B) - \tkzDrawSegments[gray](D,M D,M' T,T') - \tkzDrawPoints(A,B,C,D,M,M',T,T') - \tkzLabelPoints(A,B,D,M) - \tkzLabelPoints[above](C,M',T,T') - \tkzMarkRightAngles(M',D,M A,C,B) + \tkzDrawCircle(O,A) + \tkzMarkRightAngle[fill=gray!10](A',B,M) + \tkzDrawSegments(M,O A,A' A',B A,B U,V) + \tkzDrawPoints(O,A,A',M,B,U,V,m) + \tkzLabelPoints(O,A,M,U,V,m) + \tkzLabelPoints[below left](A',B) + \tkzDrawSegments(M,A M,A') \end{tikzpicture} \end{Verbatim} - +\end{minipage} +\begin{minipage}[t]{.5\textwidth}\vspace{0pt}% \begin{tkzelements} -z.A = point : new ( 0 , 0 ) -z.B = point : new ( 4 , 2 ) -L.AB = line : new ( z.A , z.B ) -z.a = point : new ( 1 , 2 ) -C.Aa = circle : new (z.A,z.a) -C.BC = C.Aa : orthogonal_from (z.B) -z.C,z.D = intersection (C.Aa,C.BC) -C.AC = circle : new (z.A,z.C) -z.T,z.Tp = C.AC : common_tangent (C.BC) -L.TTp = line : new (z.T,z.Tp) -z.M = C.AC : point (0.45) -L.MC =line : new (z.M,z.C) -z.Mp = intersection (L.MC, C.BC) -L.mm = L.TTp : ll_from (z.C) -_,z.M = intersection (L.mm, C.AC) -z.Mp = intersection (L.mm, C.BC) +scale = 1 +z.O = point : new (0,0) +z.A = point : new (2,2) +z.M = point : new (-1.5,0) +L.AM = line : new (z.A,z.M) +C.OA = circle : new (z.O,z.A) +z.Ap = C.OA : antipode (z.A) +_,z.B = intersection (L.AM, C.OA) +z.m = z.M : north(1) +L.mM = line : new (z.m,z.M) +z.U,z.V = intersection (L.mM,C.OA) \end{tkzelements} - \hspace*{\fill} -\begin{tikzpicture} - \tkzGetNodes - \tkzDrawCircles(A,C B,C) - \tkzDrawSegments(M,M' A,C B,C A,B) - \tkzDrawSegments[gray](D,M D,M' T,T') - \tkzDrawPoints(A,B,C,D,M,M',T,T') - \tkzLabelPoints(A,B,D,M) - \tkzLabelPoints[above](C,M',T,T') - \tkzMarkRightAngles(M',D,M A,C,B) -\end{tikzpicture} -\hspace*{\fill} -% subsection common_tangent_orthogonality (end) -\subsection{In\_out for circle and disk} % (fold) -\label{sub:in_out_for_circle_and_disk} +\begin{center} + \begin{tikzpicture} + \tkzGetNodes + \tkzDrawCircle(O,A) + \tkzMarkRightAngle[fill=gray!10](A',B,M) + \tkzDrawSegments(M,O A,A' A',B A,B U,V) + \tkzDrawPoints(O,A,A',M,B,U,V,m) + \tkzLabelPoints(O,A,M,U,V,m) + \tkzLabelPoints[below left](A',B) + \tkzDrawSegments(M,A M,A') + \end{tikzpicture} +\end{center} -\begin{Verbatim} -\begin{tkzelements} +\end{minipage} +% paragraph power_v2 (end) + +% subsubsection method_imeth_circle_power_c (end) + +\subsubsection{Method \Imeth{circle}{in\_out} for circle and disk} % (fold) +\label{ssub:in_out_for_circle_and_disk} + +\begin{minipage}{.5\textwidth} + \begin{Verbatim} + \begin{tkzelements} + z.O = point : new (0,0) + z.A = point : new (1,2) + C.OA = circle : new (z.O,z.A) + z.N = point : new (-2,2) + z.M = point : new (1,0) + z.P = point : new (2,1) + BCm = C.OA : in_out (z.M) + BDm = C.OA : in_out_disk (z.M) + BCn = C.OA : in_out (z.N) + BDn = C.OA : in_out_disk (z.N) + BCp = C.OA : in_out (z.P) + BDp = C.OA : in_out_disk (z.P) + \end{tkzelements} +\end{Verbatim} +\end{minipage} +\begin{minipage}{.5\textwidth}\begin{tkzelements} z.O = point : new (0,0) z.A = point : new (1,2) C.OA = circle : new (z.O,z.A) @@ -965,53 +1778,104 @@ BDp = C.OA : in_out_disk (z.P) \tkzLabelPoints(O,M,N,P) \ifthenelse{\equal{\tkzUseLua{#1}}{true}}{ \tkzLabelPoint[below=#4pt,font=\scriptsize](#2){on the #3}}{% - \tkzLabelPoint[below=#4pt,font=\scriptsize](#2){out the #3}}} + \tkzLabelPoint[below=#4pt,font=\scriptsize](#2){out the #3}} +} +\begin{center} + \begin{tikzpicture} + \tkzGetNodes + \tkzDrawSegments[dashed](O,M O,N O,P) + \tkzDrawCircle(O,A) + \tkzDrawPoints(O,M,N,P) + \tkzPosPoint{BCm}{M}{circle}{8} + \tkzPosPoint{BCn}{N}{circle}{8} + \tkzPosPoint{BCp}{P}{circle}{8} + \tkzPosPoint{BDm}{M}{disk}{14} + \tkzPosPoint{BDn}{N}{disk}{14} + \tkzPosPoint{BDp}{P}{disk}{14} + \end{tikzpicture} +\end{center} +\end{minipage} + +\begin{minipage}{.5\textwidth} + \begin{Verbatim} + \def\tkzPosPoint#1#2#3#4{% + \tkzLabelPoints(O,M,N,P) + \ifthenelse{\equal{\tkzUseLua{#1}}{true}}{ + \tkzLabelPoint[below=#4pt,font=\scriptsize](#2){on the #3}}{% + \tkzLabelPoint[below=#4pt,font=\scriptsize](#2){out the #3}}} + \begin{tikzpicture} + \tkzGetNodes + \tkzDrawSegments[dashed](O,M O,N O,P) + \tkzDrawCircle(O,A) + \tkzDrawPoints(O,M,N,P) + \tkzPosPoint{BCm}{M}{circle}{8} + \tkzPosPoint{BCn}{N}{circle}{8} + \tkzPosPoint{BCp}{P}{circle}{8} + \tkzPosPoint{BDm}{M}{disk}{14} + \tkzPosPoint{BDn}{N}{disk}{14} + \tkzPosPoint{BDp}{P}{disk}{14} + \end{tikzpicture} + \end{Verbatim} +\end{minipage} + +% subsubsection in_out_for_circle_and_disk (end) + +\subsubsection{Method \Imeth{circle}{circles\_position}} % (fold) +\label{ssub:circles_position} + +This function returns a string indicating the position of the circle in relation to another. Useful for creating a function. Cases are: + +\begin{itemize} + \item \code{outside} + \item \code{outside tangent} + \item \code{inside tangent} + \item \code{inside} + \item \code{intersect} +\end{itemize} + +\begin{minipage}{.5\textwidth} +\begin{Verbatim} +\begin{tkzelements} + z.A = point : new ( 0 , 0 ) + z.a = point : new ( 3 , 0 ) + z.B = point : new ( 2 , 0 ) + z.b = point : new ( 3 , 0 ) + C.Aa = circle: new (z.A,z.a) + C.Bb = circle: new (z.B,z.b) + position = C.Aa : circles_position (C.Bb) + if position == "inside tangent" + then color = "orange" + else color = "blue" end +\end{tkzelements} + \begin{tikzpicture} -\tkzGetNodes -\tkzDrawSegments[dashed](O,M O,N O,P) -\tkzDrawCircle(O,A) -\tkzDrawPoints(O,M,N,P) -\tkzPosPoint{BCm}{M}{circle}{8} -\tkzPosPoint{BCn}{N}{circle}{8} -\tkzPosPoint{BCp}{P}{circle}{8} -\tkzPosPoint{BDm}{M}{disk}{14} -\tkzPosPoint{BDn}{N}{disk}{14} -\tkzPosPoint{BDp}{P}{disk}{14} + \tkzGetNodes + \tkzDrawCircle(A,a) + \tkzDrawCircle[color=\tkzUseLua{color}](B,b) \end{tikzpicture} \end{Verbatim} - +\end{minipage} +\begin{minipage}{.5\textwidth} \begin{tkzelements} -z.O = point : new (0,0) -z.A = point : new (1,2) -C.OA = circle : new (z.O,z.A) -z.N = point : new (-2,2) -z.M = point : new (1,0) -z.P = point : new (2,1) -BCm = C.OA : in_out (z.M) -BDm = C.OA : in_out_disk (z.M) -BCn = C.OA : in_out (z.N) -BDn = C.OA : in_out_disk (z.N) -BCp = C.OA : in_out (z.P) -BDp = C.OA : in_out_disk (z.P) +z.A = point : new ( 1 , 0 ) +z.a = point : new ( 3 , 0 ) +z.B = point : new ( 2 , 0 ) +z.b = point : new ( 3 , 0 ) +C.Aa = circle: new (z.A,z.a) +C.Bb = circle: new (z.B,z.b) +position = C.Aa : circles_position (C.Bb) +if position == "inside tangent" then color = "orange" else color = "blue" end \end{tkzelements} -\def\tkzPosPoint#1#2#3#4{% -\tkzLabelPoints(O,M,N,P) - \ifthenelse{\equal{\tkzUseLua{#1}}{true}}{ - \tkzLabelPoint[below=#4pt,font=\scriptsize](#2){on the #3}}{% - \tkzLabelPoint[below=#4pt,font=\scriptsize](#2){out the #3}} -} +\hspace{\fill} \begin{tikzpicture} \tkzGetNodes -\tkzDrawSegments[dashed](O,M O,N O,P) -\tkzDrawCircle(O,A) -\tkzDrawPoints(O,M,N,P) -\tkzPosPoint{BCm}{M}{circle}{8} -\tkzPosPoint{BCn}{N}{circle}{8} -\tkzPosPoint{BCp}{P}{circle}{8} -\tkzPosPoint{BDm}{M}{disk}{14} -\tkzPosPoint{BDn}{N}{disk}{14} -\tkzPosPoint{BDp}{P}{disk}{14} -\end{tikzpicture} -% subsection in_out_for_circle_and_disk (end) +\tkzDrawCircle(A,a) +\tkzDrawCircle[color=\tkzUseLua{color}](B,b) +\end{tikzpicture}\hspace{\fill} +\end{minipage} +% subsubsection circles__position (end) + +% subsection methods_of_the_class_circle (end) % section class_circle (end) + \endinput diff --git a/Master/texmf-dist/doc/latex/tkz-elements/TKZdoc-elements-classes-ellipse.tex b/Master/texmf-dist/doc/latex/tkz-elements/TKZdoc-elements-classes-ellipse.tex index 3146f73461e..016dd8025ca 100644 --- a/Master/texmf-dist/doc/latex/tkz-elements/TKZdoc-elements-classes-ellipse.tex +++ b/Master/texmf-dist/doc/latex/tkz-elements/TKZdoc-elements-classes-ellipse.tex @@ -141,10 +141,10 @@ To do this, you'll need to use a macro: \tkzcname{tkzUseLua} defined in \pkg{tk \Imeth{ellipse}{foci (f1,f2,v)} & E = ellipse: foci ( focus 1, focus 2, vertex ) \\ \Imeth{ellipse}{radii (c,a,b,sl) } & E = ellipse: radii ( center, radius a, radius b, slope ) \\ \Imeth{ellipse}{in\_out (pt) } & pt in/out of the ellipse \\ -\Imeth{ellipse}{tangent\_at (pt) } & Refer to ex. \ref{ssub:method_point} \\ -\Imeth{ellipse}{tangent\_from (pt) } & Refer to ex. \ref{ssub:method_point} \\ -\Imeth{ellipse}{point (t) } & vertex = point (0) covertex = point (0.25) ex Refer to \ref{ssub:method_point} \\ -\Imeth{ellipse}{orthoptic\_circle () } & Refer to ex. \ref{ssub:steiner_inellipse_and_circumellipse} \\ +\Imeth{ellipse}{tangent\_at (pt) } & [ ex. \ref{ssub:method_point} ] \\ +\Imeth{ellipse}{tangent\_from (pt) } & [ex. \ref{ssub:method_point} ] \\ +\Imeth{ellipse}{point (t) } & vertex = point (0) covertex = point (0.25) [ex. \ref{ssub:method_point} ] \\ +\Imeth{ellipse}{orthoptic\_circle () } & [ex. \ref{ssub:steiner_inellipse_and_circumellipse}] \\ \bottomrule \end{tabular} @@ -153,7 +153,7 @@ To do this, you'll need to use a macro: \tkzcname{tkzUseLua} defined in \pkg{tk \subsubsection{Method \Imeth{ellipse}{new}} % (fold) \label{ssub:method_imeth_ellipse_new} The main method for creating a new ellipse is \Imeth{ellipse}{new}. The arguments are three: \Iattr{ellipse}{center}, \Iattr{ellipse}{vertex} and \Iattr{ellipse}{covertex} -For attributes Refer to \ref{sec:class_ellipse}. +For attributes [\ref{sec:class_ellipse}]. \begin{minipage}{0.5\textwidth} \begin{Verbatim} @@ -258,22 +258,25 @@ The first two points are the foci of the ellipse, and the third one is the verte a,b = E.Rx,E.Ry ang = math.deg(E.slope) \end{tkzelements} - \hspace*{\fill} - \begin{tikzpicture} - \tkzGetNodes - \tkzDrawPolygon(A,B,C) - \tkzDrawCircles[cyan](O,A N,I) - \tkzDrawSegments(X,R A,X) - \tkzDrawEllipse[red](N,\tkzUseLua{a},\tkzUseLua{b},\tkzUseLua{ang}) - \tkzDrawLines[add=.2 and .5](I,H) - \tkzDrawPoints(A,B,C,N,O,X,H,R,S,I) - \tkzLabelPoints[above](C,X) - \tkzLabelPoints[above right](N,O) - \tkzLabelPoints[above left](R) - \tkzLabelPoints[left](A) - \tkzLabelPoints[right](B,I,S,H) - \end{tikzpicture} - \hspace*{\fill} + + \begin{center} + \begin{tikzpicture} + \tkzGetNodes + \tkzDrawPolygon(A,B,C) + \tkzDrawCircles[cyan](O,A N,I) + \tkzDrawSegments(X,R A,X) + \tkzDrawEllipse[red](N,\tkzUseLua{a},\tkzUseLua{b},\tkzUseLua{ang}) + \tkzDrawLines[add=.2 and .5](I,H) + \tkzDrawPoints(A,B,C,N,O,X,H,R,S,I) + \tkzLabelPoints[above](C,X) + \tkzLabelPoints[above right](N,O) + \tkzLabelPoints[above left](R) + \tkzLabelPoints[left](A) + \tkzLabelPoints[right](B,I,S,H) + \end{tikzpicture} + \end{center} + + \end{minipage} \begin{Verbatim} diff --git a/Master/texmf-dist/doc/latex/tkz-elements/TKZdoc-elements-classes-line.tex b/Master/texmf-dist/doc/latex/tkz-elements/TKZdoc-elements-classes-line.tex index 435ad9bcc63..f4acdafc8c0 100644 --- a/Master/texmf-dist/doc/latex/tkz-elements/TKZdoc-elements-classes-line.tex +++ b/Master/texmf-dist/doc/latex/tkz-elements/TKZdoc-elements-classes-line.tex @@ -26,22 +26,53 @@ The attributes are : \Iattr{line}{pb} & Second point of the segment & \\ \Iattr{line}{type} & Type is 'line' & |L.AB.type = 'line'| \\ \Iattr{line}{mid} & Middle of the segment& |z.M = L.AB.mid|\\ -\Iattr{line}{slope} & Slope of the line & Refer to (\ref{ssub:example_class_line})\\ -\Iattr{line}{length} &|l = L.AB.length|&Refer to (\ref{sub:transfer_from_lua_to_tex} ; \ref{ssub:example_class_line})\\ -\Iattr{line}{north\_pa} & &Refer to (\ref{ssub:example_class_line}) \\ +\Iattr{line}{slope} & Slope of the line & [\ref{ssub:example_class_line}] \\ +\Iattr{line}{length} &|l = L.AB.length|& [\ref{sub:transfer_from_lua_to_tex} ; \ref{ssub:example_class_line}] \\ +\Iattr{line}{north\_pa} & & [\ref{ssub:example_class_line}] \\ \Iattr{line}{north\_pb} & &\\ \Iattr{line}{south\_pa} & &\\ -\Iattr{line}{south\_pb} & &Refer to (\ref{ssub:example_class_line}) \\ +\Iattr{line}{south\_pb} & & [\ref{ssub:example_class_line}] \\ \Iattr{line}{east} & &\\ \Iattr{line}{west} & &\\ -\Iattr{line}{vec} & |V.AB = L.AB.vec|& defines $\overrightarrow{AB}$ Refer to (\ref{sec:class_vector})\\ +\Iattr{line}{vec} & |V.AB = L.AB.vec|& defines $\overrightarrow{AB}$ [\ref{sec:class_vector}] \\ \bottomrule \end{tabular} \egroup \subsubsection{Example: attributes of class line} % (fold) \label{ssub:example_class_line} -\begin{minipage}{.5\textwidth} + +\vspace{5pt} +\begin{tkzelements} +z.a = point: new (1, 1) +z.b = point: new (5, 4) +L.ab = line : new (z.a,z.b) +z.m = L.ab.mid +z.w = L.ab.west +z.e = L.ab.east +z.r = L.ab.north_pa +z.s = L.ab.south_pb +sl = L.ab.slope +len = L.ab.length +\end{tkzelements} + +\begin{center} + \begin{tikzpicture} + \tkzGetNodes + \tkzDrawPoints(a,b,m,e,r,s,w) + \tkzLabelPoints(a,b) + \tkzLabelPoint(r){north\_pa} + \tkzLabelPoint(s){south\_pb} + \tkzLabelPoint[below](m){mid} + \tkzLabelPoint[right](w){west} + \tkzLabelPoint[left](e){east} + \tkzDrawLine(a,b) + \tkzLabelSegment[above = 1em,sloped](a,b){ab = \pmpn{\tkzUseLua{len}}} + \tkzLabelSegment[above=2em,sloped](a,b){slope of (ab) = \pmpn{\tkzUseLua{sl}}} + \end{tikzpicture} +\end{center} + + \begin{Verbatim} \begin{tkzelements} scale = .5 @@ -67,35 +98,8 @@ The attributes are : \tkzLabelSegment[above=12pt,sloped](a,b){slope of (ab) = \tkzUseLua{sl}} \end{tikzpicture} \end{Verbatim} -\end{minipage} -\begin{minipage}{.5\textwidth}\begin{tkzelements} -scale = .5 -z.a = point: new (1, 1) -z.b = point: new (5, 4) -L.ab = line : new (z.a,z.b) -z.m = L.ab.mid -z.w = L.ab.west -z.e = L.ab.east -z.r = L.ab.north_pa -z.s = L.ab.south_pb -sl = L.ab.slope -len = L.ab.length -\end{tkzelements} -\hspace*{\fill} -\begin{tikzpicture} - \tkzGetNodes - \tkzDrawPoints(a,b,m,e,r,s,w) - \tkzLabelPoints(a,b) - \tkzLabelPoint(r){north\_pa} - \tkzLabelPoint(s){south\_pb} - \tkzLabelPoint[below](m){mid} - \tkzLabelPoint[right](w){west} - \tkzLabelPoint[left](e){east} - \tkzDrawLine(a,b) - \tkzLabelSegment[above = 1em,sloped](a,b){ab = \pmpn{\tkzUseLua{len}}} - \tkzLabelSegment[above=2em,sloped](a,b){slope of (ab) = \pmpn{\tkzUseLua{sl}}} -\end{tikzpicture} -\end{minipage} + + % subsubsection example_class_line (end) \subsubsection{Method \Imeth{line}{new} and line attributes} @@ -161,62 +165,54 @@ Here's the list of methods for the \tkzNameObj{line} object. The results can be \toprule \textbf{Methods} & \textbf{Comments} & \\ \midrule -\Igfct{line}{new(pt, pt)} & |L.AB = line : new(z.A,z.B)| & Create line $(AB)$ ; Refer to (\ref{ssub:altshiller})\\ +\Igfct{line}{new(pt, pt)} & |L.AB = line : new(z.A,z.B)| & Create line $(AB)$ ; [\ref{sub:altshiller}] \\ \midrule \textbf{Points} &&\\ \midrule -\Imeth{line}{gold\_ratio ()} & |z.C=L.AB : gold_ratio()| & Refer to (\ref{sub:gold_ratio_with_segment} ; \ref{sub:the_figure_pappus_circle} ; \ref{sub:bankoff_circle}) \\ -\Imeth{line}{normalize ()} & |z.C=L.AB : normalize()| & AC =1 and $C\in (AB)$ Refer to (\ref{ssub:normalize}) \\ +\Imeth{line}{gold\_ratio ()} & |z.C=L.AB : gold_ratio()| & [\ref{sub:gold_ratio_with_segment} ; \ref{sub:the_figure_pappus_circle} ; \ref{sub:bankoff_circle} ] \\ +\Imeth{line}{normalize ()} & |z.C=L.AB : normalize()| & AC =1 and $C\in (AB)$ [ \ref{ssub:normalize}] \\ \Imeth{line}{normalize\_inv ()} & |z.C=L.AB : normalize_inv()| & CB=1 and $C\in (AB)$ \\ -\Imeth{line}{barycenter (r,r)} & |z.C=L.AB : barycenter (1,2)| & Refer to (\ref{ssub:barycenter_with_a_line})\\ -\Imeth{line}{point (r)} & |z.C=L.AB : point (2)| & $\overrightarrow{AC} = 2\overrightarrow{AB}$ Refer to (\ref{sub:ellipse} ; \ref{ssub:method_point})\\ +\Imeth{line}{barycenter (r,r)} & |z.C=L.AB : barycenter (1,2)| & [\ref{ssub:barycenter_with_a_line}] \\ +\Imeth{line}{point (r)} & |z.C=L.AB : point (2)| & $\overrightarrow{AC} = 2\overrightarrow{AB}$ [\ref{sub:ellipse} ; \ref{ssub:method_point}] \\ \Imeth{line}{midpoint ()} & |z.M=L.AB : midpoint ()| & better is |z.M = L.AB.mid| \\ -\Imeth{line}{harmonic\_int (pt)} & |z.D=L.AB : harmonic_int (z.C)| & Refer to (\ref{sub:bankoff_circle})\\ -\Imeth{line}{harmonic\_ext (pt)} & |z.D=L.AB : harmonic_ext (z.C)| & Refer to (\ref{sub:bankoff_circle})\\ -\Imeth{line}{harmonic\_both (r)} & |z.C,z.D=L.AB : harmonic_both|($\varphi$) & \ref{sub:harmonic_division_with_tkzphi}\\ +\Imeth{line}{harmonic\_int (pt)} & |z.D=L.AB : harmonic_int (z.C)| & [ \ref{sub:bankoff_circle}] \\ +\Imeth{line}{harmonic\_ext (pt)} & |z.D=L.AB : harmonic_ext (z.C)| & [ \ref{sub:bankoff_circle}] \\ +\Imeth{line}{harmonic\_both (r)} & |z.C,z.D=L.AB : harmonic_both|($\varphi$) & [\ref{sub:harmonic_division_with_tkzphi}] \\ \Imeth{line}{\_east(d)} & |z.M=L.AB : _east(2)| & |BM = 2| $A,B,M$ aligned \\ \Imeth{line}{\_west(d)} & |z.M=L.AB : _east(2)| & |BM = 2| $A,B,M$ aligned \\ -\Imeth{line}{\_north\_pa(d)} &|z.M=L.AB: _north_pa(2)| &|AM=2| $AM\perp AB$ ; $\overrightarrow{AB},\overrightarrow{AM}$ counterclockwise \\ -\Imeth{line}{\_south\_pa(d)} &|z.M=L.AB:_south_pa(2)| &|AM=2|; $AM\perp AB$ ; $\overrightarrow{AB},\overrightarrow{AM}$ clockwise \\ -\Imeth{line}{\_north\_pb(d)} &|z.M=L.AB:_north_pb(2)| &|BM=2|; $BM\perp BA$ ; $\overrightarrow{BA},\overrightarrow{BM}$ clockwise \\ -\Imeth{line}{\_south\_pb(d)} &|z.M=L.AB:_south_pb(2)| &|BM=2|; $BM\perp BA$ ; $\overrightarrow{AB},\overrightarrow{AM}$ counterclockwise \\ -\Imeth{line}{report(d,pt)} &|z.M=L.AB:report(2,z.N)| &|MN=2|; $AB\parallel MN$ ; Refer to ex. (\ref{ssub:method_report})\\ -\Imeth{line}{colinear\_at(pt,k)} &|z.D=L.AB:colinear_at(z.C,2)| &|CD=2AB|; $AB\parallel CD$ ; Refer to ex. (\ref{ssub:method_imeth_line_colinear__at})\\ +\Imeth{line}{\_north\_pa(d)} &|z.M=L.AB: _north_pa(2)| &|AM=2|; $AM\perp AB$ ; $\overrightarrow{AB},\overrightarrow{AM}$ counterclockwise. \\ +...&& [\ref{ssub:new_line_from_a_defined_line}; \ref{ssub:attributes_of_an_ellipse}]\\ +\Imeth{line}{\_south\_pa(d)} &|z.M=L.AB: _south_pa(2)| &|AM=2|; $AM\perp AB$ ; $\overrightarrow{AB},\overrightarrow{AM}$ clockwise \\ +\Imeth{line}{\_north\_pb(d)} &|z.M=L.AB: _north_pb(2)| &|BM=2|; $BM\perp BA$ ; $\overrightarrow{BA},\overrightarrow{BM}$ clockwise \\ +\Imeth{line}{\_south\_pb(d)} &|z.M=L.AB: _south_pb(2)| &|BM=2|; $BM\perp BA$ ; $\overrightarrow{AB},\overrightarrow{AM}$ counterclockwise \\ +\Imeth{line}{report(d,pt)} &|z.M=L.AB: report(2,z.N)| &|MN=2|; $AB\parallel MN$ ; [ex. \ref{ssub:method_report}]\\ +\Imeth{line}{colinear\_at(pt,k)} &|z.D=L.AB: colinear_at(z.C,2)| &|CD=2AB|; $AB\parallel CD$ ; [ex. \ref{ssub:method_imeth_line_colinear__at}]\\ \midrule \textbf{Lines} &&\\ \midrule -\Imeth{line}{ll\_from ( pt )} &|L.CD=L.AB: ll_from(z.C)| &$(CD) \parallel (AB)$ \\ -\Imeth{line}{ortho\_from ( pt )} &|L.CD=L.AB: ortho_from(z.C)|&$(CD) \perp (AB)$\\ -\Imeth{line}{mediator ()}&|L.uv=L.AB: mediator()| & $(u,v)$mediator of $(A,B)$\\ +\Imeth{line}{ll\_from ( pt )} &|L.CD=L.AB: ll_from(z.C)| &$(CD) \parallel (AB)$; [\ref{ssub:new_line_from_a_defined_line}] \\ +\Imeth{line}{ortho\_from ( pt )} &|L.CD=L.AB: ortho_from(z.C)|&$(CD) \perp (AB)$; [\ref{ssub:newline_ortho_from}] \\ + \Imeth{line}{mediator ()} & |L.uv=L.AB: mediator()| & perpendicular bisector of $(A,B)$ \footnote{You can use |perpendicular_bisector| intead of \tkzname{mediator}.}; [\ref{ssub:method_imeth_line_mediator}]\\ \midrule \textbf{Triangles}&&\\ \midrule -\Imeth{line}{equilateral (<swap>)} & |T.ABC=L.AB:equilateral()| & $(\overrightarrow{AB},\overrightarrow{AC})>0$ or $<0$ with swap \footnote{Triangles are defined in the direct sense of rotation, unless the "swap" option is present.} \\ -\Imeth{line}{isosceles (an<,swap>)}&|T.ABC=L.AB:isosceles(math.pi/6)|&\\ -\Imeth{line}{two\_angles (an,an)} &|T.ABC=L.AB:two_angles(an,an)|¬e \footnote{The given side is between the two angles} Refer to (\ref{ssub:triangle_with_two__angles}) \\ +\Imeth{line}{equilateral (<swap>)} & |T.ABC=L.AB:equilateral()| & $(\overrightarrow{AB},\overrightarrow{AC})>0$ or $<0$ with swap \footnote{Triangles are defined in the direct sense of rotation, unless the "swap" option is present.}; [\ref{ssub:object_rotation}] \\ +\Imeth{line}{isosceles (an<,swap>)}&|T.ABC=L.AB:isosceles(math.pi/6)|& [\ref{ssub:method_imeth_line_isosceles}]\\ +\Imeth{line}{two\_angles (an,an)} &|T.ABC=L.AB:two_angles(an,an)|¬e \footnote{The given side is between the two angles} [\ref{ssub:triangle_with_two__angles}] \\ \Imeth{line}{school ()} & 30°,60°, 90° & \\ -\Imeth{line}{sss (r,r)} & $AC=r$ $BC=r$ & \\ -\Imeth{line}{as (r,an)} & $AC =r$ $\widehat{BAC} = an$& \\ -\Imeth{line}{sa (r,an)} & $AC =r$ $\widehat{ABC} = an$& \\ -\midrule -\textbf{Sacred triangles}&&\\ -\midrule -\Imeth{line}{gold (<swap>)} &|T.ABC=L.AB:gold()| & right in $B$ and $AC = \varphi \times AB $ \\ -\Imeth{line}{euclide (<swap>)} &|T.ABC=L.AB:euclide()| &$AB=AC$ ; $(\overrightarrow{AB},\overrightarrow{AC}) = \pi/5$ \\ -\Imeth{line}{golden (<swap>)} &|T.ABC=L.AB:golden()| & - $(\overrightarrow{AB},\overrightarrow{AC}) = 2\times \pi/5$ \\ -\Imeth{line}{divine ()} & & \\ -\Imeth{line}{egyptian ()} & & \\ -\Imeth{line}{cheops ()} & & \\ +\Imeth{line}{sss (r,r)} & $AC=r$ $BC=r$ & [\ref{ssub:triangle_with_three_given_sides}] \\ +\Imeth{line}{sas (r,an)} & $AC =r$ $\widehat{BAC} = an$ & [\ref{ssub:triangle_with_three_given_sides}] \\ +\Imeth{line}{ssa (r,an)} & $AC =r$ $\widehat{ABC} = an$& [\ref{ssub:triangle_with_three_given_sides}]\\ \midrule \textbf{Squares}&&\\ \midrule -\Imeth{line}{square ()} &|S.AB=L.AB : square () | & create a square |S.AB|.\footnote{ |_,_,z.C,z.D = get_points(S.AB)|}\\ +\Imeth{line}{square ()} &|S.AB=L.AB : square () | & create a square |S.AB|.\footnote{ |_,_,z.C,z.D = get_points(S.AB)|}; [\ref{ssub:object_rotation}] \\ \bottomrule \end{tabular} \egroup \end{minipage} + \begin{minipage}{\textwidth} \bgroup \catcode`_=12 @@ -226,23 +222,33 @@ Here's the list of methods for the \tkzNameObj{line} object. The results can be \toprule \textbf{Methods} & \textbf{Comments} & \\ \midrule +\textbf{Sacred triangles}&&\\ +\midrule +\Imeth{line}{gold (<swap>)} &|T.ABC=L.AB:gold()| & right in $B$ and $AC = \varphi \times AB $; [\ref{line:met}] \\ +\Imeth{line}{euclide (<swap>)} &|T.ABC=L.AB:euclide()| &$AB=AC$ ; $(\overrightarrow{AB},\overrightarrow{AC}) = \pi/5$; [\ref{line:met}] \\ +\Imeth{line}{golden (<swap>)} &|T.ABC=L.AB:golden()| & + $(\overrightarrow{AB},\overrightarrow{AC}) = 2\times \pi/5$ ; [\ref{line:met}] \\ +\Imeth{line}{divine ()} & & [\ref{line:met}] \\ +\Imeth{line}{egyptian ()} & & [\ref{line:met}] \\ +\Imeth{line}{cheops ()} & & [\ref{line:met}] \\ +\midrule \textbf{Circles} &&\\ \midrule \Imeth{line}{circle ()} & |C.AB = L.AB : circle ()| & center pa through pb \\ -\Imeth{line}{circle\_swap ()} & |C.BA = L.AB : circle_swap ()|& center pb through pa \\ -\Imeth{line}{apollonius (r)} & |C.apo = L.AB : apollonius (2)|& Set of points tq. |MA/MB = 2| \\ +\Imeth{line}{apollonius (r)} & |C.apo = L.AB : apollonius (2)|& Set of points tq. |MA/MB = 2|; [\ref{ssub:apollonius_circle_ma_mb_k}] \\ \midrule \textbf{Transformations} &&\\ \midrule -\Imeth{line}{reflection ( obj )} & |new obj = L.AB : reflection (obj|&\\ -\Imeth{line}{translation ( obj )} & |new obj = L.AB : translation (obj)|&\\ -\Imeth{line}{projection ( obj )} & |z.H = L.AB : projection (z.C)| & $CH \perp (AB)$ and $H\in (AB)$\\ +\Imeth{line}{reflection ( obj )} & |new obj = L.AB : reflection (obj|& [\ref{ssub:reflection_of_object}] \\ +\Imeth{line}{translation ( obj )} & |new obj = L.AB : translation (obj)|& [\ref{ssub:example_translation}] \\ +\Imeth{line}{projection ( obj )} & |z.H = L.AB : projection (z.C)| & $CH \perp (AB)$ and $H\in (AB)$; [\ref{ssub:example_projection_of_several_points}; \ref{ssub:example_combination_of_methods}]\\ +... & & [ \ref{ssub:example_projection_of_several_points}; \ref{ssub:example_combination_of_methods}]\\ \midrule \textbf{Miscellaneous} &&\\ \midrule -\Imeth{line}{distance (pt)} & |d = L.Ab : distance (z.C)| & Refer to \ref{ssub:example_distance_and_projection}\\ -\Imeth{line}{in\_out (pt)} & |b = L.AB: in_out(z.C)| & b=true if $C\in (AB)$ \\ -\Imeth{line}{slope ()} & |a = L.AB : slope()| & better is L.AB.slope \\ +\Imeth{line}{distance (pt)} & |d = L.Ab : distance (z.C)| & [\ref{ssub:example_distance_and_projection}] \\ +\Imeth{line}{in\_out (pt)} & |b = L.AB: in_out(z.C)| & b=true if $C\in (AB)$ ; [\ref{ssub:in_out_for_a_line}] \\ +\Imeth{line}{slope ()} & |a = L.AB : slope()| & better is L.AB.slope; [\ref{ssub:example_class_line}]\\ \Imeth{line}{in\_out\_segment (pt)} & |b = L.AB : in_out_segment(z.C)| & b=true if $C\in [AB$] \\ \bottomrule \end{tabular} @@ -309,7 +315,11 @@ The angles are on either side of the given segment \tkzDrawPolygons(A,B,C) \tkzDrawPoints(A,B,C) \tkzLabelPoints(A,B) - \tkzLabelPoints[above](C) + \tkzLabelPoints[above](C) + \tkzMarkAngle[red](C,B,A) + \tkzMarkAngle[red](B,A,C) + \tkzLabelAngle[red,pos=1.3](C,B,A){$\pi/2$} + \tkzLabelAngle[red,pos=1.3](B,A,C){$\pi/6$} \end{tikzpicture} \end{Verbatim} \end{minipage} @@ -321,57 +331,130 @@ The angles are on either side of the given segment T.ABC= L.AB : two_angles (math.pi/6,math.pi/2) z.C = T.ABC.pc \end{tkzelements} - \hspace*{\fill} - \begin{tikzpicture} - \tkzGetNodes - \tkzDrawPolygons(A,B,C) - \tkzDrawPoints(A,B,C) - \tkzLabelPoints(A,B) - \tkzLabelPoints[above](C) - \end{tikzpicture} - \hspace*{\fill} + + \begin{center} + \begin{tikzpicture} + \tkzGetNodes + \tkzDrawPolygons(A,B,C) + \tkzDrawPoints(A,B,C) + \tkzLabelPoints(A,B) + \tkzLabelPoints[above](C) + \tkzMarkAngle[red](C,B,A) + \tkzMarkAngle[red](B,A,C) + \tkzLabelAngle[red,pos=1.3](C,B,A){$\pi/2$} + \tkzLabelAngle[red,pos=1.3](B,A,C){$\pi/6$} + \end{tikzpicture} + \end{center} + \end{minipage} % subsubsection triangle_with_two__angles (end) -\subsubsection{Method \Imeth{line}{sss}} % (fold) +\subsubsection{Method \Imeth{line}{isosceles}} % (fold) +\label{ssub:method_imeth_line_isosceles} +\begin{minipage}{.5\textwidth} + \begin{Verbatim} +\begin{tkzelements} + scale = 2 + z.a = point : new (1,2) + z.b = point : new (5,1) + L.ab = line : new (z.a,z.b) + T.abc = L.ab : isosceles (math.pi/6,indirect) + z.c = T.abc.pc + z.L = T.abc : lemoine_point () + T.SY = T.abc : symmedian () + z.Ka,z.Kb,z.Kc = get_points (T.SY) + L.Kb = T.abc : symmedian_line (1) + _,z.Kb = get_points(L.Kb) +\end{tkzelements} +\begin{tikzpicture} +\tkzGetNodes +\tkzDrawPolygons(a,b,c Ka,Kb,Kc) +\tkzDrawPoints(a,b,c,L,Ka,Kb,Kc) +\tkzLabelPoints(c,L,Ka,Kb) +\tkzLabelPoints[above](a,b,Kc) +\tkzDrawSegments[cyan](a,Ka b,Kb c,Kc) +\end{tikzpicture} +\end{Verbatim} +\end{minipage} +\begin{minipage}{.5\textwidth} +\begin{tkzelements} + scale = 2 + z.a = point : new (1,2) + z.b = point : new (5,1) + L.ab = line : new (z.a,z.b) + T.abc = L.ab : isosceles (math.pi/6,indirect) + z.c = T.abc.pc + z.L = T.abc : lemoine_point () + T.SY = T.abc : symmedian () + z.Ka,z.Kb, + z.Kc = get_points (T.SY) + L.Kb = T.abc : symmedian_line (1) + _,z.Kb = get_points(L.Kb) +\end{tkzelements} +\begin{tikzpicture} +\tkzGetNodes +\tkzDrawPolygons(a,b,c Ka,Kb,Kc) +\tkzDrawPoints(a,b,c,L,Ka,Kb,Kc) +\tkzLabelPoints(c,L,Ka,Kb) +\tkzLabelPoints[above](a,b,Kc) +\tkzDrawSegments[cyan](a,Ka b,Kb c,Kc) +\end{tikzpicture} +\end{minipage} + +% subsubsection method_imeth_line_isosceles (end) + +\subsubsection{Methods \Imeth{line}{sss}, \Imeth{line}{sas}, \Imeth{line}{ssa}} % (fold) \label{ssub:triangle_with_three_given_sides} In the following example, a small difficulty arises. The given lengths are not affected by scaling, so it's necessary to use the \Igfct{math}{value (r) } function, which will modify the lengths according to the scale. +\vspace{6pt} \begin{minipage}{.4\textwidth} \begin{Verbatim} \begin{tkzelements} - z.A = point : new ( 0 , 0 ) - z.B = point : new ( 5 , 0 ) - L.AB = line : new ( z.A , z.B ) - T.ABC = L.AB : sss (value(3),value(4)) - z.C = T.ABC.pc + z.A = point : new ( 0 , 0 ) + z.B = point : new ( 5 , 0 ) + L.AB = line : new ( z.A , z.B ) + T.ABC = L.AB : sss (value(3),value(4)) + T.ABD = L.AB : sas (value(3),math.pi/2) + T.ABE = L.AB : ssa (value(7),math.pi/2) + z.C = T.ABC.pc + z.D = T.ABD.pc + z.E = T.ABE.pc \end{tkzelements} +\hspace{\fill} \begin{tikzpicture}[gridded] - \tkzGetNodes - \tkzDrawPolygons(A,B,C) - \tkzDrawPoints(A,B,C) - \tkzLabelPoints(A,B) - \tkzLabelPoints[above](C) + \tkzGetNodes + \tkzDrawPolygons(A,B,C A,B,D A,B,E) + \tkzDrawPoints(A,B,C,D,E) + \tkzLabelPoints(A,B) + \tkzLabelPoints[above](C,D,E) \end{tikzpicture} \end{Verbatim} \end{minipage} \begin{minipage}{.6\textwidth} - \begin{tkzelements} - z.A = point : new ( 0 , 0 ) - z.B = point : new ( 5 , 0 ) - L.AB = line : new ( z.A , z.B ) - T.ABC = L.AB : sss (value(3),value(4)) - z.C = T.ABC.pc - \end{tkzelements} -\hspace{\fill} - \begin{tikzpicture}[gridded] - \tkzGetNodes - \tkzDrawPolygons(A,B,C) - \tkzDrawPoints(A,B,C) - \tkzLabelPoints(A,B) - \tkzLabelPoints[above](C) - \end{tikzpicture} +\begin{tkzelements} + z.A = point : new ( 0 , 0 ) + z.B = point : new ( 5 , 0 ) + L.AB = line : new ( z.A , z.B ) + T.ABC = L.AB : sss (value(3),value(4)) + T.ABD = L.AB : sas (value(3),math.pi/2) + T.ABE = L.AB : ssa (value(7),math.pi/2) + z.C = T.ABC.pc + z.D = T.ABD.pc + z.E = T.ABE.pc +\end{tkzelements} + +\begin{center} + \begin{tikzpicture}[gridded] + \tkzGetNodes + \tkzDrawPolygons(A,B,C A,B,D A,B,E) + \tkzDrawPoints(A,B,C,D,E) + \tkzLabelPoints(A,B) + \tkzLabelPoints[above](C,D,E) + \end{tikzpicture} +\end{center} + \end{minipage} % subsubsection triangle_with_three_given_sides (end) @@ -413,16 +496,20 @@ In some cases, two solutions are possible. z.C = T.ABC.pc z.D = T.ABD.pc \end{tkzelements} - \hspace{\fill} \begin{tikzpicture}[gridded] - \tkzGetNodes - \tkzDrawPolygons(A,B,C A,B,D) - \tkzDrawPoints(A,B,C,D) - \tkzLabelPoints(A,B) - \tkzLabelPoints[above](C,D) - \tkzLabelAngle[teal](C,B,A){$\pi/6$} - \tkzLabelSegment[below left](A,C){$7$} - \tkzLabelSegment[below left](A,D){$7$} - \end{tikzpicture} + +\begin{center} + \begin{tikzpicture}[gridded] + \tkzGetNodes + \tkzDrawPolygons(A,B,C A,B,D) + \tkzDrawPoints(A,B,C,D) + \tkzLabelPoints(A,B) + \tkzLabelPoints[above](C,D) + \tkzLabelAngle[teal](C,B,A){$\pi/6$} + \tkzLabelSegment[below left](A,C){$7$} + \tkzLabelSegment[below left](A,D){$7$} + \end{tikzpicture} +\end{center} + \end{minipage} % subsubsection triangle_with_side_between_side_and_angle (end) @@ -536,12 +623,15 @@ This method exists for all objects except quadrilaterals. z.J = L.AB : point (-0.5) z.K = L.AB : point (2) \end{tkzelements} -\begin{tikzpicture}[gridded] -\tkzGetNodes - \tkzDrawLine(J,K) - \tkzDrawPoints(A,B,I,J,K) - \tkzLabelPoints(A,B,I,J,K) - \end{tikzpicture} +\begin{center} + \begin{tikzpicture}[gridded] + \tkzGetNodes + \tkzDrawLine(J,K) + \tkzDrawPoints(A,B,I,J,K) + \tkzLabelPoints(A,B,I,J,K) + \end{tikzpicture} +\end{center} + \end{minipage} % subsubsection method_point (end) @@ -576,12 +666,15 @@ If the coefficient is missing then it defaults to $1$ and in the following examp z.D = L.AB : colinear_at (z.C,.5) z.E = L.AB : colinear_at (z.C) \end{tkzelements} -\begin{tikzpicture} - \tkzGetNodes - \tkzDrawSegments(A,B C,E) - \tkzDrawPoints(A,B,C,D,E) - \tkzLabelPoints(A,B,C,D,E) -\end{tikzpicture} +\begin{center} + \begin{tikzpicture} + \tkzGetNodes + \tkzDrawSegments(A,B C,E) + \tkzDrawPoints(A,B,C,D,E) + \tkzLabelPoints(A,B,C,D,E) + \end{tikzpicture} +\end{center} + \end{minipage} % subsubsection method_imeth_line_colinear__at (end) @@ -615,15 +708,17 @@ If the coefficient is missing then it defaults to $1$ and in the following examp L.ab = line : new (z.a,z.b) z.c = L.ab : normalize () \end{tkzelements} -\hspace*{\fill} -\begin{tikzpicture}[gridded] -\tkzGetNodes -\tkzDrawSegments(a,b) -\tkzDrawCircle(a,c) -\tkzDrawPoints(a,b,c) -\tkzLabelPoints(a,b,c) -\end{tikzpicture} -\hspace*{\fill} + +\begin{center} + \begin{tikzpicture}[gridded] + \tkzGetNodes + \tkzDrawSegments(a,b) + \tkzDrawCircle(a,c) + \tkzDrawPoints(a,b,c) + \tkzLabelPoints(a,b,c) + \end{tikzpicture} +\end{center} + \end{minipage} % subsubsection normalize (end) @@ -654,16 +749,19 @@ If the coefficient is missing then it defaults to $1$ and in the following examp L.AB = line : new ( z.A , z.B ) z.G = L.AB : barycenter (1,2) \end{tkzelements} -\begin{tikzpicture} - \tkzGetNodes - \tkzDrawLine(A,B) - \tkzDrawPoints(A,B,G) - \tkzLabelPoints(A,B,G) -\end{tikzpicture} +\begin{center} + \begin{tikzpicture} + \tkzGetNodes + \tkzDrawLine(A,B) + \tkzDrawPoints(A,B,G) + \tkzLabelPoints(A,B,G) + \end{tikzpicture} +\end{center} + \end{minipage} % subsubsection barycenter_with_a_line (end) -\subsubsection{method \Imeth{line}{ll\_from}} % (fold) +\subsubsection{Method \Imeth{line}{ll\_from}} % (fold) \label{ssub:new_line_from_a_defined_line} \begin{minipage}{0.5\textwidth} \begin{Verbatim} @@ -700,20 +798,162 @@ L.CD = line : new (z.C,z.D) _,z.E = get_points ( L.CD: ll_from (z.B)) -- or z.E = L2.pb with |L2 = L.CD: ll_from (z.B)| \end{tkzelements} -\hspace*{\fill} + +\begin{center} + \begin{tikzpicture} + \tkzGetNodes + \tkzDrawLines(A,B C,D B,E) + \tkzDrawPoints(A,...,E) + \tkzLabelPoints(A,...,E) + \tkzMarkRightAngle(B,A,C) + \tkzMarkSegments(A,C A,B A,D) + \end{tikzpicture} +\end{center} + + +\end{minipage} + % \caption{New line from defined line} +% subsubsection new_line_from_a_defined_line (end) + +\subsubsection{Method \Imeth{line}{ortho\_from}} % (fold) +\label{ssub:newline_ortho_from} +\begin{minipage}{0.5\textwidth} +\begin{Verbatim} +\begin{tkzelements} + z.A = point : new (1,1) + z.B = point : new (3,2) + L.AB = line : new (z.A,z.B) + z.C = point : new (1,3) + L.CD = L.AB : ortho_from(z.C) + z.D = L.CD.pb +\end{tkzelements} \begin{tikzpicture} -\tkzGetNodes -\tkzDrawLines(A,B C,D B,E) -\tkzDrawPoints(A,...,E) -\tkzLabelPoints(A,...,E) -\tkzMarkRightAngle(B,A,C) -\tkzMarkSegments(A,C A,B A,D) + \tkzGetNodes + \tkzDrawLines(A,B C,D) + \tkzDrawPoints(A,...,D) + \tkzLabelPoints(A,...,D) \end{tikzpicture} -\hspace*{\fill} +\end{Verbatim} \end{minipage} - % \caption{New line from defined line} +\begin{minipage}{0.5\textwidth} +\begin{tkzelements} + z.A = point : new (1,1) + z.B = point : new (3,2) + L.AB = line : new (z.A,z.B) + z.C = point : new (1,3) + L.CD = L.AB : ortho_from(z.C) + z.D = L.CD.pb +\end{tkzelements} + +\begin{center} +\begin{tikzpicture} + \tkzGetNodes + \tkzDrawLines(A,B C,D) + \tkzDrawPoints(A,...,D) + \tkzLabelPoints(A,...,D) +\end{tikzpicture} +\end{center} + + +\end{minipage} + % subsubsection new_line_from_a_defined_line (end) +\subsubsection{Method \Imeth{line}{mediator}} % (fold) +\label{ssub:method_imeth_line_mediator} + +In Mathworld, the mediator is the plane through the midpoint of a line segment and perpendicular to that segment, also called a mediating plane. The term "mediator" was introduced by J. Neuberg (Altshiller-Court 1979, p. 298). Here, I have adopted the French term and the mediator or +the perpendicular bisector of a line segment, is a line segment perpendicular to the segment and passing through the midpoint of this segment. +\begin{minipage}{.5\textwidth} +\begin{Verbatim} +\begin{tkzelements} + z.A = point: new(0,0) + z.B = point: new(5,0) + L.AB = line: new (z.A,z.B) + L.med = L.AB : mediator () + z.M = L.AB.mid + z.x,z.y= get_points(L.med) +\end{tkzelements} +\begin{tikzpicture} +\tkzGetNodes +\tkzDrawLine(A,B) +\tkzDrawSegments(x,y) +\tkzDrawPoints(A,B,M) +\tkzLabelPoints(A,B) +\tkzLabelPoints[below left](x,y,M) +\tkzMarkSegments(A,M M,B) +\end{tikzpicture} +\end{Verbatim} +\end{minipage} +\begin{minipage}{.5\textwidth} +\begin{tkzelements} + z.A = point: new(0,0) + z.B = point: new(5,0) + L.AB = line: new (z.A,z.B) + L.med = L.AB : mediator () + z.M = L.AB.mid + z.x,z.y= get_points(L.med) +\end{tkzelements} +\begin{center} +\begin{tikzpicture} +\tkzGetNodes +\tkzDrawLine(A,B) +\tkzDrawSegments(x,y) +\tkzDrawPoints(A,B,M) +\tkzLabelPoints(A,B) +\tkzLabelPoints[below left](x,y,M) +\tkzMarkSegments(A,M M,B) +\end{tikzpicture} +\end{center} + +\end{minipage} + +% subsubsection method_imeth_line_mediator (end) + +\subsubsection{Method \Imeth{line}{equilateral}} % (fold) +\label{ssub:method_imeth_line_equilateral} + +\begin{minipage}{.5\textwidth} +\begin{Verbatim} +\begin{tkzelements} + z.A = point: new(0,0) + z.B = point: new(5,0) + L.AB = line: new (z.A,z.B) + T.ABC = L.AB : equilateral () + z.C = T.ABC.pc +\end{tkzelements} +\begin{tikzpicture} +\tkzGetNodes +\tkzDrawLine(A,B) +\tkzDrawPolygon(A,B,C) +\tkzMarkSegments(A,B B,C C,A) +\tkzDrawPoints(A,B,C) +\tkzMarkAngles(B,A,C C,B,A A,C,B) +\end{tikzpicture} +\end{Verbatim} +\end{minipage} +\begin{minipage}{.5\textwidth} +\begin{tkzelements} + z.A = point: new(0,0) + z.B = point: new(5,0) + L.AB = line: new (z.A,z.B) + T.ABC = L.AB : equilateral () + z.C = T.ABC.pc +\end{tkzelements} +\begin{center} + \begin{tikzpicture} + \tkzGetNodes + \tkzDrawLine(A,B) + \tkzDrawPolygon(A,B,C) + \tkzMarkSegments(A,B B,C C,A) + \tkzDrawPoints(A,B,C) + \tkzMarkAngles(B,A,C C,B,A A,C,B) + \end{tikzpicture} +\end{center} + +\end{minipage} + +% subsubsection method_imeth_line_equilateral (end) \subsubsection{Method \Imeth{line}{projection}} % (fold) \label{ssub:example_projection_of_several_points} @@ -746,14 +986,16 @@ z.d = point: new (5, 2) L.ab = line: new (z.a,z.b) z.cp,z.dp = L.ab : projection(z.c,z.d) \end{tkzelements} -\hspace*{\fill} -\begin{tikzpicture} -\tkzGetNodes -\tkzDrawLines(a,b c,c' d,d') -\tkzDrawPoints(a,...,d,c',d') -\tkzLabelPoints(a,...,d,c',d') -\end{tikzpicture} -\hspace*{\fill} + +\begin{center} + \begin{tikzpicture} + \tkzGetNodes + \tkzDrawLines(a,b c,c' d,d') + \tkzDrawPoints(a,...,d,c',d') + \tkzLabelPoints(a,...,d,c',d') + \end{tikzpicture} +\end{center} + \end{minipage} % \caption{Projection of several points} @@ -809,23 +1051,26 @@ L.ab = C.OA : tangent_at (z.A) z.a,z.b = L.ab.pa,L.ab.pb -- or z.a,z.b = get_points (L.ab) \end{tkzelements} -\hspace*{\fill} -\begin{tikzpicture} -\tkzGetNodes -\tkzDrawPolygon(A,B,C) -\tkzDrawCircle(O,A) -\tkzDrawSegments[purple](O,A O,B O,H) -\tkzDrawArc[red](O,A)(B) -\tkzDrawArc[blue](O,B)(A) -\tkzDrawLine[add = 2 and 1](A,a) -\tkzFillAngles[teal!30,opacity=.4,,size=.5](A,C,B b,A,B A,O,H) -\tkzMarkAngles[mark=|,size=.5](A,C,B b,A,B A,O,H H,O,B) -\tkzDrawPoints(A,B,C,H,O) -\tkzLabelPoints(B,H) -\tkzLabelPoints[above](O,C) -\tkzLabelPoints[left](A) -\end{tikzpicture} -\hspace*{\fill} + +\begin{center} + \begin{tikzpicture} + \tkzGetNodes + \tkzDrawPolygon(A,B,C) + \tkzDrawCircle(O,A) + \tkzDrawSegments[purple](O,A O,B O,H) + \tkzDrawArc[red](O,A)(B) + \tkzDrawArc[blue](O,B)(A) + \tkzDrawLine[add = 2 and 1](A,a) + \tkzFillAngles[teal!30,opacity=.4,,size=.5](A,C,B b,A,B A,O,H) + \tkzMarkAngles[mark=|,size=.5](A,C,B b,A,B A,O,H H,O,B) + \tkzDrawPoints(A,B,C,H,O) + \tkzLabelPoints(B,H) + \tkzLabelPoints[above](O,C) + \tkzLabelPoints[left](A) + \end{tikzpicture} +\end{center} + + \end{minipage} % subsubsection example_combination_of_methods (end) @@ -860,63 +1105,21 @@ z.a,z.b = L.ab.pa,L.ab.pb L.AB = line : new (z.A,z.B) z.E,z.F = L.AB : translation (z.C,z.D) \end{tkzelements} -\hspace*{\fill} -\begin{tikzpicture} -\tkzGetNodes -\tkzDrawPoints(A,...,F) -\tkzLabelPoints(A,...,F) -\tkzDrawSegments[->,red,> =latex](C,E D,F A,B) ) -\end{tikzpicture} -\hspace*{\fill} -\end{minipage} -% subsubsection example_translation (end) +\begin{center} + \begin{tikzpicture} + \tkzGetNodes + \tkzDrawPoints(A,...,F) + \tkzLabelPoints(A,...,F) + \tkzDrawSegments[->,red,> =latex](C,E D,F A,B) ) + \end{tikzpicture} +\end{center} -\subsubsection{Method \Imeth{line}{distance}} % (fold) -\label{ssub:example_distance_and_projection} -\begin{minipage}{0.5\textwidth} -\begin{Verbatim} -\begin{tkzelements} - z.A = point : new (0 , 0) - z.B = point : new (5 , -2) - z.C = point : new (3 , 3) - L.AB = line : new (z.A,z.B) - d = L.AB : distance (z.C) - z.H = L.AB : projection (z.C) -\end{tkzelements} -\begin{tikzpicture} - \tkzGetNodes - \tkzDrawLines(A,B C,H) - \tkzDrawPoints(A,B,C,H) - \tkzLabelPoints(A,B,C,H) - \tkzLabelSegment[above left, - draw](C,H){$CH = \tkzUseLua{d}$} -\end{tikzpicture} -\end{Verbatim} -\end{minipage} -\begin{minipage}{0.5\textwidth} -\begin{tkzelements} - z.A = point : new (0 , 0) - z.B = point : new (5 , -2) - z.C = point : new (3 , 3) - L.AB = line : new (z.A,z.B) - d = L.AB : distance (z.C) - z.H = L.AB : projection (z.C) -\end{tkzelements} -\hspace*{\fill} -\begin{tikzpicture} -\tkzGetNodes -\tkzDrawLines(A,B C,H) -\tkzDrawPoints(A,B,C,H) -\tkzLabelPoints(A,B,C,H) -\tkzLabelSegment[above left,draw](C,H){$CH = \tkzUseLua{d}$} -\end{tikzpicture} -\hspace*{\fill} \end{minipage} -% \caption{Method distance with line object} -% subsubsection example_distance_and_projection (end) +% subsubsection example_translation (end) + \subsubsection{Method \Imeth{line}{reflection} of an object} % (fold) \label{ssub:reflection_of_object} @@ -955,19 +1158,72 @@ z.a,z.b = L.ab.pa,L.ab.pb T.new = L.AB : reflection (T.EFG) z.Ep,z.Fp,z.Gp = get_points(T.new) \end{tkzelements} -\hspace{\fill}\begin{tikzpicture} - \tkzGetNodes - \tkzDrawLine(A,B) - \tkzDrawPolygon(E,F,G) - \tkzDrawPolygon[new](E',F',G') - \tkzDrawSegment[red,dashed](E,E') -\end{tikzpicture} + +\begin{center} + \begin{tikzpicture} + \tkzGetNodes + \tkzDrawLine(A,B) + \tkzDrawPolygon(E,F,G) + \tkzDrawPolygon[new](E',F',G') + \tkzDrawSegment[red,dashed](E,E') + \end{tikzpicture} +\end{center} + \end{minipage} % subsubsection reflection_of_object (end) +\subsubsection{Method \Imeth{line}{distance}} % (fold) +\label{ssub:example_distance_and_projection} + +\begin{minipage}{0.5\textwidth} +\begin{Verbatim} +\begin{tkzelements} + z.A = point : new (0 , 0) + z.B = point : new (5 , -2) + z.C = point : new (3 , 3) + L.AB = line : new (z.A,z.B) + d = L.AB : distance (z.C) + z.H = L.AB : projection (z.C) +\end{tkzelements} +\begin{tikzpicture} + \tkzGetNodes + \tkzDrawLines(A,B C,H) + \tkzDrawPoints(A,B,C,H) + \tkzLabelPoints(A,B,C,H) + \tkzLabelSegment[above left, + draw](C,H){$CH = \tkzUseLua{d}$} +\end{tikzpicture} +\end{Verbatim} +\end{minipage} +\begin{minipage}{0.5\textwidth} +\begin{tkzelements} + z.A = point : new (0 , 0) + z.B = point : new (5 , -2) + z.C = point : new (3 , 3) + L.AB = line : new (z.A,z.B) + d = L.AB : distance (z.C) + z.H = L.AB : projection (z.C) +\end{tkzelements} + +\begin{center} + \begin{tikzpicture} + \tkzGetNodes + \tkzDrawLines(A,B C,H) + \tkzDrawPoints(A,B,C,H) + \tkzLabelPoints(A,B,C,H) + \tkzLabelSegment[above left,draw](C,H){$CH = \tkzUseLua{d}$} + \end{tikzpicture} +\end{center} -\subsection{Method \Imeth{line}{apollonius} Apollonius circle MA/MB = k} % (fold) -\label{sub:apollonius_circle_ma_mb_k} + +\end{minipage} + +% \caption{Method distance with line object} +% subsubsection example_distance_and_projection (end) + + +\subsubsection{Method \Imeth{line}{apollonius} (Apollonius circle MA/MB = k)} % (fold) +\label{ssub:apollonius_circle_ma_mb_k} \begin{Verbatim} \begin{tkzelements} @@ -984,14 +1240,15 @@ z.a,z.b = L.ab.pa,L.ab.pb \tkzFillCircle[blue!20,opacity=.2](O,C) \tkzDrawCircle[blue!50!black](O,C) \tkzDrawPoints(A,B,O,C,D,P) - \tkzLabelPoints[below right](A,B,O,C,D,P) \tkzDrawSegments[orange](P,A P,B P,D B,D P,C) \tkzDrawSegments[red](A,C) \tkzDrawPoints(A,B) \tkzLabelCircle[draw,fill=green!10,% text width=3cm,text centered,left=24pt](O,D)(60)% {$CA/CB=2$\\$PA/PB=2$\\$DA/DB=2$} - \tkzMarkRightAngle[opacity=.3,fill=lightgray](O,P,C) + \tkzLabelPoints[below right](A,B,O,C,D) + \tkzLabelPoints[above](P) + \tkzMarkRightAngle[opacity=.3,fill=lightgray](D,P,C) \tkzMarkAngles[mark=||](A,P,D D,P,B) \end{tikzpicture} \end{Verbatim} @@ -1006,24 +1263,28 @@ z.D = C.apo : antipode (z.C) z.P = C.apo : point (0.30) \end{tkzelements} -\begin{tikzpicture} -\tkzGetNodes -\tkzFillCircle[blue!20,opacity=.2](O,C) -\tkzDrawCircle[blue!50!black](O,C) -\tkzDrawPoints(A,B,O,C,D,P) -\tkzLabelPoints[below right](A,B,O,C,D,P) -\tkzDrawSegments[orange](P,A P,B P,D B,D P,C) -\tkzDrawSegments[red](A,C) -\tkzDrawPoints(A,B) -\tkzLabelCircle[draw,fill=green!10,% - text width=3cm,text centered,left=24pt](O,D)(60)% - {$CA/CB=2$\\$PA/PB=2$\\$DA/DB=2$} -\tkzMarkRightAngle[opacity=.3,fill=lightgray](O,P,C) -\tkzMarkAngles[mark=||](A,P,D D,P,B) -\end{tikzpicture} +\begin{center} + \begin{tikzpicture} + \tkzGetNodes + \tkzFillCircle[blue!20,opacity=.2](O,C) + \tkzDrawCircle[blue!50!black](O,C) + \tkzDrawPoints(A,B,O,C,D,P) + \tkzDrawSegments[orange](P,A P,B P,D B,D P,C) + \tkzDrawSegments[red](A,C) + \tkzDrawPoints(A,B) + \tkzLabelCircle[draw,fill=green!10,% + text width=3cm,text centered,left=24pt](O,D)(60)% + {$CA/CB=2$\\$PA/PB=2$\\$DA/DB=2$} + \tkzLabelPoints[below right](A,B,O,C,D) + \tkzLabelPoints[above](P) + \tkzMarkRightAngle[opacity=.3,fill=lightgray](D,P,C) + \tkzMarkAngles[mark=||](A,P,D D,P,B) + \end{tikzpicture} +\end{center} + Remark: |\tkzUseLua{length(z.P,z.A)/length(z.P,z.B)}| = \tkzUseLua{length(z.P,z.A)/length(z.P,z.B)} -% subsection apollonius_circle_ma_mb_k (end) +% subsubsection apollonius_circle_ma_mb_k (end) % subsection methods_from_class_line (end) diff --git a/Master/texmf-dist/doc/latex/tkz-elements/TKZdoc-elements-classes-matrices.tex b/Master/texmf-dist/doc/latex/tkz-elements/TKZdoc-elements-classes-matrices.tex index 04b874532d8..d533511fbe2 100644 --- a/Master/texmf-dist/doc/latex/tkz-elements/TKZdoc-elements-classes-matrices.tex +++ b/Master/texmf-dist/doc/latex/tkz-elements/TKZdoc-elements-classes-matrices.tex @@ -15,7 +15,7 @@ This \code{matrix} class has been created to avoid the need for an external libr \begin{itemize} -\item The first method is: (Refer to \ref{ssub:method_new}) +\item The first method is: [\ref{ssub:method_new}] \begin{minipage}{.5\textwidth} \begin{mybox} @@ -33,13 +33,13 @@ This \code{matrix} class has been created to avoid the need for an external libr \end{minipage} -\item It is also possible to obtain a square matrix with: (Refer to \ref{ssub:method_square}) +\item It is also possible to obtain a square matrix with: [\ref{ssub:method_square}] \begin{mybox} |M = matrix : square (2,a,b,c,d)| \end{mybox} -\item In the case of a column vector: (Refer to \ref{ssub:method_vector}) +\item In the case of a column vector: [\ref{ssub:method_vector}] \begin{minipage}{.5\textwidth} \begin{mybox} @@ -52,7 +52,7 @@ This \code{matrix} class has been created to avoid the need for an external libr \end{tkzelements} \end{minipage} -\item Homogeneous transformation matrix (Refer to \ref{ssub:method_htm}) +\item Homogeneous transformation matrix [\ref{ssub:method_htm}] The objective is to generate a matrix with homogeneous coordinates capable of transforming a coordinate system through rotation, translation, and scaling. To achieve this, it is necessary to define both the rotation angle, the coordinates of the new origin ans the scaling factors. diff --git a/Master/texmf-dist/doc/latex/tkz-elements/TKZdoc-elements-classes-misc.tex b/Master/texmf-dist/doc/latex/tkz-elements/TKZdoc-elements-classes-misc.tex index c8c5cccd8f3..e80a292858c 100644 --- a/Master/texmf-dist/doc/latex/tkz-elements/TKZdoc-elements-classes-misc.tex +++ b/Master/texmf-dist/doc/latex/tkz-elements/TKZdoc-elements-classes-misc.tex @@ -17,11 +17,11 @@ %tkzround( num, idp ) & \\ % Cramer33(a1,a2,a3,b1,b2,b3,c1,c2,c3) & \\ % Cramer22(a1,a2,b1,b2) & \\ -\Igfct{math}{length (a,b) } & point.abs(a-b) Refer to (\ref{ssub:report_de_distance}) \\ +\Igfct{math}{length (a,b) } & point.abs(a-b) [\ref{sub:report_de_distance}] \\ \Igfct{math}{islinear (z1,z2,z3) } & Are the points aligned? (z2-z1) $\parallel$ (z3-z1) ? \\ \Igfct{math}{isortho (z1,z2,z3)} & (z2-z1) $\perp$ (z3-z1) ? boolean\\ -\Igfct{math}{get\_angle (z1,z2,z3)} & the vertex is z1 Refer to (\ref{sub:get_angle}) \\ -\Igfct{math}{bisector (z1,z2,z3)} & L.Aa = bisector (z.A,z.B,z.C) from A (\ref{sub:get_angle})\\ +\Igfct{math}{get\_angle (z1,z2,z3)} & the vertex is z1 [\ref{sub:get_angle}] \\ +\Igfct{math}{bisector (z1,z2,z3)} & L.Aa = bisector (z.A,z.B,z.C) from A [\ref{sub:get_angle}] \\ \Igfct{math}{bisector\_ext (z1,z2,z3)} & L.Aa = bisector_ext (z.A,z.B,z.C) from A \\ \Igfct{math}{altitude (z1,z2,z3)} & altitude from z1 \\ \Igfct{package}{set\_lua\_to\_tex (list)} & set\_lua\_to\_tex('a','n') defines |\a| and |\n| \\ @@ -31,7 +31,7 @@ \Igfct{math}{real (v) } & apply | value /scale | \\ \Igfct{math}{angle\_normalize (an) } & to get a value between 0 and $2\pi$ \\ \Igfct{misc}{barycenter (\{z1,n1\},\{z2,n2\}, ...)} & barycenter of list of points \\ -\Igfct{math}{solve\_quadratic (a,b,c) } & gives the solution of $ax^2+bx+c =0$ a,b,c real or complex (Refer to \ref{ssub:function_solve__quadratic})\\ +\Igfct{math}{solve\_quadratic (a,b,c) } & gives the solution of $ax^2+bx+c =0$ a,b,c real or complex [\ref{ssub:function_solve__quadratic}] \\ \bottomrule \end{tabular} \egroup diff --git a/Master/texmf-dist/doc/latex/tkz-elements/TKZdoc-elements-classes-point.tex b/Master/texmf-dist/doc/latex/tkz-elements/TKZdoc-elements-classes-point.tex index e404dc763bb..0da8f16b78b 100644 --- a/Master/texmf-dist/doc/latex/tkz-elements/TKZdoc-elements-classes-point.tex +++ b/Master/texmf-dist/doc/latex/tkz-elements/TKZdoc-elements-classes-point.tex @@ -92,7 +92,6 @@ The creation of a point is done using the following method, but there are other This is the creation of a fixed point with coordinates 1 and 2 and which is named $A$. The notation |z.A| indicates that the coordinates will be stored in a table denoted as |z| (reference to the notation of the affixes of the complex numbers) that $A$ is the name of the point and the key allowing access to the values. - \begin{center} \bgroup \small @@ -101,21 +100,18 @@ This is the creation of a fixed point with coordinates 1 and 2 and which is name \begin{tabular}{lll} \toprule \textbf{Attributes} & \textbf{Application}& \textbf{Example}\\ - \Iattr{point}{re} & |z.A.re = 1| & Refer to (\ref{ssub:methods}) \\ - \Iattr{point}{im} & |z.A.im = 2| & Refer to (\ref{ssub:methods}) \\ + \Iattr{point}{re} & |z.A.re = 1| & [\ref{ssub:methods}] \\ + \Iattr{point}{im} & |z.A.im = 2| & [\ref{ssub:methods}] \\ \Iattr{point}{type} & |z.A.type = 'point'| & \\ - \Iattr{point}{argument} & |z.A.argument $\approx$ 0.78539816339745| & Refer to (\ref{ssub:example_point_attributes})\\ - \Iattr{point}{modulus} & |z.A.modulus| $\approx$ |2.2360...| =$\sqrt{5}$ & Refer to (\ref{ssub:example_point_attributes})\\ + \Iattr{point}{argument} & |z.A.argument $\approx$ 0.78539816339745| & [\ref{ssub:example_point_attributes}] \\ + \Iattr{point}{modulus} & |z.A.modulus| $\approx$ |2.2360...| =$\sqrt{5}$ & [\ref{ssub:example_point_attributes}] \\ \bottomrule \end{tabular} \egroup \end{center} - - - \newpage -\subsubsection{Example:point attributes} % (fold) +\subsubsection{Example: point attributes} % (fold) \label{ssub:example_point_attributes} \begin{tkzelements} @@ -189,7 +185,7 @@ Attributes of \texttt{z.M} \end{center} \MakeShortVerb{\|} - \hspace*{\fill} + % \caption{Class Point} % subsubsection example_point_attributes (end) % subsection attributes_of_a_point (end) @@ -225,19 +221,20 @@ Attributes of \texttt{z.M} z.O = point : new ( 0 , 0 ) z.I = point : new ( 1 , 0 ) \end{tkzelements} - \hspace{\fill}\begin{tikzpicture} - \tkzGetNodes - \tkzInit[xmin=-4,ymin=-4,xmax=4,ymax=4] - \tkzDrawCircle[dashed,red](O,A) - \tkzPointShowCoord(A) - \tkzDrawPoint(A) - \tkzLabelPoint[above right](A){\normalsize $a+ib$} - \tkzDrawX\tkzDrawY - \tkzDrawSegment(O,A) - \tkzLabelSegment[above,anchor=south,sloped](O,A){ OA = modulus of $z_A$} - \tkzLabelAngle[anchor=west,pos=.5](I,O,A){$\theta$ = argument of $z_A$} - \end{tikzpicture} - \hspace{\fill} +\begin{center} + \begin{tikzpicture} + \tkzGetNodes + \tkzInit[xmin=-4,ymin=-4,xmax=4,ymax=4] + \tkzDrawCircle[dashed,red](O,A) + \tkzPointShowCoord(A) + \tkzDrawPoint(A) + \tkzLabelPoint[above right](A){\normalsize $a+ib$} + \tkzDrawX\tkzDrawY + \tkzDrawSegment(O,A) + \tkzLabelSegment[above,anchor=south,sloped](O,A){ OA = modulus of $z_A$} + \tkzLabelAngle[anchor=west,pos=.5](I,O,A){$\theta$ = argument of $z_A$} + \end{tikzpicture} +\end{center} \end{minipage} @@ -257,37 +254,37 @@ The methods described in the following table are standard and can be found in mo \toprule \textbf{Functions} & \textbf{Application}& \\ \midrule -\Igfct{point}{new(r,r)} & |z.A = point : new(1,2)| & Refer to (\ref{ssub:method_normalize}) \\ -\Igfct{point}{polar (d,an)} & |z.A = point : polar(1,math.pi/3)| & Refer to (\ref{sub:archimedes} )\\ +\Igfct{point}{new(r,r)} & |z.A = point : new(1,2)| & [\ref{ssub:method_normalize}] \\ +\Igfct{point}{polar (d,an)} & |z.A = point : polar(1,math.pi/3)| & [\ref{sub:archimedes}] \\ \Igfct{point}{polar\_deg (d,an)} & an in deg & polar coordinates an deg \\ \midrule \textbf{Methods} & \textbf{Application}& \\ \midrule \textbf{Points} &&\\ \midrule -\Imeth{point}{north(r)} & |r| distance to the point (1 if empty) & Refer to (\ref{sub:power_v2}) ; \ref{ssub:methods}) \\ +\Imeth{point}{north(r)} & |r| distance to the point (1 if empty) & [\ref{par:power_v2} ; \ref{ssub:methods}] \\ \Imeth{point}{south(r)} & & \\ \Imeth{point}{east(r)} & & \\ \Imeth{point}{west(r)} & & \\ -\Imeth{point}{normalize()} & |z.b = z.a: normalize ()| & Refer to (\ref{ssub:method_normalize}) \\ -\Imeth{point}{get\_points (obj)} & retrieves points from the object & \\ -\Imeth{point}{orthogonal (d)} & |z.B=z.A:orthogonal(d)| & $\overrightarrow{OB}\perp \overrightarrow{OA}$ and $OB=d$\\ -\Imeth{point}{at ()} & |z.X = z.B : at (z.A)| & $\overrightarrow{OB}= \overrightarrow{AX}$ and $OB=d$\\ +\Imeth{point}{normalize()} & |z.b = z.a: normalize ()| & [\ref{ssub:method_normalize}] \\ +\Imeth{point}{get\_points (obj)} & retrieves points from the object & [\ref{ssub:object_rotation}; \ref{ssub:apollonius_circle_ma_mb_k} ] \\ +\Imeth{point}{orthogonal (d)} & |z.B=z.A:orthogonal(d)| & $\overrightarrow{OB}\perp \overrightarrow{OA}$ and $OB=d$. [\ref{ssub:orthogonal_method}]\\ +\Imeth{point}{at ()} & |z.X = z.B : at (z.A)| & $\overrightarrow{OB}= \overrightarrow{AX}$ and $OB=d$. [\ref{ssub:_imeth_point_at_method}] \\ \midrule \textbf{Transformations} &&\\ \midrule - \Imeth{point}{symmetry(obj)} & obj : point, line, etc. & Refer to (\ref{ssub:object_symmetry}) \\ - \Imeth{point}{rotation(an , obj)} & point, line, etc. & Refer to (\ref{ssub:object_rotation})\\ - \Imeth{point}{homothety(r,obj)} & |z.c = z.a : homothety (2,z.b)| & Refer to (\ref{sub:homothety}) \\ + \Imeth{point}{symmetry(obj)} & obj : point, line, etc. & [\ref{ssub:object_symmetry}] \\ + \Imeth{point}{rotation(an , obj)} & point, line, etc. & [\ref{ssub:object_rotation}] \\ + \Imeth{point}{homothety(r,obj)} & |z.c = z.a : homothety (2,z.b)| & [\ref{sub:homothety}] \\ \midrule \textbf{Misc.} &&\\ \midrule - \Imeth{point}{print()} & displays the affix of the point & Refer to (\ref{ssub:object_symmetry}) \\ + \Imeth{point}{print()} & displays the affix of the point & [\ref{ssub:object_symmetry} ]\\ \bottomrule % \end{tabular} \egroup -\subsubsection{Example: method \Imeth{point}{north (d)} } % (fold) +\subsubsection{Method \Imeth{point}{north (d)} } % (fold) \label{ssub:example_method_imeth_point_north_d} This function defines a point located on a vertical line passing through the given point. This function is useful if you want to report a certain distance (Refer to the following example). @@ -320,71 +317,21 @@ If |d| is absent then it is considered equal to 1. z.C = z.O : west () z.D = z.O : south () \end{tkzelements} -\hspace{\fill} -\begin{tikzpicture} - \tkzGetNodes - \tkzDrawPolygon(A,B,C,D) - \tkzDrawPoints(A,B,C,D,O,A') - \tkzLabelPoints(A,B,C,D,O,A') -\end{tikzpicture} -\end{minipage} -% subsubsection example_method_imeth_point_north_d (end) - -\subsubsection{Length transfer} % (fold) -\label{ssub:report_de_distance} - -Use of |north and east| functions linked to points, to transfer lengths, Refer to (\ref{sub:length_of_a_segment}) +\begin{center} + \begin{tikzpicture} + \tkzGetNodes + \tkzDrawPolygon(A,B,C,D) + \tkzDrawPoints(A,B,C,D,O,A') + \tkzLabelPoints(A,B,C,D,O,A') + \end{tikzpicture} +\end{center} -\begin{minipage}{.4\textwidth} -\begin{Verbatim} -\begin{tkzelements} - z.A = point : new ( 0 , 0 ) - z.B = point : new ( 3 , 0 ) - L.AB = line : new ( z.A , z.B ) - T.ABC = L.AB : sublime () - z.C = T.ABC.pc - z.D = z.B: north (length(z.B,z.C)) - z.E = z.B: east (L.AB.length) - z.M = L.AB.mid - z.F = z.E : north (length(z.C,z.M)) -\end{tkzelements} -\begin{tikzpicture}[gridded] - \tkzGetNodes - \tkzDrawPolygons(A,B,C) - \tkzDrawSegments[gray,dashed](B,D B,E E,F C,M) - \tkzDrawPoints(A,...,F) - \tkzLabelPoints(A,B,E,M) - \tkzLabelPoints[above right](C,D,F) -\end{tikzpicture} -\end{Verbatim} \end{minipage} -\begin{minipage}{.6\textwidth} -\begin{tkzelements} - z.A = point : new ( 0 , 0 ) - z.B = point : new ( 3 , 0 ) - L.AB = line : new ( z.A , z.B ) - T.ABC = L.AB : sublime () - z.C = T.ABC.pc - z.D = z.B: north (length(z.B,z.C)) - z.E = z.B: east (L.AB.length) - z.M = L.AB.mid - z.F = z.E : north (length(z.C,z.M)) -\end{tkzelements} -\hspace{\fill} -\begin{tikzpicture}[gridded] - \tkzGetNodes - \tkzDrawPolygons(A,B,C) - \tkzDrawSegments[gray,dashed](B,D B,E E,F C,M) - \tkzDrawPoints(A,...,F) - \tkzLabelPoints(A,B,E,M) - \tkzLabelPoints[above right](C,D,F) -\end{tikzpicture} -\end{minipage} -% subsubsection report_de_distance (end) +% subsubsection example_method_imeth_point_north_d (end) -\subsubsection{Example: method \Imeth{point}{polar} } % (fold) +\subsubsection{Method \Imeth{point}{polar} } % (fold) \label{ssub:example_polar_method} This involves defining a point using its modulus and argument. @@ -402,7 +349,8 @@ This involves defining a point using its modulus and argument. \tkzDrawSegments[new](O,A) \tkzDrawSegments[purple](O,F) \tkzDrawPoints(A,O,F) - \tkzLabelPoints[below right=6pt](A,O,F) + \tkzLabelPoints[below right=6pt](A,O) + \tkzLabelPoints[above](F) \end{tikzpicture} \end{Verbatim} \end{minipage} @@ -413,16 +361,20 @@ This involves defining a point using its modulus and argument. z.A = point: new (3, 0) z.F = point: polar (3, math.pi/3) \end{tkzelements} -\hspace*{\fill} -\begin{tikzpicture} -\tkzGetNodes -\tkzDrawCircle(O,A) -\tkzDrawSegments[new](O,A) -\tkzDrawSegments[purple](O,F) -\tkzDrawPoints(A,O,F) -\tkzLabelPoints(A,O,F) -\end{tikzpicture} -\hspace*{\fill} + +\begin{center} + \begin{tikzpicture} + \tkzGetNodes + \tkzDrawCircle(O,A) + \tkzDrawSegments[new](O,A) + \tkzDrawSegments[purple](O,F) + \tkzDrawPoints(A,O,F) + \tkzLabelPoints[below right=6pt](A,O) + \tkzLabelPoints[above](F) + \end{tikzpicture} +\end{center} + + \end{minipage} % subsubsection example_polar_method (end) @@ -431,7 +383,26 @@ This involves defining a point using its modulus and argument. The result is a point located between the origin and the initial point at a distance of $1$ from the origin. -\begin{minipage}{.4\textwidth} +\begin{tkzelements} +scale = 1.5 +z.O = point : new (0,0) +z.A = point : new (2,1) +z.B = z.A : normalize () +z.I = point : new (1,0) +\end{tkzelements} + +\begin{center} + \begin{tikzpicture} + \tkzGetNodes + \tkzDrawSegment(O,A) + \tkzDrawCircle(O,B) + \tkzDrawPoints(O,A,B,I) + \tkzLabelPoints(O,A) + \tkzLabelPoints[above](B) + \tkzLabelPoint[below right](I){$1$} + \end{tikzpicture} +\end{center} + \begin{Verbatim} \begin{tkzelements} scale = 1.5 @@ -449,29 +420,11 @@ The result is a point located between the origin and the initial point at a dist \tkzLabelPoint[below right](I){$1$} \end{tikzpicture} \end{Verbatim} -\end{minipage} -\begin{minipage}{.6\textwidth} -\begin{tkzelements} -scale = 1.5 -z.O = point : new (0,0) -z.A = point : new (1,2) -z.B = z.A : normalize () -z.I = point : new (1,0) -\end{tkzelements} - \hspace*{\fill} -\begin{tikzpicture} -\tkzGetNodes -\tkzDrawSegment(O,A) -\tkzDrawCircle(O,B) -\tkzDrawPoints(O,A,B,I) -\tkzLabelPoints(O,A,B) -\tkzLabelPoint[below right](I){$1$} -\end{tikzpicture} - \hspace*{\fill} -\end{minipage} + + % subsubsection method_normalize (end) -\subsubsection{\Imeth{point}{Orthogonal (d)} method} % (fold) +\subsubsection{Method \Imeth{point}{orthogonal (d)}} % (fold) \label{ssub:orthogonal_method} Let $O$ be the origin of the plane. The "orthogonal (d)" method is used to obtain a point $B$ from a point $A$ such that $\overrightarrow{OB}\perp \overrightarrow{OA}$ with $OB=OA$ if $d$ is empty, otherwise $OB = d$. @@ -499,16 +452,19 @@ Let $O$ be the origin of the plane. The "orthogonal (d)" method is used to obtai z.O = point : new ( 0,0 ) z.C = z.A : orthogonal () \end{tkzelements} -\begin{tikzpicture}[gridded] - \tkzGetNodes - \tkzDrawSegments(O,A O,C) - \tkzDrawPoints(O,A,B,C) - \tkzLabelPoints[below right](O,A,B,C) -\end{tikzpicture} +\begin{center} + \begin{tikzpicture}[gridded] + \tkzGetNodes + \tkzDrawSegments(O,A O,C) + \tkzDrawPoints(O,A,B,C) + \tkzLabelPoints[below right](O,A,B,C) + \end{tikzpicture} +\end{center} + \end{minipage} % subsubsection orthogonal_method (end) -\subsubsection{\Imeth{point}{at} method} % (fold) +\subsubsection{Method \Imeth{point}{at}} % (fold) \label{ssub:_imeth_point_at_method} This method is complementary to the previous one, so you may not wish to have $\overrightarrow{OB}\perp \overrightarrow{OA}$ but $\overrightarrow{AB}\perp \overrightarrow{OA}$. @@ -521,14 +477,16 @@ This method is complementary to the previous one, so you may not wish to have $\ z.O = point : new ( 0,0 ) -- z.B = z.B : at (z.A) -- or z.B = z.A : orthogonal (1) : at (z.A) + z.E = z.A : orthogonal (1) z.C = z.A+z.B z.D =(z.C-z.A):orthogonal(2) : at (z.C) \end{tkzelements} \begin{tikzpicture}[gridded] \tkzGetNodes - \tkzLabelPoints[below right](O,A,B,C,D) - \tkzDrawSegments(O,A A,B A,C C,D) - \tkzDrawPoints(O,A,B,C,D) + \tkzLabelPoints[below right](O,A,C) + \tkzLabelPoints[above](B,D,E) + \tkzDrawSegments(O,A A,B A,C C,D O,E) + \tkzDrawPoints(O,A,B,C,D,E) \end{tikzpicture} \end{Verbatim} \end{minipage} @@ -539,20 +497,24 @@ z.B = z.A : orthogonal (1) z.O = point : new ( 0,0 ) -- z.B = z.B : at (z.A) -- or z.B = z.A : orthogonal (1) : at (z.A) +z.E = z.A : orthogonal (1) z.C = z.A+z.B z.D =(z.C-z.A):orthogonal(2) : at (z.C) \end{tkzelements} -\begin{tikzpicture}[gridded] -\tkzGetNodes -\tkzLabelPoints[below right](O,A,B,C,D) -\tkzDrawSegments(O,A A,B A,C C,D) -\tkzDrawPoints(O,A,B,C,D) -\end{tikzpicture} +\begin{center} + \begin{tikzpicture}[gridded] + \tkzGetNodes + \tkzLabelPoints[below right](O,A,C) + \tkzLabelPoints[above](B,D,E) + \tkzDrawSegments(O,A A,B A,C C,D O,E) + \tkzDrawPoints(O,A,B,C,D,E) + \end{tikzpicture} +\end{center} \end{minipage} % subsubsection _imeth_point_at_method (end) -\subsubsection{Example: \Imeth{point}{rotation of points}} % (fold) +\subsubsection{Method \Imeth{point}{rotation} first example} % (fold) \label{ssub:example_rotation_of_points} The arguments are the angle of rotation in radians, and here a list of points. @@ -565,26 +527,27 @@ The arguments are the angle of rotation in radians, and here a list of points. z.o = point: new(6, -2) z.ap,z.bp = z.o : rotation (math.pi/2,z.a,z.b) \end{tkzelements} - \begin{tikzpicture} - \tkzGetNodes - \tkzDrawLines(o,a o,a' o,b o,b') - \tkzDrawPoints(a,a',b,b',o) - \tkzLabelPoints(b,b',o) - \tkzLabelPoints[below left](a,a') - \tkzDrawArc(o,a)(a') - \tkzDrawArc(o,b)(b') - \end{tikzpicture} + \begin{tikzpicture} + \tkzGetNodes + \tkzDrawLines(o,a o,a' o,b o,b') + \tkzDrawPoints(a,a',b,b',o) + \tkzLabelPoints(b,b',o) + \tkzLabelPoints[below left](a,a') + \tkzDrawArc(o,a)(a') + \tkzDrawArc(o,b)(b') + \end{tikzpicture} \end{Verbatim} \end{minipage} \begin{minipage}{.4\textwidth} \begin{tkzelements} - scale = .5 + scale = .5 z.a = point: new(0, -1) z.b = point: new(4, 0) z.o = point: new(6, -2) z.ap,z.bp = z.o : rotation (math.pi/2,z.a,z.b) \end{tkzelements} -\hspace*{\fill} + +\begin{center} \begin{tikzpicture} \tkzGetNodes \tkzDrawLines(o,a o,a' o,b o,b') @@ -594,16 +557,16 @@ The arguments are the angle of rotation in radians, and here a list of points. \tkzDrawArc(o,a)(a') \tkzDrawArc(o,b)(b') \end{tikzpicture} -\hspace*{\fill} +\end{center} \end{minipage} % subsubsection example_rotation_of_points (end) -\subsubsection{Object \Imeth{point}{rotation}} % (fold) +\subsubsection{Method \Imeth{point}{rotation} second example} % (fold) \label{ssub:object_rotation} Rotate a triangle by an angle of $\pi/6$ around $O$. \begin{minipage}{.5\textwidth} - \begin{Verbatim} +\begin{Verbatim} \begin{tkzelements} scale = .75 z.O = point : new ( -1 , -1 ) @@ -619,13 +582,12 @@ Rotate a triangle by an angle of $\pi/6$ around $O$. T.ApBpCp = z.O : rotation (math.pi/3,T.ABC) z.Ap,z.Bp,z.Cp = get_points ( T.ApBpCp) \end{tkzelements} - \begin{tikzpicture} \tkzGetNodes \tkzDrawPolygons(A,B,C A',B',C' A,B,E,F A',B',E',F') \tkzDrawPoints (A,B,C,A',B',C',O) - \tkzLabelPoints (A,B,C,A',B',C',O) - \tkzDrawArc[delta=0,->](O,A)(A') + \tkzLabelPoints (A,B,C,A',B',C',O) + \tkzDrawArc[delta=0,->](O,A)(A') \end{tikzpicture} \end{Verbatim} \end{minipage} @@ -645,61 +607,68 @@ T.ApBpCp = z.O : rotation (math.pi/3,T.ABC) z.Ap,z.Bp,z.Cp = get_points ( T.ApBpCp) \end{tkzelements} -\hspace{\fill}\begin{tikzpicture} +\begin{center} +\begin{tikzpicture} \tkzGetNodes \tkzDrawPolygons(A,B,C A',B',C' A,B,E,F A',B',E',F') \tkzDrawPoints (A,B,C,A',B',C',O) - \tkzLabelPoints (A,B,C,A',B',C',O) + \tkzLabelPoints (A,B,C,A',B',C',O) \begin{scope} \tkzDrawArc[delta=0,->,dashed,red](O,A)(A') \tkzDrawSegments[dashed,red](O,A O,A') \end{scope} - \end{tikzpicture} +\end{center} \end{minipage} % subsubsection object_rotation (end) -\subsubsection{Object \Imeth{point}{symmetry}} % (fold) +\subsubsection{Method \Imeth{point}{symmetry}} % (fold) \label{ssub:object_symmetry} + +Example of the symmetry of an object + + \begin{minipage}{.5\textwidth} \begin{Verbatim} \begin{tkzelements} - z.a = point: new(0,-1) - z.b = point: new(2, 0) - L.ab = line : new (z.a,z.b) - C.ab = circle : new (z.a,z.b) - z.o = point: new(1,1) - z.ap,z.bp = get_points (z.o: symmetry (C.ab)) + z.a = point: new(0,-1) + z.b = point: new(2, 0) + L.ab = line : new (z.a,z.b) + C.ab = circle : new (z.a,z.b) + z.o = point: new(1,1) + z.ap,z.bp = get_points (z.o: symmetry (C.ab)) \end{tkzelements} - \begin{tikzpicture} -\tkzGetNodes -\tkzDrawCircles(a,b a',b') -\tkzDrawLines(a,a' b,b') -\tkzDrawLines[red](a,b a',b') -\tkzDrawPoints(a,a',b,b',o) -\tkzLabelPoints(a,a',b,b',o) + \tkzGetNodes + \tkzDrawCircles(a,b a',b') + \tkzDrawLines(a,a' b,b') + \tkzDrawLines[red](a,b a',b') + \tkzDrawPoints(a,a',b,b',o) + \tkzLabelPoints(a,a',b,b',o) \end{tikzpicture} \end{Verbatim} \end{minipage} \begin{minipage}{.5\textwidth} \begin{tkzelements} - z.a = point: new(0, -1) - z.b = point: new(2, 0) - L.ab = line : new (z.a,z.b) - C.ab = circle : new (z.a,z.b) - z.o = point: new(1, 1) - z.ap,z.bp = get_points (z.o: symmetry (C.ab)) + z.a = point: new(0, -1) + z.b = point: new(2, 0) + L.ab = line : new (z.a,z.b) + C.ab = circle : new (z.a,z.b) + z.o = point: new(1, 1) + z.ap,z.bp = get_points (z.o: symmetry (C.ab)) \end{tkzelements} -\hspace{\fill}\begin{tikzpicture} -\tkzGetNodes -\tkzDrawCircles(a,b a',b') -\tkzDrawLines(a,a' b,b') -\tkzDrawLines[red](a,b a',b') -\tkzDrawPoints(a,a',b,b',o) -\tkzLabelPoints(a,a',b,b',o) -\end{tikzpicture} +\begin{center} + \begin{tikzpicture} + \tkzGetNodes + \tkzDrawCircles(a,b a',b') + \tkzDrawLines(a,a' b,b') + \tkzDrawLines[red](a,b a',b') + \tkzDrawPoints(a,a',b,b',o) + \tkzLabelPoints(a,a',b,b',o) + \end{tikzpicture} +\end{center} + \end{minipage} % subsubsection object_symmetry (end) % subsection methods_of_the_class_point (end) diff --git a/Master/texmf-dist/doc/latex/tkz-elements/TKZdoc-elements-classes-regular.tex b/Master/texmf-dist/doc/latex/tkz-elements/TKZdoc-elements-classes-regular.tex index 3ec9e777a64..98b6ac3610f 100644 --- a/Master/texmf-dist/doc/latex/tkz-elements/TKZdoc-elements-classes-regular.tex +++ b/Master/texmf-dist/doc/latex/tkz-elements/TKZdoc-elements-classes-regular.tex @@ -94,7 +94,7 @@ z.H = RP.five.proj \midrule \textbf{Points} &\\ \midrule -\Imeth{regular\_polygon}{name (string)} & Refer to\ref{ssub:pentagon} \\ +\Imeth{regular\_polygon}{name (string)} & [\ref{ssub:pentagon}] \\ \bottomrule % \end{tabular} \egroup diff --git a/Master/texmf-dist/doc/latex/tkz-elements/TKZdoc-elements-classes-triangle.tex b/Master/texmf-dist/doc/latex/tkz-elements/TKZdoc-elements-classes-triangle.tex index 80b711e46f6..b144ed3e012 100644 --- a/Master/texmf-dist/doc/latex/tkz-elements/TKZdoc-elements-classes-triangle.tex +++ b/Master/texmf-dist/doc/latex/tkz-elements/TKZdoc-elements-classes-triangle.tex @@ -21,12 +21,13 @@ The triangle object is created using the \Imeth{triangle}{new} method, for examp \Iattr{triangle}{pb} &T.ABC.pb \\ \Iattr{triangle}{pc} &T.ABC.pc \\ \Iattr{triangle}{type} & 'triangle' \\ -\Iattr{triangle}{circumcenter} & T.ABC.circumcenter\\ +\Iattr{triangle}{circumcenter} & T.ABC.circumcenter; [\ref{ssub:example_triangle_attributes} +]\\ \Iattr{triangle}{centroid} &T.ABC.centroid\\ \Iattr{triangle}{incenter} &T.ABC.incenter\\ \Iattr{triangle}{orthocenter} &T.ABC.orthocenter\\ \Iattr{triangle}{eulercenter} &T.ABC.eulercenter \\ -\Iattr{triangle}{spiekercenter} &T.ABC.spiekercenter \\ +\Iattr{triangle}{spiekercenter} &T.ABC.spiekercenter; [\ref{ssub:example_apollonius_circle}] \\ \Iattr{triangle}{a}& It's the length of the side opposite the first vertex \\ \Iattr{triangle}{b}& It's the length of the side opposite the second verte\\ \Iattr{triangle}{c}& It's the length of the side opposite the third vertex \\ @@ -116,7 +117,7 @@ The triangle object is created using the \Imeth{triangle}{new} method, for examp \begin{tkzelements} z.A = point: new (0 , 0) z.B = point: new (4 , 0) - z.C = point: new (0 , 3) + z.C = point: new (1 , 3) T.ABC = triangle : new (z.A,z.B,z.C) z.O = T.ABC.circumcenter z.I = T.ABC.incenter @@ -129,18 +130,22 @@ The triangle object is created using the \Imeth{triangle}{new} method, for examp beta = T.ABC.beta gamma = T.ABC.gamma \end{tkzelements} -\hspace*{\fill} -\begin{tikzpicture} - \tkzGetNodes - \tkzDrawPolygon(A,B,C) - \tkzDrawPoints(A,B,C,O,G,I,H) - \tkzLabelPoints[below](A,B,O,G,I) - \tkzLabelPoints[above right](H,C) - \tkzDrawCircles(O,A) - \tkzLabelSegment[sloped](A,B){\tkzUseLua{c}} - \tkzLabelSegment[sloped,above](B,C){\tkzUseLua{a}} -\end{tikzpicture} -\hspace*{\fill} + +\begin{center} + \begin{tikzpicture} + \tkzGetNodes + \tkzDrawPolygon(A,B,C) + \tkzDrawPoints(A,B,C,O,G,I,H) + \tkzDrawCircles(O,A) + \tkzLabelPoints[below](A,B,O,G,I) + \tkzLabelPoints[above right](H) + \tkzLabelPoints[above](C) + \tkzLabelSegment[sloped](A,B){\tkzUseLua{c}} + \tkzLabelSegment[sloped,above](B,C){\tkzUseLua{a}} + \end{tikzpicture} +\end{center} + + \end{minipage} % subsubsection example_triangle_attributes (end) @@ -155,64 +160,95 @@ The triangle object is created using the \Imeth{triangle}{new} method, for examp \small \begin{minipage}{\textwidth} \captionof{table}{triangle methods.}\label{triangle:met} -\begin{tabular}{ll} +\begin{tabular}{lll} \toprule -\textbf{Methods} & \textbf{Comments} \\ +\textbf{Methods} & \textbf{Comments} & \\ \midrule -\Imeth{triangle}{new} (a, b ,c) & |T.ABC = triangle : new (z.A,z.B,z.C)| \\ - ... & |T| or |T.name| with what you want for name, is possible.\\ +\Imeth{triangle}{new} (a, b ,c) & |T.ABC = triangle : new (z.A,z.B,z.C)|& [\ref{sub:triangle_attributes_angles}] \footnote{|T| or |T.name| with what you want for name, is possible.} \\ \midrule - \textbf{Points} &\\ + \textbf{Points} &&\\ \midrule -\Imeth{triangle}{lemoine\_point ()} & |T.ABC : lemoine_point ()| intersection os the symmedians\\ -\Imeth{triangle}{symmedian\_point ()} & Lemoine point or the Grebe point \\ -\Imeth{triangle}{bevan\_point ()} & Circumcenter of the excentral triangle\\ -\Imeth{triangle}{mittenpunkt\_point ()} & Symmedian point of the excentral triangle\\ -\Imeth{triangle}{gergonne\_point ()} & Intersection of the three cevians that lead to the contact points \\ -\Imeth{triangle}{nagel\_point () } & Intersection of the three cevians that lead to the extouch points\\ -\Imeth{triangle}{feuerbach\_point () } & The point at which the incircle and euler circle are tangent. \\ -\Imeth{triangle}{spieker\_center ()} & Incenter of the medial triangle \\ -\Imeth{triangle}{barycenter (ka,kb,kc)} & |T.ABC: barycenter (2,1,1)| barycenter of |({A,2},{B,1},{C,1}) |\\ -\Imeth{triangle}{base (u,v) } & |z.D = T.ABC: base(1,1)| \tkzar ABDC is a parallelogram \\ -\Imeth{triangle}{projection (p) } & Projection of a point on the sides \\ -\Imeth{triangle}{euler\_points () } & Euler points of euler circle \\ -\Imeth{triangle}{nine\_points () } & 9 Points of the euler circle \\ -\Imeth{triangle}{parallelogram ()} & |z.D = T.ABC : parallelogram ()| \tkzar ABCD is a parallelogram\\ +\Imeth{triangle}{lemoine\_point ()} & |T.ABC : lemoine_point ()| intersection of the symmedians & [\ref{ssub:method_imeth_line_isosceles}]\\ + +\Imeth{triangle}{symmedian\_point ()} & Lemoine point or the Grebe point& [\ref{ssub:method_imeth_triangle_symmedial}] \\ + +\Imeth{triangle}{lemoine\_point ()} & symmedian point or the Grebe point& [\ref{ssub:method_imeth_triangle_symmedial}] \\ + +\Imeth{triangle}{bevan\_point ()} & Circumcenter of the excentral triangle& [\ref{ssub:methods_imeth_triangle_bevan_circle_and_imeth_triangle_bevan_point} +]\\ + +\Imeth{triangle}{mittenpunkt\_point ()} & Symmedian point of the excentral triangle& [\ref{ssub:method_imeth_triangle_mittenpunkt}]\\ + +\Imeth{triangle}{gergonne\_point ()} & Intersection of the three cevians that lead to the contact points& [\ref{ssub:gergonne_point}]\\ + +\Imeth{triangle}{nagel\_point () } & Intersection of the three cevians that lead to the extouch points& [\ref{ssub:method_imeth_triangle_nagel__point}]\\ + +\Imeth{triangle}{feuerbach\_point () } & The point at which the incircle and euler circle are tangent.& [\ref{ssub:method_imeth_triangle_feuerbach}]\\ + +\Imeth{triangle}{spieker\_center ()} & Incenter of the medial triangle& [\ref{sub:apollonius_circle_v1_with_inversion}]\\ + +\Imeth{triangle}{barycentric (ka,kb,kc)} & |T.ABC: barycentric (2,1,1)| barycenter of |({A,2},{B,1},{C,1}) |&Remark \footnote{The function \code{barycenter} is used to obtain the barycentre for any number of points }\\ + +\Imeth{triangle}{base (u,v) } & |z.D = T.ABC: base(1,1)| \tkzar ABDC is a parallelogram & [\ref{ssub:method_imeth_triangle_base}] \\ +\Imeth{triangle}{trilinear (u,v,w) } & |z.D = T.ABC: trilinear(1,1,1)| \tkzar ABDC parallelogram & [\ref{ssub:method_imeth_triangle_trilinear}] \\ + +\Imeth{triangle}{projection (p) } & Projection of a point on the sides &[\ref{sub:euler_relation}; \ref{ssub:method_imeth_triangle_projection}]\\ + +\Imeth{triangle}{euler\_points () } & Euler points of euler circle & [\ref{ssub:method_imeth_triangle_euler__points}] \\ + +\Imeth{triangle}{nine\_points () } & 9 Points of the euler circle & [\ref{ssub:method_imeth_triangle_nine__points}] \\ + +\Imeth{triangle}{parallelogram ()} & |z.D = T.ABC : parallelogram ()| \tkzar ABCD parallelogram& [\ref{sub:director_circle}]\\ \midrule - \textbf{Lines} &\\ + \textbf{Lines} &&\\ \midrule \Imeth{triangle}{altitude (n) } & |L.AHa = T.ABC : altitude () | n empty or 0 line from $A$ -\footnote{|z.Ha = L.AHa.pb| recovers the common point of the opposite side and altitude. The method |orthic| is usefull.}\\ -\Imeth{triangle}{bisector (n) } & |L.Bb = T.ABC : bisector (1) | n = 1 line from $B$ \footnote{|_,z.b = get_points(L.Bb)| recovers the common point of the opposite side and bisector. }\\ -\Imeth{triangle}{bisector\_ext(n) } & n=2 line from the third vertex.\\ -\Imeth{triangle}{symmedian\_line (n)} & Cevian with respect to Lemoine point. \\ +\footnote{|z.Ha = L.AHa.pb| recovers the common point of the opposite side and altitude. The method |orthic| is usefull. If you don't need to use the triangle object several times, you can obtain a bisector or a altitude with the function |altitude (z.A,z.B,z.C)| ; [ \ref{misc}]}& [\ref{ssub:method_imeth_triangle_altitude} ]\\ + +\Imeth{triangle}{bisector (n) } & |L.Bb = T.ABC : bisector (1) | n = 1 line from $B$ \footnote{|_,z.b = get_points(L.Bb)| recovers the common point of the opposite side and bisector. If you don't need to use the triangle object several times, you can obtain a bisector with the function |bisector (z.A,z.B,z.C)| [\ref{misc}]}& [\ref{ssub:method_imeth_triangle_bisector}]\\ + +\Imeth{triangle}{bisector\_ext(n) } & n=2 line from the third vertex.& [\ref{sub:harmonic_division_and_bisector}]\\ + +\Imeth{triangle}{symmedian\_line (n)} & Cevian with respect to Lemoine point.& [\ref{ssub:method_imeth_triangle_symmedial} ; \ref{ssub:method_imeth_line_isosceles}]\\ + \Imeth{triangle}{euler\_line () } & the line through $N$ ,$G$, $H$ and $O$ if the triangle is not equilateral -\footnote{N center of nine points circle, G centroid, H orthocenter , O circum center } \\ -\Imeth{triangle}{antiparallel(pt,n)} & n=0 antiparallel through pt to $(BC)$, n=1 to $(AC)$ etc.\\ +\footnote{N center of nine points circle, G centroid, H orthocenter , O circum center } & [\ref{sub:hexagram}]\\ + +\Imeth{triangle}{antiparallel(pt,n)} & n=0 antiparallel through pt to $(BC)$, n=1 to $(AC)$ etc.& [\ref{sub:antiparallel_through_lemoine_point}]\\ \midrule - \textbf{Circles} &\\ + \textbf{Circles} &&\\ \midrule \Imeth{triangle}{euler\_circle ()} & C.|NP = T.ABC : euler_circle ()| \tkzar $N$ euler point - \footnote{ The midpoint of each side of the triangle, the foot of each altitude, the midpoint of the line segment from each vertex of the triangle to the orthocenter.} \\ -\Imeth{triangle}{circum\_circle ()} & |C.OA = T.ABC : circum ()| Triangle's circumscribed circle \\ -\Imeth{triangle}{in\_circle ()} & Inscribed circle of the triangle\\ -\Imeth{triangle}{ex\_circle (n)} & Circle tangent to the three sides of the triangle ; n =1 swap ; n=2 2 swap \\ -\Imeth{triangle}{first\_lemoine\_circle ()} & The center is the midpoint between Lemoine point and the circumcenter.\footnote{ -Through the Lemoine point draw lines parallel to the triangle's sides. The points where the parallel lines intersect the sides of ABC - then lie on a circle known as the first Lemoine circle. } \\ -\Imeth{triangle}{second\_lemoine\_circle ()} & Refer to example \ref{sub:antiparallel_through_lemoine_point}\\ -\Imeth{triangle}{spieker\_circle ()} & The incircle of the medial triangle\\ -\Imeth{triangle}{cevian\_circle ()} & Circumscribed circle of a Cevian triangle Refer to (\ref{ssub:method_imeth_triangle_cevian})\\ -\Imeth{triangle}{pedal\_circle ()} & Circumscribed circle of the podar triangle Refer to (\ref{ssub:method_imeth_triangle_pedal})\\ -\Imeth{triangle}{conway\_circle ()} & Circumscribed circle of Conway points Refer to (\ref{ssub:method_imeth_triangle_conway})\\ + \footnote{ The midpoint of each side of the triangle, the foot of each altitude, the midpoint of the line segment from each vertex of the triangle to the orthocenter.} & [\ref{ssub:method_imeth_triangle_euler_circle}]\\ + +\Imeth{triangle}{circum\_circle ()} & |C.OA = T.ABC : circum ()| Triangle's circumscribed circle & [\ref{ssub:method_imeth_triangle_circum_circle}] \\ + +\Imeth{triangle}{in\_circle ()} & Inscribed circle of the triangle& +[\ref{ssub:method_imeth_triangle_in_circle}]\\ + +\Imeth{triangle}{ex\_circle (n)} & Circle tangent to the three sides of the triangle ; n =1 swap ; n=2 2 swap & [\ref{ssub:method_imeth_triangle_ex__circle}]\\ + +\Imeth{triangle}{first\_lemoine\_circle ()} & The center is the midpoint between Lemoine point and the circumcenter.\footnote{Through the Lemoine point draw lines parallel to the triangle's sides. The points where the parallel lines intersect the sides of ABC then lie on a circle known as the first Lemoine circle. }& [\ref{sub:first_and_second_lemoine_circles} +] \\ + +\Imeth{triangle}{second\_lemoine\_circle ()} & & \ref{sub:antiparallel_through_lemoine_point}] \\ + +\Imeth{triangle}{spieker\_circle ()} & The incircle of the medial triangle& [\ref{ssub:method_imeth_triangle_spieker__circle}]\\ + +\Imeth{triangle}{bevan\_circle ()} & Circumscribed circle of a excentral triangle & [\ref{ssub:methods_imeth_triangle_bevan_circle_and_imeth_triangle_bevan_point}]\\ + +\Imeth{triangle}{cevian\_circle ()} & Circumscribed circle of a Cevian triangle & [\ref{ssub:method_imeth_triangle_cevian}]\\ + +\Imeth{triangle}{symmedial\_circle ()} & Circumscribed circle of a symmedial triangle & [\ref{ssub:method_imeth_triangle_symmedial}]\\ + +\Imeth{triangle}{pedal\_circle ()} & Circumscribed circle of the podar triangle & [\ref{ssub:method_imeth_triangle_pedal}]\\ + +\Imeth{triangle}{conway\_circle ()} & Circumscribed circle of Conway points & [\ref{ssub:method_imeth_triangle_conway}]\\ \bottomrule \end{tabular} \end{minipage} \egroup -Remark: If you don't need to use the triangle object several times, you can obtain a bisector or a altitude with the next functions - -|bisector (z.A,z.B,z.C)| and |altitude (z.A,z.B,z.C)| Refer to (\ref{misc}) \clearpage\newpage \bgroup @@ -227,29 +263,48 @@ Remark: If you don't need to use the triangle object several times, you can obta \midrule \textbf{Triangles} &\\ \midrule -\Imeth{triangle}{orthic ()} & |T = T.ABC : orthic ()| triangle joining the feet of the altitudes \\ -\Imeth{triangle}{medial ()} & |T = T.ABC : medial ()| triangle with vertices at the midpoints\\ -\Imeth{triangle}{incentral ()} & Cevian triangle of the triangle with respect to its incenter \\ -\Imeth{triangle}{excentral () } & Triangle with vertices corresponding to the excenters \\ -\Imeth{triangle}{extouch ()} & Triangle formed by the points of tangency with the excircles \\ -\Imeth{triangle}{intouch () } & Contact triangle formed by the points of tangency of the incircle \\ -\Imeth{triangle}{tangential ()} & Triangle formed by the lines tangent to the circumcircle at the vertices\\ -\Imeth{triangle}{feuerbach ()} & Triangle formed by the points of tangency of the euler circle with the excircles\\ -\Imeth{triangle}{anti () }& Anticomplementary Triangle The given triangle is its medial triangle. \\ -\Imeth{triangle}{cevian (pt)} & Triangle formed with the endpoints of the three cevians with respect to |pt|. refer to (\ref{ssub:method_imeth_triangle_cevian})\\ -\Imeth{triangle}{pedal (pt)} & Triangle formed by projections onto the sides of |pt| Refer to \ref{ssub:method_imeth_triangle_pedal}\\ -\Imeth{triangle}{symmedian ()} & Triangle formed with the intersection points of the symmedians. \\ -\Imeth{triangle}{euler ()} & Triangle formed with the euler points \\ +\Imeth{triangle}{orthic ()} & |T = T.ABC : orthic ()| triangle joining the feet of the altitudes ; [\ref{ssub:method_imeth_triangle_altitude}] \\ + +\Imeth{triangle}{medial ()} & |T = T.ABC : medial ()| triangle with vertices at the midpoints; [\ref{ssub:method_imeth_triangle_medial} ; \ref{sub:nine_points} ; \ref{ssub:method_imeth_triangle_symmedial}]\\ + +\Imeth{triangle}{incentral ()}& Cevian triangle of the triangle with respect to its incenter. [\ref{ssub:method_incentral}] \\ + +\Imeth{triangle}{excentral ()} & Triangle with vertices corresponding to the excenters. [\ref{ssub:method_imeth_triangle_feuerbach} ] \\ + +\Imeth{triangle}{extouch ()} & Triangle formed by the points of tangency with the excircles. [\ref{sub:excircles} ] \\ + +\Imeth{triangle}{intouch () } & Contact triangle formed by the points of tangency of the incircle [\ref{ssub:gergonne_point}]\\ + +\Imeth{triangle}{contact () } & contact = intouch ; [ +\ref{ssub:gergonne_point}] \\ + +\Imeth{triangle}{tangential ()} & Triangle formed by the lines tangent to the circumcircle at the vertices; [\ref{ssub:method_imeth_triangle_tangential}]\\ + +\Imeth{triangle}{feuerbach ()} & Triangle formed by the points of tangency of the euler circle with the excircles; [\ref{ssub:method_imeth_triangle_feuerbach}]\\ + +\Imeth{triangle}{anti () }& Anticomplementary Triangle The given triangle is its medial triangle.\footnote{You can use \tkzname{similar} instead of \tkzname{anti}.} ; [\ref{ssub:method_imeth_triangle_anti}] \\ + +\Imeth{triangle}{cevian (pt)} & Triangle formed with the endpoints of the three cevians with respect to |pt|; [\ref{ssub:method_imeth_triangle_cevian}] \\ + +\Imeth{triangle}{pedal (pt)} & Triangle formed by projections onto the sides of |pt| [\ref{ssub:method_imeth_triangle_pedal}]\\ + +\Imeth{triangle}{symmedial ()} & Triangle formed with the intersection points of the symmedians ; [\ref{ssub:method_imeth_triangle_symmedial}] \\ + +\Imeth{triangle}{euler ()} & Triangle formed with the euler points ; [\ref{ssub:method_imeth_triangle_euler__points}] \\ + +\Imeth{triangle}{similar ()} & Triangle formed with straight lines parallel to the sides [\ref{ssub:method_imeth_triangle_similar}] \\ \midrule \textbf{Ellipses} &\\ -\Imeth{triangle}{steiner\_inellipse ()} & Refer to ex. (\ref{ssub:steiner_inellipse_and_circumellipse})\\ -\Imeth{triangle}{steiner\_circumellipse ()} & Refer to ex. (\ref{ssub:steiner_inellipse_and_circumellipse})\\ -\Imeth{triangle}{euler\_ellipse ()} & Refer to ex. (\ref{sub:euler_ellipse})\\ +\Imeth{triangle}{steiner\_inellipse ()} & [ex. \ref{ssub:steiner_inellipse_and_circumellipse}] \\ + +\Imeth{triangle}{steiner\_circumellipse ()} & [ex. \ref{ssub:steiner_inellipse_and_circumellipse}] \\ + +\Imeth{triangle}{euler\_ellipse ()} & [ex. (\ref{sub:euler_ellipse}]\\ \midrule \textbf{Miscellaneous} &\\ \midrule \Imeth{triangle}{area ()} & $ \mathcal{A}$| = T.ABC: area ()|\\ -\Imeth{triangle}{barycentric\_coordinates (pt)} & Triples of numbers corresponding to masses placed at the vertices\\ +\Imeth{triangle}{barycentric\_coordinates(pt)}& Triples of numbers corresponding to masses placed at the vertices\\ \Imeth{triangle}{in\_out (pt)} & Boolean. Test if |pt| is inside the triangle\\ \Imeth{triangle}{check\_equilateral ()} & Boolean. Test if the triangle is equilateral\\ \bottomrule @@ -259,68 +314,1146 @@ Remark: If you don't need to use the triangle object several times, you can obta \egroup % subsubsection methods_of_the_class_triangle (end) +\subsubsection{Gergonne point} % (fold) +\label{ssub:gergonne_point} + +In this example, some usefull methods are applied like \Imeth{triangle}{intouch} or \Imeth{triangle}{contact}. +The points of contact of the inscribed circle (incircle) with the triangle in question are obtained. + +\begin{minipage}[t]{.5\textwidth}\vspace{0pt}% +\begin{Verbatim} +\begin{tkzelements} +z.a = point: new(1,0) +z.b = point: new(6,2) +z.c = point: new(2,5) +T = triangle : new (z.a,z.b,z.c) +z.g = T : gergonne_point () +z.i = T.incenter +z.ta,z.tb,z.tc = get_points (T : intouch ()) +\end{tkzelements} + \begin{tikzpicture} + \tkzGetNodes + \tkzDrawPolygons(a,b,c) + \tkzDrawSegments (a,ta b,tb c,tc) + \tkzDrawCircle(i,ta) + \tkzDrawPoints(a,b,c,g,ta,tb,tc) + \tkzLabelPoints(a,b,tc) + \tkzLabelPoints[above](c,ta) + \tkzLabelPoints[above left](tb) + \end{tikzpicture} +\end{Verbatim} +\end{minipage} +\begin{minipage}[t]{.5\textwidth}\vspace{0pt}% +\begin{tkzelements} +z.a = point: new(1,0) +z.b = point: new(6,2) +z.c = point: new(2,5) +T = triangle : new (z.a,z.b,z.c) +z.g = T : gergonne_point () +z.i = T.incenter +z.ta,z.tb,z.tc = get_points (T : intouch ()) +\end{tkzelements} + + +\begin{center} + \begin{tikzpicture} + \tkzGetNodes + \tkzDrawPolygons(a,b,c) + \tkzDrawSegments (a,ta b,tb c,tc) + \tkzDrawCircle(i,ta) + \tkzDrawPoints(a,b,c,g,ta,tb,tc) + \tkzLabelPoints(a,b,tc) + \tkzLabelPoints[above](c,ta) + \tkzLabelPoints[above left](tb) + \end{tikzpicture} +\end{center} + +\end{minipage} +% subsubsection gergonne_point (end) + +\subsubsection{Method \Imeth{triangle}{Nagel\_point}} % (fold) +\label{ssub:method_imeth_triangle_nagel__point} + +Let $E_a$ be the point at which the $J_a$-excircle meets the side $(BC)$ of a triangle $ABC$, and define $E_b$ and $E_c$ similarly. Then the lines $A,E_a$, $B,E_b$ and $C,E_c$ concur in the Nagel point $Na$. + +\begin{minipage}{.5\textwidth} +\begin{Verbatim} +\begin{tkzelements} + scale = .7 + z.A = point : new (0,0) + z.B = point : new (3.6,0) + z.C = point : new (2.8,4) + T.ABC = triangle: new (z.A,z.B,z.C) + z.Na = T.ABC : nagel_point () + z.J_a,z.J_b, + z.J_c = get_points (T.ABC : excentral ()) + z.E_a,z.E_b, + z.E_c = get_points (T.ABC : extouch ()) +\end{tkzelements} +\begin{tikzpicture} + \tkzGetNodes + \tkzDrawPoints(A,B,C) + \tkzDrawPoints[red,size=2](J_a,J_b,J_c) + \tkzClipBB + \tkzDrawLines[add=1.75 and 1.75,teal](A,B A,C B,C) + \tkzDrawCircles(J_a,E_a J_b,E_b J_c,E_c) + \tkzDrawSegments[dashed,gray](J_a,E_a J_b,E_b J_c,E_c) + \tkzDrawSegments[orange](A,E_a B,E_b C,E_c) + \tkzDrawPoints[red,size=2](Na,E_a,E_b,E_c) + \tkzLabelPoints(A,B,Na) + \tkzLabelPoints(E_c,J_a,J_b,J_c) + \tkzLabelPoints[above](E_a,E_b,C) +\end{tikzpicture} +\end{Verbatim} +\end{minipage} +\begin{minipage}{.5\textwidth} +\begin{tkzelements} + scale = .7 + z.A = point : new (0,0) + z.B = point : new (3.6,0) + z.C = point : new (2.8,4) + T.ABC = triangle: new (z.A,z.B,z.C) + z.Na = T.ABC : nagel_point () + z.J_a,z.J_b, + z.J_c = get_points (T.ABC : excentral ()) + z.E_a,z.E_b, + z.E_c = get_points (T.ABC : extouch ()) +\end{tkzelements} + +\begin{center} +\begin{tikzpicture} + \tkzGetNodes + \tkzDrawPoints(A,B,C) + \tkzDrawPoints[red,size=2](J_a,J_b,J_c) + \tkzClipBB + \tkzDrawLines[add=1.75 and 1.75,teal](A,B A,C B,C) + \tkzDrawCircles(J_a,E_a J_b,E_b J_c,E_c) + \tkzDrawSegments[dashed,gray](J_a,E_a J_b,E_b J_c,E_c) + \tkzDrawSegments[orange](A,E_a B,E_b C,E_c) + \tkzDrawPoints[red,size=2](Na,E_a,E_b,E_c) + \tkzLabelPoints(A,B,Na) + \tkzLabelPoints(E_c,J_a,J_b,J_c) + \tkzLabelPoints[above](E_a,E_b,C) +\end{tikzpicture} +\end{center} + +\end{minipage} +% subsubsection method_imeth_triangle_nagel__point (end) + + +\subsubsection{Method \Imeth{triangle}{mittenpunkt}} % (fold) +\label{ssub:method_imeth_triangle_mittenpunkt} + +The Mittenpunkt is the symmedian point of the excentral triangle. The mittenpunkt (also called the middlespoint) of a triangle is the symmedian point of the excentral triangle, i.e., the point of concurrence of the lines from the excenters through the corresponding triangle side midpoints. +[ \href{https://mathworld.wolfram.com/Mittenpunkt.html}{Weisstein, Eric W. "Mittenpunkt." From MathWorld--A Wolfram Web Resource.}] + +\vspace{6pt} +\begin{minipage}{.5\textwidth} +\begin{Verbatim} +\begin{tkzelements} + scale = 1 + z.A = point : new ( 0 , 0 ) + z.B = point : new ( 6 , 0 ) + z.C = point : new ( 4 , 6 ) + T = triangle : new (z.A,z.B,z.C) + z.Ma, + z.Mb, + z.Mc = get_points (T : medial ()) + z.Ia,z.Ib,z.Ic = get_points(T : excentral ()) + z.Mi = T : mittenpunkt_point () + T.int = T : extouch () + z.Ta,z.Tb,z.Tc = get_points(T.int) +\end{tkzelements} +\end{Verbatim} +\end{minipage} +\begin{minipage}{.5\textwidth} +\begin{tkzelements} + scale = 1 + z.A = point : new ( 0 , 0 ) + z.B = point : new ( 6 , 0 ) + z.C = point : new ( 4 , 6 ) + T = triangle : new (z.A,z.B,z.C) + z.Ma, + z.Mb, + z.Mc = get_points (T : medial ()) + z.Ia,z.Ib,z.Ic = get_points(T : excentral ()) + z.Mi = T : mittenpunkt_point () + T.int = T : extouch () + z.Ta,z.Tb,z.Tc = get_points(T.int) +\end{tkzelements} +\begin{center} + \begin{tikzpicture}[scale=.5] + \tkzGetNodes + \tkzDrawPolygons[](A,B,C Ma,Mb,Mc) + \tkzDrawPoints(Ma,Mb,Mc,Ia,Ib,Ic) + \tkzDrawPoints[red](Ta,Tb,Tc) + \tkzLabelPoints[below](Ib) + \tkzLabelPoints[above left](Ia,Ic) + \tkzClipBB + \tkzDrawLines[add=0 and 1](Ia,Ma Ib,Mb Ic,Mc) + \tkzDrawLines[add=1 and 1](A,B A,C B,C) + \tkzDrawCircles[red](Ia,Ta Ib,Tb Ic,Tc) + \tkzDrawPoints(B,C,A,Mi) % + \tkzLabelPoints(B,A) + \tkzLabelPoints[above](C,Mi) + \end{tikzpicture} +\end{center} +\end{minipage} + +\begin{minipage}{.5\textwidth} +\begin{Verbatim} +\begin{tikzpicture}[scale=.5] + \tkzGetNodes + \tkzDrawPolygons[](A,B,C Ma,Mb,Mc) + \tkzDrawPoints(Ma,Mb,Mc,Ia,Ib,Ic) + \tkzDrawPoints[red](Ta,Tb,Tc) + \tkzLabelPoints[below](Ib) + \tkzLabelPoints[above left](Ia,Ic) + \tkzClipBB + \tkzDrawLines[add=0 and 1](Ia,Ma Ib,Mb Ic,Mc) + \tkzDrawLines[add=1 and 1](A,B A,C B,C) + \tkzDrawCircles[red](Ia,Ta Ib,Tb Ic,Tc) + \tkzDrawPoints(B,C,A,Mi) + \tkzLabelPoints(B,A) + \tkzLabelPoints[above](C,Mi) +\end{tikzpicture} +\end{Verbatim} +\end{minipage} + + +% subsubsection method_imeth_triangle_mittenpunkt (end) + +\subsubsection{Method \Imeth{triangle}{projection}} % (fold) +\label{ssub:method_imeth_triangle_projection} + +This involves obtaining the projections of a point onto the sides of a triangle. In the following example, we are going to find the projections of a centre of an exinscribed circle. + +\begin{minipage}{.5\textwidth} +\begin{Verbatim} +\begin{tkzelements} +z.A = point: new (0 , 0) +z.B = point: new (5 , 0) +z.C = point: new (-.4 , 4) +T.ABC = triangle: new (z.A,z.B,z.C) +z.J,_ = get_points(T.ABC: ex_circle (2)) +z.X , +z.Y, +z.Z = T.ABC : projection (z.J) +\end{tkzelements} +\end{Verbatim} +\end{minipage} +\begin{minipage}{.5\textwidth} +\begin{tkzelements} +z.A = point: new (0 , 0) +z.B = point: new (5 , 0) +z.C = point: new (-.4 , 4) +T.ABC = triangle: new (z.A,z.B,z.C) +z.J,_ = get_points(T.ABC: ex_circle (2)) +z.X , +z.Y, +z.Z = T.ABC : projection (z.J) +\end{tkzelements} +\begin{center} + \begin{tikzpicture} + \tkzGetNodes + \tkzDrawPolygon(A,B,C) + \tkzDrawArc(J,X)(Y) + \tkzDrawSegments[blue](J,X J,Y J,Z C,Y C,X) + \tkzDrawPoints(A,B,C,J,X,Y,Z) + \tkzLabelPoints(J,X,Y) + \tkzLabelPoints[above](C,B,Z) + \tkzLabelPoints[left](A) + \tkzMarkRightAngles[fill=gray!20,opacity=.4](A,Z,J A,Y,J J,X,B) + \end{tikzpicture} +\end{center} +\end{minipage} + +\begin{minipage}{.5\textwidth} +\begin{Verbatim} +\begin{center} + \begin{tikzpicture} + \tkzGetNodes + \tkzDrawPolygon(A,B,C) + \tkzDrawArc(J,X)(Y) + \tkzDrawSegments[blue](J,X J,Y J,Z C,Y C,X) + \tkzDrawPoints(A,B,C,J,X,Y,Z) + \tkzLabelPoints(J,X,Y) + \tkzLabelPoints[above](C,B,Z) + \tkzLabelPoints[left](A) + \tkzMarkRightAngles[fill=gray!20,opacity=.4](A,Z,J A,Y,J J,X,B) + \end{tikzpicture} +\end{center} +\end{Verbatim} +\end{minipage} + +% subsubsection method_imeth_triangle_projection (end) + +\subsubsection{Method \Imeth{triangle}{trilinear}} % (fold) +\label{ssub:method_imeth_triangle_trilinear} + +Given a reference triangle $ABC$, the trilinear coordinates of a point $P$ with respect to $ABC$ are an ordered triple of numbers, each of which is proportional to the directed distance from $P$ to one of the side lines. Trilinear coordinates are denoted alpha:beta:gamma or (alpha,beta,gamma) and also are known as homogeneous coordinates or "trilinears." Trilinear coordinates were introduced by Plücker in 1835. +[\href{https://mathworld.wolfram.com/TrilinearCoordinates.html}{Weisstein, Eric W. "Trilinear Coordinates." From MathWorld--A Wolfram Web Resource.}] + +\vspace{6pt} +\begin{minipage}{.5\textwidth} +\begin{Verbatim} +\begin{tkzelements} +z.A = point : new ( 0 , 0 ) +z.B = point : new ( 4 , 0 ) +z.C = point : new ( 4 , 3 ) +T.ABC = triangle : new ( z.A , z.B , z.C ) +a = T.ABC.a +b = T.ABC.b +c = T.ABC.c +z.Gp = T.ABC : trilinear (b*c,a*c,a*b) +z.G = T.ABC : barycentric (1,1,1) +\end{tkzelements} +\begin{tikzpicture} +\tkzGetNodes +\tkzDrawPolygon(A,B,C) +\tkzDrawPoints(A,B,C,G',G) +\tkzLabelPoints(A,B,G') +\tkzLabelPoints[above](C,G) +\end{tikzpicture} +\end{Verbatim} +\end{minipage} +\begin{minipage}{.5\textwidth} +\begin{tkzelements} +z.A = point : new ( 0 , 0 ) +z.B = point : new ( 4 , 0 ) +z.C = point : new ( 4 , 3 ) +T.ABC = triangle : new ( z.A , z.B , z.C ) +a = T.ABC.a +b = T.ABC.b +c = T.ABC.c +z.Gp = T.ABC : trilinear (b*c,a*c,a*b) +z.G = T.ABC : barycentric (1,1,1) +\end{tkzelements} +\begin{center} + \begin{tikzpicture} + \tkzGetNodes + \tkzDrawPolygon(A,B,C) + \tkzDrawPoints(A,B,C,G',G) + \tkzLabelPoints(A,B,G') + \tkzLabelPoints[above](C,G) + \end{tikzpicture} +\end{center} + +\end{minipage} +% subsubsection method_imeth_triangle_trilinear (end) + +\subsubsection{Method \Imeth{triangle}{barycentric\_coordinates}} % (fold) +\label{ssub:method_imeth_triangle_barycentric__coordinates} + +This method produces a triplet of coordinates which are the barycentric coordinates of a point as a function of the three points of a given triangle. + +\vspace{6pt} + +\begin{minipage}{.5\textwidth} + \begin{Verbatim} +\begin{tkzelements} + z.A = point: new (1,1) + z.B = point: new (8,0) + z.C = point: new (2,5) + T = triangle: new(z.A,z.B,z.C) + z.G = T.centroid + ca,cb,cc = T : barycentric_coordinates (z.G) +\end{tkzelements} +\begin{tikzpicture} + \tkzGetNodes + \tkzDrawPolygons(A,B,C) + \tkzDrawPoints(A,B,C,G) + \tkzLabelPoints(A,B,C,G) + \tkzLabelPoint(G){\pmpn{\tkzUseLua{ca}}:\pmpn{\tkzUseLua{cb}}:\pmpn{\tkzUseLua{cc}}} +\end{tikzpicture} + \end{Verbatim} +\end{minipage} +\begin{minipage}{.5\textwidth} + \begin{tkzelements} + scale = .75 + z.A = point: new (1,1) + z.B = point: new (8,0) + z.C = point: new (2,5) + T = triangle: new(z.A,z.B,z.C) + z.G = T.centroid + ca,cb,cc = T : barycentric_coordinates (z.G) + \end{tkzelements} + \begin{center} + \begin{tikzpicture} + \tkzGetNodes + \tkzDrawPolygons(A,B,C) + \tkzDrawPoints(A,B,C,G) + \tkzLabelPoints(A,B) + \tkzLabelPoints[above](C) \tkzLabelPoint(G){\pmpn{\tkzUseLua{ca}}:\pmpn{\tkzUseLua{cb}}:\pmpn{\tkzUseLua{cc}}} + \end{tikzpicture} + \end{center} +\end{minipage} + +% subsubsection method_imeth_triangle_barycentric__coordinates (end) + +\subsubsection{Method \Imeth{triangle}{base}} % (fold) +\label{ssub:method_imeth_triangle_base} + +In the next example, the point $D$ is defined by $\overrightarrow{AD} = 1\cdot \overrightarrow{AB}+1\cdot \overrightarrow{AC}$. + +\vspace{6pt} +\begin{minipage}{.5\textwidth} +\begin{Verbatim} +\begin{tkzelements} + scale = .75 + z.A = point: new (1,1) + z.B = point: new (8,0) + z.C = point: new (0,5) + z.X = point: new (2,2) + T = triangle: new(z.A,z.B,z.C) + z.D = T : base (1,1) + z.E = T : base (.5,1) +\end{tkzelements} +\begin{tikzpicture} + \tkzGetNodes + \tkzDrawPolygons(A,B,D,C A,B,E,C) + \tkzDrawPoints(A,B,C,D,E) + \tkzLabelPoints(A,B) + \tkzLabelPoints[above](C,D,E) +\end{tikzpicture} +\end{Verbatim} +\end{minipage} +\begin{minipage}{.5\textwidth} + \begin{tkzelements} + scale = .75 + z.A = point: new (1,1) + z.B = point: new (8,0) + z.C = point: new (0,5) + z.X = point: new (2,2) + T = triangle: new(z.A,z.B,z.C) + z.D = T : base (1,1) + z.E = T : base (.5,1) + \end{tkzelements} + \begin{center} + \begin{tikzpicture} + \tkzGetNodes + \tkzDrawPolygons(A,B,D,C A,B,E,C) + \tkzDrawPoints(A,B,C,D,E) + \tkzLabelPoints(A,B) + \tkzLabelPoints[above](C,D,E) + \end{tikzpicture} + \end{center} + +\end{minipage} + +% subsubsection method_imeth_triangle_base (end) + + +\subsubsection{Method \Imeth{triangle}{euler\_points}} % (fold) +\label{ssub:method_imeth_triangle_euler__points} + +The points $a$, $b$ and $c$ are the Euler points. They are the midpoints of the segments $AH$, $BH$ and $CH$. + +\begin{minipage}{.5\textwidth} + \begin{Verbatim} + \begin{tkzelements} + scale = 1.25 + z.A = point: new (0,0) + z.B = point: new (5,0) + z.C = point: new (1,4) + T = triangle: new(z.A,z.B,z.C) + z.N = T.eulercenter + z.a, + z.b, + z.c = get_points (T : euler ()) + z.H = T.orthocenter + T.orthic = T: orthic() + z.Ha, + z.Hb, + z.Hc = get_points (T.orthic) + \end{tkzelements} + \begin{tikzpicture} + \tkzGetNodes + \tkzDrawPolygons[red](A,B,C) + \tkzDrawPolygons[cyan](a,b,c) + \tkzDrawCircle[purple](N,a) + \tkzDrawPoints(a,b,B,C,A,c,H) + \tkzDrawSegments[red](C,Hc B,Hb A,Ha) + \tkzLabelPoints(A,B,a,b,H) + \tkzLabelPoints[above](c,C) + \end{tikzpicture} + \end{Verbatim} +\end{minipage} +\begin{minipage}{.5\textwidth} + \begin{tkzelements} + scale = 1.25 + z.A = point: new (0,0) + z.B = point: new (5,0) + z.C = point: new (1,4) + T = triangle: new(z.A,z.B,z.C) + z.N = T.eulercenter + z.a, + z.b, + z.c = get_points (T : euler ()) + z.H = T.orthocenter + T.orthic = T: orthic() + z.Ha, + z.Hb, + z.Hc = get_points (T.orthic) +\end{tkzelements} + +\begin{center} + \begin{tikzpicture} + \tkzGetNodes + \tkzDrawPolygons[red](A,B,C) + \tkzDrawPolygons[cyan](a,b,c) + \tkzDrawCircle[purple](N,a) + \tkzDrawPoints(a,b,B,C,A,c,H) + \tkzDrawSegments[red](C,Hc B,Hb A,Ha) + \tkzLabelPoints(A,B,a,b,H) + \tkzLabelPoints[above](c,C) + \end{tikzpicture} +\end{center} +\end{minipage} +% subsubsection method_imeth_triangle_euler__points (end) + +\subsubsection{Method \Imeth{triangle}{nine\_points}} % (fold) +\label{ssub:method_imeth_triangle_nine__points} + +This method gives the nine main points belonging to the Euler circle: in order, first the midpoints of the sides of the triangle, then the feet of the altitudes and finally the three Euler points. Refer to the last example. +In the next example, we look for the centre of gravity in two different ways: the first uses the \code{trilinear} method, the second the \code{barycentric} method. + +\vspace{6pt} +\begin{minipage}{.5\textwidth} +\begin{Verbatim} +\begin{tkzelements} + scale = 1.5 + z.A = point: new (0,0) + z.B = point: new (5,0) + z.C = point: new (1,4) + T = triangle: new(z.A,z.B,z.C) + z.N = T.eulercenter + z.e1, + z.e2, + z.e3, + z.e4, + z.e5, + z.e6, + z.e7, + z.e8, + z.e9 = T : nine_points () +\end{tkzelements} +\end{Verbatim} +\end{minipage} +\begin{minipage}{.5\textwidth} +\begin{tkzelements} + scale = 1.5 + z.A = point: new (0,0) + z.B = point: new (5,0) + z.C = point: new (1,4) + T = triangle: new(z.A,z.B,z.C) + z.N = T.eulercenter + z.e1, + z.e2, + z.e3, + z.e4, + z.e5, + z.e6, + z.e7, + z.e8, + z.e9 = T : nine_points () +\end{tkzelements} +\begin{tikzpicture} + \tkzGetNodes + \tkzDrawPolygons[red](A,B,C) + \tkzDrawCircle[purple](N,e1) + \tkzDrawPoints(e1,e2,e3,e4,e5,e6,e7,e8,e9) + \tkzLabelPoints(e1,e2,e3,e4,e5,e6,e7,e8,e9) +\end{tikzpicture} +\end{minipage} + +\begin{minipage}{.5\textwidth} +\begin{Verbatim} +\begin{tikzpicture} + \tkzGetNodes + \tkzDrawPolygons[red](A,B,C) + \tkzDrawCircle[purple](N,e1) + \tkzDrawPoints(e1,e2,e3,e4,e5,e6,e7,e8,e9) + \tkzLabelPoints(e1,e2,e3,e4,e5,e6,e7,e8,e9) +\end{tikzpicture} +\end{Verbatim} +\end{minipage} + +% subsubsection method_imeth_triangle_nine__points (end) + +\subsubsection{Method \Imeth{triangle}{altitude}} % (fold) +\label{ssub:method_imeth_triangle_altitude} + +There are several methods to obtain one or more altitudes of a triangle. One possible method is the \Imeth{triangle}{orthic} method. This method allows for defining the \code{orthic} triangle whose vertices are the feet of the altitudes from each vertex. If only one altitude is needed, one can use the \code{altitude(n)} method. The numeric value $n$ can be $0$, $1$, or $2$. By default, if it is absent, it is considered to be $0$. Considering the triangle $ABC$, $n=0$ means no cyclic permutation of the vertices, and the altitude will be from the first point, here $A$. If $n=1$, the point trio $BCA$ is considered, and the altitude will be from $B$. For $n=2$, the altitude will be from $C$. + +\vspace{6pt} +\begin{minipage}{.5\textwidth} +\begin{Verbatim} +\begin{tkzelements} + z.A = point: new (0,0) + z.B = point: new (5,0) + z.C = point: new (2,4) + T = triangle: new(z.A,z.B,z.C) + z.H = T.orthocenter + L.HA = T : altitude () + L.HC = T :altitude (2) + z.Hc = L.HC.pb + z.Ha = L.HA.pb + z.a,z.b,z.c = get_points (T : orthic ()) +\end{tkzelements} +\begin{tikzpicture} + \tkzGetNodes + \tkzDrawPolygon(A,B,C) + \tkzDrawPolygon[red](a,b,c) + \tkzDrawPoints(A,B,C,H) + \tkzDrawSegments[red](C,Hc A,Ha) + \tkzLabelPoints(A,B,H) + \tkzLabelPoints[font=\small](Hc) + \tkzLabelPoints[font=\small,above](Ha,C) + \tkzMarkRightAngles[fill = gray!30,opacity=.4](B,Hc,C A,Ha,C) + \end{tikzpicture} +\end{Verbatim} +\end{minipage} +\begin{minipage}{.5\textwidth} +\begin{tkzelements} + z.A = point: new (0,0) + z.B = point: new (5,0) + z.C = point: new (2,4) + T = triangle: new(z.A,z.B,z.C) + z.H = T.orthocenter + L.HA = T : altitude () + L.HC = T : altitude (2) + z.Hc = L.HC.pb + z.Ha = L.HA.pb + z.a,z.b,z.c = get_points (T : orthic ()) +\end{tkzelements} +\begin{center} + \begin{tikzpicture} + \tkzGetNodes + \tkzDrawPolygon(A,B,C) + \tkzDrawPolygon[red](a,b,c) + \tkzDrawPoints(A,B,C,H) + \tkzDrawSegments[red](C,Hc A,Ha) + \tkzLabelPoints(A,B,H) + \tkzLabelPoints[font=\small](Hc) + \tkzLabelPoints[font=\small,above](Ha,C) + \tkzMarkRightAngles[fill = gray!30,opacity=.4](B,Hc,C A,Ha,C) + \end{tikzpicture} +\end{center} + +\end{minipage} +% subsubsection method_imeth_triangle_altitude (end) + +\subsubsection{Method \Imeth{triangle}{bisector}} % (fold) +\label{ssub:method_imeth_triangle_bisector} + +There are several methods to obtain one or more bisectors of a triangle. One possible method is the \Imeth{triangle}{incentral} method. This method allows for defining the \code{incentral} triangle whose vertices are the feet of the bisectors from each vertex. If only one bisector is needed, one can use the \code{bisector(n)} method. The numeric value $n$ can be $0$, $1$, or $2$. By default, if it is absent, it is considered to be $0$. Considering the triangle $ABC$, $n=0$ means no cyclic permutation of the vertices, and the bisector will be from the first point, here $A$. If $n=1$, the point trio $BCA$ is considered, and the bisector will be from $B$. For $n=2$, the bisector will be from $C$. + +\vspace{6pt} + +\begin{minipage}{.5\textwidth} +\begin{Verbatim} +\begin{tkzelements} + z.A = point : new (0 , 0) + z.B = point : new (3 , 2) + z.C = point : new (2 , 5) + T.ABC = triangle : new ( z.A , z.B , z.C ) + L.AE = T.ABC : bisector () + z.E = L.AE.pb + z.F = T.ABC : bisector (1).pb + z.a,z.b,z.c = get_points (T.ABC : incentral ()) +\end{tkzelements} +\begin{tikzpicture} + \tkzGetNodes + \tkzDrawPolygon(A,B,C) + \tkzDrawPolygon[red](a,b,c) + \tkzDrawLines(A,B A,C A,E B,F) + \tkzDrawPoints(A,B,C,a,b,c) + \tkzLabelPoints(A,B,c) + \tkzLabelPoints[above](C,b,a) + \tkzMarkAngles[mark=|](B,A,a a,A,C) + \tkzMarkAngles[mark=||](C,B,b b,B,A) +\end{tikzpicture} +\end{Verbatim} +\end{minipage} +\begin{minipage}{.5\textwidth} +\begin{tkzelements} + z.A = point : new (0 , 0) + z.B = point : new (3 , 2) + z.C = point : new (2 , 5) + T.ABC = triangle : new ( z.A , z.B , z.C ) + L.AE = T.ABC : bisector () + z.E = L.AE.pb + z.F = T.ABC : bisector (1).pb + z.a,z.b,z.c = get_points (T.ABC : incentral ()) +\end{tkzelements} +\begin{center} + \begin{tikzpicture} + \tkzGetNodes + \tkzDrawPolygon(A,B,C) + \tkzDrawPolygon[red](a,b,c) + \tkzDrawLines(A,B A,C A,E B,F) + \tkzDrawPoints(A,B,C,a,b,c) + \tkzLabelPoints(A,B,c) + \tkzLabelPoints[above](C,b,a) + \tkzMarkAngles[cyan,mark=|,size=.75](B,A,a a,A,C) + \tkzMarkAngles[mark=||,size=.5](C,B,b b,B,A) + \end{tikzpicture} +\end{center} + +\end{minipage} + +% subsubsection method_imeth_triangle_bisector (end) + +%%%%%% Circles %%%%%% + +\subsubsection{Method \Imeth{triangle}{euler\_circle}} % (fold) +\label{ssub:method_imeth_triangle_euler_circle} + +The nine-point circle, also called Euler's circle or the Feuerbach circle, is the circle that passes through the perpendicular feet $H_A, H_B, and H_C$ dropped from the vertices of any reference triangle DeltaABC on the sides opposite them. Euler showed in 1765 that it also passes through the midpoints$ M_A, M_B, M_C$ of the sides of DeltaABC. By Feuerbach's theorem, the nine-point circle also passes through the midpoints $E_A, E_B, and E_C$ of the segments that join the vertices and the orthocenter $H$. These points are commonly referred to as the Euler points. +\href{https://mathworld.wolfram.com/Nine-PointCircle.html}{Weisstein, Eric W. "Nine-Point Circle." From MathWorld--A Wolfram Web Resource.} + +\vspace{6pt} +There are several ways of obtaining the Euler circle. The first would be to use an attribute of the triangle to determine the centre. This centre is defined by |z.N = T.eulercenter|. Next, the circle passes through the midpoint of one of the sides. IF this circle is useful later on, it is best to define it using the \code{euler\_circle} method. + +\vspace{6pt} +\begin{minipage}{.5\textwidth} +\begin{Verbatim} +\begin{tkzelements} + z.A = point: new (0,0) + z.B = point: new (5,0) + z.C = point: new (1,4) + T = triangle: new(z.A,z.B,z.C) + C.euler = T : euler_circle () + z.N,z.K = get_points (C.euler) +\end{tkzelements} +\begin{tikzpicture} + \tkzGetNodes + \tkzDrawPolygons[red](A,B,C) + \tkzDrawCircle(N,K) + \tkzDrawPoints(A,B,C,N,K) + \tkzLabelPoints(A,B,N) + \tkzLabelPoints[above](C,K) +\end{tikzpicture} +\end{Verbatim} +\end{minipage} +\begin{minipage}{.5\textwidth} +\begin{tkzelements} + z.A = point: new (0,0) + z.B = point: new (5,0) + z.C = point: new (1,4) + T = triangle: new(z.A,z.B,z.C) + C.euler = T : euler_circle () + z.N,z.K = get_points (C.euler) +\end{tkzelements} +\begin{center} + \begin{tikzpicture} + \tkzGetNodes + \tkzDrawPolygons[red](A,B,C) + \tkzDrawCircle(N,K) + \tkzDrawPoints(A,B,C,N,K) + \tkzLabelPoints(A,B,N) + \tkzLabelPoints[above](C,K) + \end{tikzpicture} +\end{center} + +\end{minipage} + +% subsubsection method_imeth_triangle_euler_circle (end) + +\subsubsection{Method \Imeth{triangle}{circum\_circle}} % (fold) +\label{ssub:method_imeth_triangle_circum_circle} + +To obtain the circumscribed circle, simply use the \code{T.circumcenter} attribute, but if it is necessary to determine the circle then the method is \code{circum\_circle}. -\subsubsection{Méthodes \Imeth{triangle}{cevian} et \Imeth{triangle}{cevian\_circle}} % (fold) -\label{ssub:method_imeth_triangle_cevian} \begin{minipage}{.5\textwidth} \begin{Verbatim} \begin{tkzelements} - scale = 2 - z.a = point: new (1,2) - z.b = point: new (5,1) - z.c = point: new (3,5) - T = triangle: new (z.a,z.b,z.c) - z.i = T.orthocenter - T.cevian = T : cevian (z.i) - z.ta,z.tb,z.tc = get_points (T.cevian) - C.cev = T : cevian_circle (z.i) - z.w = C.cev.center + z.A = point: new (0,0) + z.B = point: new (5,0) + z.C = point: new (1,4) + T = triangle: new(z.A,z.B,z.C) + C.circum = T : circum_circle () + z.O,z.K = get_points (C.circum) \end{tkzelements} \begin{tikzpicture} + \tkzGetNodes + \tkzDrawPolygons[red](A,B,C) + \tkzDrawCircle(O,K) + \tkzDrawPoints(A,B,C,O,K) + \tkzLabelPoints(A,B,O) + \tkzLabelPoints[above](C,K) +\end{tikzpicture} +\end{Verbatim} +\end{minipage} +\begin{minipage}{.5\textwidth} +\begin{tkzelements} + z.A = point: new (0,0) + z.B = point: new (5,0) + z.C = point: new (1,4) + T = triangle: new(z.A,z.B,z.C) + C.circum = T : circum_circle () + z.O,z.K = get_points (C.circum) +\end{tkzelements} + +\begin{center} +\begin{tikzpicture} + \tkzGetNodes + \tkzDrawPolygons[red](A,B,C) + \tkzDrawCircle(O,K) + \tkzDrawPoints(A,B,C,O,K) + \tkzLabelPoints(A,B,O) + \tkzLabelPoints[above](C,K) +\end{tikzpicture} +\end{center} + +\end{minipage} + +% subsubsection method_imeth_triangle_circum_circle (end) + +\subsubsection{Method \Imeth{triangle}{in\_circle}} % (fold) +\label{ssub:method_imeth_triangle_in_circle} + +An incircle is an inscribed circle of a polygon, i.e., a circle that is tangent to each of the polygon's sides. The center $I$ of the incircle is called the incenter, and the radius $r$ of the circle is called the inradius. + +The incenter is the point of concurrence of the triangle's angle bisectors. In addition, the points $M_A, M_B, and M_C$ of intersection of the incircle with the sides of $ABC$ are the polygon vertices of the pedal triangle [\ref{ssub:method_imeth_triangle_pedal}] taking the incenter as the pedal point (c.f. tangential triangle [\ref{ssub:method_imeth_triangle_medial}]). This triangle is called the contact triangle. + +[\href{https://mathworld.wolfram.com/Incircle.html}{Weisstein, Eric W. "Incircle." From MathWorld--A Wolfram Web Resource.}] + +\vspace{6pt} + +\begin{tkzelements} + scale = 2 + z.A = point : new (0 , 0) + z.B = point : new (5 , 0) + z.C = point : new (1 , 3) + T.ABC = triangle : new ( z.A , z.B , z.C ) + z.E = T.ABC : bisector ().pb + z.F = T.ABC : bisector (1).pb + z.G = T.ABC : bisector (2).pb + C.IH = T.ABC : in_circle () + z.I,z.H = get_points (C.IH) +\end{tkzelements} +\begin{tikzpicture}% + [ new/.style ={ color = orange }, + one/.style = { new,/tkzmkangle/size=.5 }, + two/.style = { new,/tkzmkangle/size=.6 }, + l/.style = { /tkzmkangle/arc=l }, + ll/.style = { /tkzmkangle/arc=ll }, + lll/.style = { /tkzmkangle/arc=lll }] +\tkzGetNodes +\tkzDrawPolygon(A,B,C) +\tkzDrawSegments[new](A,E B,F C,G) + \tkzDrawSegments[dashed,add=0 and .5](I,H) + \tkzDrawPoints(A,B,C,E,F,G,I) + \tkzDrawCircle(I,H) + \tkzDrawPoints(I,A,B,C,H) +\begin{scope}[one] + \tkzMarkAngles[l](B,A,E) + \tkzMarkAngles[ll](C,B,F) + \tkzMarkAngles[lll](A,C,G) +\end{scope} +\begin{scope}[two] + \tkzMarkAngles[l](E,A,C) + \tkzMarkAngles[ll](F,B,A) + \tkzMarkAngles[lll](G,C,B) +\end{scope} +\tkzLabelPoints(A,B,I) +\tkzLabelPoints[above](C,H) +\end{tikzpicture} + + + +\begin{minipage}{.5\textwidth} +\begin{Verbatim} +\begin{tkzelements} + z.A = point : new (0 , 0) + z.B = point : new (5 , 0) + z.C = point : new (1 , 3) + T.ABC = triangle : new(z.A,z.B,z.C) + z.E = T.ABC : bisector ().pb + z.F = T.ABC : bisector (1).pb + z.G = T.ABC : bisector (2).pb + C.IH = T.ABC : in_circle () + z.I,z.H = get_points (C.IH) +\end{tkzelements} +\end{Verbatim} +\end{minipage} +\begin{minipage}{.5\textwidth} +\begin{Verbatim} +\begin{tikzpicture}% + [ new/.style ={color = orange }, + one/.style = { new,/tkzmkangle/size=.5 }, + two/.style = { new,/tkzmkangle/size=.6 }, + l/.style = { /tkzmkangle/arc=l }, + ll/.style = { /tkzmkangle/arc=ll }, + lll/.style = { /tkzmkangle/arc=lll }] \tkzGetNodes -\tkzDrawPolygons(a,b,c ta,tb,tc) -\tkzDrawSegments(a,ta b,tb c,tc) -\tkzDrawPoints(a,b,c,i,ta,tb,tc) -\tkzLabelPoints(a,b,c,i) -\tkzDrawCircles(w,ta) +\tkzDrawPolygon(A,B,C) +\tkzDrawSegments[new](A,E B,F C,G) +\tkzDrawSegments[dashed,add=0 and .5](I,H) +\tkzDrawPoints(A,B,C,E,F,G,I) +\tkzDrawCircle(I,H) +\tkzDrawPoints(I,A,B,C,H) +\begin{scope}[one] + \tkzMarkAngles[l](B,A,E) + \tkzMarkAngles[ll](C,B,F) + \tkzMarkAngles[lll](A,C,G) +\end{scope} +\begin{scope}[two] + \tkzMarkAngles[l](E,A,C) + \tkzMarkAngles[ll](F,B,A) + \tkzMarkAngles[lll](G,C,B) +\end{scope} +\tkzLabelPoints(A,B,I) +\tkzLabelPoints[above](C,H) \end{tikzpicture} \end{Verbatim} \end{minipage} + + +% subsubsection method_imeth_triangle_in_circle (end) + +\subsubsection{Method \Imeth{triangle}{ex\_circle}} % (fold) +\label{ssub:method_imeth_triangle_ex__circle} + +Given a triangle, extend two sides in the direction opposite their common vertex. The circle tangent to these two lines and to the other side of the triangle is called an excircle, or sometimes an escribed circle. The center of the excircle is called the excenter and lies on the external angle bisector of the opposite angle. + +\vspace{6pt} +\begin{minipage}{.5\textwidth} +\begin{Verbatim} +\begin{tkzelements} +z.A = point: new (0 , 0) +z.B = point: new (5 , 0) +z.C = point: new (-.4 , 4) +T.ABC = triangle: new (z.A,z.B,z.C) +z.I,_ = get_points(T.ABC: ex_circle ()) +z.J,_ = get_points(T.ABC: ex_circle (1)) +z.K,_ = get_points(T.ABC: ex_circle (2)) +z.Xk , +z.Yk, +z.Zk = T.ABC : projection (z.K) +z.Xi , +z.Yi, +z.Zi = T.ABC : projection (z.I) +z.Xj , +z.Yj, +z.Zj = T.ABC : projection (z.J) +\end{tkzelements} +\end{Verbatim} +\end{minipage} +\begin{minipage}{.5\textwidth} +\begin{tkzelements} + scale = .5 +z.A = point: new (0 , 0) +z.B = point: new (5 , 0) +z.C = point: new (-.4 , 4) +T.ABC = triangle: new (z.A,z.B,z.C) +z.I,_ = get_points(T.ABC: ex_circle ()) +z.J,_ = get_points(T.ABC: ex_circle (1)) +z.K,_ = get_points(T.ABC: ex_circle (2)) +z.Xk , +z.Yk, +z.Zk = T.ABC : projection (z.K) +z.Xi , +z.Yi, +z.Zi = T.ABC : projection (z.I) +z.Xj , +z.Yj, +z.Zj = T.ABC : projection (z.J) +\end{tkzelements} +\begin{center} + \begin{tikzpicture} + \tkzGetNodes + \tkzDrawPolygon(A,B,C) + \tkzDrawArc(K,Xk)(Yk) + \tkzDrawArc(I,Yi)(Zi) + \tkzDrawArc(J,Zj)(Yj) + \tkzDrawSegments[blue](K,Xk K,Yk K,Zk C,Yk C,Xk I,Xi J,Yj) + \tkzDrawPoints(A,B,C,I,J,K,Xk,Yk,Zk,Xi,Yj) + \tkzLabelPoints(K,Xk,Yk) + \tkzLabelPoints[above](C,B,Zk,I,J) + \tkzLabelPoints[left](A) + \tkzMarkRightAngles[fill=gray!20,opacity=.4](A,Zk,K A,Yk,K K,Xk,B) + \end{tikzpicture} +\end{center} +\end{minipage} + +\begin{minipage}{.5\textwidth} +\begin{Verbatim} + \begin{tikzpicture} + \tkzGetNodes + \tkzDrawPolygon(A,B,C) + \tkzDrawArc(K,Xk)(Yk) + \tkzDrawArc(I,Yi)(Zi) + \tkzDrawArc(J,Zj)(Yj) + \tkzDrawSegments[blue](K,Xk K,Yk K,Zk C,Yk C,Xk I,Xi J,Yj) + \tkzDrawPoints(A,B,C,I,J,K,Xk,Yk,Zk,Xi,Yj) + \tkzLabelPoints(K,Xk,Yk) + \tkzLabelPoints[above](C,B,Zk,I,J) + \tkzLabelPoints[left](A) + \tkzMarkRightAngles[fill=gray!20,opacity=.4](A,Zk,K A,Yk,K K,Xk,B) + \end{tikzpicture} +\end{Verbatim} +\end{minipage} + +% subsubsection method_imeth_triangle_ex__circle (end) + +\subsubsection{Method \Imeth{triangle}{spieker\_circle}} % (fold) +\label{ssub:method_imeth_triangle_spieker__circle} + +In geometry, the incircle of the medial triangle of a triangle is the Spieker circle. Its center is the Spieker center. + +\begin{minipage}{.5\textwidth} +\begin{tkzelements} + scale = 1.5 + z.A = point: new (1,1) + z.B = point: new (5,1) + z.C = point: new (2.2,4) + T = triangle: new (z.A,z.B,z.C) + C.first_lemoine = T:spieker_circle() + z.S,z.w = get_points( C.first_lemoine ) + z.Ma,z.Mb,z.Mc = get_points(T : medial ()) + z.N = T : nagel_point () + z.Qa = midpoint(z.A,z.N) + z.Qb = midpoint(z.B,z.N) + z.Qc = midpoint(z.C,z.N) +\end{tkzelements} +\begin{center} + \begin{tikzpicture} + \tkzGetNodes + \tkzDrawPolygons(A,B,C Qa,Qb,Qc) + \tkzDrawPolygons[red](Ma,Mb,Mc) + \tkzDrawCircles[red](S,w) + \tkzDrawSegments[dashed](N,A N,B N,C) + \tkzDrawPoints(A,B,C,S,w,Ma,Mb,Mc,Qa,Qb,Qc,N) + \tkzLabelPoints(A,B,S,w,Mc,N) + \tkzLabelPoints[above](C,Ma,Mb,Qa,Qb,Qc) + \end{tikzpicture} +\end{center} +\end{minipage} + \begin{minipage}{.5\textwidth} +\begin{Verbatim} \begin{tkzelements} -scale = 2 -z.a = point: new (1,2) -z.b = point: new (5,1) -z.c = point: new (3,5) -T = triangle: new (z.a,z.b,z.c) -z.i = T.orthocenter -T.cevian = T : cevian (z.i) -z.ta,z.tb,z.tc = get_points (T.cevian) -C.cev = T : cevian_circle (z.i) -z.w = C.cev.center + z.A = point: new (1,1) + z.B = point: new (5,1) + z.C = point: new (2.2,4) + T = triangle: new (z.A,z.B,z.C) + C.first_lemoine = T:spieker_circle() + z.S,z.w = get_points( C.first_lemoine ) + z.Ma,z.Mb,z.Mc = get_points(T : medial ()) + z.N = T : nagel_point () + z.Qa = midpoint(z.A,z.N) + z.Qb = midpoint(z.B,z.N) + z.Qc = midpoint(z.C,z.N) +\end{tkzelements} +\begin{tikzpicture} + \tkzGetNodes + \tkzDrawPolygons(A,B,C Qa,Qb,Qc) + \tkzDrawPolygons[red](Ma,Mb,Mc) + \tkzDrawCircles[red](S,w) + \tkzDrawSegments[dashed](N,A N,B N,C) + \tkzDrawPoints(A,B,C,S,w,Ma,Mb,Mc,Qa,Qb,Qc,N) + \tkzLabelPoints(A,B,S,w,Mc,N) + \tkzLabelPoints[above](C,Ma,Mb,Qa,Qb,Qc) +\end{tikzpicture} +\end{Verbatim} +\end{minipage} + + +% subsubsection method_imeth_triangle_spieker__circle (end) + +\subsubsection{Methods \Imeth{triangle}{cevian} and \Imeth{triangle}{cevian\_circle}} % (fold) +\label{ssub:method_imeth_triangle_cevian} + +A Cevian is a line segment which joins a vertex of a triangle with a point on the opposite side (or its extension). The condition for three general Cevians from the three vertices of a triangle to concur is known as Ceva's theorem. + +Picking a Cevian point $P$ in the interior of a triangle $ABC$ and drawing Cevians from each vertex through $P$ to the opposite side produces a set of three intersecting Cevians $APa$, $BPb$, and $CPc$ with respect to that point. The triangle $PaPbPc$ is known as the Cevian triangle of $ABC$ with respect to $P$, and the circumcircle of $PaPbPc$ is similarly known as the Cevian circle. [\href{https://mathworld.wolfram.com/CevianTriangle.html}{Weisstein, Eric W. "Cevian Triangle." From MathWorld--A Wolfram Web Resource.}] + + +\vspace{6pt} + +\begin{tkzelements} + scale = 1.25 + z.A = point: new (0,0) + z.B = point: new (4,0) + z.C = point: new (1.8,3) + T.ABC = triangle: new(z.A,z.B,z.C) + z.Q = point : new (1,-0.4) + z.P = point : new (2,1) + T.cevian = T.ABC : cevian (z.Q) + z.Qa,z.Qb,z.Qc = get_points (T.cevian) + T.cevian = T.ABC : cevian (z.P) + z.Pa,z.Pb,z.Pc = get_points (T.cevian) + C.cev = T.ABC : cevian_circle (z.P) + z.w = C.cev.center +\end{tkzelements} +\begin{center} + \begin{tikzpicture} + \tkzGetNodes + \tkzDrawPolygons[cyan](A,B,C) + \tkzDrawSegments[cyan](A,Qb B,Qa) + \tkzDrawSegments[red](A,Qa B,Qb C,Q) + \tkzDrawSegments[blue](A,Pa B,Pb C,Pc) + \tkzDrawCircles(w,Pa) + \tkzDrawPoints(A,B,C,Qa,Qb,Qc,P,Q,Pa,Pb,Pc) + \tkzLabelPoints(A,B,P,Q,Pc) + \tkzLabelPoints[above](C,Qc) + \tkzLabelPoints[left](Qb,Pb) + \tkzLabelPoints[right](Qa,Pa) + \end{tikzpicture} +\end{center} + + +\begin{minipage}{.5\textwidth} +\begin{Verbatim} +\begin{tkzelements} + z.A = point: new (0,0) + z.B = point: new (4,0) + z.C = point: new (1.8,3) + T.ABC = triangle: new(z.A,z.B,z.C) + z.Q = point : new (1,-0.4) + z.P = point : new (2,1) + T.cevian = T.ABC : cevian (z.Q) + z.Qa,z.Qb,z.Qc = get_points (T.cevian) + T.cevian = T.ABC : cevian (z.P) + z.Pa,z.Pb,z.Pc = get_points (T.cevian) + C.cev = T.ABC : cevian_circle (z.P) + z.w = C.cev.center \end{tkzelements} \begin{tikzpicture} \tkzGetNodes -\tkzDrawPolygons(a,b,c ta,tb,tc) -\tkzDrawSegments(a,ta b,tb c,tc) -\tkzDrawPoints(a,b,c,i,ta,tb,tc) -\tkzLabelPoints(a,b,c,i) -\tkzDrawCircles(w,ta) +\tkzDrawPolygons[cyan](A,B,C) +\tkzDrawSegments[cyan](A,Qb B,Qa) +\tkzDrawSegments[red](A,Qa B,Qb C,Q) +\tkzDrawSegments[blue](A,Pa B,Pb C,Pc) +\tkzDrawCircles(w,Pa) +\tkzDrawPoints(A,B,C,Qa,Qb,Qc,P,Q,Pa,Pb,Pc) +\tkzLabelPoints(A,B,P,Q,Pc) +\tkzLabelPoints[above](C,Qc) +\tkzLabelPoints[left](Qb,Pb) +\tkzLabelPoints[right](Qa,Pa) \end{tikzpicture} +\end{Verbatim} \end{minipage} + % subsubsection method_imeth_triangle_cevian (end) -\subsubsection{Méthodes \Imeth{triangle}{pedal} et \Imeth{triangle}{pedal\_circle}} % (fold) +\subsubsection{Methods \Imeth{triangle}{pedal} and \Imeth{triangle}{pedal\_circle}} % (fold) \label{ssub:method_imeth_triangle_pedal} +Given a point $P$, the pedal triangle of $P$ is the triangle whose polygon vertices are the feet of the perpendiculars from $P$ to the side lines. + +\vspace{6pt} \begin{minipage}{.5\textwidth} \begin{Verbatim} \begin{tkzelements} z.A = point: new(0,0) z.B = point: new(5,0) z.C = point: new(1.5,3) - z.O = point: new (2,1) + z.O = point: new (2,1) T.ABC = triangle: new (z.A,z.B,z.C) T.pedal = T.ABC : pedal (z.O) z.E,z.F,z.G = get_points(T.pedal) @@ -334,7 +1467,8 @@ z.w = C.cev.center \tkzDrawPolygon[red](E,F,G) \tkzDrawCircle(w,T) \tkzDrawPoints(A,B,C,E,F,G,O) - \tkzLabelPoints(A,B,C,E,F,G) + \tkzLabelPoints(A,B,G) + \tkzLabelPoints[above](C,E,F) \tkzDrawSegments(O,E O,F O,G) \end{tikzpicture} \end{Verbatim} @@ -344,7 +1478,7 @@ z.w = C.cev.center z.A = point: new(0,0) z.B = point: new(5,0) z.C = point: new(1.5,3) - z.O = point: new (2,1) + z.O = point: new (2,1) T.ABC = triangle: new (z.A,z.B,z.C) T.pedal = T.ABC : pedal (z.O) z.E,z.F,z.G = get_points(T.pedal) @@ -352,23 +1486,28 @@ z.w = C.cev.center z.w = C.pedal.center z.T = C.pedal.through \end{tkzelements} - \begin{tikzpicture} - \tkzGetNodes - \tkzDrawPolygon(A,B,C) - \tkzDrawPolygon[red](E,F,G) - \tkzDrawCircle(w,T) - \tkzDrawPoints(A,B,C,E,F,G,O) - \tkzLabelPoints(A,B,C,E,F,G) - \tkzDrawSegments(O,E O,F O,G) - \end{tikzpicture} + \begin{center} + \begin{tikzpicture} + \tkzGetNodes + \tkzDrawPolygon(A,B,C) + \tkzDrawPolygon[red](E,F,G) + \tkzDrawCircle(w,T) + \tkzDrawPoints(A,B,C,E,F,G,O) + \tkzLabelPoints(A,B,G) + \tkzLabelPoints[above](C,E,F) + \tkzDrawSegments(O,E O,F O,G) + \end{tikzpicture} + \end{center} + \end{minipage} % subsubsection method_imeth_triangle_pedal (end) -\subsubsection{Méthodes \Imeth{triangle}{conway\_points} et \Imeth{triangle}{conway\_circle}} % (fold) +\subsubsection{Methods \Imeth{triangle}{conway\_points} and \Imeth{triangle}{conway\_circle}} % (fold) \label{ssub:method_imeth_triangle_conway} -En géométrie plane, le théorème du cercle de Conway stipule que lorsque les côtés se rencontrant à chaque sommet d'un triangle sont prolongés par la longueur du côté opposé, les six points d'extrémité des trois segments de droite résultants se trouvent sur un cercle dont le centre est le centre d'incidence du triangle. +In plane geometry, Conway's circle theorem states that when the sides meeting at each vertex of a triangle are extended by the length of the opposite side, the six endpoints of the three resulting line segments lie on a circle whose centre is the centre of incidence of the triangle. +\vspace{6pt} \begin{minipage}{.5\textwidth} \begin{Verbatim} \begin{tkzelements} @@ -424,9 +1563,557 @@ En géométrie plane, le théorème du cercle de Conway stipule que lorsque les % subsubsection methode_imeth_triangle_conway (end) +\subsubsection{Methods \Imeth{triangle}{bevan\_circle} and \Imeth{triangle}{bevan\_point} } % (fold) +\label{ssub:methods_imeth_triangle_bevan_circle_and_imeth_triangle_bevan_point} + +\begin{minipage}{.5\textwidth} +\begin{Verbatim} +\begin{tkzelements} + scale = .5 + z.A = point: new (1,1) + z.B = point: new (6,0) + z.C = point: new (2,4) + T = triangle: new(z.A,z.B,z.C) + C.bevan = T : bevan_circle () + z.c,z.t = get_points (C.bevan) + -- or z.c = T : bevan_point () +\end{tkzelements} +\begin{tikzpicture} + \tkzGetNodes + \tkzDrawPolygons(A,B,C) + \tkzDrawCircle(c,t) + \tkzDrawPoints(A,B,C,c,t) + \tkzLabelPoints(A,B,c,t) + \tkzLabelPoints[above](C) +\end{tikzpicture} +\end{Verbatim} +\end{minipage} +\begin{minipage}{.5\textwidth} + \begin{tkzelements} + scale =.5 + z.A = point: new (1,1) + z.B = point: new (6,0) + z.C = point: new (2,4) + T = triangle: new(z.A,z.B,z.C) + C.bevan = T : bevan_circle () + z.c,z.t = get_points (C.bevan) + -- or z.c = T : bevan_point () + \end{tkzelements} + \begin{center} + \begin{tikzpicture} + \tkzGetNodes + \tkzDrawPolygons(A,B,C) + \tkzDrawCircle(c,t) + \tkzDrawPoints(A,B,C,c,t) + \tkzLabelPoints(A,B,c,t) + \tkzLabelPoints[above](C) + \end{tikzpicture} + \end{center} + +\end{minipage} + +% subsubsection methods_imeth_triangle_bevan_circle_and_imeth_triangle_bevan_point (end) + + + +%%%%%% Triangles %%%%% + + + +\subsubsection{Method \Imeth{triangle}{feuerbach} and method \Imeth{triangle}{feuerbach\_point}} % (fold) +\label{ssub:method_imeth_triangle_feuerbach} + +The Feuerbach triangle is the triangle formed by the three points of tangency of the nine-point circle with the excircles. (The fact that the excircles touch the nine-point circle is known as Feuerbach's theorem.) +Refer to \href{https://mathworld.wolfram.com/FeuerbachTriangle.html}{Weisstein, Eric W. "Feuerbach Triangle." From MathWorld--A Wolfram Web Resource.}. + +The exinscribed circles of a triangle are tangent to the circle of the nine points of a triangle at points which form the \code{Feuerbach} triangle ($FaFbFc$). The inscribed circle and the circle of nine points are tangent at a point called the Feurerbach point $F$. + +\vspace{6pt} +\begin{minipage}{.5\textwidth} + \begin{Verbatim} +\begin{tkzelements} + scale = .8 + z.A = point: new (0,0) + z.B = point: new (6,0) + z.C = point: new (0.8,4) + T.ABC = triangle : new ( z.A,z.B,z.C ) + z.N = T.ABC.eulercenter + z.Fa,z.Fb,z.Fc = get_points ( T.ABC : feuerbach () ) + z.F = T.ABC : feuerbach_point () + z.Ja,z.Jb,z.Jc = get_points ( T.ABC : excentral () ) + z.I = T.ABC.incenter + z.Ia,z.Ib,z.Ic = get_points (T.ABC : intouch ()) +\end{tkzelements} +\begin{tikzpicture} +\tkzGetNodes +\tkzDrawPoints(Ja,Jb,Jc) +\tkzClipBB +\tkzFillCircles[green!30,,opacity=.5](N,Fa) +\tkzFillCircles[lightgray,,opacity=.5](I,F) +\tkzDrawLines[add=3 and 3](A,B A,C B,C) +\tkzDrawCircles(Ja,Fa Jb,Fb Jc,Fc N,Fa N,F I,F) +\tkzDrawPoints(A,B,C,F,Fa,Fb,Fc,N,I,Ia,Ib,Ic) +\tkzLabelPoints(N,A,B,Ia,Ib,Ic) +\tkzLabelPoints[above](Fa,Fb,Fc,F,I,C) +\end{tikzpicture} +\end{Verbatim} +\end{minipage} + + +\begin{tkzelements} + scale = .7 + z.A = point: new (0,0) + z.B = point: new (6,0) + z.C = point: new (0.8,4) + T.ABC = triangle : new ( z.A,z.B,z.C ) + z.N = T.ABC.eulercenter + z.Fa,z.Fb,z.Fc = get_points ( T.ABC : feuerbach () ) + z.F = T.ABC : feuerbach_point () + z.Ja,z.Jb,z.Jc = get_points ( T.ABC : excentral () ) + z.I = T.ABC.incenter + z.Ia,z.Ib,z.Ic = get_points (T.ABC : intouch ()) +\end{tkzelements} +\begin{center} + \begin{tikzpicture} + \tkzGetNodes + \tkzDrawPoints(Ja,Jb,Jc) + \tkzClipBB + \tkzFillCircles[green!30,,opacity=.5](N,Fa) + \tkzFillCircles[lightgray,,opacity=.5](I,F) + \tkzDrawLines[add=3 and 3](A,B A,C B,C) + \tkzDrawCircles(Ja,Fa Jb,Fb Jc,Fc N,Fa N,F I,F) + \tkzDrawPoints(A,B,C,F,Fa,Fb,Fc,N,I,Ia,Ib,Ic) + \tkzLabelPoints(N,A,B,Ia,Ib,Ic) + \tkzLabelPoints[above](Fa,Fb,Fc,F,I,C) + \end{tikzpicture} +\end{center} + +%subsubsection method_imeth_triangle_feuerbach (end) + + +\subsubsection{Method \Imeth{triangle}{similar}} % (fold) +\label{ssub:method_imeth_triangle_similar} + +The \code{similar} method creates a new triangle whose sides are parallel to the sides of the original triangle and pass through its vertices. + +\begin{minipage}{.5\textwidth} + \begin{Verbatim} + \begin{tkzelements} + scale =.5 + z.A = point: new (0 , 0) + z.B = point: new (6 , 0) + z.C = point: new (1.5 , 3.5) + T.ABC = triangle: new (z.A,z.B,z.C) + z.X,z.Y,z.Z = get_points ( T.ABC : similar ()) + z.H_a,z.H_b, + z.H_c = get_points (T.ABC : orthic ()) + \end{tkzelements} + \begin{tikzpicture} + \tkzGetNodes + \tkzDrawPolygons(A,B,C X,Y,Z) + \tkzDrawLines(A,H_a B,H_b C,H_c) + \tkzDrawPoints(A,B,C,X,Y,Z) + \tkzLabelPoints(A,B,Z) + \tkzLabelPoints[above](X,Y,C) + \end{tikzpicture} + \end{Verbatim} +\end{minipage} +\begin{minipage}{.5\textwidth} + \begin{tkzelements} + scale =.5 + z.A = point: new (0 , 0) + z.B = point: new (6 , 0) + z.C = point: new (1.5 , 3.5) + T.ABC = triangle: new (z.A,z.B,z.C) + z.X,z.Y,z.Z = get_points ( T.ABC : similar ()) + z.H_a,z.H_b, + z.H_c = get_points (T.ABC : orthic ()) + \end{tkzelements} +\hspace*{\fill} + \begin{tikzpicture} + \tkzGetNodes + \tkzDrawPolygons(A,B,C X,Y,Z) + \tkzDrawLines(A,H_a B,H_b C,H_c) + \tkzDrawPoints(A,B,C,X,Y,Z) + \tkzLabelPoints(A,B,Z) + \tkzLabelPoints[above](X,Y,C) + \end{tikzpicture} +\end{minipage} + + +% subsubsection method_imeth_triangle_similar (end) + +\subsubsection{Method \Imeth{triangle}{medial}} % (fold) +\label{ssub:method_imeth_triangle_medial} + +The triangle $MaMbMc$ formed by joining the midpoints of the sides of a triangle $ABC$. The medial triangle is sometimes also called the auxiliary triangle (Dixon 1991). +[\href{https://mathworld.wolfram.com/MedialTriangle.html}{Weisstein, Eric W. "Medial Triangle." From MathWorld--A Wolfram Web Resource.}] + +\vspace{6pt} +\begin{minipage}{.5\textwidth} + \begin{Verbatim} + \begin{tkzelements} + scale = 1.25 + z.A = point: new (0,1) + z.B = point: new (6,0) + z.C = point: new (2,4) + T = triangle: new(z.A,z.B,z.C) + T.med = T : medial () + z.Ma,z.Mb,z.Mc= get_points (T.med) + z.G = T.centroid + z.O = T.circumcenter + \end{tkzelements} + \begin{tikzpicture} + \tkzGetNodes + \tkzDrawPolygons(A,B,C) + \tkzDrawPolygons[red](Ma,Mb,Mc) + \tkzDrawSegments(A,Ma B,Mb C,Mc) + \tkzDrawSegments[dashed,cyan](O,Ma O,Mb O,Mc) + \tkzDrawPoints(A,B,C,Ma,Mb,Mc,O,G) + \tkzLabelPoints(A,B,Mc,O) + \tkzLabelPoints[above](C) + \tkzLabelPoints[left](Mb) + \tkzLabelPoints[right](Ma,G) + \tkzMarkRightAngles[fill=cyan!20, + opacity=.4](O,Ma,B O,Mb,A O,Mc,A) + \end{tikzpicture} + \end{Verbatim} +\end{minipage} +\begin{minipage}{.5\textwidth} + \begin{tkzelements} + scale = 1.25 + z.A = point: new (0,1) + z.B = point: new (6,0) + z.C = point: new (2,4) + T = triangle: new(z.A,z.B,z.C) + T.med = T : medial () + z.Ma,z.Mb,z.Mc= get_points (T.med) + z.G = T.centroid + z.O = T.circumcenter + \end{tkzelements} + \begin{center} + \begin{tikzpicture} + \tkzGetNodes + \tkzDrawPolygons(A,B,C) + \tkzDrawPolygons[red](Ma,Mb,Mc) + \tkzDrawSegments(A,Ma B,Mb C,Mc) + \tkzDrawSegments[dashed,cyan](O,Ma O,Mb O,Mc) + \tkzDrawPoints(A,B,C,Ma,Mb,Mc,O,G) + \tkzLabelPoints(A,B,Mc,O) + \tkzLabelPoints[above](C) + \tkzLabelPoints[left](Mb) + \tkzLabelPoints[right](Ma,G) + \tkzMarkRightAngles[fill=cyan!20, + opacity=.4](O,Ma,B O,Mb,A O,Mc,A) + \end{tikzpicture} + \end{center} +\end{minipage} + + +% subsubsection method_imeth_triangle_medial (end) + +\subsubsection{Method \Imeth{triangle}{incentral} } % (fold) +\label{ssub:method_incentral} + +The incentral triangle $IaIbIc$ is the Cevian triangle of a triangle $ABC$ with respect to its incenter $I$. It is therefore also the triangle whose vertices are determined by the intersections of the reference triangle's angle bisectors with the respective opposite sides. +[ \href{https://mathworld.wolfram.com/IncentralTriangle.html}{Weisstein, Eric W. "Incentral Triangle." From MathWorld--A Wolfram Web Resource.} +] + +\vspace{6pt} +\begin{minipage}{.5\textwidth} +\begin{Verbatim} +\begin{tkzelements} + z.A = point: new (0 , 0) + z.B = point: new (6 , 0) + z.C = point: new (1 , 4) + T.ABC = triangle: new (z.A,z.B,z.C) + z.I = T.ABC.incenter + z.Ia,z.Ib, + z.Ic = get_points (T.ABC : incentral ()) + z.Ta,z.Tb, + z.Tc = get_points (T.ABC : intouch ()) +\end{tkzelements} +\begin{tikzpicture} + \tkzGetNodes + \tkzDrawPolygon(A,B,C) + \tkzDrawPolygon[dashed,red](Ia,Ib,Ic) + \tkzDrawSegments[dashed,red](A,Ia B,Ib C,Ic) + \tkzDrawCircle(I,Ta) + \tkzDrawPoints(A,B,C,Ia,Ib,Ic,I,Ta,Tb,Tc) + \tkzLabelPoints(A,B,Ic,I,Tc) + \tkzLabelPoints[above](Ia,Ta,C) + \tkzLabelPoints[above left](Ib,Tb) +\end{tikzpicture} +\end{Verbatim} +\end{minipage} +\begin{minipage}{.5\textwidth} + \begin{tkzelements} + z.A = point: new (0 , 0) + z.B = point: new (6 , 0) + z.C = point: new (1 , 4) + T.ABC = triangle: new (z.A,z.B,z.C) + z.I = T.ABC.incenter + z.Ia,z.Ib, + z.Ic = get_points (T.ABC : incentral ()) + z.Ta,z.Tb, + z.Tc = get_points (T.ABC : intouch ()) + \end{tkzelements} + \begin{center} + \begin{tikzpicture} + \tkzGetNodes + \tkzDrawPolygon(A,B,C) + \tkzDrawPolygon[dashed,red](Ia,Ib,Ic) + \tkzDrawSegments[dashed,red](A,Ia B,Ib C,Ic) + \tkzDrawCircle(I,Ta) + \tkzDrawPoints(A,B,C,Ia,Ib,Ic,I,Ta,Tb,Tc) + \tkzLabelPoints(A,B,Ic,I,Tc) + \tkzLabelPoints[above](Ia,Ta,C) + \tkzLabelPoints[above left](Ib,Tb) + \end{tikzpicture} + \end{center} + +\end{minipage} + +% subsubsection method_incentral (end) + + +\subsubsection{Method \Imeth{triangle}{tangential}} % (fold) +\label{ssub:method_imeth_triangle_tangential} + +The tangential triangle is the triangle $TaTbTc$ formed by the lines tangent to the circumcircle of a given triangle DeltaABC at its vertices. It is therefore antipedal triangle of $ABC$ with respect to the circumcenter $O$. It is also anticevian triangle of $ABC$ with the symmedian point $K$ as the anticevian point (Kimberling 1998, p. 156). Furthermore, the symmedian point $K$ of $ABC$ is the Gergonne point of $TaTbTc$. + +The sides of an orthic triangle are parallel to the tangents to the circumcircle at the vertices (Johnson 1929, p. 172). This is equivalent to the statement that each line from a triangle's circumcenter to a vertex is always perpendicular to the corresponding side of the orthic triangle (Honsberger 1995, p. 22), and to the fact that the orthic and tangential triangles are homothetic. +[ \href{https://mathworld.wolfram.com/TangentialTriangle.html}{Weisstein, Eric W. "Tangential Triangle." From MathWorld--A Wolfram Web Resource.}] + +\vspace{6pt} +\begin{minipage}{.5\textwidth} +\begin{Verbatim} +\begin{tkzelements} + scale = .75 + z.A = point: new (0,0) + z.B = point: new (5,0) + z.C = point: new (1,3) + T = triangle: new(z.A,z.B,z.C) + z.H = T.orthocenter + z.O = T.circumcenter + z.L = T : symmedian_point () + T.orthic = T: orthic() + z.Ha, + z.Hb, + z.Hc = get_points (T.orthic) + z.Ta, + z.Tb, + z.Tc = get_points (T : tangential ()) +\end{tkzelements} +\begin{tikzpicture} + \tkzGetNodes + \tkzDrawPolygons[red](A,B,C Ta,Tb,Tc) + \tkzDrawCircle(O,A) + \tkzDrawPoints(A,B,C,O,H,Ta,Tb,Tc,L) + \tkzDrawSegments[red](C,Hc B,Hb A,Ha) + \tkzDrawSegments[green](C,Tc B,Tb A,Ta) + \tkzDrawPolygon[blue](Ha,Hb,Hc) + \tkzLabelPoints(A,B,O,Tc) + \tkzLabelPoints[above](C,Tb,Ta) + \tkzLabelPoints[font=\small](Hc) + \tkzLabelPoints[font=\small,above](Ha,Hb) + \tkzMarkRightAngles(A,Ha,C B,Hb,A C,Hc,B) +\end{tikzpicture} +\end{Verbatim} +\end{minipage} +\begin{minipage}{.5\textwidth} +\begin{tkzelements} + scale = .75 + z.A = point: new (0,0) + z.B = point: new (5,0) + z.C = point: new (1,3) + T = triangle: new(z.A,z.B,z.C) + z.H = T.orthocenter + z.O = T.circumcenter + z.L = T : symmedian_point () + T.orthic = T: orthic() + z.Ha, + z.Hb, + z.Hc = get_points (T.orthic) + z.Ta, + z.Tb, + z.Tc = get_points (T : tangential ()) +\end{tkzelements} + + \begin{center} +\begin{tikzpicture} + \tkzGetNodes + \tkzDrawPolygons[red](A,B,C Ta,Tb,Tc) + \tkzDrawCircle(O,A) + \tkzDrawPoints(A,B,C,O,H,Ta,Tb,Tc,L) + \tkzDrawSegments[red](C,Hc B,Hb A,Ha) + \tkzDrawSegments[green](C,Tc B,Tb A,Ta) + \tkzDrawPolygon[blue](Ha,Hb,Hc) + \tkzLabelPoints(A,B,O,Tc) + \tkzLabelPoints[above](C,Tb,Ta) + \tkzLabelPoints[font=\small](Hc) + \tkzLabelPoints[font=\small,above](Ha,Hb) + \tkzMarkRightAngles(A,Ha,C B,Hb,A C,Hc,B) +\end{tikzpicture} + \end{center} + +\end{minipage} + +% subsubsection method_imeth_triangle_tangential (end) + + +\subsubsection{Method \Imeth{triangle}{symmedial}} % (fold) +\label{ssub:method_imeth_triangle_symmedial} + +The symmedial triangle $LaLbLc$ is the triangle whose vertices are the intersection points of the symmedians with the reference triangle $ABC$. + +The symmedial circle is the circumcircle of the symmedial triangle. + +The following example groups several concepts around the symmedian. As a reminder, a symmedian of a triangle is the reflection of the median with respect to the angle bisector. + +The points of contact of the symmedians with the sides of the triangle are obtained using the \code{symmedian} method. +The intersection of the symmedians is the point known as the \code{Lemoine} or \code{Symmedian} point. +You can use the triangle methods \code{lemoine\_point} or \code{symmedian\_point}. If you only need one of the lines, you can use the method \code{symmedian\_line(n)}. \(n=0\) corresponds to the line coming from the first vertex of the triangle, \(n=1\) to the second, and so on. + +In the next example, $L$ is the \code{Lemoine point} or the \code{Symmedian point}. $LaLbLc$ is the symmedian triangle.[\href{https://mathworld.wolfram.com/SymmedianPoint.html}{Weisstein, Eric W. "Symmedian Point." From MathWorld--A Wolfram Web Resource.}] + +\vspace{6pt} + +\begin{minipage}{.5\textwidth} +\begin{Verbatim} +\begin{tkzelements} + scale = 2 + z.A = point : new (0,0) + z.B = point : new (7,0) + z.C = point : new (2,3) + T.ABC = triangle : new (z.A,z.B,z.C) + z.L = T.ABC : lemoine_point () + T.SY = T.ABC : symmedian () + T.med = T.ABC : medial () + z.Ka,z.Kb,z.Kc = get_points (T.SY) + z.Ma,z.Mb,z.Mc = get_points (T.med) + L.Kb = T.ABC : symmedian_line (1) + _,z.Kb = get_points(L.Kb) + z.G = T.ABC.centroid + z.Ia,z.Ib,z.Ic = get_points ( T.ABC : incentral ()) + -- z.T = T.ABC : trilinear (0,1,1) + z.I = T.ABC.incenter +\end{tkzelements} +\begin{tikzpicture} +\tkzGetNodes +\tkzDrawPolygons(A,B,C) +\tkzDrawPoints(A,B,C,L,Ka,Kb,Kc,G,Ma,Mb,Mc,Ia,Ib,Ic,I) +\tkzDrawSegments[cyan](A,Ka B,Kb C,Kc) +\tkzDrawSegments[green](A,Ma B,Mb C,Mc) +\tkzDrawSegments[dashed,red](A,Ia B,Ib C,Ic) +\tkzLabelPoints[above](C,Ka,Ia,Ma) +\tkzLabelPoints[above left](Kb,Ib,Mb) +\tkzLabelPoints(A,B,L,Kc,I,Ic,Mc,G) +\end{tikzpicture} +\end{Verbatim} +\end{minipage} + +\begin{minipage}{.5\textwidth} +\begin{tkzelements} + scale = 2 + z.A = point : new (0,0) + z.B = point : new (7,0) + z.C = point : new (2,3) + T.ABC = triangle : new (z.A,z.B,z.C) + z.L = T.ABC : lemoine_point () + T.SY = T.ABC : symmedian () + T.med = T.ABC : medial () + z.Ka,z.Kb,z.Kc = get_points (T.SY) + z.Ma,z.Mb,z.Mc = get_points (T.med) + L.Kb = T.ABC : symmedian_line (1) + _,z.Kb = get_points(L.Kb) + z.G = T.ABC.centroid + z.Ia,z.Ib,z.Ic = get_points ( T.ABC : incentral ()) + -- z.T = T.ABC : trilinear (0,1,1) + z.I = T.ABC.incenter +\end{tkzelements} +\begin{center} + \begin{tikzpicture} + \tkzGetNodes + \tkzDrawPolygons(A,B,C) + \tkzDrawPoints(A,B,C,L,Ka,Kb,Kc,G,Ma,Mb,Mc,Ia,Ib,Ic,I) + \tkzDrawSegments[cyan](A,Ka B,Kb C,Kc) + \tkzDrawSegments[green](A,Ma B,Mb C,Mc) + \tkzDrawSegments[dashed,red](A,Ia B,Ib C,Ic) + \tkzLabelPoints[above](C,Ka,Ia,Ma) + \tkzLabelPoints[above left](Kb,Ib,Mb) + \tkzLabelPoints(A,B,L,Kc,I,Ic,Mc,G) + \end{tikzpicture} +\end{center} + + +\end{minipage} + +% subsubsection method_imeth_triangle_symmedial (end) + +\subsubsection{Method \Imeth{triangle}{anti}} % (fold) +\label{ssub:method_imeth_triangle_anti} + +The anticomplementary triangle is the triangle $TaTbTc$ which has a given triangle $ABC$ as its medial triangle. It is therefore the anticevian triangle with respect to the triangle centroid G (Kimberling 1998, p. 156). [\href{https://mathworld.wolfram.com/AnticomplementaryTriangle.html}{Weisstein, Eric W. "Anticomplementary Triangle." From MathWorld--A Wolfram Web Resource.}] + +\vspace{6pt} +\begin{minipage}{.5\textwidth} +\begin{Verbatim} +\begin{tkzelements} + scale = .6 + z.A = point: new (0,0) + z.B = point: new (5,0) + z.C = point: new (2,4) + T = triangle: new(z.A,z.B,z.C) + T.similar = T: anti() + z.Ta, + z.Tb, + z.Tc = get_points (T.similar) +\end{tkzelements} +\begin{tikzpicture} + \tkzGetNodes + \tkzDrawPolygons[red](A,B,C) + \tkzDrawPolygon[blue](Ta,Tb,Tc) + \tkzDrawPoints(A,B,C,Ta,Tb,Tc) + \tkzLabelPoints(A,B,Tc) + \tkzLabelPoints[above](Ta,Tb,C) +\end{tikzpicture} +\end{Verbatim} +\end{minipage} +\begin{minipage}{.5\textwidth} +\begin{tkzelements} + scale = .6 + z.A = point: new (0,0) + z.B = point: new (5,0) + z.C = point: new (2,4) + T = triangle: new(z.A,z.B,z.C) + T.similar = T: anti() + z.Ta, + z.Tb, + z.Tc = get_points (T.similar) +\end{tkzelements} +\begin{center} + \begin{tikzpicture} + \tkzGetNodes + \tkzDrawPolygons[red](A,B,C) + \tkzDrawPolygon[blue](Ta,Tb,Tc) + \tkzDrawPoints(A,B,C,Ta,Tb,Tc) + \tkzLabelPoints(A,B,Tc) + \tkzLabelPoints[above](Ta,Tb,C) + \end{tikzpicture} +\end{center} + +\end{minipage} + +% subsubsection method_imeth_triangle_anti (end) + + \subsubsection{Euler line} % (fold) \label{ssub:euler_line} +The line on which the orthocenter $H$, triangle centroid $G$, circumcenter $O$, nine-point center $N$, and a number of other important triangle centers lie. +[ \href{https://mathworld.wolfram.com/EulerLine.html}{Weisstein, Eric W. "Euler Line." From MathWorld--A Wolfram Web Resource.}] + \begin{minipage}{.5\textwidth} \begin{Verbatim} \begin{tkzelements} @@ -468,33 +2155,38 @@ En géométrie plane, le théorème du cercle de Conway stipule que lorsque les z.P,z.Q,z.R = get_points (T.ABC: orthic()) z.K,z.I,z.J = get_points (T.ABC: medial ()) \end{tkzelements} -\hspace*{\fill} -\begin{tikzpicture} -\tkzGetNodes -\tkzDrawLines[blue](O,H) -\tkzDrawCircle[red](N,I) -\tkzDrawCircles[teal](O,A) -\tkzDrawSegments(A,P B,Q C,R) -\tkzDrawSegments[red](A,I B,J C,K) -\tkzDrawPolygons(A,B,C) -\tkzDrawPoints(A,B,C,N,I,J,K,O,P,Q,R,H,G) -\tkzLabelPoints(A,B,C,I,J,K,P,Q,R) -\tkzLabelPoints[below](N,O,G,H) -\end{tikzpicture} +\begin{center} + \begin{tikzpicture} + \tkzGetNodes + \tkzDrawLines[blue](O,H) + \tkzDrawCircle[red](N,I) + \tkzDrawCircles[teal](O,A) + \tkzDrawSegments(A,P B,Q C,R) + \tkzDrawSegments[red](A,I B,J C,K) + \tkzDrawPolygons(A,B,C) + \tkzDrawPoints(A,B,C,N,I,J,K,O,P,Q,R,H,G) + \tkzLabelPoints(A,B,J,P,R) + \tkzLabelPoints[above](C,I,Q,K) + \tkzLabelPoints[below](N,O,G,H) + \end{tikzpicture} +\end{center} + \end{minipage} % subsubsection euler_line (end) \subsection{Euler ellipse} % (fold) \label{sub:euler_ellipse} +The Euler ellipse is a conic, tangent to the three sides of a triangle, with the orthocentre and the centre of the circumscribed circle as foci. Example of obtaining the Euler circle as well as the Euler ellipse. +\vspace{6pt} \begin{tkzelements} z.A = point: new (2,3.8) z.B = point: new (0 ,0) z.C = point: new (6.2 ,0) L.AB = line : new ( z.A , z.B ) T.ABC = triangle: new (z.A,z.B,z.C) -z.K = midpoint (z.B,z.C) +z.K = midpoint (z.B,z.C) E.euler = T.ABC : euler_ellipse () z.N = T.ABC.eulercenter C.euler = circle : new (z.N,z.K) @@ -512,7 +2204,7 @@ z.B = point: new (0 ,0) z.C = point: new (6.2 ,0) L.AB = line : new ( z.A , z.B ) T.ABC = triangle: new (z.A,z.B,z.C) -z.K = midpoint (z.B,z.C) +z.K = midpoint (z.B,z.C) E.euler = T.ABC : euler_ellipse () z.N = T.ABC.eulercenter C.euler = circle : new (z.N,z.K) @@ -554,21 +2246,22 @@ z.H = T.ABC.orthocenter \subsubsection{Steiner inellipse and circumellipse} % (fold) \label{ssub:steiner_inellipse_and_circumellipse} -In this example, the inner and outer Steiner ellipses, referred to as the "inellipse" and "circumellipse" (Mathworld.com), respectively, along with the orthoptic circle, are depicted.. The triangle must be acutangle. +In this example, the inner and outer Steiner ellipses, referred to as the "inellipse" and "circumellipse" [\href{https://mathworld.wolfram.com/SteinerInellipse.html}{Weisstein, Eric W. "Steiner Inellipse." From MathWorld--A Wolfram Web Resource.} and \href{https://mathworld.wolfram.com/SteinerCircumellipse.html}{Weisstein, Eric W. "Steiner Circumellipse." From MathWorld--A Wolfram Web Resource.}], respectively, along with the orthoptic circle, are depicted.. The triangle must be acutangle. +\vspace{6pt} \begin{minipage}{.5\textwidth} \begin{Verbatim} \begin{tkzelements} scale = .5 z.A = point: new (1 , 4) z.B = point: new (11 , 1) - z.C = point: new (5 , 12) + z.C = point: new (5 , 12) T.ABC = triangle: new(z.A,z.B,z.C) E = T.ABC: steiner_inellipse () z.G = E.center ang = math.deg(E.slope) z.F = E.Fa - z.E = E.Fb + z.E = E.Fb C = E: orthoptic_circle () z.w = C.center z.o = C.through @@ -584,13 +2277,13 @@ In this example, the inner and outer Steiner ellipses, referred to as the "inell scale = .5 z.A = point: new (1 , 4) z.B = point: new (11 , 1) -z.C = point: new (5 , 12) +z.C = point: new (5 , 12) T.ABC = triangle: new(z.A,z.B,z.C) E = T.ABC: steiner_inellipse () z.G = E.center ang = math.deg(E.slope) z.F = E.Fa -z.E = E.Fb +z.E = E.Fb C = E: orthoptic_circle () z.w = C.center z.o = C.through @@ -611,7 +2304,7 @@ z.T2 = L.T2.pb \tkzUseLua{EE.Ry},\tkzUseLua{ang}) \tkzDrawLines(F,E M,T1 M,T2) % \tkzDrawPoints(A,B,C,F,E,G,M,T1,T2) -\tkzLabelPoints[above](C,M,T1) +\tkzLabelPoints[above](C,M,T1) \tkzLabelPoints[right](T2,B) \tkzLabelPoints[below left](A,F,E,G) \end{tikzpicture} @@ -628,7 +2321,7 @@ z.T2 = L.T2.pb \tkzUseLua{EE.Ry},\tkzUseLua{ang}) \tkzDrawLines(F,E M,T1 M,T2) % \tkzDrawPoints(A,B,C,F,E,G,M,T1,T2) -\tkzLabelPoints[above](C,M,T1) +\tkzLabelPoints[above](C,M,T1) \tkzLabelPoints[right](T2,B) \tkzLabelPoints[below left](A,F,E,G) \end{tikzpicture} @@ -639,9 +2332,17 @@ z.T2 = L.T2.pb \subsection{Harmonic division and bisector} % (fold) \label{sub:harmonic_division_and_bisector} +Let four points $A$, $C$, $B$ and $D$, in this order, lying on the straight line $(d)$ and $M$ un point pris hors de $(d)$. Then, if two of the following three propositions are true, then the third is also true: + \begin{enumerate} + \item The division (A,B;C,D) is harmonic. ($CA/CB = DA/DB$) + \item $(MC)$ is the internal angle bisector of $\widehat{AMB}$. + \item $(MD) \perp (MC)$. + \end{enumerate} + + \vspace{6pt} \begin{minipage}{.4\textwidth} \begin{Verbatim} -\begin{tkzelements} +\begin{tkzelements} scale = .4 z.A = point: new (0 , 0) z.B = point: new (6 , 0) @@ -664,7 +2365,7 @@ z.T2 = L.T2.pb \end{Verbatim} \end{minipage} \begin{minipage}{.6\textwidth} -\begin{tkzelements} +\begin{tkzelements} scale =.4 z.A = point: new (0 , 0) z.B = point: new (6 , 0) @@ -684,7 +2385,7 @@ z.T2 = L.T2.pb z.E = intersection (L.LL,L.MC) z.F = intersection (L.LL,L.MD) \end{tkzelements} -\hspace{\fill} +\hspace{\fill} \begin{tikzpicture} \tkzGetNodes \tkzDrawPolygon(A,B,M) @@ -719,59 +2420,8 @@ z.T2 = L.T2.pb \end{Verbatim} % subsection harmonic_division_and_bisector (end) -\subsubsection{Method \Imeth{triangle}{cevan}} % (fold) -\label{ssub:method_imeth_triangle_cevan} - -\begin{minipage}{.5\textwidth} - \begin{Verbatim} - \begin{tkzelements} - scale = 2 - z.a = point: new (1,2) - z.b = point: new (5,1) - z.c = point: new (3,5) - T = triangle: new (z.a,z.b,z.c) - z.i = T.orthocenter - T.cevian = T : cevian (z.i) - z.ta,z.tb,z.tc = get_points (T.cevian) - C.cev = T : cevian_circle (z.i) - z.w = C.cev.center - \end{tkzelements} - \begin{tikzpicture} - \tkzGetNodes - \tkzDrawPolygons(a,b,c ta,tb,tc) - \tkzDrawSegments(a,ta b,tb c,tc) - \tkzDrawPoints(a,b,c,i,ta,tb,tc) - \tkzLabelPoints(a,b,c,i) - \tkzDrawCircles(w,ta) - \end{tikzpicture} - \end{Verbatim} -\end{minipage} -\begin{minipage}{.5\textwidth} - \begin{tkzelements} - scale = 2 - z.a = point: new (1,2) - z.b = point: new (5,1) - z.c = point: new (3,5) - T = triangle: new (z.a,z.b,z.c) - z.i = T.orthocenter - T.cevian = T : cevian (z.i) - z.ta,z.tb,z.tc = get_points (T.cevian) - C.cev = T : cevian_circle (z.i) - z.w = C.cev.center - \end{tkzelements} - \begin{tikzpicture} - \tkzGetNodes - \tkzDrawPolygons(a,b,c ta,tb,tc) - \tkzDrawSegments(a,ta b,tb c,tc) - \tkzDrawPoints(a,b,c,i,ta,tb,tc) - \tkzLabelPoints(a,b,c,i) - \tkzDrawCircles(w,ta) - \end{tikzpicture} -\end{minipage} - - -% subsubsection method_imeth_triangle_cevan (end) -% subsection methods_of_the_class_triangle (end) -% section class_triangle (end) +% +% % subsection methods_of_the_class_triangle (end) +% % section class_triangle (end) \endinput diff --git a/Master/texmf-dist/doc/latex/tkz-elements/TKZdoc-elements-classes-vectors.tex b/Master/texmf-dist/doc/latex/tkz-elements/TKZdoc-elements-classes-vectors.tex index b981ef555ab..ed1ea771833 100644 --- a/Master/texmf-dist/doc/latex/tkz-elements/TKZdoc-elements-classes-vectors.tex +++ b/Master/texmf-dist/doc/latex/tkz-elements/TKZdoc-elements-classes-vectors.tex @@ -41,11 +41,11 @@ z.E = V.AE.head -- we recover the final point (head) \begin{tabular}{lll} \toprule \textbf{Attributes} & \textbf{Application}& \textbf{Example}\\ -\Iattr{vector}{tail} & |V.AB.t = z.A| & Refer to (\ref{ssub:methods}) \\ -\Iattr{vector}{head} & |V.AB.head = z.B| & Refer to (\ref{ssub:methods}) \\ +\Iattr{vector}{tail} & |V.AB.t = z.A| & [\ref{ssub:methods}]\\ +\Iattr{vector}{head} & |V.AB.head = z.B| & [\ref{ssub:methods}] \\ \Iattr{vector}{type} & |V.AB.type = 'vector'| & \\ -\Iattr{vector}{slope} & |V.AB.slope| & Refer to (\ref{ssub:example_vector_attributes})\\ -\Iattr{vector}{length} & |V.AB.norm|& Refer to (\ref{ssub:example_vector_attributes})\\ +\Iattr{vector}{slope} & |V.AB.slope| & [\ref{ssub:example_vector_attributes}] \\ +\Iattr{vector}{length} & |V.AB.norm|& [\ref{ssub:example_vector_attributes} ]\\ \Iattr{vector}{mtx} & |V.AB.mtx| & The result is a column matrix |{{V.AB.t},{V.AB.h}}|\\ \bottomrule \end{tabular} diff --git a/Master/texmf-dist/doc/latex/tkz-elements/TKZdoc-elements-examples.tex b/Master/texmf-dist/doc/latex/tkz-elements/TKZdoc-elements-examples.tex index 4f46d4a1278..284ecca8eba 100644 --- a/Master/texmf-dist/doc/latex/tkz-elements/TKZdoc-elements-examples.tex +++ b/Master/texmf-dist/doc/latex/tkz-elements/TKZdoc-elements-examples.tex @@ -2,7 +2,65 @@ \section{Examples} % (fold) \label{sec:examples} - + +\subsection{Length transfer} % (fold) +\label{sub:report_de_distance} + +Use of |north and east| functions linked to points, to transfer lengths, Refer to (\ref{sub:length_of_a_segment}) + +\begin{minipage}{.5\textwidth} +\begin{Verbatim} +\begin{tkzelements} + scale = .75 + z.A = point : new ( 0 , 0 ) + z.B = point : new ( 3 , 0 ) + L.AB = line : new ( z.A , z.B ) + T.ABC = L.AB : sublime () + z.C = T.ABC.pc + z.D = z.B: north (length(z.B,z.C)) + z.E = z.B: east (L.AB.length) + z.M = L.AB.mid + z.F = z.E : north (length(z.C,z.M)) +\end{tkzelements} +\begin{tikzpicture}[gridded] + \tkzGetNodes + \tkzDrawPolygons(A,B,C) + \tkzDrawSegments[gray,dashed](B,D B,E E,F C,M) + \tkzDrawPoints(A,...,F) + \tkzLabelPoints(A,B,E,M) + \tkzLabelPoints[above right](C,D,F) +\end{tikzpicture} +\end{Verbatim} +\end{minipage} +\begin{minipage}{.5\textwidth} +\begin{tkzelements} + scale = .75 + z.A = point : new ( 0 , 0 ) + z.B = point : new ( 3 , 0 ) + L.AB = line : new ( z.A , z.B ) + T.ABC = L.AB : sublime () + z.C = T.ABC.pc + z.D = z.B: north (length(z.B,z.C)) + z.E = z.B: east (L.AB.length) + z.M = L.AB.mid + z.F = z.E : north (length(z.C,z.M)) +\end{tkzelements} + +\begin{center} + \begin{tikzpicture}[gridded] + \tkzGetNodes + \tkzDrawPolygons(A,B,C) + \tkzDrawSegments[gray,dashed](B,D B,E E,F C,M) + \tkzDrawPoints(A,...,F) + \tkzLabelPoints(A,B,E,M) + \tkzLabelPoints[above right](C,D,F) + \end{tikzpicture} +\end{center} + +\end{minipage} +% subsection report_de_distance (end) + + \subsection{D'Alembert 1} % (fold) \label{sub:d_alembert_1} @@ -54,15 +112,18 @@ z.Ip = C.Aa : internal_similitude (C.Bb) z.Jp = C.Aa : internal_similitude (C.Cc) z.Kp = C.Cc : internal_similitude (C.Bb) \end{tkzelements} -\hspace*{\fill} -\begin{tikzpicture}[rotate=30] - \tkzGetNodes - \tkzDrawCircles(A,a B,b C,c) - \tkzDrawPoints(A,B,C,I,J,K,I',J',K') - \tkzDrawSegments[new](I,K A,I A,J B,I B,K C,J C,K) - \tkzDrawSegments[purple](I,J' I',J I',K) - \tkzLabelPoints(I,J,K,I',J',K') -\end{tikzpicture} + +\begin{center} + \begin{tikzpicture}[rotate=30] + \tkzGetNodes + \tkzDrawCircles(A,a B,b C,c) + \tkzDrawPoints(A,B,C,I,J,K,I',J',K') + \tkzDrawSegments[new](I,K A,I A,J B,I B,K C,J C,K) + \tkzDrawSegments[purple](I,J' I',J I',K) + \tkzLabelPoints(I,J,K,I',J',K') + \end{tikzpicture} +\end{center} + \end{minipage} % subsection d_alembert_1 (end) @@ -110,14 +171,148 @@ z.Kp = C.Cc : internal_similitude (C.Bb) z.m,z.n = get_points (C.Bb : radical_axis (C.Cc)) \end{tkzelements} -\hspace*{\fill} +\begin{center} + \begin{tikzpicture} + \tkzGetNodes + \tkzDrawCircles(A,a B,b C,c) + \tkzDrawLines[new](i,j k,l m,n) + \end{tikzpicture} +\end{center} + +\end{minipage} +% subsection d_alembert_2 (end) + +\subsection{Altshiller} % (fold) +\label{sub:altshiller} + +\begin{minipage}{.5\textwidth} +\begin{Verbatim} +\begin{tkzelements} + z.P = point : new (0,0) + z.Q = point : new (5,0) + z.I = point : new (3,2) + C.QI = circle : new (z.Q,z.I) + C.PE = C.QI : orthogonal_from (z.P) + z.E = C.PE.through + C.QE = circle : new (z.Q,z.E) + _,z.F = intersection (C.PE,C.QE) + z.A = C.PE: point (1/9) + L.AE = line : new (z.A,z.E) + _,z.C = intersection (L.AE,C.QE) + L.AF = line : new (z.A,z.F) + L.CQ = line : new (z.C,z.Q) + z.D = intersection (L.AF,L.CQ) +\end{tkzelements} \begin{tikzpicture} -\tkzGetNodes -\tkzDrawCircles(A,a B,b C,c) -\tkzDrawLines[new](i,j k,l m,n) + \tkzGetNodes + \tkzDrawCircles(P,E Q,E) + \tkzDrawLines[add=0 and 1](P,Q) + \tkzDrawLines[add=0 and 2](A,E) + \tkzDrawSegments(P,E E,F F,C A,F C,D) + \tkzDrawPoints(P,Q,E,F,A,C,D) + \tkzLabelPoints(P,Q,E,F,A,C,D) +\end{tikzpicture} +\end{Verbatim} +\end{minipage} +\begin{minipage}{.5\textwidth} + \begin{tkzelements} + scale =.5 + z.P = point : new (0,0) + z.Q = point : new (5,0) + z.I = point : new (3,2) + C.QI = circle : new (z.Q,z.I) + C.PE = C.QI : orthogonal_from (z.P) + z.E = C.PE.through + C.QE = circle : new (z.Q,z.E) + _,z.F = intersection (C.PE,C.QE) + z.A = C.PE: point (1/9) + L.AE = line : new (z.A,z.E) + _,z.C = intersection (L.AE,C.QE) + L.AF = line : new (z.A,z.F) + L.CQ = line : new (z.C,z.Q) + z.D = intersection (L.AF,L.CQ) + \end{tkzelements} + \begin{center} + \begin{tikzpicture} + \tkzGetNodes + \tkzDrawCircles(P,E Q,E) + \tkzDrawLines[add=0 and 1](P,Q) + \tkzDrawLines[add=0 and 2](A,E) + \tkzDrawSegments(P,E E,F F,C A,F C,D) + \tkzDrawPoints(P,Q,E,F,A,C,D) + \tkzLabelPoints(P,Q,E,F,A,C,D) + \end{tikzpicture} + \end{center} +\end{minipage} +%subsection altshiller (end) + +\subsection{Lemoine} % (fold) +\label{sub:lemoine} + +\begin{minipage}{.5\textwidth} +\begin{Verbatim} +\begin{tkzelements} + scale = 1.25 + z.A = point: new (1,0) + z.B = point: new (5,2) + z.C = point: new (1.2,2) + T = triangle: new(z.A,z.B,z.C) + z.O = T.circumcenter + C.OA = circle: new (z.O,z.A) + L.tA = C.OA: tangent_at (z.A) + L.tB = C.OA: tangent_at (z.B) + L.tC = C.OA: tangent_at (z.C) + z.P = intersection (L.tA,T.bc) + z.Q = intersection (L.tB,T.ca) + z.R = intersection (L.tC,T.ab) +\end{tkzelements} +\begin{tikzpicture} + \tkzGetNodes + \tkzDrawPolygon[teal](A,B,C) + \tkzDrawCircle(O,A) + \tkzDrawPoints(A,B,C,P,Q,R) + \tkzLabelPoints(A,B,C,P,Q,R) + \tkzDrawLine[blue](Q,R) + \tkzDrawLines[red](A,P B,Q R,C) + \tkzDrawSegments(A,R C,P C,Q) \end{tikzpicture} +\end{Verbatim} + \end{minipage} -% subsection d_alembert_2 (end) +\begin{minipage}{.5\textwidth} +\begin{tkzelements} +scale = .75 +z.A = point: new (1,0) +z.B = point: new (5,2) +z.C = point: new (1.2,2) +T = triangle: new(z.A,z.B,z.C) +z.O = T.circumcenter +C.OA = circle: new (z.O,z.A) +L.tA = C.OA: tangent_at (z.A) +L.tB = C.OA: tangent_at (z.B) +L.tC = C.OA: tangent_at (z.C) +z.R = intersection (L.tC,T.ab) +z.P = intersection (L.tA,T.bc) +z.Q = intersection (L.tB,T.ca) +\end{tkzelements} + +\begin{center} + \begin{tikzpicture}[rotate=90] + \tkzGetNodes + \tkzDrawPolygon[teal](A,B,C) + \tkzDrawCircle(O,A) + \tkzDrawPoints(A,B,C,P,Q,R) + \tkzLabelPoints(A,B,C,P,Q,R) + \tkzDrawLine[blue](Q,R) + \tkzDrawLines[red](A,P B,Q R,C) + \tkzDrawSegments(A,R C,P C,Q) + \end{tikzpicture} +\end{center} + +\end{minipage} +%\caption{Lemoine line} +% subsection lemoine (end) + \subsection{Alternate} % (fold) \label{sub:alternate} @@ -148,7 +343,7 @@ z.Kp = C.Cc : internal_similitude (C.Bb) \end{tikzpicture} \end{Verbatim} \end{minipage} -\hspace*{\fill} + \begin{minipage}[t]{.5\textwidth}\vspace{0pt}% \begin{tkzelements} z.A = point: new (0 , 0) @@ -161,21 +356,94 @@ z.D = intersection (L.AI,T.bc) L.LLC = T.ab: ll_from (z.C) z.E = intersection (L.AI,L.LLC) \end{tkzelements} -\begin{tikzpicture} -\tkzGetNodes -\tkzDrawPolygon(A,B,C) -\tkzDrawLine[purple](C,E) -\tkzDrawSegment[purple](A,E) -\tkzFillAngles[purple!30,opacity=.4](B,A,C C,E,D) -\tkzMarkAngles[mark=|](B,A,D D,A,C C,E,D) -\tkzDrawPoints(A,...,E) -\tkzLabelPoints(A,B) -\tkzLabelPoints[above](C,D,E) -\tkzMarkSegments(A,C C,E) -\end{tikzpicture} +\begin{center} + \begin{tikzpicture} + \tkzGetNodes + \tkzDrawPolygon(A,B,C) + \tkzDrawLine[purple](C,E) + \tkzDrawSegment[purple](A,E) + \tkzFillAngles[purple!30,opacity=.4](B,A,C C,E,D) + \tkzMarkAngles[mark=|](B,A,D D,A,C C,E,D) + \tkzDrawPoints(A,...,E) + \tkzLabelPoints(A,B) + \tkzLabelPoints[above](C,D,E) + \tkzMarkSegments(A,C C,E) + \end{tikzpicture} +\end{center} + \end{minipage} % subsection alternate (end) +\subsection{Method \Imeth{circle}{common tangent}: orthogonality} % (fold) +\label{sub:common_tangent_orthogonality} +For two circles to be orthogonal, it is necessary and sufficient for a secant passing through one of their common points to be seen from the other common point at a right angle. + +\begin{Verbatim} +\begin{tkzelements} + z.A = point : new ( 0 , 0 ) + z.B = point : new ( 4 , 2 ) + L.AB = line : new ( z.A , z.B ) + z.a = point : new ( 1 , 2 ) + C.Aa = circle : new (z.A,z.a) + C.BC = C.Aa : orthogonal_from (z.B) + z.C,z.D = intersection (C.Aa,C.BC) + C.AC = circle : new (z.A,z.C) + z.T,z.Tp = C.AC : common_tangent (C.BC) + L.TTp = line : new (z.T,z.Tp) + z.M = C.AC : point (0.45) + L.MC =line : new (z.M,z.C) + z.Mp = intersection (L.MC, C.BC) + L.mm = L.TTp : ll_from (z.C) + _,z.M = intersection (L.mm, C.AC) + z.Mp = intersection (L.mm, C.BC) +\end{tkzelements} + +\begin{tikzpicture} + \tkzGetNodes + \tkzDrawCircles(A,C B,C) + \tkzDrawSegments(M,M' A,C B,C A,B) + \tkzDrawSegments[gray](D,M D,M' T,T') + \tkzDrawPoints(A,B,C,D,M,M',T,T') + \tkzLabelPoints(A,B,D,M) + \tkzLabelPoints[above](C,M',T,T') + \tkzMarkRightAngles(M',D,M A,C,B) +\end{tikzpicture} +\end{Verbatim} + +\begin{tkzelements} +z.A = point : new ( 0 , 0 ) +z.B = point : new ( 4 , 2 ) +L.AB = line : new ( z.A , z.B ) +z.a = point : new ( 1 , 2 ) +C.Aa = circle : new (z.A,z.a) +C.BC = C.Aa : orthogonal_from (z.B) +z.C,z.D = intersection (C.Aa,C.BC) +C.AC = circle : new (z.A,z.C) +z.T,z.Tp = C.AC : common_tangent (C.BC) +L.TTp = line : new (z.T,z.Tp) +z.M = C.AC : point (0.45) +L.MC =line : new (z.M,z.C) +z.Mp = intersection (L.MC, C.BC) +L.mm = L.TTp : ll_from (z.C) +_,z.M = intersection (L.mm, C.AC) +z.Mp = intersection (L.mm, C.BC) +\end{tkzelements} + +\begin{center} + \begin{tikzpicture} + \tkzGetNodes + \tkzDrawCircles(A,C B,C) + \tkzDrawSegments(M,M' A,C B,C A,B) + \tkzDrawSegments[gray](D,M D,M' T,T') + \tkzDrawPoints(A,B,C,D,M,M',T,T') + \tkzLabelPoints(A,B,D,M) + \tkzLabelPoints[above](C,M',T,T') + \tkzMarkRightAngles(M',D,M A,C,B) + \end{tikzpicture} +\end{center} +% subsection common_tangent_orthogonality (end) + + \subsection{Apollonius circle} % (fold) \label{sub:apollonius_circle} @@ -215,23 +483,26 @@ scale=.75 \end{Verbatim} \end{minipage} \begin{minipage}{.5\textwidth} - \hspace*{\fill} - \begin{tikzpicture}[scale=.8] - \tkzGetNodes - \tkzDrawSegment[add=0 and 1](A,M) - \tkzDrawSegments[purple](M,C M,D) - \tkzDrawCircle[purple](O,C) - \tkzDrawSegments(A,B B,M D,B) - \tkzDrawPoints(A,B,M,C,D) - \tkzLabelPoints[below right](A,B,C,D) - \tkzLabelPoints[above](M) - \tkzFillAngles[opacity=.4,cyan!20](A,M,B) - \tkzFillAngles[opacity=.4,purple!20](B,M,E) - \tkzMarkRightAngle[opacity=.4,fill=gray!20](C,M,D) - \tkzMarkAngles[mark=|](A,M,C C,M,B) - \tkzMarkAngles[mark=||](B,M,D D,M,E) - \end{tikzpicture} - \hspace*{\fill} + + \begin{center} + \begin{tikzpicture}[scale=.8] + \tkzGetNodes + \tkzDrawSegment[add=0 and 1](A,M) + \tkzDrawSegments[purple](M,C M,D) + \tkzDrawCircle[purple](O,C) + \tkzDrawSegments(A,B B,M D,B) + \tkzDrawPoints(A,B,M,C,D) + \tkzLabelPoints[below right](A,B,C,D) + \tkzLabelPoints[above](M) + \tkzFillAngles[opacity=.4,cyan!20](A,M,B) + \tkzFillAngles[opacity=.4,purple!20](B,M,E) + \tkzMarkRightAngle[opacity=.4,fill=gray!20](C,M,D) + \tkzMarkAngles[mark=|](A,M,C C,M,B) + \tkzMarkAngles[mark=||](B,M,D D,M,E) + \end{tikzpicture} + \end{center} + + \end{minipage} @@ -319,20 +590,23 @@ Remark : The circle can be obtained with: _,z.N = intersection (C.GA , C.OC) \end{tkzelements} -\hspace*{\fill} -\begin{tikzpicture} -\tkzGetNodes -\tkzDrawPolygon(A,B,M) -\tkzDrawCircles[purple](O,C G,A) -\tkzDrawSegments[purple](M,D) -\tkzDrawSegments(D,B O,G M,C) -\tkzDrawSegments[red,dashed](M,N M,O M,G) -\tkzDrawPoints(A,B,M,C,D,N,O,G) -\tkzLabelPoints[below right](A,B,C,D,N,O,G) -\tkzLabelPoints[above](M) -\tkzMarkRightAngle[opacity=.4,fill=gray!20](C,M,D) -\end{tikzpicture} -\hspace*{\fill} + +\begin{center} + \begin{tikzpicture} + \tkzGetNodes + \tkzDrawPolygon(A,B,M) + \tkzDrawCircles[purple](O,C G,A) + \tkzDrawSegments[purple](M,D) + \tkzDrawSegments(D,B O,G M,C) + \tkzDrawSegments[red,dashed](M,N M,O M,G) + \tkzDrawPoints(A,B,M,C,D,N,O,G) + \tkzLabelPoints[below right](A,B,C,D,N,O,G) + \tkzLabelPoints[above](M) + \tkzMarkRightAngle[opacity=.4,fill=gray!20](C,M,D) + \end{tikzpicture} +\end{center} + + % subsection apollonius_and_circle_circumscribed (end) \subsection{Apollonius circles in a triangle} % (fold) @@ -414,19 +688,22 @@ L.Bpt = line: new (z.Bp,z.T) z.O3 = L.Bpt.mid \end{tkzelements} -\hspace*{\fill} -\begin{tikzpicture} -\tkzGetNodes -\tkzDrawCircles[blue!50!black](O1,C' O2,A' O3,B') -\tkzDrawSegments[new](B,S C,T A,R) -\tkzDrawPolygon(A,B,C) -\tkzDrawPoints(A,B,C,A',B',C',O,I,R,S,T,O1,O2,O3) -\tkzLabelPoints(A,B,C,A',B',C',O,I) -\tkzLabelPoints(O1,O2,O3) -\tkzDrawCircle[purple](O,A) -\tkzDrawLine(O1,O2) -\end{tikzpicture} -\hspace*{\fill} + +\begin{center} + \begin{tikzpicture} + \tkzGetNodes + \tkzDrawCircles[blue!50!black](O1,C' O2,A' O3,B') + \tkzDrawSegments[new](B,S C,T A,R) + \tkzDrawPolygon(A,B,C) + \tkzDrawPoints(A,B,C,A',B',C',O,I,R,S,T,O1,O2,O3) + \tkzLabelPoints(A,B,C,A',B',C',O,I) + \tkzLabelPoints(O1,O2,O3) + \tkzDrawCircle[purple](O,A) + \tkzDrawLine(O1,O2) + \end{tikzpicture} +\end{center} + + Same result using the function |T.ABC.ab : apollonius (k) | @@ -493,15 +770,18 @@ Same result using the function |T.ABC.ab : apollonius (k) | C = circle: new (z.O_2,z.A) z.C,z.D = intersection (L ,C) \end{tkzelements} -\hspace*{\fill} -\begin{tikzpicture} -\tkzGetNodes -\tkzDrawCircles(O_1,A O_2,A) -\tkzDrawSegments[new](O_1,A E,F C,D) -\tkzDrawSegments[purple](A,E A,F) -\tkzDrawPoints(A,O_1,O_2,E,F,C,D) -\tkzLabelPoints(A,O_1,O_2,E,F,C,D) -\end{tikzpicture} + +\begin{center} + \begin{tikzpicture} + \tkzGetNodes + \tkzDrawCircles(O_1,A O_2,A) + \tkzDrawSegments[new](O_1,A E,F C,D) + \tkzDrawSegments[purple](A,E A,F) + \tkzDrawPoints(A,O_1,O_2,E,F,C,D) + \tkzLabelPoints(A,O_1,O_2,E,F,C,D) + \end{tikzpicture} +\end{center} + \end{minipage} % subsection archimedes (end) @@ -615,30 +895,156 @@ Same result using the function |T.ABC.ab : apollonius (k) | z.O_5 = T.CP1P2.circumcenter \end{tkzelements} -\hspace*{\fill} +\begin{center} + \begin{tikzpicture} + \tkzGetNodes + \tkzDrawSemiCircles[teal](O_0,B) + \tkzDrawSemiCircles[teal,fill=teal!20,opacity=.5](O_1,C O_2,B) + \tkzDrawCircle[fill=green!10](O_4,P_0) + \tkzDrawCircle[purple,fill=purple!10,opacity=.5](O_5,C) + \tkzDrawSegments(A,B O_0,P' B,P A,Q) + \tkzDrawSegments(P,B Q,O_2 P,O_1) + \tkzDrawSegments[purple](O_5,P_2 O_5,P_1 O_5,C) + \tkzDrawPoints(A,B,C,P_0,P_2,P_1,O_0,O_1,O_2,O_4,O_5,Q,P,P',S) + \tkzLabelPoints[below](A,B,C,O_0,O_1,O_2,P') + \tkzLabelPoints[above](Q,P) + \tkzLabelPoints[above right](P_0,P_2,P_1,O_5,O_4,S) + \begin{scope}[font=\scriptsize] + \tkzLabelCircle[above](O_1,C)(120){$(\beta)$} + \tkzLabelCircle[above](O_2,B)(70){$(\gamma)$} + \tkzLabelCircle[above](O_0,B)(110){$(\alpha)$} + \tkzLabelCircle[left](O_4,P_2)(60){$(\delta)$} + \tkzLabelCircle[left](O_5,C)(140){$(\epsilon)$} + \end{scope} + \end{tikzpicture} +\end{center} + +% subsection bankoff_circle (end) + +\subsection{Symmedian property} % (fold) +\label{sub:example_symmedian_property} + +$L$ is the symmedian point or lemoine point. $\dfrac{CL}{CLc} = \dfrac{a^2+b^2}{a^2+b^2+c^2}$ + +\vspace{6pt} +\begin{minipage}{.5\textwidth} + \begin{Verbatim} + \begin{tkzelements} + scale = 1.5 + z.A = point : new (1,2) + z.B = point : new (5,1) + z.C = point : new (3,5) + T.ABC = triangle : new (z.A,z.B,z.C) + T.SY = T.ABC : symmedian () + z.La,z.Lb,z.Lc = get_points (T.SY) + k = (T.ABC.a*T.ABC.a + + T.ABC.b*T.ABC.b)/(T.ABC.a*T.ABC.a + + T.ABC.b*T.ABC.b+T.ABC.c*T.ABC.c) + L.SY = line : new (z.C,z.Lc) + z.L = L.SY : point (k) + \end{tkzelements} + \begin{tikzpicture} + \tkzGetNodes + \tkzDrawPolygons(A,B,C) + \tkzDrawPoints(A,B,C,L,Lc) + \tkzDrawPoints[red](L) + \tkzDrawSegments[cyan](C,Lc) + \tkzLabelPoints(A,B,Lc) + \tkzLabelPoints[above](C) + \tkzLabelPoints[left](L) + \tkzLabelSegment(B,C){$a$} + \tkzLabelSegment(A,C){$b$} + \tkzLabelSegment(A,B){$ca$} + \end{tikzpicture} + \end{Verbatim} +\end{minipage} +\begin{minipage}{.5\textwidth} + \begin{tkzelements} + scale = 1.5 + z.A = point : new (1,2) + z.B = point : new (5,1) + z.C = point : new (3,5) + T.ABC = triangle : new (z.A,z.B,z.C) + T.SY = T.ABC : symmedian () + z.La,z.Lb,z.Lc = get_points (T.SY) + k = (T.ABC.a*T.ABC.a + + T.ABC.b*T.ABC.b)/(T.ABC.a*T.ABC.a + + T.ABC.b*T.ABC.b+T.ABC.c*T.ABC.c) + L.SY = line : new (z.C,z.Lc) + z.L = L.SY : point (k) + \end{tkzelements} + \begin{center} + \begin{tikzpicture} + \tkzGetNodes + \tkzDrawPolygons(A,B,C) + \tkzDrawPoints(A,B,C,L,Lc) + \tkzDrawPoints[red](L) + \tkzDrawSegments[cyan](C,Lc) + \tkzLabelPoints(A,B,Lc) + \tkzLabelPoints[above](C) + \tkzLabelPoints[left](L) + \tkzLabelSegment(B,C){$a$} + \tkzLabelSegment(A,C){$b$} + \tkzLabelSegment(A,B){$ca$} + \end{tikzpicture} + \end{center} +\end{minipage} + + +% subsection example_symmedian_property (end) + +\subsection{Example: Cevian with orthocenter} % (fold) +\label{sub:example_cevian_with_orthocenter} +\begin{minipage}{.5\textwidth} +\begin{Verbatim} +\begin{tkzelements} + scale = 1.5 + z.a = point: new (1,2) + z.b = point: new (5,1) + z.c = point: new (3,5) + T = triangle: new (z.a,z.b,z.c) + z.i = T.orthocenter + T.cevian = T : cevian (z.i) + z.ta,z.tb,z.tc = get_points (T.cevian) + C.cev = T : cevian_circle (z.i) + z.w = C.cev.center +\end{tkzelements} \begin{tikzpicture} -\tkzGetNodes -\tkzDrawSemiCircles[teal](O_0,B) -\tkzDrawSemiCircles[teal,fill=teal!20,opacity=.5](O_1,C O_2,B) -\tkzDrawCircle[fill=green!10](O_4,P_0) -\tkzDrawCircle[purple,fill=purple!10,opacity=.5](O_5,C) -\tkzDrawSegments(A,B O_0,P' B,P A,Q) -\tkzDrawSegments(P,B Q,O_2 P,O_1) -\tkzDrawSegments[purple](O_5,P_2 O_5,P_1 O_5,C) -\tkzDrawPoints(A,B,C,P_0,P_2,P_1,O_0,O_1,O_2,O_4,O_5,Q,P,P',S) -\tkzLabelPoints[below](A,B,C,O_0,O_1,O_2,P') -\tkzLabelPoints[above](Q,P) -\tkzLabelPoints[above right](P_0,P_2,P_1,O_5,O_4,S) -\begin{scope}[font=\scriptsize] - \tkzLabelCircle[above](O_1,C)(120){$(\beta)$} - \tkzLabelCircle[above](O_2,B)(70){$(\gamma)$} - \tkzLabelCircle[above](O_0,B)(110){$(\alpha)$} - \tkzLabelCircle[left](O_4,P_2)(60){$(\delta)$} - \tkzLabelCircle[left](O_5,C)(140){$(\epsilon)$} -\end{scope} + \tkzGetNodes + \tkzDrawPolygons(a,b,c ta,tb,tc) + \tkzDrawSegments(a,ta b,tb c,tc) + \tkzDrawPoints(a,b,c,i,ta,tb,tc) + \tkzLabelPoints(a,b,c,i) + \tkzDrawCircles(w,ta) \end{tikzpicture} -\hspace*{\fill} -% subsection bankoff_circle (end) +\end{Verbatim} +\end{minipage} +\begin{minipage}{.5\textwidth} +\begin{tkzelements} +scale = 1.5 +z.a = point: new (1,2) +z.b = point: new (5,1) +z.c = point: new (3,5) +T = triangle: new (z.a,z.b,z.c) +z.i = T.orthocenter +T.cevian = T : cevian (z.i) +z.ta,z.tb,z.tc = get_points (T.cevian) +C.cev = T : cevian_circle (z.i) +z.w = C.cev.center +\end{tkzelements} +\begin{center} + \begin{tikzpicture} + \tkzGetNodes + \tkzDrawPolygons(a,b,c ta,tb,tc) + \tkzDrawSegments(a,ta b,tb c,tc) + \tkzDrawPoints(a,b,c,i,ta,tb,tc) + \tkzLabelPoints(a,b,c,i) + \tkzDrawCircles(w,ta) + \end{tikzpicture} +\end{center} +\end{minipage} + +% subsection example_cevian_with_orthocenter (end) \subsection{Excircles} % (fold) \label{sub:excircles} @@ -693,73 +1099,33 @@ Same result using the function |T.ABC.ab : apollonius (k) | z.G = intersection (la,lb) \end{tkzelements} -\hspace*{\fill} -\begin{tikzpicture} -\tkzGetNodes -\tkzDrawPoints[new](J_a,J_b,J_c) -\tkzClipBB -\tkzDrawCircles[gray](J_a,T_a J_b,T_b J_c,T_c) -\tkzDrawLines[add=1 and 1](A,B B,C C,A) -\tkzDrawSegments[new](A,T_a B,T_b C,T_c) -\tkzDrawSegments[new](J_a,T_a J_b,T_b J_c,T_c) -\tkzDrawPolygon(A,B,C) -\tkzDrawPolygon[new](T_a,T_b,T_c) -\tkzDrawPoints(A,B,C,K) -\tkzDrawPoints[new](T_a,T_b,T_c) -\tkzLabelPoints[below left](A) -\tkzLabelPoints[below](B) -\tkzLabelPoints[above](C) -\tkzLabelPoints[new,below left](T_b) -\tkzLabelPoints[new,below right](T_c) -\tkzLabelPoints[new,right=6pt](T_a) -\tkzMarkRightAngles[fill=gray!15](J_a,T_a,B J_b,T_b,C J_c,T_c,A) -\end{tikzpicture} -\hspace*{\fill} -% subsection excircles (end) +\begin{center} + \begin{tikzpicture} + \tkzGetNodes + \tkzDrawPoints[new](J_a,J_b,J_c) + \tkzClipBB + \tkzDrawCircles[gray](J_a,T_a J_b,T_b J_c,T_c) + \tkzDrawLines[add=1 and 1](A,B B,C C,A) + \tkzDrawSegments[new](A,T_a B,T_b C,T_c) + \tkzDrawSegments[new](J_a,T_a J_b,T_b J_c,T_c) + \tkzDrawPolygon(A,B,C) + \tkzDrawPolygon[new](T_a,T_b,T_c) + \tkzDrawPoints(A,B,C,K) + \tkzDrawPoints[new](T_a,T_b,T_c) + \tkzLabelPoints[below left](A) + \tkzLabelPoints[below](B) + \tkzLabelPoints[above](C) + \tkzLabelPoints[new,below left](T_b) + \tkzLabelPoints[new,below right](T_c) + \tkzLabelPoints[new,right=6pt](T_a) + \tkzMarkRightAngles[fill=gray!15](J_a,T_a,B J_b,T_b,C J_c,T_c,A) + \end{tikzpicture} +\end{center} + + +% subsection excircles (end) -\subsection{Orthogonal circle through} % (fold) -\label{sub:orthogonal_circle_through} -\begin{minipage}{.5\textwidth} -\begin{Verbatim} -\begin{tkzelements} - z.O = point: new (0,1) - z.A = point: new (1,0) - z.z1 = point: new (-1.5,-1.5) - z.z2 = point: new (2.5,-1.25) - C.OA = circle: new (z.O,z.A) - C = C.OA: orthogonal_through (z.z1,z.z2) - z.c = C.center -\end{tkzelements} -\begin{tikzpicture} - \tkzGetNodes - \tkzDrawCircle(O,A) - \tkzDrawCircle[new](c,z1) - \tkzDrawPoints[new](O,A,z1,z2,c) - \tkzLabelPoints[right](O,A,z1,z2,c) -\end{tikzpicture} -\end{Verbatim} -\end{minipage} -\begin{minipage}{.5\textwidth}\begin{tkzelements} - z.O = point: new (0,1) - z.A = point: new (1,0) - z.z1 = point: new (-1.5,-1.5) - z.z2 = point: new (2.5,-1.25) - C.OA = circle: new (z.O,z.A) - C = C.OA: orthogonal_through (z.z1,z.z2) - z.c = C.center -\end{tkzelements} -\hspace*{\fill} -\begin{tikzpicture} -\tkzGetNodes -\tkzDrawCircle(O,A) -\tkzDrawCircle[orange](c,z1) -\tkzDrawPoints[orange](O,A,z1,z2,c) -\tkzLabelPoints[right](O,A,z1,z2,c) -\end{tikzpicture} -\hspace*{\fill} -\end{minipage} -% subsection orthogonal_circle_through (end) \subsection{Divine ratio} % (fold) \label{sub:divine_ratio} @@ -826,16 +1192,19 @@ L.BG = line: new (z.B,z.G) z.L = intersection (L.AR,L.BG) \end{tkzelements} -\hspace*{\fill} -\begin{tikzpicture} -\tkzGetNodes -\tkzDrawPolygons(A,C,E,F A,B,G,H) -\tkzDrawCircles(O_1,C O_2,B O_0,B) -\tkzDrawSegments(H,C B,K A,L) -\tkzDrawPoints(A,B,C,K,E,F,G,H,O_0,O_1,O_2,R,S,T,L) -\tkzLabelPoints(A,B,C,K,E,F,G,H,O_0,O_1,O_2,R,S,T,L) -\end{tikzpicture} -\hspace*{\fill} + +\begin{center} + \begin{tikzpicture} + \tkzGetNodes + \tkzDrawPolygons(A,C,E,F A,B,G,H) + \tkzDrawCircles(O_1,C O_2,B O_0,B) + \tkzDrawSegments(H,C B,K A,L) + \tkzDrawPoints(A,B,C,K,E,F,G,H,O_0,O_1,O_2,R,S,T,L) + \tkzLabelPoints(A,B,C,K,E,F,G,H,O_0,O_1,O_2,R,S,T,L) + \end{tikzpicture} +\end{center} + + % subsection divine_ratio (end) \subsection{Director circle} % (fold) @@ -893,19 +1262,22 @@ z.J = L.J.pb z.K = L.K.pb \end{tkzelements} -\hspace*{\fill} -\begin{tikzpicture} -\tkzGetNodes -\tkzDrawPoints(F1,F2,O) -\tkzDrawCircles[teal](O,P) -\tkzDrawPolygon(H,O,A,P) -\tkzDrawEllipse[red](O,\tkzUseLua{a},\tkzUseLua{b},0) -\tkzDrawSegments[orange](O,P O,L L,J L,K) -\tkzDrawPoints(F1,F2,O,H,A,P,L,J,K) -\tkzLabelPoints(F1,F2,O,H,A,P,L,J,K) -\tkzLabelPoints[above](L) -\tkzMarkRightAngles(A,P,H J,L,K) -\end{tikzpicture} + +\begin{center} + \begin{tikzpicture} + \tkzGetNodes + \tkzDrawPoints(F1,F2,O) + \tkzDrawCircles[teal](O,P) + \tkzDrawPolygon(H,O,A,P) + \tkzDrawEllipse[red](O,\tkzUseLua{a},\tkzUseLua{b},0) + \tkzDrawSegments[orange](O,P O,L L,J L,K) + \tkzDrawPoints(F1,F2,O,H,A,P,L,J,K) + \tkzLabelPoints(F1,F2,O,H,A,P,L,J,K) + \tkzLabelPoints[above](L) + \tkzMarkRightAngles(A,P,H J,L,K) + \end{tikzpicture} +\end{center} + \end{minipage} % subsection director_circle (end) @@ -961,18 +1333,21 @@ z.C = intersection (L.EG,L.AB) z.O = C.AB: antipode (z.B) \end{tkzelements} -\hspace*{\fill} -\begin{tikzpicture} - \tkzGetNodes - \tkzDrawArc[delta=5](O,B)(G) - \tkzDrawCircles(A,B B,A) - \tkzDrawSegments(A,E B,E O,I) - \tkzDrawSegments[purple](J,E A,G G,I K,G E,G) - \tkzMarkSegments[mark=s||](A,E B,E O,A) - \tkzDrawPoints(A,B,C,E,I,J,G,O,K) - \tkzLabelPoints(A,B,C,E,I,J,G,O,K) -\end{tikzpicture} - \hspace*{\fill} + +\begin{center} + \begin{tikzpicture} + \tkzGetNodes + \tkzDrawArc[delta=5](O,B)(G) + \tkzDrawCircles(A,B B,A) + \tkzDrawSegments(A,E B,E O,I) + \tkzDrawSegments[purple](J,E A,G G,I K,G E,G) + \tkzMarkSegments[mark=s||](A,E B,E O,A) + \tkzDrawPoints(A,B,C,E,I,J,G,O,K) + \tkzLabelPoints(A,B,C,E,I,J,G,O,K) + \end{tikzpicture} +\end{center} + + % subsection gold_division (end) \subsection{Ellipse} % (fold) @@ -1014,15 +1389,17 @@ b = E.Ry slope = math.deg(E.slope) \end{tkzelements} -\hspace*{\fill} -\begin{tikzpicture} -\tkzGetNodes -\tkzDrawCircles[teal](C,A) -\tkzDrawEllipse[red](C,\tkzUseLua{a},\tkzUseLua{b},\tkzUseLua{slope}) -\tkzDrawPoints(C,A,B,b) -\tkzLabelPoints(C,A,B) -\end{tikzpicture} -\hspace*{\fill} +\begin{center} + \begin{tikzpicture} + \tkzGetNodes + \tkzDrawCircles[teal](C,A) + \tkzDrawEllipse[red](C,\tkzUseLua{a},\tkzUseLua{b},\tkzUseLua{slope}) + \tkzDrawPoints(C,A,B,b) + \tkzLabelPoints(C,A,B) + \end{tikzpicture} +\end{center} + + \end{minipage} % subsection ellipse (end) @@ -1060,12 +1437,15 @@ z.V = E : point (0) z.CoV = E : point (math.pi/2) \end{tkzelements} -\hspace*{\fill} -\begin{tikzpicture}[gridded] -\tkzGetNodes -\tkzDrawEllipse[blue](C,\tkzUseLua{a},\tkzUseLua{b},\tkzUseLua{ang}) -\tkzDrawPoints(C,V,CoV) -\end{tikzpicture} + +\begin{center} + \begin{tikzpicture}[gridded] + \tkzGetNodes + \tkzDrawEllipse[blue](C,\tkzUseLua{a},\tkzUseLua{b},\tkzUseLua{ang}) + \tkzDrawPoints(C,V,CoV) + \end{tikzpicture} +\end{center} + \end{minipage} % subsection ellipse_with_radii (end) @@ -1122,15 +1502,18 @@ z.F = L.ta.pb z.G = L.tb.pb \end{tkzelements} -\hspace*{\fill} -\begin{tikzpicture} - \tkzGetNodes - \tkzDrawPoints(A,B,C,K,F,G,V,cV) - \tkzLabelPoints(A,B,C,K,F,G,V,cV) + +\begin{center} + \begin{tikzpicture} + \tkzGetNodes + \tkzDrawPoints(A,B,C,K,F,G,V,cV) + \tkzLabelPoints(A,B,C,K,F,G,V,cV) \tkzDrawEllipse[teal](C,\tkzUseLua{a},\tkzUseLua{b},\tkzUseLua{ang}) - \tkzDrawLines(K,F K,G) -\end{tikzpicture} - \hspace*{\fill} + \tkzDrawLines(K,F K,G) + \end{tikzpicture} +\end{center} + + \end{minipage} % subsection ellipse_with_foci (end) @@ -1184,19 +1567,21 @@ L.Ow = line : new (z.O,z.w) _,z.E = intersection (L.Ow, C.OA) \end{tkzelements} -\hspace*{\fill} -\begin{tikzpicture} -\tkzGetNodes -\tkzDrawArc(J,X)(Y) -\tkzDrawCircles(I,H O,A) -\tkzDrawCircle[red](w,I) -\tkzDrawLines(Y,C A,B X,C E,w E,B) -\tkzDrawSegments[blue](J,C J,K I,H I,O w,B) -\tkzDrawPoints(A,B,C,I,J,E,w,H,K,O) -\tkzLabelPoints(A,B,C,J,I,w,H,K,E,O) -\tkzMarkRightAngles[fill=gray!20,opacity=.4](C,H,I A,K,J) -\end{tikzpicture} -\hspace*{\fill} +\begin{center} + \begin{tikzpicture} + \tkzGetNodes + \tkzDrawArc(J,X)(Y) + \tkzDrawCircles(I,H O,A) + \tkzDrawCircle[red](w,I) + \tkzDrawLines(Y,C A,B X,C E,w E,B) + \tkzDrawSegments[blue](J,C J,K I,H I,O w,B) + \tkzDrawPoints(A,B,C,I,J,E,w,H,K,O) + \tkzLabelPoints(A,B,C,J,I,w,H,K,E,O) + \tkzMarkRightAngles[fill=gray!20,opacity=.4](C,H,I A,K,J) + \end{tikzpicture} +\end{center} + + \end{minipage} % subsection euler_relation (end) @@ -1242,20 +1627,23 @@ z.D = intersection (T.ext.ab,T.ABC.ab) z.E = z.C: symmetry (z.B) \end{tkzelements} -\hspace*{\fill} -\begin{tikzpicture} -\tkzGetNodes -\tkzDrawPolygon(A,B,C) -\tkzDrawLine[purple,add=0 and .5](B,C) -\tkzDrawSegment[purple](A,D) -\tkzDrawSegment[orange](C,D) -\tkzFillAngles[purple!30,opacity=.2](D,C,A E,C,D) -\tkzMarkAngles[mark=|](D,C,A E,C,D) -\tkzDrawPoints(A,...,D) -\tkzLabelPoints[above](C) -\tkzLabelPoints(A,B,D) -\end{tikzpicture} -\hspace*{\fill} + +\begin{center} + \begin{tikzpicture} + \tkzGetNodes + \tkzDrawPolygon(A,B,C) + \tkzDrawLine[purple,add=0 and .5](B,C) + \tkzDrawSegment[purple](A,D) + \tkzDrawSegment[orange](C,D) + \tkzFillAngles[purple!30,opacity=.2](D,C,A E,C,D) + \tkzMarkAngles[mark=|](D,C,A E,C,D) + \tkzDrawPoints(A,...,D) + \tkzLabelPoints[above](C) + \tkzLabelPoints(A,B,D) + \end{tikzpicture} +\end{center} + + \end{minipage} % subsection external_angle (end) @@ -1304,19 +1692,22 @@ L.LL = T.ab: ll_from (z.C) L.AD = line: new (z.A,z.D) z.E = intersection (L.LL,L.AD) \end{tkzelements} -\hspace*{\fill} -\begin{tikzpicture} -\tkzGetNodes -\tkzDrawPolygon(A,B,C) -\tkzDrawLine[purple](C,E) -\tkzDrawSegment[purple](A,E) -\tkzFillAngles[purple!30,opacity=.4](B,A,C C,E,D) -\tkzMarkAngles[mark=|](B,A,D D,A,C C,E,D) -\tkzDrawPoints(A,...,E) -\tkzLabelPoints(A,B) -\tkzLabelPoints[above](C,D,E) -\tkzMarkSegments(A,C C,E) -\end{tikzpicture} + +\begin{center} + \begin{tikzpicture} + \tkzGetNodes + \tkzDrawPolygon(A,B,C) + \tkzDrawLine[purple](C,E) + \tkzDrawSegment[purple](A,E) + \tkzFillAngles[purple!30,opacity=.4](B,A,C C,E,D) + \tkzMarkAngles[mark=|](B,A,D D,A,C C,E,D) + \tkzDrawPoints(A,...,E) + \tkzLabelPoints(A,B) + \tkzLabelPoints[above](C,D,E) + \tkzMarkSegments(A,C C,E) + \end{tikzpicture} +\end{center} + \end{minipage} %subsection internal_angle (end) @@ -1392,18 +1783,20 @@ L.LH = line: new (z.L,z.H) z.F = intersection (L.LH,C.IH) -- feuerbach \end{tkzelements} -\hspace*{\fill} -\begin{tikzpicture}[rotate=90] -\tkzGetNodes -\tkzDrawLine(L,F) -\tkzDrawCircle[red](N,A') -\tkzDrawCircle[blue](I,H) -\tkzDrawCircles[teal](O,A L,C') -\tkzDrawSegments(M,L B,U Q,C C,X A,P B,Q) -\tkzDrawPolygons(A,B,C A',B',C') -\tkzDrawPoints(A,B,C,N,H,A',B',C',U,L,M,P,Q,F,I) -\tkzLabelPoints(A,B,C,N,H,A',B',C',U,L,M,P,Q,F,I) -\end{tikzpicture} +\begin{center} + \begin{tikzpicture}[rotate=90] + \tkzGetNodes + \tkzDrawLine(L,F) + \tkzDrawCircle[red](N,A') + \tkzDrawCircle[blue](I,H) + \tkzDrawCircles[teal](O,A L,C') + \tkzDrawSegments(M,L B,U Q,C C,X A,P B,Q) + \tkzDrawPolygons(A,B,C A',B',C') + \tkzDrawPoints(A,B,C,N,H,A',B',C',U,L,M,P,Q,F,I) + \tkzLabelPoints(A,B,C,N,H,A',B',C',U,L,M,P,Q,F,I) + \end{tikzpicture} +\end{center} + \end{minipage} % subsection nine_points (end) @@ -1448,15 +1841,17 @@ L.AK = line: new (z.Y,z.K) z.C = intersection (L.AK,L.AB) \end{tkzelements} -\hspace*{\fill} -\begin{tikzpicture} -\tkzGetNodes -\tkzDrawLines(A,B X,K) -\tkzDrawLine[teal](Y,K) -\tkzDrawPoints(A,B,C,X,Y,M,K) -\tkzDrawArc[delta=20](M,A)(K) -\tkzLabelPoints(A,B,C) -\end{tikzpicture} +\begin{center} + \begin{tikzpicture} + \tkzGetNodes + \tkzDrawLines(A,B X,K) + \tkzDrawLine[teal](Y,K) + \tkzDrawPoints(A,B,C,X,Y,M,K) + \tkzDrawArc[delta=20](M,A)(K) + \tkzLabelPoints(A,B,C) + \end{tikzpicture} +\end{center} + \end{minipage} %subsection gold_ratio_with_segment (end) @@ -1502,13 +1897,15 @@ L.AB = line: new (z.A,z.B) z.O_0 = L.AB.mid \end{tkzelements} -\hspace*{\fill} -\begin{tikzpicture} -\tkzGetNodes -\tkzDrawCircles(O_1,C O_2,B O_0,B O_1,x) -\tkzDrawPoints(A,C,B,O_1,O_2,O_0,x) -\tkzLabelPoints[below right](A,C,B) -\end{tikzpicture} +\begin{center} + \begin{tikzpicture} + \tkzGetNodes + \tkzDrawCircles(O_1,C O_2,B O_0,B O_1,x) + \tkzDrawPoints(A,C,B,O_1,O_2,O_0,x) + \tkzLabelPoints[below right](A,C,B) + \end{tikzpicture} +\end{center} + \end{minipage} % subsection gold_arbelos (end) @@ -1554,15 +1951,16 @@ z.O_0 = L.AB.mid L.GF = line :new (z.G,z.F) z.C = intersection (L.GF,L.AB) \end{tkzelements} -\hspace*{\fill} -\begin{tikzpicture} - \tkzGetNodes - \tkzDrawLines(A,B A,G A,D A,G F,E G,F G,D) - \tkzDrawPoints(A,B,G,E,F,C,D) - \tkzLabelPoints(A,B,G,E,F,C,D) - \tkzMarkSegments(F,B B,E) -\end{tikzpicture} -\hspace*{\fill} + +\begin{center} + \begin{tikzpicture} + \tkzGetNodes + \tkzDrawLines(A,B A,G A,D A,G F,E G,F G,D) + \tkzDrawPoints(A,B,G,E,F,C,D) + \tkzLabelPoints(A,B,G,E,F,C,D) + \tkzMarkSegments(F,B B,E) + \end{tikzpicture} +\end{center} \end{minipage} % subsection harmonic_division_v1 (end) @@ -1616,13 +2014,15 @@ L.GX = line: new (z.G,z.X) z.C = intersection (L.GX,L.AB) \end{tkzelements} -\hspace*{\fill} -\begin{tikzpicture} -\tkzGetNodes -\tkzDrawLines(A,D A,E B,F D,F X,A X,B X,C) -\tkzDrawPoints(A,...,G,X) -\tkzLabelPoints(A,...,G,X) -\end{tikzpicture} +\begin{center} + \begin{tikzpicture} + \tkzGetNodes + \tkzDrawLines(A,D A,E B,F D,F X,A X,B X,C) + \tkzDrawPoints(A,...,G,X) + \tkzLabelPoints(A,...,G,X) + \end{tikzpicture} +\end{center} + \end{minipage} % subsection harmonic_division_v2 (end) @@ -1666,390 +2066,21 @@ z.Q = intersection (L.AC,L.PX) z.R = intersection (L.BC,L.PX) \end{tkzelements} -\hspace*{\fill} -\begin{tikzpicture} -\tkzGetNodes -\tkzDrawPolygon(A,B,C) -\tkzDrawLine[new](P,R) -\tkzDrawLines(P,B A,C B,C) -\tkzDrawPoints(P,Q,R,A,B,C) -\tkzLabelPoints(A,B,C,P,Q,R) -\end{tikzpicture} -\hspace*{\fill} -\end{minipage} -% subsection menelaus (end) - -\subsection{Radical axis v1} % (fold) -\label{sub:radical_axis_v1} - -\begin{Verbatim} -\begin{tkzelements} -scale = .75 -z.X = point : new (0,0) -z.B = point : new (2,2) -z.Y = point : new (7,1) -z.Ap = point : new (8,-1) -L.XY = line : new (z.X,z.Y) -C.XB = circle : new (z.X,z.B) -C.YAp = circle : new (z.Y,z.Ap) -z.E,z.F = get_points (C.XB : radical_axis (C.YAp)) -z.A = C.XB : point (0.4) -T.ABAp = triangle: new (z.A,z.B,z.Ap) -z.O = T.ABAp.circumcenter -C.OAp = circle : new (z.O,z.Ap) -_,z.Bp = intersection (C.OAp,C.YAp) -L.AB = line : new (z.A,z.B) -L.ApBp = line : new (z.Ap,z.Bp) -z.M = intersection (L.AB,L.ApBp) -z.H = L.XY : projection (z.M) -\end{tkzelements} -\begin{tikzpicture} - \tkzGetNodes - \tkzDrawCircles(X,B Y,A') - \tkzDrawArc[dashed,delta=30](O,A')(A) - \tkzDrawPoints(A,B,A',B',M,H,X,Y,O,E,F) - \tkzDrawLines[red](A,M A',M X,Y E,F) - \tkzDrawLines[red,add=1 and 3](M,H) -\end{tikzpicture} -\end{Verbatim} - -\begin{tkzelements} -scale = .75 -z.X = point : new (0,0) -z.B = point : new (2,2) -z.Y = point : new (7,1) -z.Ap = point : new (8,-1) -L.XY = line : new (z.X,z.Y) -C.XB = circle : new (z.X,z.B) -C.YAp = circle : new (z.Y,z.Ap) -z.E,z.F = get_points (C.XB : radical_axis (C.YAp)) -z.A = C.XB : point (0.4) -T.ABAp = triangle: new (z.A,z.B,z.Ap) -z.O = T.ABAp.circumcenter -C.OAp = circle : new (z.O,z.Ap) -_,z.Bp = intersection (C.OAp,C.YAp) -L.AB = line : new (z.A,z.B) -L.ApBp = line : new (z.Ap,z.Bp) -z.M = intersection (L.AB,L.ApBp) -z.H = L.XY : projection (z.M) -\end{tkzelements} -\hspace*{\fill} -\begin{tikzpicture} -\tkzGetNodes -\tkzDrawCircles(X,B Y,A') -\tkzDrawArc[dashed,delta=30](O,A')(A) -\tkzDrawPoints(A,B,A',B',M,H,X,Y,O,E,F) -\tkzDrawLines[red](A,M A',M X,Y E,F) -\tkzDrawLines[red,add=1 and 3](M,H) -\end{tikzpicture} -% subsection radical_axis_v1 (end) - -\subsection{Radical axis v2} % (fold) -\label{sub:radical_axis_v2} - -\begin{Verbatim} -\begin{tkzelements} -scale = 1.25 -z.O = point : new (-1,0) -z.Op = point : new (4,-1) -z.B = point : new (0,2) -z.D = point : new (4,0) -C.OB = circle : new (z.O,z.B) -C.OpD = circle : new (z.Op,z.D) -L.EF = C.OB : radical_axis (C.OpD) -z.E,z.F = get_points (L.EF) -z.M = L.EF : point (.75) -L.MT,L.MTp = C.OB : tangent_from (z.M) -_,z.T = get_points (L.MT) -_,z.Tp = get_points (L.MTp) -L.MK,L.MKp = C.OpD : tangent_from (z.M) -_,z.K = get_points (L.MK) -_,z.Kp = get_points (L.MKp) -\end{tkzelements} -\begin{tikzpicture} - \tkzGetNodes - \tkzDrawCircles(O,B O',D) - \tkzDrawLine(E,F) - \tkzDrawLine[add=.5 and .5](O,O') - \tkzDrawLines[add = 0 and .5](M,T M,T' M,K M,K') - \tkzDrawCircle(M,T) - \tkzDrawPoints(O,O',T,M,T',K,K') - \tkzLabelPoints(O,O',T,T',K,K',M) -\end{tikzpicture} -\end{Verbatim} - -\begin{tkzelements} -scale =1.25 -z.O = point : new (-1,0) -z.Op = point : new (4,-1) -z.B = point : new (0,2) -z.D = point : new (4,0) -C.OB = circle : new (z.O,z.B) -C.OpD = circle : new (z.Op,z.D) -L.EF = C.OB : radical_axis (C.OpD) -z.E,z.F = get_points (L.EF) -z.M = L.EF : point (.75) -L.MT,L.MTp = C.OB : tangent_from (z.M) -_,z.T = get_points (L.MT) -_,z.Tp = get_points (L.MTp) -L.MK,L.MKp = C.OpD : tangent_from (z.M) -_,z.K = get_points (L.MK) -_,z.Kp = get_points (L.MKp) -\end{tkzelements} -\hspace*{\fill} -\begin{tikzpicture} -\tkzGetNodes -\tkzDrawCircles(O,B O',D) -\tkzDrawLine(E,F) -\tkzDrawLine[add=.5 and .5](O,O') -\tkzDrawLines[add = 0 and .5](M,T M,T' M,K M,K') -\tkzDrawCircle(M,T) -\tkzDrawPoints(O,O',T,M,T',K,K') -\tkzLabelPoints(O,O',T,T',K,K',M) -\end{tikzpicture} -\hspace*{\fill} -% subsection radical_axis_v2 (end) - -\subsection{Radical axis v3} % (fold) -\label{sub:radical_axis_v3} - -\begin{Verbatim} - \begin{tkzelements} - z.O = point : new (0,0) - z.B = point : new (4,0) - z.Op = point : new (6,0) - C.OB = circle : new (z.O,z.B) - C.OpB = circle : new (z.Op,z.B) - L.EF = C.OB : radical_axis (C.OpB) - z.E,z.F = get_points(L.EF) - z.M = L.EF : point (0.2) - L = C.OB : tangent_from (z.M) - _,z.T = get_points (L) - L = C.OpB : tangent_from (z.M) - _,z.Tp = get_points (L) -\end{tkzelements} -\begin{tikzpicture} - \tkzGetNodes - \tkzDrawCircles(O,B O',B) - \tkzDrawSegments(M,T M,T') - \tkzDrawSegments(E,F) - \tkzDrawLine[add=.5 and .5](O,O') - \tkzDrawPoints(O,B,O',E,F,M,T,T') - \tkzLabelPoints(O,O',B,E,F,T,T') - \tkzDrawArc(M,T')(T) -\end{tikzpicture} -\end{Verbatim} - -\begin{tkzelements} -z.O = point : new (0,0) -z.B = point : new (4,0) -z.Op = point : new (6,0) -C.OB = circle : new (z.O,z.B) -C.OpB = circle : new (z.Op,z.B) -L.EF = C.OB : radical_axis (C.OpB) -z.E,z.F = get_points(L.EF) -z.M = L.EF : point (0.2) -L = C.OB : tangent_from (z.M) -_,z.T = get_points (L) -L = C.OpB : tangent_from (z.M) -_,z.Tp = get_points (L) -\end{tkzelements} -\hspace*{\fill} -\begin{tikzpicture} -\tkzGetNodes -\tkzDrawCircles(O,B O',B) -\tkzDrawSegments(M,T M,T') -\tkzDrawSegments(E,F) -\tkzDrawLine[add=.5 and .5](O,O') -\tkzDrawPoints(O,B,O',E,F,M,T,T') -\tkzLabelPoints(O,O',B,E,F,T,T') -\tkzDrawArc(M,T')(T) -\end{tikzpicture} -\hspace*{\fill} -% subsection radical_axis_v3 (end) - -\subsection{Radical axis v4} % (fold) -\label{sub:radical_axis_v4} -\begin{Verbatim} -\begin{tkzelements} - z.O = point : new (0,0) - z.B = point : new (5,0) - z.Op = point : new (3,0) - C.OB = circle : new (z.O,z.B) - C.OpB = circle : new (z.Op,z.B) - L.EF = C.OB : radical_axis (C.OpB) - z.E,z.F = get_points(L.EF) - z.H = L.EF.mid - z.M = L.EF : point (.8) - _,L = C.OB : tangent_from (z.M) - _,z.T = get_points (L) - _,L = C.OpB : tangent_from (z.M) - _,z.Tp = get_points (L) -\end{tkzelements} -\begin{tikzpicture} - \tkzGetNodes - \tkzDrawCircles(O,B O',B) - \tkzDrawSegments(M,T M,T') - \tkzDrawSegments(E,F) - \tkzDrawLine[add=.3 and .3](O,H) - \tkzDrawPoints(O,O',B,E,H,M) - \tkzLabelPoints[below right](O,O',E,F,M,T,T') - \tkzDrawArc(M,B)(T) -\end{tikzpicture} -\end{Verbatim} - - -\begin{tkzelements} - z.O = point : new (0,0) - z.B = point : new (5,0) - z.Op = point : new (3,0) - C.OB = circle : new (z.O,z.B) - C.OpB = circle : new (z.Op,z.B) - L.EF = C.OB : radical_axis (C.OpB) - z.E,z.F = get_points(L.EF) - z.H = L.EF.mid - z.M = L.EF : point (.8) - _,L = C.OB : tangent_from (z.M) - _,z.T = get_points (L) - _,L = C.OpB : tangent_from (z.M) - _,z.Tp = get_points (L) -\end{tkzelements} -\hspace*{\fill} -\begin{tikzpicture} - \tkzGetNodes - \tkzDrawCircles(O,B O',B) - \tkzDrawSegments(M,T M,T') - \tkzDrawSegments(E,F) - \tkzDrawLine[add=.3 and .3](O,H) - \tkzDrawPoints(O,O',B,E,H,M) - \tkzLabelPoints[below right](O,O',E,F,M,T,T') - \tkzDrawArc(M,B)(T) -\end{tikzpicture} -\hspace*{\fill} -% subsection radical_axis_v4 (end) - -\subsection{Radical center} % (fold) -\label{sub:radical_center} -\begin{minipage}[t]{.5\textwidth}\vspace{0pt}% -\begin{Verbatim} -\begin{tkzelements} - z.O = point : new (0,0) - z.x = point : new (1,0) - z.y = point : new (4,0) - z.z = point : new (2,0) - z.Op = point : new (4,2) - z.P = point : new (2,2.5) - C.Ox = circle : new (z.O,z.x) - C.Pz = circle : new (z.P,z.z) - C.Opy = circle : new (z.Op,z.y) - z.ap,z.a = intersection (C.Ox,C.Pz) - z.bp,z.b = intersection (C.Opy,C.Pz) - L.aap = line : new (z.a,z.ap) - L.bbp = line : new (z.b,z.bp) - z.X = intersection (L.aap,L.bbp) --- or z.X = radical_center(C.Ox,C.Pz,C.Opy) - L.OOp = line : new (z.O,z.Op) - z.H = L.OOp : projection (z.X) -\end{tkzelements} -\begin{tikzpicture} - \tkzGetNodes - \tkzDrawCircles(O,a O',b P,z) - \tkzDrawLines[red](a,X b',X H,X O,O') - \tkzDrawPoints(O,O',P,a,a',b,b',X,H) - \tkzLabelPoints[below right](O,O',P,H) -\end{tikzpicture} -\end{Verbatim} -\end{minipage} -\begin{minipage}[t]{.5\textwidth}\vspace{0pt}% -\begin{tkzelements} -z.O = point : new (0,0) -z.x = point : new (1,0) -z.y = point : new (4,0) -z.z = point : new (2,0) -z.Op = point : new (4,2) -z.P = point : new (2,2.5) -C.Ox = circle : new (z.O,z.x) -C.Pz = circle : new (z.P,z.z) -C.Opy = circle : new (z.Op,z.y) -z.ap,z.a = intersection (C.Ox,C.Pz) -z.bp,z.b = intersection (C.Opy,C.Pz) -L.aap = line : new (z.a,z.ap) -L.bbp = line : new (z.b,z.bp) -z.X = intersection (L.aap,L.bbp) -L.OOp = line : new (z.O,z.Op) -z.H = L.OOp : projection (z.X) -\end{tkzelements} - -\hspace*{\fill} -\begin{tikzpicture} -\tkzGetNodes -\tkzDrawCircles(O,a O',b P,z) -\tkzDrawLines[red](a,X b',X H,X O,O') -\tkzDrawPoints(O,O',P,a,a',b,b',X,H) -\tkzLabelPoints[below right](O,O',P,H) -\end{tikzpicture} -\end{minipage} -% subsection radical_center (end) +\begin{center} + \begin{tikzpicture} + \tkzGetNodes + \tkzDrawPolygon(A,B,C) + \tkzDrawLine[new](P,R) + \tkzDrawLines(P,B A,C B,C) + \tkzDrawPoints(P,Q,R,A,B,C) + \tkzLabelPoints(A,B,C,P,Q,R) + \end{tikzpicture} +\end{center} -\subsection{Radical circle} % (fold) -\label{sub:radical_circle} -\begin{minipage}[t]{.5\textwidth}\vspace{0pt}% -\begin{Verbatim} -\begin{tkzelements} - scale = .5 - z.A = point: new (0,0) - z.B = point: new (6,0) - z.C = point: new (0.8,4) - T.ABC = triangle : new ( z.A,z.B,z.C ) - C.exa = T.ABC : ex_circle () - z.I_a,z.Xa = get_points (C.exa) - C.exb = T.ABC : ex_circle (1) - z.I_b,z.Xb = get_points (C.exb) - C.exc = T.ABC : ex_circle (2) - z.I_c,z.Xc = get_points (C.exc) - C.ortho = C.exa : radical_circle (C.exb,C.exc) - z.w,z.a = get_points (C.ortho) -\end{tkzelements} -\begin{tikzpicture} - \tkzGetNodes - \tkzDrawPolygon(A,B,C) - \tkzDrawCircles(I_a,Xa I_b,Xb I_c,Xc) - \tkzDrawCircles[red,thick](w,a) - \tkzDrawPoints(A,B,C) - \tkzLabelPoints(A,B,C) -\end{tikzpicture} -\end{Verbatim} \end{minipage} +% subsection menelaus (end) -\begin{tkzelements} - scale = .5 - z.A = point: new (0,0) - z.B = point: new (6,0) - z.C = point: new (0.8,4) - T.ABC = triangle : new ( z.A,z.B,z.C ) - C.exa = T.ABC : ex_circle () - z.I_a,z.Xa = get_points (C.exa) - C.exb = T.ABC : ex_circle (1) - z.I_b,z.Xb = get_points (C.exb) - C.exc = T.ABC : ex_circle (2) - z.I_c,z.Xc = get_points (C.exc) - C.ortho = C.exa : radical_circle (C.exb,C.exc) - z.w,z.a = get_points (C.ortho) -\end{tkzelements} - -\hspace*{\fill} -\begin{tikzpicture} - \tkzGetNodes - \tkzDrawPolygon(A,B,C) - \tkzDrawCircles(I_a,Xa I_b,Xb I_c,Xc) - \tkzDrawCircles[red,thick](w,a) - \tkzDrawPoints(A,B,C) - \tkzLabelPoints(A,B,C) -\end{tikzpicture} -\hspace*{\fill} - -% subsection radical_circle (end) \subsection{Euler ellipse} % (fold) \label{sub:hexagram} @@ -2136,21 +2167,22 @@ _,z.W = intersection (L.ZO,E) \end{Verbatim} \end{minipage} \begin{minipage}{.6\textwidth} -\hspace*{\fill} -\begin{tikzpicture} -\tkzGetNodes -\tkzDrawPolygon(A,B,C) -\tkzDrawCircles[red](N,Ma O,A) -\tkzDrawSegments(A,X B,Y C,Z B,Hb C,Hc X,O Y,O Z,O) -\tkzDrawPolygon[red](U,V,W) -\tkzLabelPoints[red](U,V,W) -\tkzLabelPoints(A,B,C,X,Y,Z) -\tkzDrawLine[blue](I,J) -\tkzLabelPoints[blue,right](O,N,G,H,I,J) -\tkzDrawPoints(I,J,U,V,W) -\tkzDrawPoints(A,B,C,N,G,H,O,X,Y,Z,Ma,Mb,Mc,Ha,Hb,Hc) -\tkzDrawEllipse[blue](N,\tkzUseLua{a},\tkzUseLua{b},\tkzUseLua{ang}) -\end{tikzpicture} +\begin{center} + \begin{tikzpicture} + \tkzGetNodes + \tkzDrawPolygon(A,B,C) + \tkzDrawCircles[red](N,Ma O,A) + \tkzDrawSegments(A,X B,Y C,Z B,Hb C,Hc X,O Y,O Z,O) + \tkzDrawPolygon[red](U,V,W) + \tkzLabelPoints[red](U,V,W) + \tkzLabelPoints(A,B,C,X,Y,Z) + \tkzDrawLine[blue](I,J) + \tkzLabelPoints[blue,right](O,N,G,H,I,J) + \tkzDrawPoints(I,J,U,V,W) + \tkzDrawPoints(A,B,C,N,G,H,O,X,Y,Z,Ma,Mb,Mc,Ha,Hb,Hc) + \tkzDrawEllipse[blue](N,\tkzUseLua{a},\tkzUseLua{b},\tkzUseLua{ang}) + \end{tikzpicture} +\end{center} \end{minipage} \begin{Verbatim} @@ -2165,8 +2197,8 @@ _,z.W = intersection (L.ZO,E) \tkzDrawLine[blue](I,J) \tkzLabelPoints[blue,right](O,N,G,H,I,J) \tkzDrawPoints(I,J,U,V,W) - \tkzDrawPoints(A,B,C,N,G,H,O,X,Y,Z,Ma,Mb,Mc,Ha,Hb,Hc) - \tkzDrawEllipse[blue](N,\tkzUseLua{a},\tkzUseLua{b},\tkzUseLua{ang}) + \tkzDrawPoints(A,B,C,N,G,H,O,X,Y,Z,Ma,Mb,Mc,Ha,Hb,Hc) + \tkzDrawEllipse[blue](N,\tkzUseLua{a},\tkzUseLua{b},\tkzUseLua{ang}) \end{tikzpicture} \end{Verbatim} @@ -2256,36 +2288,39 @@ z.O = C.DC : inversion (z.W) \end{Verbatim} \end{minipage} \begin{minipage}{.6\textwidth} -\hspace*{\fill} -\begin{tikzpicture} -\tkzGetNodes -\tkzDrawCircles[teal](O_1,B) -\tkzDrawSemiCircles[thin,teal](O_2,C O_3,B) -\tkzDrawArc[purple,delta=0](D,V)(U) -\tkzDrawCircle[new](O_7,C) -\tkzDrawSegments[thin,purple](A,D D,B C,R C,S C,D U,V) -\tkzDrawSegments[thin,red](O,D A,O O,B) -\tkzDrawPoints(A,B,C,D,O_7) %, -\tkzDrawPoints(O_1,O_2,O_3,U,V,R,S,W,O) -\tkzDrawSegments[cyan](O_3,S O_2,R) -\tkzDrawSegments[very thin](A,B) -\tkzDrawSegments[cyan,thin](C,U U,D) -\tkzMarkRightAngles[size=.2,fill=gray!40,opacity=.4](D,C,A A,D,B - D,S,C D,W,V O_3,S,U O_2,R,U) -\tkzFillAngles[cyan!40,opacity=.4](B,A,D A,D,O_1 - C,D,B D,C,R B,C,S A,R,O_2) -\tkzFillAngles[green!40,opacity=.4](S,C,D W,R,D - D,B,C R,C,A O_3,S,B) -\tkzLabelPoints[below](C,O_2,O_3,O_1) -\tkzLabelPoints[above](D) -\tkzLabelPoints[below](O) -\tkzLabelPoints[below left](A) -\tkzLabelPoints[above left](R) -\tkzLabelPoints[above right](S) -\tkzLabelPoints[left](V) -\tkzLabelPoints[below right](B,U,W,O_7) -\end{tikzpicture} -\hspace*{\fill} + +\begin{center} + \begin{tikzpicture} + \tkzGetNodes + \tkzDrawCircles[teal](O_1,B) + \tkzDrawSemiCircles[thin,teal](O_2,C O_3,B) + \tkzDrawArc[purple,delta=0](D,V)(U) + \tkzDrawCircle[new](O_7,C) + \tkzDrawSegments[thin,purple](A,D D,B C,R C,S C,D U,V) + \tkzDrawSegments[thin,red](O,D A,O O,B) + \tkzDrawPoints(A,B,C,D,O_7) %, + \tkzDrawPoints(O_1,O_2,O_3,U,V,R,S,W,O) + \tkzDrawSegments[cyan](O_3,S O_2,R) + \tkzDrawSegments[very thin](A,B) + \tkzDrawSegments[cyan,thin](C,U U,D) + \tkzMarkRightAngles[size=.2,fill=gray!40,opacity=.4](D,C,A A,D,B + D,S,C D,W,V O_3,S,U O_2,R,U) + \tkzFillAngles[cyan!40,opacity=.4](B,A,D A,D,O_1 + C,D,B D,C,R B,C,S A,R,O_2) + \tkzFillAngles[green!40,opacity=.4](S,C,D W,R,D + D,B,C R,C,A O_3,S,B) + \tkzLabelPoints[below](C,O_2,O_3,O_1) + \tkzLabelPoints[above](D) + \tkzLabelPoints[below](O) + \tkzLabelPoints[below left](A) + \tkzLabelPoints[above left](R) + \tkzLabelPoints[above right](S) + \tkzLabelPoints[left](V) + \tkzLabelPoints[below right](B,U,W,O_7) + \end{tikzpicture} +\end{center} + + \end{minipage} \begin{Verbatim} @@ -2379,25 +2414,27 @@ z.O = C.DC : inversion (z.W) z.xa,z.xb,z.xc = C.ortho : inversion (z.Ea,z.Eb,z.Ec) \end{tkzelements} -\hspace*{\fill} -\begin{tikzpicture} - \tkzGetNodes -\tkzDrawCircles[red](O,xa N,Ea) -\tkzFillCircles[green!30!black,opacity=.3](O,xa) -\tkzFillCircles[yellow!30,opacity=.7](Ja,Ea Jb,Eb Jc,Ec) -\tkzFillCircles[teal!30!black,opacity=.3](S,a) -\tkzFillCircles[green!30,opacity=.3](N,Ea) -\tkzDrawPoints[red](Ea,Eb,Ec,xa,xb,xc,N) -\tkzClipCircle(O,xa) -\tkzDrawLines[add=3 and 3](A,B A,C B,C) -\tkzDrawCircles(Ja,Ea Jb,Eb Jc,Ec) -\tkzFillCircles[lightgray!30,opacity=.7](Ja,Ea Jb,Eb Jc,Ec) -\tkzDrawCircles[teal](S,a) -\tkzDrawPoints(A,B,C,O) -\tkzDrawPoints[teal](S) -\tkzLabelPoints(A,B,C,O,S,N) -\end{tikzpicture} -\hspace*{\fill} +\begin{center} + \begin{tikzpicture} + \tkzGetNodes + \tkzDrawCircles[red](O,xa N,Ea) + \tkzFillCircles[green!30!black,opacity=.3](O,xa) + \tkzFillCircles[yellow!30,opacity=.7](Ja,Ea Jb,Eb Jc,Ec) + \tkzFillCircles[teal!30!black,opacity=.3](S,a) + \tkzFillCircles[green!30,opacity=.3](N,Ea) + \tkzDrawPoints[red](Ea,Eb,Ec,xa,xb,xc,N) + \tkzClipCircle(O,xa) + \tkzDrawLines[add=3 and 3](A,B A,C B,C) + \tkzDrawCircles(Ja,Ea Jb,Eb Jc,Ec) + \tkzFillCircles[lightgray!30,opacity=.7](Ja,Ea Jb,Eb Jc,Ec) + \tkzDrawCircles[teal](S,a) + \tkzDrawPoints(A,B,C,O) + \tkzDrawPoints[teal](S) + \tkzLabelPoints(A,B,C,O,S,N) + \end{tikzpicture} +\end{center} + + % subsection apollonius_circle_v1_with_inversion (end) \subsection{Apollonius circle v2} % (fold) @@ -2472,82 +2509,24 @@ L.MaS = line: new (z.Ma,z.S) z.t = intersection (L.ox,L.MaS) -- through \end{tkzelements} - -\hspace*{\fill} -\begin{tikzpicture} -\tkzGetNodes -\tkzDrawLines[add=1 and 1](A,B A,C B,C) -\tkzDrawCircles(Ja,Xa Jb,Xb Jc,Xc o,t N,Ma) % -\tkzClipCircle(o,t) -\tkzDrawLines[red](o,L N,o Ma,t) -\tkzDrawLines[cyan,add=4 and 4](Ma,N o,t) -\tkzDrawPoints(A,B,C,Ma,Ja,Jb,Jc) -\tkzDrawPoints[red](N,O,L,S,o,t) -\tkzLabelPoints[right,font=\tiny](A,B,C,Ja,Jb,Jc,O,N,L,S,Ma,o) -\end{tikzpicture} -\hspace*{\fill} +\begin{center} + \begin{tikzpicture} + \tkzGetNodes + \tkzDrawLines[add=1 and 1](A,B A,C B,C) + \tkzDrawCircles(Ja,Xa Jb,Xb Jc,Xc o,t N,Ma) % + \tkzClipCircle(o,t) + \tkzDrawLines[red](o,L N,o Ma,t) + \tkzDrawLines[cyan,add=4 and 4](Ma,N o,t) + \tkzDrawPoints(A,B,C,Ma,Ja,Jb,Jc) + \tkzDrawPoints[red](N,O,L,S,o,t) + \tkzLabelPoints[right,font=\tiny](A,B,C,Ja,Jb,Jc,O,N,L,S,Ma,o) + \end{tikzpicture} +\end{center} % subsection apollonius_circle_v2 (end) -\subsection{Orthogonal circles v1} % (fold) -\label{sub:orthogonal_circles_v1} - -\begin{Verbatim} -\begin{tkzelements} - scale = .6 - z.C_1 = point: new (0,0) - z.C_2 = point: new (8,0) - z.A = point: new (5,0) - C = circle: new (z.C_1,z.A) - z.S,z.T = get_points (C: orthogonal_from (z.C_2)) -\end{tkzelements} -\begin{tikzpicture} - \tkzGetNodes - \tkzDrawCircles(C_1,T C_2,T) - \tkzDrawSegments(C_1,T C_2,T) - \tkzDrawLine(C_1,C_2) - \tkzMarkRightAngle[fill=teal,% - opacity=.2,size=1](C_1,T,C_2) - \tkzDrawPoints(C_1,C_2,T) - \tkzLabelPoints(C_1,C_2) - \tkzLabelPoints[above](T) - \tkzLabelSegment[left](C_1,T){r} - \tkzLabelSegments[right](C_2,T){$\gamma$} - \tkzLabelSegment[below](C_1,C_2){d} - \tkzLabelCircle[left=10pt](C_1,T)(180){Circle 1} - \tkzLabelCircle[right=10pt](C_2,T)(180){Circle 2} -\end{tikzpicture} -\end{Verbatim} - -\begin{tkzelements} -scale = .6 -z.C_1 = point: new (0,0) -z.C_2 = point: new (8,0) -z.A = point: new (5,0) -C = circle: new (z.C_1,z.A) -z.S,z.T = get_points (C: orthogonal_from (z.C_2)) -\end{tkzelements} -\hspace*{\fill} -\begin{tikzpicture} -\tkzGetNodes -\tkzDrawCircles(C_1,T C_2,T) -\tkzDrawSegments(C_1,T C_2,T) -\tkzDrawLine(C_1,C_2) -\tkzMarkRightAngle[fill=teal,opacity=.2,size=.5](C_1,T,C_2) -\tkzDrawPoints(C_1,C_2,T) -\tkzLabelPoints(C_1,C_2) -\tkzLabelPoints[above](T) -\tkzLabelSegment[left](C_1,T){r} -\tkzLabelSegments[right](C_2,T){$\gamma$} -\tkzLabelSegment[below](C_1,C_2){d} -\tkzLabelCircle[left=10pt](C_1,T)(180){Circle 1} -\tkzLabelCircle[right=10pt](C_2,T)(180){Circle 2} -\end{tikzpicture} -\hspace*{\fill} -% subsection orthogonal_circles_v1 (end) - -\subsection{Orthogonal circles v2} % (fold) +\subsection{Orthogonal circles} % (fold) \label{sub:orthogonal_circles_v2} \begin{Verbatim} @@ -2602,24 +2581,26 @@ L.OOp = line : new (z.O,z.Op) z.M = L.OOp.mid \end{tkzelements} -\hspace*{\fill} -\begin{tikzpicture} -\tkzGetNodes -\tkzDrawCircle[red](O,P) -\tkzDrawCircle[purple](O',z1) -\tkzDrawCircle[cyan](M,T) -\tkzDrawSegments(O',T O,T' O',T') -\tkzDrawSegment[purple](O',T) -\tkzDrawSegments[red](O,T O,O') -\tkzDrawPoints(O,O',T,T',M) -\tkzMarkRightAngle[fill=gray!10](O',T,O) -\tkzLabelPoint[below](O){$O$} -\tkzLabelPoint[above](T){$T$} -\tkzLabelPoint[above](M){$M$} -\tkzLabelPoint[below](T'){$T'$} -\tkzLabelPoint[above left](O'){$O'$} -\end{tikzpicture} -\hspace*{\fill} +\begin{center} + \begin{tikzpicture} + \tkzGetNodes + \tkzDrawCircle[red](O,P) + \tkzDrawCircle[purple](O',z1) + \tkzDrawCircle[cyan](M,T) + \tkzDrawSegments(O',T O,T' O',T') + \tkzDrawSegment[purple](O',T) + \tkzDrawSegments[red](O,T O,O') + \tkzDrawPoints(O,O',T,T',M) + \tkzMarkRightAngle[fill=gray!10](O',T,O) + \tkzLabelPoint[below](O){$O$} + \tkzLabelPoint[above](T){$T$} + \tkzLabelPoint[above](M){$M$} + \tkzLabelPoint[below](T'){$T'$} + \tkzLabelPoint[above left](O'){$O'$} + \end{tikzpicture} +\end{center} + + % subsection orthogonal_circles_v2 (end) % \subsection{Orthogonal circle to two circles} % (fold) @@ -2674,19 +2655,22 @@ z.Tp = L.Tp.pb z.Kp = L.Kp.pb \end{tkzelements} -\hspace*{\fill} -\begin{tikzpicture} -\tkzGetNodes -\tkzDrawCircles(O,B O',D) -\tkzDrawLine[cyan](E,F) -\tkzDrawLines[add=.5 and .5,orange](O,O' O,T O,T') -\tkzDrawSegments[cyan](M,T M,T' M,K M,K') -\tkzDrawCircle(M,T) -\tkzDrawPoints(O,O',T,M,T',K,K') -\tkzLabelPoints(O,O',T,T',M,K,K') -\end{tikzpicture} -\hspace*{\fill} -% \subsection{Orthogonal to two circles} % (fold) + +\begin{center} + \begin{tikzpicture} + \tkzGetNodes + \tkzDrawCircles(O,B O',D) + \tkzDrawLine[cyan](E,F) + \tkzDrawLines[add=.5 and .5,orange](O,O' O,T O,T') + \tkzDrawSegments[cyan](M,T M,T' M,K M,K') + \tkzDrawCircle(M,T) + \tkzDrawPoints(O,O',T,M,T',K,K') + \tkzLabelPoints(O,O',T,T',M,K,K') + \end{tikzpicture} +\end{center} + + +% subsection Orthogonal to two circles (fold) \subsection{Midcircles} % (fold) \label{sub:midcircles} @@ -2738,36 +2722,39 @@ z.Ap = z.M_1: symmetry (z.A) z.H_4,z.F,z.E,z.H_0 = L.AB : projection (z.O_4,z.G,z.H,z.P_0) \end{tkzelements} -\hspace*{\fill} -\begin{tikzpicture} -\tkzGetNodes -\tkzDrawCircle[thin,fill=green!10](O_4,P_0) -\tkzDrawCircle[purple,fill=purple!10,opacity=.5](O_5,C) -\tkzDrawSemiCircles[teal](O_0,B) -\tkzDrawSemiCircles[thin,teal,fill=teal!20,opacity=.5](O_1,C O_2,B) -\tkzDrawSemiCircles[color = orange](M_2,B) -\tkzDrawSemiCircles[color = orange](M_1,A') -\tkzDrawArc[purple,delta=0](M_0,P_0)(C) -\tkzDrawSegments[very thin](A,B A,P B,Q) -\tkzDrawSegments[color=cyan](O_0,P_0 B,J G,J G,O_0 H,O_2) -\tkzDrawSegments[ultra thin,purple](M_1,P_0 M_2,P_0 M_1,M_0 M_0,P_1 M_0,P_0 M_1,J) -\tkzDrawPoints(A,B,C,P_0,P_2,P_1,M_0,M_1,M_2,J,P,Q,S) -\tkzDrawPoints(O_0,O_1,O_2,O_4,O_5,G,H) -\tkzMarkRightAngle[size=.2,fill=gray!20,opacity=.4](O_0,P_0,M_0) -\tkzLabelPoints[below](A,B,C,M_0,M_1,M_2,O_1,O_2,O_0) -\tkzLabelPoints[above](P_0,O_5,O_4) -\tkzLabelPoints[above](P_1,J) -\tkzLabelPoints[above](P_2,P,Q,S) -\tkzLabelPoints[above right](H,E) -\tkzLabelPoints[above left](F,G) -\tkzLabelPoints[below right](H_0) -\tkzLabelCircle[below=4pt,font=\scriptsize](O_1,C)(80){$(\beta)$} -\tkzLabelCircle[below=4pt,font=\scriptsize](O_2,B)(80){$(\gamma)$} -\tkzLabelCircle[below=4pt,font=\scriptsize](O_0,B)(110){$(\alpha)$} -\tkzLabelCircle[left,font=\scriptsize](O_4,P_2)(60){$(\delta)$} -\tkzLabelCircle[above left,font=\scriptsize](O_5,C)(40){$(\epsilon)$} -\end{tikzpicture} -\hspace*{\fill} + +\begin{center} + \begin{tikzpicture} + \tkzGetNodes + \tkzDrawCircle[thin,fill=green!10](O_4,P_0) + \tkzDrawCircle[purple,fill=purple!10,opacity=.5](O_5,C) + \tkzDrawSemiCircles[teal](O_0,B) + \tkzDrawSemiCircles[thin,teal,fill=teal!20,opacity=.5](O_1,C O_2,B) + \tkzDrawSemiCircles[color = orange](M_2,B) + \tkzDrawSemiCircles[color = orange](M_1,A') + \tkzDrawArc[purple,delta=0](M_0,P_0)(C) + \tkzDrawSegments[very thin](A,B A,P B,Q) + \tkzDrawSegments[color=cyan](O_0,P_0 B,J G,J G,O_0 H,O_2) + \tkzDrawSegments[ultra thin,purple](M_1,P_0 M_2,P_0 M_1,M_0 M_0,P_1 M_0,P_0 M_1,J) + \tkzDrawPoints(A,B,C,P_0,P_2,P_1,M_0,M_1,M_2,J,P,Q,S) + \tkzDrawPoints(O_0,O_1,O_2,O_4,O_5,G,H) + \tkzMarkRightAngle[size=.2,fill=gray!20,opacity=.4](O_0,P_0,M_0) + \tkzLabelPoints[below](A,B,C,M_0,M_1,M_2,O_1,O_2,O_0) + \tkzLabelPoints[above](P_0,O_5,O_4) + \tkzLabelPoints[above](P_1,J) + \tkzLabelPoints[above](P_2,P,Q,S) + \tkzLabelPoints[above right](H,E) + \tkzLabelPoints[above left](F,G) + \tkzLabelPoints[below right](H_0) + \tkzLabelCircle[below=4pt,font=\scriptsize](O_1,C)(80){$(\beta)$} + \tkzLabelCircle[below=4pt,font=\scriptsize](O_2,B)(80){$(\gamma)$} + \tkzLabelCircle[below=4pt,font=\scriptsize](O_0,B)(110){$(\alpha)$} + \tkzLabelCircle[left,font=\scriptsize](O_4,P_2)(60){$(\delta)$} + \tkzLabelCircle[above left,font=\scriptsize](O_5,C)(40){$(\epsilon)$} + \end{tikzpicture} +\end{center} + + \begin{Verbatim} \begin{tkzelements} @@ -2900,18 +2887,20 @@ z.xp,z.yp = get_points (C.C0A : orthogonal_from (z.M_1)) z.O = L.BA.mid \end{tkzelements} -\hspace*{\fill} -\begin{tikzpicture} -\tkzGetNodes -\tkzDrawCircles(C_0,A C_1,A C_3,A C_5,A) -\tkzDrawCircles[thick,color=red](M_0,x M_1,x') -\tkzDrawCircles[thick,color=blue](O,A) -\tkzDrawLines(C_0,C_1 B,M_1) -\tkzDrawPoints(A,B,C_0,C_1,M_0,M_1,x,y) -\tkzLabelPoints[below right](A,B,C_0,C_1,M_0,M_1,x,y) -\tkzLabelLine[pos=1.25,right]( M_0,M_1){$(\Delta)$} -\end{tikzpicture} -\hspace*{\fill} +\begin{center} + \begin{tikzpicture} + \tkzGetNodes + \tkzDrawCircles(C_0,A C_1,A C_3,A C_5,A) + \tkzDrawCircles[thick,color=red](M_0,x M_1,x') + \tkzDrawCircles[thick,color=blue](O,A) + \tkzDrawLines(C_0,C_1 B,M_1) + \tkzDrawPoints(A,B,C_0,C_1,M_0,M_1,x,y) + \tkzLabelPoints[below right](A,B,C_0,C_1,M_0,M_1,x,y) + \tkzLabelLine[pos=1.25,right]( M_0,M_1){$(\Delta)$} + \end{tikzpicture} +\end{center} + + % subsection pencil_v1 (end) \subsection{Pencil v2} % (fold) @@ -2967,123 +2956,20 @@ z.O = L.BA.mid z.t = C.orth2.through \end{tkzelements} -\hspace*{\fill} -\begin{tikzpicture} -\tkzGetNodes -\tkzDrawCircles(C_0,A C_1,B) -\tkzDrawCircles[thick,color=red](M_0,u M_1,v M_2,t) -\tkzDrawLines[add= .75 and .75](C_0,C_1 M_0,M_1) -\tkzDrawPoints(A,B,C_0,C_1,M_0,M_1,M_2) -\tkzLabelPoints[below right](A,B,C_0,C_1,M_0,M_1,M_2) -\tkzLabelLine[pos=2,right]( M_0,M_1){$(\Delta)$} -\end{tikzpicture} -\hspace*{\fill} -%subsection pencil_v2 (end) - -\subsection{Power v1} % (fold) -\label{sub:power_v1} -\begin{minipage}[t]{.5\textwidth}\vspace{0pt}% -\begin{Verbatim} -\begin{tkzelements} - z.O = point : new (0,0) - z.A = point : new (2,-2) - z.M = point : new (-6,0) - L.AM = line : new (z.A,z.M) - C.OA = circle : new (z.O,z.A) - z.Ap = C.OA : antipode (z.A) - z.B = intersection (L.AM, C.OA) -\end{tkzelements} -\begin{tikzpicture} - \tkzGetNodes - \tkzDrawCircle(O,A) - \tkzMarkRightAngle[fill=gray!10](A',B,M) - \tkzDrawSegments(M,O A,A' A',B) - \tkzDrawPoints(O,A,A',M,B) - \tkzLabelPoints(O,A,A',M,B) - \tkzDrawSegments[-Triangle](M,A M,A') -\end{tikzpicture} -\end{Verbatim} -\end{minipage} -\begin{minipage}[t]{.5\textwidth}\vspace{0pt}% -\begin{tkzelements} -scale = 1 -z.O = point : new (0,0) -z.A = point : new (2,-2) -z.M = point : new (-6,0) -L.AM = line : new (z.A,z.M) -C.OA = circle : new (z.O,z.A) -z.Ap = C.OA : antipode (z.A) -z.B = intersection (L.AM, C.OA) -\end{tkzelements} - -\hspace*{\fill} -\begin{tikzpicture} -\tkzGetNodes -\tkzDrawCircle(O,A) -\tkzMarkRightAngle[fill=gray!10](A',B,M) -\tkzDrawSegments(M,O A,A' A',B) -\tkzDrawPoints(O,A,A',M,B) -\tkzLabelPoints(O,A,A',M,B) -\tkzDrawSegments[-Triangle](M,A M,A') -\end{tikzpicture} -\end{minipage} -% subsection power_v1 (end) +\begin{center} + \begin{tikzpicture} + \tkzGetNodes + \tkzDrawCircles(C_0,A C_1,B) + \tkzDrawCircles[thick,color=red](M_0,u M_1,v M_2,t) + \tkzDrawLines[add= .75 and .75](C_0,C_1 M_0,M_1) + \tkzDrawPoints(A,B,C_0,C_1,M_0,M_1,M_2) + \tkzLabelPoints[below right](A,B,C_0,C_1,M_0,M_1,M_2) + \tkzLabelLine[pos=2,right]( M_0,M_1){$(\Delta)$} + \end{tikzpicture} +\end{center} -\subsection{Power v2} % (fold) -\label{sub:power_v2} -\begin{minipage}[t]{.5\textwidth}\vspace{0pt}% -\begin{Verbatim} -\begin{tkzelements} - z.O = point : new (0,0) - z.A = point : new (2,2) - z.M = point : new (-1.5,0) - L.AM = line : new (z.A,z.M) - C.OA = circle : new (z.O,z.A) - z.Ap = C.OA : antipode (z.A) - _,z.B = intersection (L.AM, C.OA) - z.m = z.M : north(1) - L.mM = line : new (z.m,z.M) - z.U,z.V = intersection (L.mM,C.OA) -\end{tkzelements} -\begin{tikzpicture} - \tkzGetNodes - \tkzDrawCircle(O,A) - \tkzMarkRightAngle[fill=gray!10](A',B,M) - \tkzDrawSegments(M,O A,A' A',B A,B U,V) - \tkzDrawPoints(O,A,A',M,B,U,V,m) - \tkzLabelPoints(O,A,M,U,V,m) - \tkzLabelPoints[below left](A',B) - \tkzDrawSegments(M,A M,A') -\end{tikzpicture} -\end{Verbatim} -\end{minipage} -\begin{minipage}[t]{.5\textwidth}\vspace{0pt}% -\begin{tkzelements} -scale = 1 -z.O = point : new (0,0) -z.A = point : new (2,2) -z.M = point : new (-1.5,0) -L.AM = line : new (z.A,z.M) -C.OA = circle : new (z.O,z.A) -z.Ap = C.OA : antipode (z.A) -_,z.B = intersection (L.AM, C.OA) -z.m = z.M : north(1) -L.mM = line : new (z.m,z.M) -z.U,z.V = intersection (L.mM,C.OA) -\end{tkzelements} +%subsection pencil_v2 (end) -\hspace*{\fill}\begin{tikzpicture} -\tkzGetNodes -\tkzDrawCircle(O,A) -\tkzMarkRightAngle[fill=gray!10](A',B,M) -\tkzDrawSegments(M,O A,A' A',B A,B U,V) -\tkzDrawPoints(O,A,A',M,B,U,V,m) -\tkzLabelPoints(O,A,M,U,V,m) -\tkzLabelPoints[below left](A',B) -\tkzDrawSegments(M,A M,A') -\end{tikzpicture} -\end{minipage} -% subsection power_v2 (end) \subsection{Reim v1} % (fold) \label{sub:reim_v1} @@ -3137,22 +3023,25 @@ z.U,z.V = intersection (L.mM,C.OA) z.O = intersection (L.EC,L.FD) \end{tkzelements} -\hspace*{\fill} -\begin{tikzpicture} -\tkzGetNodes -\tkzDrawCircles(A,E B,H) -\tkzDrawSegments(E,D C,F) -\tkzDrawLines(E,O F,O) -\tkzDrawLines[red](E,F H,G) -\tkzDrawPoints(A,...,H,O) -\tkzLabelPoints(A,B,D,F,G,O) -\tkzLabelPoints[above](E,C,H) -\tkzMarkAngles[size=.5](E,C,F E,D,F) -\tkzFillAngles[green!40,opacity=.4,size=.5](E,C,F E,D,F) -\tkzMarkAngles[size=.5](F,C,H G,D,E) -\tkzFillAngles[red!40,opacity=.4,size=.5](F,C,H G,D,E) -\end{tikzpicture} -\hspace*{\fill} + +\begin{center} + \begin{tikzpicture} + \tkzGetNodes + \tkzDrawCircles(A,E B,H) + \tkzDrawSegments(E,D C,F) + \tkzDrawLines(E,O F,O) + \tkzDrawLines[red](E,F H,G) + \tkzDrawPoints(A,...,H,O) + \tkzLabelPoints(A,B,D,F,G,O) + \tkzLabelPoints[above](E,C,H) + \tkzMarkAngles[size=.5](E,C,F E,D,F) + \tkzFillAngles[green!40,opacity=.4,size=.5](E,C,F E,D,F) + \tkzMarkAngles[size=.5](F,C,H G,D,E) + \tkzFillAngles[red!40,opacity=.4,size=.5](F,C,H G,D,E) + \end{tikzpicture} +\end{center} + + % subsection reim_v1 (end) \subsection{Reim v2} % (fold) @@ -3200,19 +3089,22 @@ z.m,z.mp = get_points (C.AC: tangent_at (z.M)) z.n,z.np = get_points (C.BC: tangent_at (z.N)) \end{tkzelements} -\hspace*{\fill} -\begin{tikzpicture} -\tkzGetNodes -\tkzDrawCircles(A,C B,C) -\tkzDrawLines[new,add=1 and 1](M,m N,n C,c) -\tkzDrawSegment(M,N) -\tkzDrawPoints(A,B,C,M,N) -\tkzLabelPoints[below right](A,B,C,M,N) -\tkzFillAngles[blue!30,opacity=.3](m',M,C N,C,c' M,C,c n',N,C) -\tkzLabelCircle[below=4pt,font=\scriptsize](A,C)(90){$(\alpha)$} -\tkzLabelCircle[left=4pt,font=\scriptsize](B,C)(-90){$(\beta)$} -\end{tikzpicture} -\hspace*{\fill} + +\begin{center} + \begin{tikzpicture} + \tkzGetNodes + \tkzDrawCircles(A,C B,C) + \tkzDrawLines[new,add=1 and 1](M,m N,n C,c) + \tkzDrawSegment(M,N) + \tkzDrawPoints(A,B,C,M,N) + \tkzLabelPoints[below right](A,B,C,M,N) + \tkzFillAngles[blue!30,opacity=.3](m',M,C N,C,c' M,C,c n',N,C) + \tkzLabelCircle[below=4pt,font=\scriptsize](A,C)(90){$(\alpha)$} + \tkzLabelCircle[left=4pt,font=\scriptsize](B,C)(-90){$(\beta)$} + \end{tikzpicture} +\end{center} + + % subsection reim_v2 (end) \subsection{Reim v3} % (fold) @@ -3282,21 +3174,23 @@ z.n,z.np = get_points (C.BC: tangent_at (z.N)) z.D = intersection (L.KO,C.zO) \end{tkzelements} -\hspace*{\fill} -\begin{tikzpicture} -\tkzGetNodes -\tkzDrawSegments(K,D D,C) -\tkzDrawPolygon[teal](A,B,C) -\tkzDrawCircles[orange](x,A y,B z,C) -\tkzDrawPoints[fill=white](A,B,C,I,J,K,D) -\tkzLabelPoints[below](A,B,J,K,O) -\tkzLabelPoints[above](C,D,I) -\tkzDrawPoints[fill=black](O) -\tkzLabelCircle[below=4pt,font=\scriptsize](x,A)(20){$(\alpha)$} -\tkzLabelCircle[left=4pt,font=\scriptsize](y,B)(60){$(\beta)$} -\tkzLabelCircle[below=4pt,font=\scriptsize](z,C)(60){$(\gamma)$} -\end{tikzpicture} -\hspace*{\fill} +\begin{center} + \begin{tikzpicture} + \tkzGetNodes + \tkzDrawSegments(K,D D,C) + \tkzDrawPolygon[teal](A,B,C) + \tkzDrawCircles[orange](x,A y,B z,C) + \tkzDrawPoints[fill=white](A,B,C,I,J,K,D) + \tkzLabelPoints[below](A,B,J,K,O) + \tkzLabelPoints[above](C,D,I) + \tkzDrawPoints[fill=black](O) + \tkzLabelCircle[below=4pt,font=\scriptsize](x,A)(20){$(\alpha)$} + \tkzLabelCircle[left=4pt,font=\scriptsize](y,B)(60){$(\beta)$} + \tkzLabelCircle[below=4pt,font=\scriptsize](z,C)(60){$(\gamma)$} + \end{tikzpicture} +\end{center} + + % subsection reim_v3 (end) \subsection{Tangent and circle} % (fold) @@ -3339,14 +3233,17 @@ z.i = L.Ti.pb z.j = L.Tj.pb z.k,z.l = get_points (C.AB: tangent_at (z.B)) \end{tkzelements} -\hspace*{\fill} -\begin{tikzpicture} -\tkzGetNodes -\tkzDrawCircles(A,B M,A) -\tkzDrawPoints(A,B,E,i,j,M,S) -\tkzDrawLines(E,i E,j k,l) -\tkzLabelPoints[right,font=\small](A,B,E,S,M) -\end{tikzpicture} + +\begin{center} + \begin{tikzpicture} + \tkzGetNodes + \tkzDrawCircles(A,B M,A) + \tkzDrawPoints(A,B,E,i,j,M,S) + \tkzDrawLines(E,i E,j k,l) + \tkzLabelPoints[right,font=\small](A,B,E,S,M) + \end{tikzpicture} +\end{center} + \end{minipage} % subsection tangent_and_circle (end) @@ -3377,13 +3274,16 @@ z.B = point: new (1,2) z.E = point: new (-3,2) z.C,z.D = z.E : homothety(2,z.A,z.B) \end{tkzelements} -\hspace*{\fill}\begin{tikzpicture} -\tkzGetNodes -\tkzDrawPoints(A,B,C,E,D) -\tkzLabelPoints(A,B,C,E) -\tkzDrawCircles(A,B C,D) -\tkzDrawLines(E,C E,D) -\end{tikzpicture} +\begin{center} + \begin{tikzpicture} + \tkzGetNodes + \tkzDrawPoints(A,B,C,E,D) + \tkzLabelPoints(A,B,C,E) + \tkzDrawCircles(A,B C,D) + \tkzDrawLines(E,C E,D) + \end{tikzpicture} +\end{center} + \end{minipage} % subsection homothety (end) @@ -3436,18 +3336,21 @@ z.b1,z.b2 = get_points (C.OA: tangent_at (z.B)) z.H = L.AB: projection (z.O) \end{tkzelements} -\hspace*{\fill} -\begin{tikzpicture} -\tkzGetNodes -\tkzDrawCircle(O,A) -\tkzDrawPolygon(A,B,C) -\tkzDrawSegments[new](A,O B,O O,H A,D D,B) -\tkzDrawLine(b1,b2) -\tkzDrawPoints(A,B,C,D,H,O) -\tkzFillAngles[green!20,opacity=.3](H,O,B A,C,B A,B,b1) -\tkzFillAngles[teal!20,opacity=.3](A,D,B b2,B,A) -\tkzLabelPoints(A,B,C,D,H,O) -\end{tikzpicture} + +\begin{center} + \begin{tikzpicture} + \tkzGetNodes + \tkzDrawCircle(O,A) + \tkzDrawPolygon(A,B,C) + \tkzDrawSegments[new](A,O B,O O,H A,D D,B) + \tkzDrawLine(b1,b2) + \tkzDrawPoints(A,B,C,D,H,O) + \tkzFillAngles[green!20,opacity=.3](H,O,B A,C,B A,B,b1) + \tkzFillAngles[teal!20,opacity=.3](A,D,B b2,B,A) + \tkzLabelPoints(A,B,C,D,H,O) + \end{tikzpicture} +\end{center} + \end{minipage} % subsection tangent_and_chord (end) @@ -3541,26 +3444,26 @@ z.Cp,_ = intersection (L.GD,C.xD) \end{Verbatim} \end{minipage} \begin{minipage}[t]{.5\textwidth}\vspace{0pt}% -\hspace*{\fill} -\begin{tikzpicture}[scale=.75] -\tkzGetNodes -\tkzDrawCircles(O,B) -\tkzDrawCircles[cyan](P,B) -\tkzDrawCircles[red](w,E) -\tkzDrawCircles[new](x,F) -\tkzDrawSegments(A,G E,G C,G) -\tkzDrawPolygons[new](A,E,C A',E',C') -\tkzDrawPoints(A,...,G,A',E',C',O,P) -\begin{scope}[font=\scriptsize] - \tkzLabelPoints(A,...,F) - \tkzLabelPoints[above left](G,A',E',C') - \tkzLabelCircle[left](O,B)(30){$(\beta)$} - \tkzLabelCircle[below](P,A)(40){$(\gamma)$} - \tkzLabelCircle[right](w,C)(90){$(\alpha)$} - \tkzLabelCircle[left](x,B)(-230){$((\delta))$} -\end{scope} -\end{tikzpicture} -\hspace*{\fill} +\begin{center} + \begin{tikzpicture}[scale=.75] + \tkzGetNodes + \tkzDrawCircles(O,B) + \tkzDrawCircles[cyan](P,B) + \tkzDrawCircles[red](w,E) + \tkzDrawCircles[new](x,F) + \tkzDrawSegments(A,G E,G C,G) + \tkzDrawPolygons[new](A,E,C A',E',C') + \tkzDrawPoints(A,...,G,A',E',C',O,P) + \begin{scope}[font=\scriptsize] + \tkzLabelPoints(A,...,F) + \tkzLabelPoints[above left](G,A',E',C') + \tkzLabelCircle[left](O,B)(30){$(\beta)$} + \tkzLabelCircle[below](P,A)(40){$(\gamma)$} + \tkzLabelCircle[right](w,C)(90){$(\alpha)$} + \tkzLabelCircle[left](x,B)(-230){$((\delta))$} + \end{scope} + \end{tikzpicture} +\end{center} \end{minipage} % subsection three_chords (end) @@ -3620,19 +3523,20 @@ L.TA = C.wE : tangent_at (z.A) L.TC = C.xE : tangent_at (z.C) z.I = intersection (L.TA,L.TC) \end{tkzelements} -\hspace*{\fill} -\begin{tikzpicture} -\tkzGetNodes -\tkzDrawCircles(w,E) -\tkzDrawCircles[cyan](x,E) -\tkzDrawCircles[red](G,A) -\tkzDrawLines(A,I C,I F,I) -\tkzDrawPoints(A,C,E,F) -\tkzLabelPoints[right](A) -\tkzLabelPoints[above right](E,F) -\tkzLabelPoints[below](C) -\end{tikzpicture} -\hspace*{\fill} + +\begin{center} + \begin{tikzpicture} + \tkzGetNodes + \tkzDrawCircles(w,E) + \tkzDrawCircles[cyan](x,E) + \tkzDrawCircles[red](G,A) + \tkzDrawLines(A,I C,I F,I) + \tkzDrawPoints(A,C,E,F) + \tkzLabelPoints[right](A) + \tkzLabelPoints[above right](E,F) + \tkzLabelPoints[below](C) + \end{tikzpicture} +\end{center} \end{minipage} % subsection three_tangents (end) @@ -3665,15 +3569,16 @@ C.AB = circle: new (z.A,z.B) z.C = z.A: rotation (math.pi/3,z.B) z.D = C.AB: midarc (z.B,z.C) \end{tkzelements} -\hspace*{\fill} -\begin{tikzpicture} -\tkzGetNodes -\tkzDrawPoints(A,B,C) -\tkzDrawCircles(A,B) -\tkzDrawPoints(A,...,D) -\tkzLabelPoints(A,...,D) -\end{tikzpicture} -\hspace*{\fill} + +\begin{center} + \begin{tikzpicture} + \tkzGetNodes + \tkzDrawPoints(A,B,C) + \tkzDrawCircles(A,B) + \tkzDrawPoints(A,...,D) + \tkzLabelPoints(A,...,D) + \end{tikzpicture} +\end{center} \end{minipage} % subsection midarc (end) @@ -3738,68 +3643,92 @@ z.Q = intersection (L.tB,L.AC) z.R = intersection (L.tC,L.AB) \end{tkzelements} -\hspace*{\fill} -\begin{tikzpicture} -\tkzGetNodes -\tkzDrawPolygon[teal](A,B,C) -\tkzDrawCircle(O,A) -\tkzDrawPoints(A,B,C,P,Q,R) -\tkzLabelPoints(A,B,C,P,Q,R) -\tkzDrawLine[blue](Q,R) -\tkzDrawLines[red](Ar,Al Br,Q Cr,Cl) -\tkzDrawSegments(A,R C,P C,Q) -\end{tikzpicture} +\begin{center} + \begin{tikzpicture} + \tkzGetNodes + \tkzDrawPolygon[teal](A,B,C) + \tkzDrawCircle(O,A) + \tkzDrawPoints(A,B,C,P,Q,R) + \tkzLabelPoints(A,B,C,P,Q,R) + \tkzDrawLine[blue](Q,R) + \tkzDrawLines[red](Ar,Al Br,Q Cr,Cl) + \tkzDrawSegments(A,R C,P C,Q) + \end{tikzpicture} +\end{center} + \end{minipage} % subsection lemoine_line_without_macro (end) \subsection{First Lemoine circle} % (fold) \label{sub:first_lemoine_circle} +Draw lines through the symmedian point $L$ and parallel to the sides of the triangle. The points where the parallel lines intersect the sides of the triangle then lie on a circle known as the first Lemoine circle. It has center at the Brocard midpoint, i.e., the midpoint of $[OL]$, where $O$ is the circumcenter and $K$ is the symmedian point + +[\href{https://mathworld.wolfram.com/FirstLemoineCircle.html}{Weisstein, Eric W. "First Lemoine Circle." From MathWorld--A Wolfram Web Resource.}] + \begin{minipage}[t]{.5\textwidth}\vspace{0pt}% -\begin{Verbatim} \begin{tkzelements} z.A = point: new (1,1) z.B = point: new (5,1) - z.C = point: new (2,3) - T = triangle: new (z.A,z.B,z.C) - z.O = T.circumcenter - z.o,z.w = get_points (T : first_lemoine_circle ()) + z.C = point: new (2.2,4) + T = triangle: new (z.A,z.B,z.C) + z.O = T.circumcenter + C.first_lemoine = T:first_lemoine_circle() + z.o,z.w = get_points( C.first_lemoine ) + z.y1,z.y2 = intersection (T.ab,C.first_lemoine) + z.y5,z.y6 = intersection (T.bc,C.first_lemoine) + z.y3,z.y4 = intersection (T.ca,C.first_lemoine) z.L = T : lemoine_point () \end{tkzelements} +\begin{center} \begin{tikzpicture} \tkzGetNodes \tkzDrawPolygons(A,B,C) - \tkzDrawPoints(A,B,C,o,w,O,L) - \tkzLabelPoints(A,B,C,o,w,O,L) - \tkzDrawCircles(o,w O,A) + \tkzDrawPoints(A,B,C,o,O,L,y1,y2,y3,y4,y5,y6) + \tkzLabelPoints(A,B,C,o,O,L,y1,y2,y3,y4,y5,y6) + \tkzDrawCircles(o,w) + \tkzDrawLines(y1,y6 y5,y4 y2,y3 O,L) \end{tikzpicture} -\end{Verbatim} +\end{center} \end{minipage} + \begin{minipage}[t]{.5\textwidth}\vspace{0pt}% +\begin{Verbatim} \begin{tkzelements} -z.A = point: new (1,1) -z.B = point: new (5,1) -z.C = point: new (2,3) -T = triangle: new (z.A,z.B,z.C) -z.O = T.circumcenter -z.o,z.w = get_points(T:first_lemoine_circle()) -z.L = T : lemoine_point () + z.A = point: new (1,1) + z.B = point: new (5,1) + z.C = point: new (2.2,4) + T = triangle: new (z.A,z.B,z.C) + z.O = T.circumcenter + C.first_lemoine = T:first_lemoine_circle() + z.o,z.w = get_points( C.first_lemoine ) + z.y1,z.y2 = intersection (T.ab,C.first_lemoine) + z.y5,z.y6 = intersection (T.bc,C.first_lemoine) + z.y3,z.y4 = intersection (T.ca,C.first_lemoine) + z.L = T : lemoine_point () \end{tkzelements} -\hspace*{\fill} -\begin{tikzpicture}[scale = 1.25] -\tkzGetNodes -\tkzDrawPolygons(A,B,C) -\tkzDrawPoints(A,B,C,o,w,O,L) -\tkzLabelPoints(A,B,C,o,w,O,L) -\tkzDrawCircles(o,w O,A) +\begin{tikzpicture} + \tkzGetNodes + \tkzDrawPolygons(A,B,C) + \tkzDrawPoints(A,B,C,o,O,L,y1,y2,y3,y4,y5,y6) + \tkzLabelPoints(A,B,C,o,O,L,y1,y2,y3,y4,y5,y6) + \tkzDrawCircles(o,w) + \tkzDrawLines(y1,y6 y5,y4 y2,y3 O,L) \end{tikzpicture} +\end{Verbatim} \end{minipage} + % subsection first_lemoine_circle (end) \subsection{First and second Lemoine circles} % (fold) \label{sub:first_and_second_lemoine_circles} +Draw antiparallels through the symmedian point $L$. The points where these lines intersect the sides then lie on a circle, known as the cosine circle (or sometimes the second Lemoine circle). Refer to [\ref{sub:antiparallel_through_lemoine_point}] + +[\href{https://mathworld.wolfram.com/CosineCircle.html}{Weisstein, Eric W. "Cosine Circle." From MathWorld--A Wolfram Web Resource.}] + + \begin{Verbatim} \begin{tkzelements} scale = 2 @@ -3863,19 +3792,22 @@ L.y4y5 = line : new (z.y4,z.y5) L.y2y3 = line : new (z.y2,z.y3) \end{tkzelements} -\hspace*{\fill} -\begin{tikzpicture}[scale = .75] -\tkzGetNodes -\tkzDrawPolygons(a,b,c y1,y2,y3,y4,y5,y6) -\tkzDrawPoints(x1,x2,x3,x4,x5,x6,L) -\tkzDrawPoints(a,b,c,o,O,y1,y2,y3,y4,y5,y6) -\tkzLabelPoints[below right](a,b,c,o,O,y1,y2,y3,y4,y5,y6) -\tkzLabelPoints[below left](x1,x2,x3,x4,x5,x6) -\tkzLabelPoints[above](L) -\tkzDrawCircles(L,x o,p O,a) -\tkzDrawSegments(L,O x1,x4 x2,x5 x3,x6) -\end{tikzpicture} -\hspace*{\fill} + +\begin{center} + \begin{tikzpicture}[scale = .75] + \tkzGetNodes + \tkzDrawPolygons(a,b,c y1,y2,y3,y4,y5,y6) + \tkzDrawPoints(x1,x2,x3,x4,x5,x6,L) + \tkzDrawPoints(a,b,c,o,O,y1,y2,y3,y4,y5,y6) + \tkzLabelPoints[below right](a,b,c,o,O,y1,y2,y3,y4,y5,y6) + \tkzLabelPoints[below left](x1,x2,x3,x4,x5,x6) + \tkzLabelPoints[above](L) + \tkzDrawCircles(L,x o,p O,a) + \tkzDrawSegments(L,O x1,x4 x2,x5 x3,x6) + \end{tikzpicture} +\end{center} + + % subsection first_and_second_lemoine_circles (end) \subsection{Inversion} % (fold) @@ -3942,52 +3874,6 @@ z.Cp = C.AC: inversion ( z.B, z.E, z.C ) \end{minipage} % subsection inversion (end) -\subsection{Gergonne point} % (fold) -\label{sub:gergonne_point} - -\begin{minipage}[t]{.5\textwidth}\vspace{0pt}% -\begin{Verbatim} -\begin{tkzelements} -z.a = point: new(1,0) -z.b = point: new(6,2) -z.c = point: new(2,5) -T = triangle : new (z.a,z.b,z.c) -z.g = T : gergonne_point () -z.i = T.incenter -z.ta,z.tb,z.tc = get_points (T : intouch ()) -\end{tkzelements} -\begin{tikzpicture} -\tkzGetNodes -\tkzDrawPolygons(a,b,c) -\tkzDrawPoints(a,b,c,g) -\tkzLabelPoints(a,b,c) -\tkzDrawSegments (a,ta b,tb c,tc) -\tkzDrawCircle(i,ta) -\end{tikzpicture} -\end{Verbatim} -\end{minipage} -\begin{minipage}[t]{.5\textwidth}\vspace{0pt}% -\begin{tkzelements} -z.a = point: new(1,0) -z.b = point: new(6,2) -z.c = point: new(2,5) -T = triangle : new (z.a,z.b,z.c) -z.g = T : gergonne_point () -z.i = T.incenter -z.ta,z.tb,z.tc = get_points (T : intouch ()) -\end{tkzelements} - -\hspace*{\fill} -\begin{tikzpicture} -\tkzGetNodes -\tkzDrawPolygons(a,b,c) -\tkzDrawPoints(a,b,c,g) -\tkzLabelPoints(a,b,c) -\tkzDrawSegments (a,ta b,tb c,tc) -\tkzDrawCircle(i,ta) -\end{tikzpicture} -\end{minipage} -% subsection gergonne_point (end) \subsection{Antiparallel through Lemoine point} % (fold) \label{sub:antiparallel_through_lemoine_point} @@ -4035,16 +3921,18 @@ L.anti = T : antiparallel (z.L,2) z.z_0,z.z_1 = get_points (L.anti) \end{tkzelements} -\hspace*{\fill} -\begin{tikzpicture} -\tkzGetNodes -\tkzDrawPolygons(a,b,c) -\tkzDrawPoints(a,b,c,L,x_0,x_1,y_0,y_1,z_0,z_1) -\tkzLabelPoints(a,b) -\tkzLabelPoints[above](L,c) -\tkzDrawSegments(x_0,x_1 y_0,y_1 z_0,z_1) -\tkzDrawCircle(L,x_0) -\end{tikzpicture} +\begin{center} + \begin{tikzpicture} + \tkzGetNodes + \tkzDrawPolygons(a,b,c) + \tkzDrawPoints(a,b,c,L,x_0,x_1,y_0,y_1,z_0,z_1) + \tkzLabelPoints(a,b) + \tkzLabelPoints[above](L,c) + \tkzDrawSegments(x_0,x_1 y_0,y_1 z_0,z_1) + \tkzDrawCircle(L,x_0) + \end{tikzpicture} +\end{center} + \end{minipage} % subsection antiparallel_through_lemoine_point (end) @@ -4362,7 +4250,8 @@ end \end{minipage} % subsection three_circles (end) -\subsection{pentagons in a golden arbelos} % (fold) +\subsection{p +Pentagons in a golden arbelos} % (fold) \label{sub:golden_arbelos} \begin{tkzelements} @@ -4499,6 +4388,5 @@ z.D_2,z.E_2,z.F_2,z.G_2 = z.M_0 : homothety (kk,z.D_1,z.E_1,z.F_1,z.G_1) \end{tikzpicture} \end{Verbatim} - - -% subsection golden_arbelos (end)
\ No newline at end of file +% subsection golden_arbelos (end) +% section examples (end)
\ No newline at end of file diff --git a/Master/texmf-dist/doc/latex/tkz-elements/TKZdoc-elements-indepthstudy.tex b/Master/texmf-dist/doc/latex/tkz-elements/TKZdoc-elements-indepthstudy.tex index 6f58cbec5c7..140063f9289 100644 --- a/Master/texmf-dist/doc/latex/tkz-elements/TKZdoc-elements-indepthstudy.tex +++ b/Master/texmf-dist/doc/latex/tkz-elements/TKZdoc-elements-indepthstudy.tex @@ -282,7 +282,7 @@ Then |z.B = z.A * za| describes a rotation of point A by an angle |a|. \end{minipage} % subsubsection example_of_complex_use (end) -\subsubsection{Point operations(complex)} % (fold) +\subsubsection{Point operations (complex)} % (fold) \label{ssub:point_operations_complex} \begin{minipage}{.5\textwidth} diff --git a/Master/texmf-dist/doc/latex/tkz-elements/TKZdoc-elements-intersection.tex b/Master/texmf-dist/doc/latex/tkz-elements/TKZdoc-elements-intersection.tex index cc842aba53d..1ba8fd0981c 100644 --- a/Master/texmf-dist/doc/latex/tkz-elements/TKZdoc-elements-intersection.tex +++ b/Master/texmf-dist/doc/latex/tkz-elements/TKZdoc-elements-intersection.tex @@ -61,7 +61,7 @@ end \end{tikzpicture} \end{minipage} -Other examples: \ref{ssub:altshiller}, \ref{ssub:lemoine}, \ref{sub:alternate} +Other examples: \ref{sub:altshiller}, \ref{sub:lemoine}, \ref{sub:alternate} % subsection line_line (end) \newpage @@ -117,7 +117,7 @@ _,z.K = intersection (C.OD,L.AE) \end{tikzpicture} \end{minipage} -Other examples: \ref{ssub:altshiller} +Other examples: \ref{sub:altshiller} % subsection line_circle (end) \newpage @@ -168,7 +168,7 @@ C.DC = circle : new (z.D,z.C) \end{tikzpicture} \end{minipage} -Other examples: \ref{ssub:altshiller}, \ref{sub:the_figure_pappus_circle} +Other examples: \ref{sub:altshiller}, \ref{sub:the_figure_pappus_circle} % subsection circle_circle (end) \newpage diff --git a/Master/texmf-dist/doc/latex/tkz-elements/TKZdoc-elements-main.tex b/Master/texmf-dist/doc/latex/tkz-elements/TKZdoc-elements-main.tex index 55608bb26b0..10998bb7f58 100644 --- a/Master/texmf-dist/doc/latex/tkz-elements/TKZdoc-elements-main.tex +++ b/Master/texmf-dist/doc/latex/tkz-elements/TKZdoc-elements-main.tex @@ -1,6 +1,6 @@ % !TEX TS-program = lualatex % encoding : utf8 -% Documentation of tkz-elements v2.25c +% Documentation of tkz-elements v2.30c % Copyright 2024 Alain Matthes % This work may be distributed and/or modified under the % conditions of the LaTeX Project Public License, either version 1.3 @@ -21,10 +21,10 @@ headings = small ]{tkz-doc} \gdef\tkznameofpack{tkz-elements} -\gdef\tkzversionofpack{2.25c} +\gdef\tkzversionofpack{2.30c} \gdef\tkzdateofpack{\today} \gdef\tkznameofdoc{tkz-elements.pdf} -\gdef\tkzversionofdoc{2.25c} +\gdef\tkzversionofdoc{2.30c} \gdef\tkzdateofdoc{\today} \gdef\tkzauthorofpack{Alain Matthes} \gdef\tkzadressofauthor{} @@ -170,10 +170,8 @@ sharp corners \AtBeginDocument{\MakeShortVerb{\|}} % link to shortvrb - - \begin{document} -\LuaCodeDebugOn +%\LuaCodeDebugOn \parindent=0pt \tkzTitleFrame{tkz-elements \tkzversionofpack\\Euclidean Geometry} diff --git a/Master/texmf-dist/doc/latex/tkz-elements/tkz-elements.pdf b/Master/texmf-dist/doc/latex/tkz-elements/tkz-elements.pdf Binary files differindex d42a3a109b8..edb5864f4fb 100644 --- a/Master/texmf-dist/doc/latex/tkz-elements/tkz-elements.pdf +++ b/Master/texmf-dist/doc/latex/tkz-elements/tkz-elements.pdf diff --git a/Master/texmf-dist/doc/latex/tkz-grapheur/tkz-grapheur-doc-en.pdf b/Master/texmf-dist/doc/latex/tkz-grapheur/tkz-grapheur-doc-en.pdf Binary files differindex 6ef7f594765..029671719e9 100644 --- a/Master/texmf-dist/doc/latex/tkz-grapheur/tkz-grapheur-doc-en.pdf +++ b/Master/texmf-dist/doc/latex/tkz-grapheur/tkz-grapheur-doc-en.pdf diff --git a/Master/texmf-dist/doc/latex/tkz-grapheur/tkz-grapheur-doc-en.tex b/Master/texmf-dist/doc/latex/tkz-grapheur/tkz-grapheur-doc-en.tex index 88e9abb16a7..d89c17bff4b 100644 --- a/Master/texmf-dist/doc/latex/tkz-grapheur/tkz-grapheur-doc-en.tex +++ b/Master/texmf-dist/doc/latex/tkz-grapheur/tkz-grapheur-doc-en.tex @@ -29,8 +29,8 @@ \hypersetup{pdfborder=0 0 0} \usepackage[margin=2cm]{geometry} \setlength{\parindent}{0pt} -\def\TPversion{0.1.5} -\def\TPdate{22/06/2024} +\def\TPversion{0.1.6} +\def\TPdate{13/07/2024} \usepackage{soul} \usepackage{codehigh} \usepackage{tabularray} @@ -532,7 +532,7 @@ The mandatory arguments correspond to the x-coordinates (in \TikZ\ language) and \subsection{Draw a line}\label{tracstraight} -The idea is to propose a command to draw a line, from: +The idea is to propose a command to draw a line (or an asymptote), from: \begin{itemize} \item of two points (or nodes); @@ -542,6 +542,7 @@ The idea is to propose a command to draw a line, from: \begin{tcblisting}{listing engine=minted,minted language=latex,colframe=lightgray,colback=lightgray!5,listing only} %in the GraphiqueTikz environment \DrawLine[keys]{point or node}{point or node or slope} +\DrawAsymptote[keys]{x value} \end{tcblisting} The optional \MontreCode{[keys]} available are: @@ -564,6 +565,7 @@ The optional \MontreCode{[keys]} available are: \DrawLine[Color=red]{(-2,-1)}{(2,4)} \DrawLine[Color=blue,Start=-5,End=3]{(A)}{(B)} \DrawLine[Color=olive,Slope]{(C)}{0.25} + \DrawAsymptote[Color=brown]{-6} \end{GraphTikz} \end{tcblisting} @@ -1396,7 +1398,7 @@ The last mandatory argument is the work point (abscissa version or node followin \section{Commands specific to two-variable statistics} -\subsection{The point cloud}\label{scatter} +\subsection{The point scatter}\label{scatter} In addition to commands linked to functions, it is also possible to represent double statistical series. @@ -1490,7 +1492,7 @@ In partnership with the \MontreCode{xint-regression} package, loaded by the pack The command, similar to that of defining a curve, is: \begin{tcblisting}{listing engine=minted,minted language=latex,colframe=lightgray,colback=lightgray!5,listing only} -\DrawRegression[keys]<no fct>{type}<rounded>{listex}{listey} +\DrawRegression[keys]<name fct>{type}<rounded>{listex}{listey} \end{tcblisting} The \MontreCode{[keys]} available are, classically: @@ -1651,53 +1653,30 @@ $\begin{cases} \gamma \approx \RoundNb[0]{\Cgamma} \end{cases}$. \end{tcblisting} -% -%\newpage -% -%\section{Liste des commandes} -% -%Les commandes disponibles sont : -% -%\NewDocumentCommand\lstcmd{ m m m }{% -% \item[\texttt{#1}] : \mintinline{latex}|#2|\hfill{}page \pageref{#3} -%} -% -%\begin{description} -% \lstcmd{environnement~~}{\begin{GraphiqueTikz}...\end{GraphiqueTikz}}{creaenvt} -% \lstcmd{axes et grilles}{\TracerAxesGrille}{creaaxesgr} -% \lstcmd{aj val axes X~~}{\RajouterValeursAxeX}{ajoutvals} -% \lstcmd{aj val axes Y~~}{\RajouterValeursAxeY}{ajoutvals} -% \lstcmd{def fonction~~~}{\DefineCurve}{deftracfct} -% \lstcmd{tracé courbe~~~}{\DrawCurve}{deftracfct} -% \lstcmd{def interpo~~~~}{\DefineCurveInterpo}{deftracinterpo} -% \lstcmd{tracé interpo~~}{\DrawCurveInterpo}{deftracinterpo} -% \lstcmd{def spline~~~~~}{\DefineSplineCurve}{deftracfctspline} -% \lstcmd{tracé spline~~~}{\DrawSplineCurve}{deftracfctspline} -% \lstcmd{tracé droite~~~}{\TracerDroite}{tracdroite} -% \lstcmd{def points~~~~~}{\DefinirPts}{defpts} -% \lstcmd{def image~~~~~~}{\DefinirImage}{defpts} -% \lstcmd{marq pts~~~~~~~}{\MarquerPts}{markpts} -% \lstcmd{placer txt~~~~~}{\PlacerTexte}{placetxt} -% \lstcmd{récup absc~~~~~}{\RecupererAbscisse}{recupcoordo} -% \lstcmd{récup ordo~~~~~}{\RecupererOrdonnee}{recupcoordo} -% \lstcmd{récup coordos~~}{\RecupererCoordonnees}{recupcoordo} -% \lstcmd{images~~~~~~~~~}{\PlacerImages}{images} -% \lstcmd{antécédents~~~~}{\TrouverAntecedents}{defanteced} -% \lstcmd{antécédents~~~~}{\PlacerAntecedents}{tracanteced} -% \lstcmd{intersection~~~}{\TrouverIntersections}{intersect} -% \lstcmd{maximum~~~~~~~~}{\TrouverMaximum}{maximum} -% \lstcmd{minimum~~~~~~~~}{\TrouverMinimum}{minimum} -% \lstcmd{intégrale~~~~~~}{\DrawIntegral}{integr} -% \lstcmd{tangente~~~~~~~}{\DrawTangente}{tgte} -% \lstcmd{loi normale~~~~}{\DefinirLoiNormale}{loinormale} -% \lstcmd{loi normale~~~~}{\TracerLoiNormale}{loinormale} -% \lstcmd{loi khideux~~~~}{\DefinirLoiKhiDeux}{loikhideux} -% \lstcmd{loi khideux~~~~}{\TracerLoiKhiDeux}{loikhideux} -% \lstcmd{stats 2 var~~~~}{\TracerNuage}{nuage} -% \lstcmd{regressions~~~~}{\TracerAjustement}{regressions} -% \lstcmd{arrondi~~~~~~~~}{\RoundNb}{numarrond} -% \lstcmd{nb aléat~~~~~~~}{\ChoisirNbAlea}{nbalea} -%\end{description} + +\subsection{Monte-Carle method} + +\begin{tcblisting}{listing engine=minted,minted language=latex,colframe=lightgray,colback=lightgray!5,listing only} +%in the GraphiqueTikz environment +\SimulateMonteCarlo[keys]<function>}{number of points}[\nbptsmcok][\nbptsmcko] +\end{tcblisting} + +\begin{tcblisting}{listing engine=minted,minted language=latex,colframe=lightgray,colback=lightgray!5} +\begin{GraphTikz}% + [x=10cm,y=10cm,Xmin=0,Xmax=1,Xgrid=0.1,Xgrids=0.05, + Ymin=0,Ymax=1,Ygrid=0.1,Ygrids=0.05] + \DrawAxisGrids[Enlarge=2.5mm,Last]{auto}{auto} + \DefineCurve[Trace,Color=teal,Step=0.001]<f>{sqrt(1-x^2)} + \SimulateMonteCarlo<f>{5000} +\end{GraphTikz} + +There is \textcolor{blue}{\num{\nbptsmcok}} blue points, +there is \textcolor{red}{\num{\nbptsmcko}} red points. + +And $\frac{\num{\nbptsmcok}}{\num{\nbptsmc}} +\approx \RoundNb[4]{\nbptsmcok/\nbptsmc}$ +et $\frac{\pi}{4} \approx \RoundNb[4]{pi/4}$. +\end{tcblisting} \pagebreak @@ -1705,6 +1684,7 @@ $\begin{cases} \begin{quote} \begin{verbatim} +0.1.6 : Vertical asymptote + [in french doc] commands for integrals 0.1.5 : Initial version [en] \end{verbatim} \end{quote} diff --git a/Master/texmf-dist/doc/latex/tkz-grapheur/tkz-grapheur-doc-fr.pdf b/Master/texmf-dist/doc/latex/tkz-grapheur/tkz-grapheur-doc-fr.pdf Binary files differindex c53d69179c3..ba330fa444a 100644 --- a/Master/texmf-dist/doc/latex/tkz-grapheur/tkz-grapheur-doc-fr.pdf +++ b/Master/texmf-dist/doc/latex/tkz-grapheur/tkz-grapheur-doc-fr.pdf diff --git a/Master/texmf-dist/doc/latex/tkz-grapheur/tkz-grapheur-doc-fr.tex b/Master/texmf-dist/doc/latex/tkz-grapheur/tkz-grapheur-doc-fr.tex index 9ea6b13200e..99d8414cd0f 100644 --- a/Master/texmf-dist/doc/latex/tkz-grapheur/tkz-grapheur-doc-fr.tex +++ b/Master/texmf-dist/doc/latex/tkz-grapheur/tkz-grapheur-doc-fr.tex @@ -29,8 +29,8 @@ \hypersetup{pdfborder=0 0 0} \usepackage[margin=2cm]{geometry} \setlength{\parindent}{0pt} -\def\TPversion{0.1.5} -\def\TPdate{22/06/2024} +\def\TPversion{0.1.6} +\def\TPdate{13/07/2024} \usepackage{soul} \usepackage{codehigh} \usepackage{tabularray} @@ -39,7 +39,7 @@ \hl{\vphantom{\texttt{pf}}\texttt{#1}}% } \usepackage[french]{babel} - +\sisetup{group-minimum-digits=4} \renewcommand{\footnoterule}{\vfill\kern -3pt \hrule width 0.4\columnwidth \kern 2.6pt} \begin{document} @@ -209,7 +209,8 @@ Il sera ensuite possible : \item de tracer des courbes ; \item de déterminer graphiquement des images ou des antécédents ; \item de rajouter des éléments de dérivation (tangentes) ou d'intégration (domaine) ; - \item de tracer une droite d'ajustement linéaire ou la courbe d'un autre ajustement. + \item de tracer une droite d'ajustement linéaire ou la courbe d'un autre ajustement ; + \item \dots \end{itemize} \subsection{Packages utilisés, et options du package} @@ -332,10 +333,11 @@ Concernant les styles des \textit{objets}, ils sont donnés ci-dessous. \tikzset{pflgrilles/.style={very thin,lightgray}} \tikzset{pflaxes/.style={line width=0.8pt,->,>=latex}} -%style des points (courbe / nuage /labels) +%style des points (courbe / nuage /labels /montecarlo) \tikzset{pflpoint/.style={line width=0.95pt}} \tikzset{pflpointc/.style={radius=1.75pt}} \tikzset{pflpointnuage/.style={radius=1.75pt}} +\tikzset{pflpointmc/.style={radius=0.875pt}} \tikzset{pflnoeud/.style={}} %pour les inner sep par exemple :-) %style des courbes @@ -544,9 +546,12 @@ L'idée est de proposer une commande pour tracer une droite, à partir : \item d'un point (ou nœud) et de la pente. \end{itemize} +Il existe également une commande pour une asymptote verticale. + \begin{tcblisting}{listing engine=minted,minted language=latex,colframe=lightgray,colback=lightgray!5,listing only} %dans l'environnement GraphiqueTikz \TracerDroite[clés]{point ou nœud}{point ou noeud ou pente} +\TracerAsymptote[clés]{abscisse} \end{tcblisting} Les \MontreCode{[clés]}, optionnelles, disponibles sont : @@ -569,6 +574,7 @@ Les \MontreCode{[clés]}, optionnelles, disponibles sont : \TracerDroite[Couleur=red]{(-2,-1)}{(2,4)} \TracerDroite[Couleur=blue,Debut=-5,Fin=3]{(A)}{(B)} \TracerDroite[Couleur=olive,Pente]{(C)}{0.25} + \TracerAsymptote[Couleur=brown]{-6} \end{GraphiqueTikz} \end{tcblisting} @@ -1415,6 +1421,132 @@ Les \MontreCode{[clés]}, optionnelles, disponibles sont : \pagebreak +\section{Commandes spécifiques des méthodes intégrales} + +\subsection{Méthodes géométriques}\label{methodesintergrales} + +L'idée est de proposer plusieurs méthodes graphiques pour illustrer graphiquement une intégrale, via : + +\begin{itemize} + \item une méthode des rectangles (Gauche, Droite ou Milieu) ; + \item la méthode des trapèzes. +\end{itemize} + +\begin{tcblisting}{listing engine=minted,minted language=latex,colframe=lightgray,colback=lightgray!5,listing only} +%dans l'environnement GraphiqueTikz +\RepresenterMethodeIntegrale[clés]<fonction>{a}{b} +\end{tcblisting} + +Les \MontreCode{Clés} disponibles sont : + +\begin{itemize} + \item \MontreCode{Couleur} : couleur des tracés, \MontreCode{red} par défaut ; + \item \MontreCode{NbSubDiv} : nombre de subdivisions, \MontreCode{10} par défaut ; + \item \MontreCode{Methode} : méthode géométrique utilisée, parmi parmi \MontreCode{RectanglesGauche / RectanglesDroite / RectanglesMilieu / Trapezes} pour spécifier la méthode utilisée, \MontreCode{RectanglesGauche} par défaut ; + \item \MontreCode{Remplir} : booléen, \MontreCode{true} par défaut, pour remplir les éléments graphiques ; + \item \MontreCode{CouleurRemplissage} : couleur de remplissage, définie par rapport à la couleur principale par défaut ; + \item \MontreCode{Opacite} : opacité, \MontreCode{0.25} par défaut, du remplissage. +\end{itemize} + +\smallskip + +Le deuxième argument, optionnel et entre \MontreCode{<...>}, correspond à la fonction \textbf{précédemment définie} ! + +\smallskip + +Les deux derniers arguments, obligatoires, correspondent aux bornes de l'intégrale. + +\begin{tcblisting}{listing engine=minted,minted language=latex,colframe=lightgray,colback=lightgray!5} +\begin{GraphiqueTikz} + [x=0.66cm,y=0.033cm,Xmin=0,Xmax=21,Xgrille=2,Xgrilles=1, + Ymin=0,Ymax=160,Ygrille=20,Ygrilles=10] + \TracerAxesGrilles[Elargir=2.5mm]{auto}{auto} + \DefinirCourbe[Couleur=red,Nom=cf,Debut=1,Fin=20,Trace]<f>{80*x*exp(-0.2*x)} + \RepresenterMethodeIntegrale[Couleur=teal]<f>{5}{15} +\end{GraphiqueTikz} +\end{tcblisting} + +\begin{tcblisting}{listing engine=minted,minted language=latex,colframe=lightgray,colback=lightgray!5} +\begin{GraphiqueTikz} + [x=0.66cm,y=0.033cm,Xmin=0,Xmax=21,Xgrille=2,Xgrilles=1, + Ymin=0,Ymax=160,Ygrille=20,Ygrilles=10] + \TracerAxesGrilles[Elargir=2.5mm]{auto}{auto} + \DefinirCourbe[Couleur=red,Nom=cf,Debut=1,Fin=20,Trace]<f>{80*x*exp(-0.2*x)} + \RepresenterMethodeIntegrale + [Methode=RectanglesDroite,Couleur=orange,NbSubDiv=7]<f>{1}{10} +\end{GraphiqueTikz} +\end{tcblisting} + +\begin{tcblisting}{listing engine=minted,minted language=latex,colframe=lightgray,colback=lightgray!5} +\begin{GraphiqueTikz} + [x=0.66cm,y=0.033cm,Xmin=0,Xmax=21,Xgrille=2,Xgrilles=1, + Ymin=0,Ymax=160,Ygrille=20,Ygrilles=10] + \TracerAxesGrilles[Elargir=2.5mm]{auto}{auto} + \DefinirCourbe[Couleur=red,Nom=cf,Debut=1,Fin=20,Trace]<f>{80*x*exp(-0.2*x)} + \RepresenterMethodeIntegrale + [Methode=RectanglesMilieu,Couleur=yellow,NbSubDiv=25]<f>{1}{20} +\end{GraphiqueTikz} +\end{tcblisting} + +\begin{tcblisting}{listing engine=minted,minted language=latex,colframe=lightgray,colback=lightgray!5} +\begin{GraphiqueTikz} + [x=0.66cm,y=0.033cm,Xmin=0,Xmax=21,Xgrille=2,Xgrilles=1, + Ymin=0,Ymax=160,Ygrille=20,Ygrilles=10] + \TracerAxesGrilles[Elargir=2.5mm]{auto}{auto} + \DefinirCourbe[Couleur=red,Nom=cf,Debut=1,Fin=20,Trace]<f>{80*x*exp(-0.2*x)} + \RepresenterMethodeIntegrale + [Methode=Trapezes,Couleur=pink,Remplir=false]<f>{1}{20} +\end{GraphiqueTikz} +\end{tcblisting} + +\subsection{Méthode de Monte-Carlo}\label{montecarlo} + +L'idée est de proposer une commande pour simuler un calcul intégral via la méthode de Monte-Carlo. + +Le code se charge de simuler les \textit{tirages}, et les résultats peuvent être stockés dans des macros. + +\begin{tcblisting}{listing engine=minted,minted language=latex,colframe=lightgray,colback=lightgray!5,listing only} +%dans l'environnement GraphiqueTikz +\SimulerMonteCarlo[clés]<fonction>{nb essais}[\nbptsmcok][\nbptsmcko] +\end{tcblisting} + +Les \MontreCode{Clés} disponibles sont : + +\begin{itemize} + \item \MontreCode{Couleurs} : couleurs des points, \MontreCode{blue/red} par défaut ; + \item \MontreCode{BornesX} : bornes \textit{horizontales} pour la simulation, valant \MontreCode{\textbackslash pflxmin,\textbackslash pflxmax} par défaut ; + \item \MontreCode{BornesY} : bornes \textit{verticales} pour la simulation, valant \MontreCode{\textbackslash pflymin,\textbackslash pflymax} par défaut. +\end{itemize} + +Le deuxième argument, optionnel et entre \MontreCode{<...>}, est la fonction \textbf{précédemment définie} à utiliser. + +\smallskip + +Les deux derniers arguments, optionnels et entre \MontreCode{[...]}, sont les macros dans lesquelles sont stockées les résultats de la simulation. Ces macros sont \MontreCode{\textbackslash nbptsmcok} et \MontreCode{\textbackslash nbptsmcko} par défaut. + +À noter que la macro \MontreCode{\textbackslash nbptsmc} permet de récupérer le nombre de points utilisés. + +\begin{tcblisting}{listing engine=minted,minted language=latex,colframe=lightgray,colback=lightgray!5} +%avec \sisetup{group-minimum-digits=4} pour le formatage des "milliers" + +\begin{GraphiqueTikz}% + [x=10cm,y=10cm,Xmin=0,Xmax=1,Xgrille=0.1,Xgrilles=0.05, + Ymin=0,Ymax=1,Ygrille=0.1,Ygrilles=0.05] + \TracerAxesGrilles[Elargir=2.5mm,Dernier]{auto}{auto} + \DefinirCourbe[Trace,Couleur=teal,Pas=0.001]<f>{sqrt(1-x^2)} + \SimulerMonteCarlo<f>{5000} +\end{GraphiqueTikz} + +Le nombre de points bleus est de \textcolor{blue}{\num{\nbptsmcok}}, +le nombre de points rouges est de \textcolor{red}{\num{\nbptsmcko}}. + +La proportion de points bleus est de $\frac{\num{\nbptsmcok}}{\num{\nbptsmc}} +\approx \ArrondirNum[4]{\nbptsmcok/\nbptsmc}$ +et $\frac{\pi}{4} \approx \ArrondirNum[4]{pi/4}$. +\end{tcblisting} + +\pagebreak + \section{Commandes spécifiques des statistiques à deux variables} \subsection{Le nuage de points}\label{nuage} @@ -1767,6 +1899,7 @@ Les commandes disponibles sont : \lstcmd{def spline~~~~~}{\DefinirCourbeSpline}{deftracfctspline} \lstcmd{tracé spline~~~}{\TracerCourbeSpline}{deftracfctspline} \lstcmd{tracé droite~~~}{\TracerDroite}{tracdroite} + \lstcmd{asymptote vert~}{\TracerAsymptote}{tracdroite} \lstcmd{def points~~~~~}{\DefinirPts}{defpts} \lstcmd{def image~~~~~~}{\DefinirImage}{defpts} \lstcmd{marq pts~~~~~~~}{\MarquerPts}{markpts} @@ -1781,6 +1914,8 @@ Les commandes disponibles sont : \lstcmd{maximum~~~~~~~~}{\TrouverMaximum}{maximum} \lstcmd{minimum~~~~~~~~}{\TrouverMinimum}{minimum} \lstcmd{intégrale~~~~~~}{\TracerIntegrale}{integr} + \lstcmd{méthodes int~~~}{\RepresenterMethodeIntegrale}{methodesintergrales} + \lstcmd{Monte-Carlo~~~~}{\SimulerMonteCarlo}{montecarlo} \lstcmd{tangente~~~~~~~}{\TracerTangente}{tgte} \lstcmd{loi normale~~~~}{\DefinirLoiNormale}{loinormale} \lstcmd{loi normale~~~~}{\TracerLoiNormale}{loinormale} @@ -1798,6 +1933,7 @@ Les commandes disponibles sont : \begin{quote} \begin{verbatim} +0.1.6 : Asymptote verticale + Méthodes intégrales (géom + Monte Carlo) 0.1.5 : Correction d'un bug sur les rajouts de valeurs + Nœud pour une image + [en] version ! 0.1.4 : Placement de texte 0.1.3 : Ajout de régressions avec le package xint-regression diff --git a/Master/texmf-dist/doc/latex/tramlines/README b/Master/texmf-dist/doc/latex/tramlines/README index b252d9323ac..0dcd98c4a0d 100644 --- a/Master/texmf-dist/doc/latex/tramlines/README +++ b/Master/texmf-dist/doc/latex/tramlines/README @@ -1,6 +1,6 @@ tramlines - make tramlines -version: 1.1.0 +version: 1.1.1 This package automatically creates tramlines (lines above and below a title used by lawyers in the UK and the Commonwealth). @@ -12,6 +12,9 @@ For suggestions, feature requests, and bug reports, please use the project's GitHub site: https://github.com/ezgranet/tramlines Version history: +18/07/2024: Change erroneous left alignment to centre alignment + + 29/01/2023: Updates to float composition and fixed bug with global commands. Thanks to GitHub user niruvt diff --git a/Master/texmf-dist/doc/latex/tramlines/tramlines-documentation.pdf b/Master/texmf-dist/doc/latex/tramlines/tramlines-documentation.pdf Binary files differindex e9d9c9d6d9e..1ccb2be9655 100644 --- a/Master/texmf-dist/doc/latex/tramlines/tramlines-documentation.pdf +++ b/Master/texmf-dist/doc/latex/tramlines/tramlines-documentation.pdf diff --git a/Master/texmf-dist/doc/latex/tramlines/tramlines-documentation.tex b/Master/texmf-dist/doc/latex/tramlines/tramlines-documentation.tex index f39e7ba70cc..ba560093467 100644 --- a/Master/texmf-dist/doc/latex/tramlines/tramlines-documentation.tex +++ b/Master/texmf-dist/doc/latex/tramlines/tramlines-documentation.tex @@ -74,9 +74,9 @@ breaklines, firstnumber=last ] {latex} -\def\tramlinesversionnumber{1.1.0} +\def\tramlinesversionnumber{1.1.1} \ProvidesPackage{tramlines} -[2023/01/29\tramlinesversionnumber\ +[2024/07/18\tramlinesversionnumber\ Tramlines] % This work may be distributed and/or modified under the % conditions of the LaTeX Project Public License, either version 1.3c @@ -112,7 +112,7 @@ firstnumber=last \centering {%notglobal \setlength\doublerulesep{\tramlinesep}% <-- set distance between double rule -\begin{tabular}[t]{l c c } +\begin{tabular}[t]{c c c } \toprule\toprule & #1 & \\ \bottomrule\bottomrule @@ -129,8 +129,19 @@ firstnumber=last %%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%\end{minted} +\section{Version History} +\subsection*{\ttfamily 1.1.1} +\ttfamily 18 July 2024: Change erroneous left alignment to centre alignment +\subsection*{\ttfamily 1.1.0} + +\ttfamily 29 October 2023: Updates to float composition and fixed bug with global commands. Thanks to GitHub user `niruvt' + +\ttfamily 29/01/2023: Updates to float composition and fixed bug with global commands. Thanks to GitHub user niruvt + + \subsection*{\texttt{1.0.0}} + \ttfamily 27 January 2023: Package creation diff --git a/Master/texmf-dist/doc/latex/tuda-ci/DEMO-TUDaAnnouncement.pdf b/Master/texmf-dist/doc/latex/tuda-ci/DEMO-TUDaAnnouncement.pdf Binary files differindex 28ceb95d743..94fb8c1ba06 100644 --- a/Master/texmf-dist/doc/latex/tuda-ci/DEMO-TUDaAnnouncement.pdf +++ b/Master/texmf-dist/doc/latex/tuda-ci/DEMO-TUDaAnnouncement.pdf diff --git a/Master/texmf-dist/doc/latex/tuda-ci/DEMO-TUDaAnnouncement.tex b/Master/texmf-dist/doc/latex/tuda-ci/DEMO-TUDaAnnouncement.tex index 8e39f520414..3b108d83e30 100644 --- a/Master/texmf-dist/doc/latex/tuda-ci/DEMO-TUDaAnnouncement.tex +++ b/Master/texmf-dist/doc/latex/tuda-ci/DEMO-TUDaAnnouncement.tex @@ -1,4 +1,4 @@ -%% This is file `DEMO-TUDaAnnouncement-de.tex' version 3.39 (2024-06-27), +%% This is file `DEMO-TUDaAnnouncement-de.tex' version 3.41 (2024-07-02), %% it is part of %% TUDa-CI -- Corporate Design for TU Darmstadt %% ---------------------------------------------------------------------------- @@ -34,14 +34,14 @@ \documentclass[ paper=a4, - ngerman, + german, color=black!20, footer=true, type=announcement, % logofile=example-image, %Falls die Logo Dateien nicht vorliegen ]{tudaposter} -\usepackage[english, main=ngerman]{babel} +\usepackage[english, main=german]{babel} \usepackage[autostyle]{csquotes} diff --git a/Master/texmf-dist/doc/latex/tuda-ci/DEMO-TUDaBeamer.pdf b/Master/texmf-dist/doc/latex/tuda-ci/DEMO-TUDaBeamer.pdf Binary files differindex b7d11f2aa44..46572dc5484 100644 --- a/Master/texmf-dist/doc/latex/tuda-ci/DEMO-TUDaBeamer.pdf +++ b/Master/texmf-dist/doc/latex/tuda-ci/DEMO-TUDaBeamer.pdf diff --git a/Master/texmf-dist/doc/latex/tuda-ci/DEMO-TUDaBeamer.tex b/Master/texmf-dist/doc/latex/tuda-ci/DEMO-TUDaBeamer.tex index 92f63543ce5..be652d469a3 100644 --- a/Master/texmf-dist/doc/latex/tuda-ci/DEMO-TUDaBeamer.tex +++ b/Master/texmf-dist/doc/latex/tuda-ci/DEMO-TUDaBeamer.tex @@ -1,4 +1,4 @@ -%% This is file `DEMO-TUDaBeamer-de.tex' version 3.39 (2024-06-27), +%% This is file `DEMO-TUDaBeamer-de.tex' version 3.41 (2024-07-02), %% it is part of %% TUDa-CI -- Corporate Design for TU Darmstadt %% ---------------------------------------------------------------------------- @@ -32,15 +32,15 @@ % !TeX program = lualatex %% \documentclass[ - ngerman,%g'Globale Übergabe der Hauptsprache - aspectratio=169,%Beamer Option zum Umschalten des Formates + german,% Globale Übergabe der Hauptsprache + aspectratio=169,% Beamer Option zum Umschalten des Formates accentcolor=2d,% Akzentfarbe logo=false,% Kein Logo auf Folgeseiten - colorframetitle=true,%Akzentfarbe auch im Frametitle -% logofile=example-image, %Falls die Logo Dateien nicht vorliegen - design=2008, %to activate the old design + colorframetitle=true,% Akzentfarbe auch im Frametitle +% logofile=example-image, % Falls die Logo Dateien nicht vorliegen + design=2008, %Um das alte Design zu aktivieren ]{tudabeamer} -\usepackage[main=ngerman]{babel} +\usepackage[main=german]{babel} % Der folgende Block ist nur bei pdfTeX auf Versionen vor April 2018 notwendig: \usepackage{iftex} diff --git a/Master/texmf-dist/doc/latex/tuda-ci/DEMO-TUDaBeamer2023.pdf b/Master/texmf-dist/doc/latex/tuda-ci/DEMO-TUDaBeamer2023.pdf Binary files differindex d2e2f117942..dba6a9b3925 100644 --- a/Master/texmf-dist/doc/latex/tuda-ci/DEMO-TUDaBeamer2023.pdf +++ b/Master/texmf-dist/doc/latex/tuda-ci/DEMO-TUDaBeamer2023.pdf diff --git a/Master/texmf-dist/doc/latex/tuda-ci/DEMO-TUDaBeamer2023.tex b/Master/texmf-dist/doc/latex/tuda-ci/DEMO-TUDaBeamer2023.tex index fb02f96b8ed..3e6e4357546 100644 --- a/Master/texmf-dist/doc/latex/tuda-ci/DEMO-TUDaBeamer2023.tex +++ b/Master/texmf-dist/doc/latex/tuda-ci/DEMO-TUDaBeamer2023.tex @@ -1,4 +1,4 @@ -%% This is file `DEMO-TUDaBeamer2023.tex' version 3.39 (2024-06-27), +%% This is file `DEMO-TUDaBeamer2023.tex' version 3.41 (2024-07-02), %% it is part of %% TUDa-CI -- Corporate Design for TU Darmstadt %% ---------------------------------------------------------------------------- diff --git a/Master/texmf-dist/doc/latex/tuda-ci/DEMO-TUDaBibliography.bib b/Master/texmf-dist/doc/latex/tuda-ci/DEMO-TUDaBibliography.bib index 154a6a80fa0..8b1022904ae 100644 --- a/Master/texmf-dist/doc/latex/tuda-ci/DEMO-TUDaBibliography.bib +++ b/Master/texmf-dist/doc/latex/tuda-ci/DEMO-TUDaBibliography.bib @@ -1,4 +1,4 @@ -%% This is file `DEMO-TUDaBibliography.bib' version 3.39 (2024-06-27), +%% This is file `DEMO-TUDaBibliography.bib' version 3.41 (2024-07-02), %% it is part of %% TUDa-CI -- Corporate Design for TU Darmstadt %% ---------------------------------------------------------------------------- diff --git a/Master/texmf-dist/doc/latex/tuda-ci/DEMO-TUDaExercise.pdf b/Master/texmf-dist/doc/latex/tuda-ci/DEMO-TUDaExercise.pdf Binary files differindex 50716c5dad5..73187728927 100644 --- a/Master/texmf-dist/doc/latex/tuda-ci/DEMO-TUDaExercise.pdf +++ b/Master/texmf-dist/doc/latex/tuda-ci/DEMO-TUDaExercise.pdf diff --git a/Master/texmf-dist/doc/latex/tuda-ci/DEMO-TUDaExercise.tex b/Master/texmf-dist/doc/latex/tuda-ci/DEMO-TUDaExercise.tex index d4a84ee8079..7b39c7fc3f7 100644 --- a/Master/texmf-dist/doc/latex/tuda-ci/DEMO-TUDaExercise.tex +++ b/Master/texmf-dist/doc/latex/tuda-ci/DEMO-TUDaExercise.tex @@ -1,4 +1,4 @@ -%% This is file `DEMO-TUDaExercise-de.tex' version 3.39 (2024-06-27), +%% This is file `DEMO-TUDaExercise-de.tex' version 3.41 (2024-07-02), %% it is part of %% TUDa-CI -- Corporate Design for TU Darmstadt %% ---------------------------------------------------------------------------- @@ -33,11 +33,11 @@ %% \documentclass[ - ngerman, + german, points=true,% für die Aktivierung der Punktereferenzen funktioniert nicht für TeX Versionen vor 2020 ]{tudaexercise} -\usepackage[english, main=ngerman]{babel} +\usepackage[english, main=german]{babel} \usepackage[autostyle]{csquotes} \usepackage{biblatex} diff --git a/Master/texmf-dist/doc/latex/tuda-ci/DEMO-TUDaFromaddress.lco b/Master/texmf-dist/doc/latex/tuda-ci/DEMO-TUDaFromaddress.lco index 43d28f5cf72..3711a5c75a0 100644 --- a/Master/texmf-dist/doc/latex/tuda-ci/DEMO-TUDaFromaddress.lco +++ b/Master/texmf-dist/doc/latex/tuda-ci/DEMO-TUDaFromaddress.lco @@ -1,4 +1,4 @@ -%% This is file `DEMO-TUDaFromaddress.lco' version 3.39 (2024-06-27), +%% This is file `DEMO-TUDaFromaddress.lco' version 3.41 (2024-07-02), %% it is part of %% TUDa-CI -- Corporate Design for TU Darmstadt %% ---------------------------------------------------------------------------- diff --git a/Master/texmf-dist/doc/latex/tuda-ci/DEMO-TUDaLeaflet.pdf b/Master/texmf-dist/doc/latex/tuda-ci/DEMO-TUDaLeaflet.pdf Binary files differindex 5bf13522ef3..1eff1dfc4c5 100644 --- a/Master/texmf-dist/doc/latex/tuda-ci/DEMO-TUDaLeaflet.pdf +++ b/Master/texmf-dist/doc/latex/tuda-ci/DEMO-TUDaLeaflet.pdf diff --git a/Master/texmf-dist/doc/latex/tuda-ci/DEMO-TUDaLeaflet.tex b/Master/texmf-dist/doc/latex/tuda-ci/DEMO-TUDaLeaflet.tex index 453d4250a8f..2303aa23aec 100644 --- a/Master/texmf-dist/doc/latex/tuda-ci/DEMO-TUDaLeaflet.tex +++ b/Master/texmf-dist/doc/latex/tuda-ci/DEMO-TUDaLeaflet.tex @@ -1,4 +1,4 @@ -%% This is file `DEMO-TUDaLeaflet-de.tex' version 3.39 (2024-06-27), +%% This is file `DEMO-TUDaLeaflet-de.tex' version 3.41 (2024-07-02), %% it is part of %% TUDa-CI -- Corporate Design for TU Darmstadt %% ---------------------------------------------------------------------------- @@ -37,7 +37,7 @@ % logofile=example-image, %Falls die Logo Dateien nicht vorliegen ]{tudaleaflet} -\usepackage[ngerman]{babel} +\usepackage[german]{babel} \usepackage{blindtext} \usepackage[autostyle]{csquotes} diff --git a/Master/texmf-dist/doc/latex/tuda-ci/DEMO-TUDaLetter.pdf b/Master/texmf-dist/doc/latex/tuda-ci/DEMO-TUDaLetter.pdf Binary files differindex 452462b83f6..f0393a9152d 100644 --- a/Master/texmf-dist/doc/latex/tuda-ci/DEMO-TUDaLetter.pdf +++ b/Master/texmf-dist/doc/latex/tuda-ci/DEMO-TUDaLetter.pdf diff --git a/Master/texmf-dist/doc/latex/tuda-ci/DEMO-TUDaLetter.tex b/Master/texmf-dist/doc/latex/tuda-ci/DEMO-TUDaLetter.tex index 0e3381865df..20a6dc4e9a2 100644 --- a/Master/texmf-dist/doc/latex/tuda-ci/DEMO-TUDaLetter.tex +++ b/Master/texmf-dist/doc/latex/tuda-ci/DEMO-TUDaLetter.tex @@ -1,4 +1,4 @@ -%% This is file `DEMO-TUDaLetter-de.tex' version 3.39 (2024-06-27), +%% This is file `DEMO-TUDaLetter-de.tex' version 3.41 (2024-07-02), %% it is part of %% TUDa-CI -- Corporate Design for TU Darmstadt %% ---------------------------------------------------------------------------- @@ -33,11 +33,13 @@ %% \DocumentMetadata{ pdfstandard=a-2b, - pdfversion=1.7,% 2.0 is possible as well, but some validators don't support that yet + lang=de, + pdfversion=1.7,% 2.0 geht auch, aber die meisten Validierungsprogramme unterstützen das noch nicht. } + \documentclass[ - ngerman, + german, % logo=false,%Schaltet das Logo für Folgeseiten ab accentcolor=9c,%Akzentfarbe nach Tabelle aus den Corporate Design Richtlinien premium=true,%Aktiviert die Färbung der Identitätsleiste @@ -88,7 +90,7 @@ Zusätzliche Optionen sind im Folgenden aufgelistet:\\ } Für Wiederverwendung der Absenderadresse wurde die Datei \enquote{DEMO"=TUDaFromaddress.lco} angelegt. Sie wird, wie bei \KOMAScript{} üblich, über -\verb+\LoadLetterOption+ geladen. Sämtliche dort gesetzten Werte können innerhalb der Briefdatei überschrieben werden. +\verb+\LoadLett+\babelhyphen{empty}\verb+erOption+ geladen. Sämtliche dort gesetzten Werte können innerhalb der Briefdatei überschrieben werden. Die Adressdatei wird üblicherweise lokal im System installiert, um sie nicht immer mit allen anderen Dateien kopieren zu müssen. Falls Sie dies durchführen möchten, findet sich eine entsprechende Erklärung am Ende der DEMO"=TUDaFromaddress.lco"=Datei. diff --git a/Master/texmf-dist/doc/latex/tuda-ci/DEMO-TUDaPhD.pdf b/Master/texmf-dist/doc/latex/tuda-ci/DEMO-TUDaPhD.pdf Binary files differindex 581d0c42723..e58bb389eb8 100644 --- a/Master/texmf-dist/doc/latex/tuda-ci/DEMO-TUDaPhD.pdf +++ b/Master/texmf-dist/doc/latex/tuda-ci/DEMO-TUDaPhD.pdf diff --git a/Master/texmf-dist/doc/latex/tuda-ci/DEMO-TUDaPhD.tex b/Master/texmf-dist/doc/latex/tuda-ci/DEMO-TUDaPhD.tex index 028ecf6f95b..6b14bfda0d1 100644 --- a/Master/texmf-dist/doc/latex/tuda-ci/DEMO-TUDaPhD.tex +++ b/Master/texmf-dist/doc/latex/tuda-ci/DEMO-TUDaPhD.tex @@ -1,4 +1,4 @@ -%% This is file `DEMO-TUDaPhD-de.tex' version 3.39 (2024-06-27) +%% This is file `DEMO-TUDaPhD-de.tex' version 3.41 (2024-07-02) %% it is part of %% TUDa-CI -- Corporate Design for TU Darmstadt %% ---------------------------------------------------------------------------- @@ -34,11 +34,12 @@ % PDF/A über pdfmanagement und nicht über pdfx \DocumentMetadata{ pdfstandard=a-2b, + lang=de, pdfversion=1.7,% 2.0 geht auch, aber die meisten Validierungsprogramme unterstützen das noch nicht. } \documentclass[ - german,% Hauptsprache als globale Option, früher war ngerman notwendig + german,% Hauptsprache als globale Option, früher war german notwendig ruledheaders=chapter,% Ebene bis zu der die Überschriften mit Linien abgetrennt werden, vgl. DEMO-TUDaPub class=book,% Basisdokumentenklasse. Wählt die korrespondierende KOMA-Script Klasse thesis={% Dokumententyp PhD Thesis, für kleinere Abschlussarbeiten, siehe DEMO-TUDaThesis-de.tex @@ -57,7 +58,7 @@ %%%%%%%%%%%%%%%%%%% % Spracheinstellungen %%%%%%%%%%%%%%%%%%% -\usepackage[english, main=ngerman]{babel} +\usepackage[english, main=german]{babel} \usepackage[autostyle]{csquotes}% Sprachabhängig Anführungszeichen mit \enquote % Falls mit pdflatex kompiliert wird, wird microtype automatisch geladen, in diesem Fall muss diese Zeile entfernt werden, und falls weiter Optionen hinzugefügt werden sollen, muss dies über @@ -173,16 +174,16 @@ TUDa-CI verwendet hierfür das babel-Paket. Dies wird jedoch nicht automatisch geladen, da hierfür die Konfiguration der Sprachen bekannt sein müsste. Die Demo-Dateien für Abschlussarbeiten (\file{DEMO-TUDaThesis.tex}/""\file{DEMO-TUDaPhD.tex}) laden hierfür die Konfiguration: \begin{verbatim} - \usepackage[english, main=ngerman]{babel} + \usepackage[english, main=german]{babel} \end{verbatim} Diese ist für ein Dokument mit Deutsch als Hauptsprache und Englischen Elementen. Die Hauptsprache wird als Wert der Option \verb+main=+ übergeben. -Das Laden von \verb+ngerman+ wird in den Fällen, in denen es von TUDa-CI benötigt wird, automatisch ausgelöst. +Das Laden von \verb+german+ wird in den Fällen, in denen es von TUDa-CI benötigt wird, automatisch ausgelöst. Für eine bessere Übersichtlichkeit ist es dennoch hilfreich es dort aufzuführen. Falls die Hauptsprache nicht Deutsch ist, wäre daher die folgende Konfiguration sinnvoll: \begin{verbatim} - \usepackage[ngerman, main=<Hauptsprache>]{babel} + \usepackage[german, main=<Hauptsprache>]{babel} \end{verbatim} \section{Übergabe der Titeldaten} diff --git a/Master/texmf-dist/doc/latex/tuda-ci/DEMO-TUDaPoster.pdf b/Master/texmf-dist/doc/latex/tuda-ci/DEMO-TUDaPoster.pdf Binary files differindex fa06d29e4a3..46617bca7d2 100644 --- a/Master/texmf-dist/doc/latex/tuda-ci/DEMO-TUDaPoster.pdf +++ b/Master/texmf-dist/doc/latex/tuda-ci/DEMO-TUDaPoster.pdf diff --git a/Master/texmf-dist/doc/latex/tuda-ci/DEMO-TUDaPoster.tex b/Master/texmf-dist/doc/latex/tuda-ci/DEMO-TUDaPoster.tex index 35e8d5d812b..33a78fd1f3a 100644 --- a/Master/texmf-dist/doc/latex/tuda-ci/DEMO-TUDaPoster.tex +++ b/Master/texmf-dist/doc/latex/tuda-ci/DEMO-TUDaPoster.tex @@ -1,4 +1,4 @@ -%% This is file `DEMO-TUDaPoster-de.tex' version 3.39 (2024-06-27), +%% This is file `DEMO-TUDaPoster-de.tex' version 3.41 (2024-07-02), %% it is part of %% TUDa-CI -- Corporate Design for TU Darmstadt %% ---------------------------------------------------------------------------- @@ -34,14 +34,14 @@ \documentclass[ paper=a0, - ngerman, + german, accentcolor=9c, logo=body,% Logo unterhalb der Identitätsleise footer=true, % logofile=example-image, %Falls die Logo Dateien nicht vorliegen ]{tudaposter} -\usepackage[english, main=ngerman]{babel} +\usepackage[english, main=german]{babel} \usepackage[autostyle]{csquotes} diff --git a/Master/texmf-dist/doc/latex/tuda-ci/DEMO-TUDaPub.pdf b/Master/texmf-dist/doc/latex/tuda-ci/DEMO-TUDaPub.pdf Binary files differindex 6546e45efaf..6cecc143278 100644 --- a/Master/texmf-dist/doc/latex/tuda-ci/DEMO-TUDaPub.pdf +++ b/Master/texmf-dist/doc/latex/tuda-ci/DEMO-TUDaPub.pdf diff --git a/Master/texmf-dist/doc/latex/tuda-ci/DEMO-TUDaPub.tex b/Master/texmf-dist/doc/latex/tuda-ci/DEMO-TUDaPub.tex index 1e6cdc8ce7f..7b03b612d87 100644 --- a/Master/texmf-dist/doc/latex/tuda-ci/DEMO-TUDaPub.tex +++ b/Master/texmf-dist/doc/latex/tuda-ci/DEMO-TUDaPub.tex @@ -1,4 +1,4 @@ -%% This is file `DEMO-TUDaPub-de.tex' version 3.39 (2024-06-27), +%% This is file `DEMO-TUDaPub-de.tex' version 3.41 (2024-07-02), %% it is part of %% TUDa-CI -- Corporate Design for TU Darmstadt %% ---------------------------------------------------------------------------- @@ -34,16 +34,17 @@ % PDF/A über pdfmanagement und nicht über pdfx \DocumentMetadata{ pdfstandard=a-2b, + lang=de, pdfversion=1.7,% 2.0 geht auch, aber die meisten Validierungsprogramme unterstützen das noch nicht. } \documentclass[ - ngerman, + german, accentcolor=9c,% Farbe für Hervorhebungen auf Basis der Deklarationen in den Corporate Design Richtlinien % logofile=example-image, %Falls die Logo Dateien nicht vorliegen ]{tudapub} -\usepackage[english, main=ngerman]{babel} +\usepackage[english, main=german]{babel} \usepackage[autostyle]{csquotes} \usepackage{biblatex} @@ -239,7 +240,7 @@ Die \code{abstract}-Umgebung wird für \cls{tudapub} um eine Option für die Spr \end{abstract} \end{verbatim} -Für die Verwendung ist wichtig, dass alle im Dokument genutzten Sprachen geladen werden. Im Falle des Beispiels muss also sowohl \code{ngerman} als auch \code{english} an das \pck{babel}-Paket übergeben werden. +Für die Verwendung ist wichtig, dass alle im Dokument genutzten Sprachen geladen werden. Im Falle des Beispiels muss also sowohl \code{german} als auch \code{english} an das \pck{babel}-Paket übergeben werden. \subsection{PDF/A Konformität} diff --git a/Master/texmf-dist/doc/latex/tuda-ci/DEMO-TUDaReport.pdf b/Master/texmf-dist/doc/latex/tuda-ci/DEMO-TUDaReport.pdf Binary files differindex b5078b678ab..dcdda46cb20 100644 --- a/Master/texmf-dist/doc/latex/tuda-ci/DEMO-TUDaReport.pdf +++ b/Master/texmf-dist/doc/latex/tuda-ci/DEMO-TUDaReport.pdf diff --git a/Master/texmf-dist/doc/latex/tuda-ci/DEMO-TUDaReport.tex b/Master/texmf-dist/doc/latex/tuda-ci/DEMO-TUDaReport.tex index 56272741ba0..c5974e6ece3 100644 --- a/Master/texmf-dist/doc/latex/tuda-ci/DEMO-TUDaReport.tex +++ b/Master/texmf-dist/doc/latex/tuda-ci/DEMO-TUDaReport.tex @@ -1,4 +1,4 @@ -%% This is file `DEMO-TUDaReport-de.tex' version 3.39 (2024-06-27), +%% This is file `DEMO-TUDaReport-de.tex' version 3.41 (2024-07-02), %% it is part of %% TUDa-CI -- Corporate Design for TU Darmstadt %% ---------------------------------------------------------------------------- @@ -33,13 +33,13 @@ %% \documentclass[ - ngerman, + german, accentcolor=9c,% Farbe für Hervorhebungen auf Basis der Deklarationen in den type=intern, marginpar=false ]{tudapub} -\usepackage[english, main=ngerman]{babel} +\usepackage[english, main=german]{babel} \usepackage[autostyle]{csquotes} %Formatierungen für Beispiele in diesem Dokument. Im Allgemeinen nicht notwendig! diff --git a/Master/texmf-dist/doc/latex/tuda-ci/DEMO-TUDaSciPoster.pdf b/Master/texmf-dist/doc/latex/tuda-ci/DEMO-TUDaSciPoster.pdf Binary files differindex d42332ad995..ee5b7471f53 100644 --- a/Master/texmf-dist/doc/latex/tuda-ci/DEMO-TUDaSciPoster.pdf +++ b/Master/texmf-dist/doc/latex/tuda-ci/DEMO-TUDaSciPoster.pdf diff --git a/Master/texmf-dist/doc/latex/tuda-ci/DEMO-TUDaSciPoster.tex b/Master/texmf-dist/doc/latex/tuda-ci/DEMO-TUDaSciPoster.tex index 81978daa3df..aba84ecdab7 100644 --- a/Master/texmf-dist/doc/latex/tuda-ci/DEMO-TUDaSciPoster.tex +++ b/Master/texmf-dist/doc/latex/tuda-ci/DEMO-TUDaSciPoster.tex @@ -1,4 +1,4 @@ -%% This is file `DEMO-TUDaSciPoster-de.tex' version 3.39 (2024-06-27), +%% This is file `DEMO-TUDaSciPoster-de.tex' version 3.41 (2024-07-02), %% it is part of %% TUDa-CI -- Corporate Design for TU Darmstadt %% ---------------------------------------------------------------------------- @@ -41,7 +41,7 @@ ]{tudasciposter} %Sprache -\usepackage[ngerman]{babel} +\usepackage[german]{babel} \usepackage[autostyle]{csquotes} diff --git a/Master/texmf-dist/doc/latex/tuda-ci/DEMO-TUDaThesis.pdf b/Master/texmf-dist/doc/latex/tuda-ci/DEMO-TUDaThesis.pdf Binary files differindex 555b1afdffb..0f6944a3c97 100644 --- a/Master/texmf-dist/doc/latex/tuda-ci/DEMO-TUDaThesis.pdf +++ b/Master/texmf-dist/doc/latex/tuda-ci/DEMO-TUDaThesis.pdf diff --git a/Master/texmf-dist/doc/latex/tuda-ci/DEMO-TUDaThesis.tex b/Master/texmf-dist/doc/latex/tuda-ci/DEMO-TUDaThesis.tex index 300274f41c0..12080524fb7 100644 --- a/Master/texmf-dist/doc/latex/tuda-ci/DEMO-TUDaThesis.tex +++ b/Master/texmf-dist/doc/latex/tuda-ci/DEMO-TUDaThesis.tex @@ -1,4 +1,4 @@ -%% This is file `DEMO-TUDaThesis-de.tex' version 3.39 (2024-06-27) +%% This is file `DEMO-TUDaThesis-de.tex' version 3.41 (2024-07-02) %% it is part of %% TUDa-CI -- Corporate Design for TU Darmstadt %% ---------------------------------------------------------------------------- @@ -34,11 +34,12 @@ % PDF/A über pdfmanagement und nicht über pdfx \DocumentMetadata{ pdfstandard=a-2b, + lang=de, pdfversion=1.7,% 2.0 geht auch, aber die meisten Validierungsprogramme unterstützen das noch nicht. } \documentclass[ - german,% Hauptsprache als globale Option, früher war ngerman notwendig + german,% Hauptsprache als globale Option, früher war german notwendig ruledheaders=section,% Ebene bis zu der die Überschriften mit Linien abgetrennt werden, class=report,% Basisdokumentenklasse. Wählt die Korrespondierende KOMA-Script Klasse thesis={type=bachelor},% Dokumententyp Thesis, für Dissertationen siehe die Demo-Datei DEMO-TUDaPhd @@ -54,7 +55,7 @@ %%%%%%%%%%%%%%%%%%% % Spracheinstellungen %%%%%%%%%%%%%%%%%%% -\usepackage[english, main=ngerman]{babel} +\usepackage[english, main=german]{babel} \usepackage[autostyle]{csquotes}% Sprachabhängig Anführungszeichen mit \enquote % Falls mit pdflatex kompiliert wird, wird microtype automatisch geladen, in diesem Fall muss diese Zeile entfernt werden, und falls weiter Optionen hinzugefügt werden sollen, muss dies über @@ -190,16 +191,16 @@ TUDa-CI verwendet hierfür das babel-Paket. Dies wird jedoch nicht automatisch geladen, da hierfür die Konfiguration der Sprachen bekannt sein müsste. Die Demo-Dateien für Abschlussarbeiten (\file{DEMO-TUDaThesis.tex}/""\file{DEMO-TUDaPhD.tex}) laden hierfür die Konfiguration: \begin{verbatim} -\usepackage[english, main=ngerman]{babel} +\usepackage[english, main=german]{babel} \end{verbatim} Diese ist für ein Dokument mit Deutsch als Hauptsprache und Englischen Elementen. Die Hauptsprache wird als Wert der Option \verb+main=+ übergeben. -Das Laden von \verb+ngerman+ wird in den Fällen, in denen es von TUDa-CI benötigt wird, automatisch ausgelöst. +Das Laden von \verb+german+ wird in den Fällen, in denen es von TUDa-CI benötigt wird, automatisch ausgelöst. Für eine bessere Übersichtlichkeit ist es dennoch hilfreich es dort aufzuführen. Falls die Hauptsprache nicht Deutsch ist, wäre daher die folgende Konfiguration sinnvoll: \begin{verbatim} -\usepackage[ngerman, main=<Hauptsprache>]{babel} +\usepackage[german, main=<Hauptsprache>]{babel} \end{verbatim} \section{Übergabe der Titeldaten} diff --git a/Master/texmf-dist/doc/latex/tuda-ci/README.md b/Master/texmf-dist/doc/latex/tuda-ci/README.md index 7200d27b9fa..1adcd629dcd 100644 --- a/Master/texmf-dist/doc/latex/tuda-ci/README.md +++ b/Master/texmf-dist/doc/latex/tuda-ci/README.md @@ -2,7 +2,7 @@ Copyright (C) Marei Peischl <marei@peitex.de>, 2018–2024 - tuda-ci v3.39 (2024-06-27) + tuda-ci v3.41 (2024-07-02) *************************************************************************** @@ -362,4 +362,9 @@ leaflets | DEMO-TUDaLeaflet.tex | tudaleaflet.cls - update PhD affidavit * 3.39 (2024-06-27) - update all templates to no longer use pdfx by default due to the pdfx bug - - fix letter last page reference
\ No newline at end of file + - fix letter last page reference + * 3.40 (2024-07-01) + - implement workaround for the pdfx package bug. Thanks to Ulrike Fischer for the hint! + - fix `ìn_department` strings for theses + * 3.41 (2024-07-01) + - change package loading order to support updated version of pdfx diff --git a/Master/texmf-dist/doc/latex/typog/LICENSE b/Master/texmf-dist/doc/latex/typog/LICENSE new file mode 100644 index 00000000000..888d9e68e7a --- /dev/null +++ b/Master/texmf-dist/doc/latex/typog/LICENSE @@ -0,0 +1,415 @@ +The LaTeX Project Public License +=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- + +LPPL Version 1.3c 2008-05-04 + +Copyright 1999 2002-2008 LaTeX3 Project + Everyone is allowed to distribute verbatim copies of this + license document, but modification of it is not allowed. + + +PREAMBLE +======== + +The LaTeX Project Public License (LPPL) is the primary license under +which the LaTeX kernel and the base LaTeX packages are distributed. + +You may use this license for any work of which you hold the copyright +and which you wish to distribute. This license may be particularly +suitable if your work is TeX-related (such as a LaTeX package), but +it is written in such a way that you can use it even if your work is +unrelated to TeX. + +The section `WHETHER AND HOW TO DISTRIBUTE WORKS UNDER THIS LICENSE', +below, gives instructions, examples, and recommendations for authors +who are considering distributing their works under this license. + +This license gives conditions under which a work may be distributed +and modified, as well as conditions under which modified versions of +that work may be distributed. + +We, the LaTeX3 Project, believe that the conditions below give you +the freedom to make and distribute modified versions of your work +that conform with whatever technical specifications you wish while +maintaining the availability, integrity, and reliability of +that work. If you do not see how to achieve your goal while +meeting these conditions, then read the document `cfgguide.tex' +and `modguide.tex' in the base LaTeX distribution for suggestions. + + +DEFINITIONS +=========== + +In this license document the following terms are used: + + `Work' + Any work being distributed under this License. + + `Derived Work' + Any work that under any applicable law is derived from the Work. + + `Modification' + Any procedure that produces a Derived Work under any applicable + law -- for example, the production of a file containing an + original file associated with the Work or a significant portion of + such a file, either verbatim or with modifications and/or + translated into another language. + + `Modify' + To apply any procedure that produces a Derived Work under any + applicable law. + + `Distribution' + Making copies of the Work available from one person to another, in + whole or in part. Distribution includes (but is not limited to) + making any electronic components of the Work accessible by + file transfer protocols such as FTP or HTTP or by shared file + systems such as Sun's Network File System (NFS). + + `Compiled Work' + A version of the Work that has been processed into a form where it + is directly usable on a computer system. This processing may + include using installation facilities provided by the Work, + transformations of the Work, copying of components of the Work, or + other activities. Note that modification of any installation + facilities provided by the Work constitutes modification of the Work. + + `Current Maintainer' + A person or persons nominated as such within the Work. If there is + no such explicit nomination then it is the `Copyright Holder' under + any applicable law. + + `Base Interpreter' + A program or process that is normally needed for running or + interpreting a part or the whole of the Work. + + A Base Interpreter may depend on external components but these + are not considered part of the Base Interpreter provided that each + external component clearly identifies itself whenever it is used + interactively. Unless explicitly specified when applying the + license to the Work, the only applicable Base Interpreter is a + `LaTeX-Format' or in the case of files belonging to the + `LaTeX-format' a program implementing the `TeX language'. + + + +CONDITIONS ON DISTRIBUTION AND MODIFICATION +=========================================== + +1. Activities other than distribution and/or modification of the Work +are not covered by this license; they are outside its scope. In +particular, the act of running the Work is not restricted and no +requirements are made concerning any offers of support for the Work. + +2. You may distribute a complete, unmodified copy of the Work as you +received it. Distribution of only part of the Work is considered +modification of the Work, and no right to distribute such a Derived +Work may be assumed under the terms of this clause. + +3. You may distribute a Compiled Work that has been generated from a +complete, unmodified copy of the Work as distributed under Clause 2 +above, as long as that Compiled Work is distributed in such a way that +the recipients may install the Compiled Work on their system exactly +as it would have been installed if they generated a Compiled Work +directly from the Work. + +4. If you are the Current Maintainer of the Work, you may, without +restriction, modify the Work, thus creating a Derived Work. You may +also distribute the Derived Work without restriction, including +Compiled Works generated from the Derived Work. Derived Works +distributed in this manner by the Current Maintainer are considered to +be updated versions of the Work. + +5. If you are not the Current Maintainer of the Work, you may modify +your copy of the Work, thus creating a Derived Work based on the Work, +and compile this Derived Work, thus creating a Compiled Work based on +the Derived Work. + +6. If you are not the Current Maintainer of the Work, you may +distribute a Derived Work provided the following conditions are met +for every component of the Work unless that component clearly states +in the copyright notice that it is exempt from that condition. Only +the Current Maintainer is allowed to add such statements of exemption +to a component of the Work. + + a. If a component of this Derived Work can be a direct replacement + for a component of the Work when that component is used with the + Base Interpreter, then, wherever this component of the Work + identifies itself to the user when used interactively with that + Base Interpreter, the replacement component of this Derived Work + clearly and unambiguously identifies itself as a modified version + of this component to the user when used interactively with that + Base Interpreter. + + b. Every component of the Derived Work contains prominent notices + detailing the nature of the changes to that component, or a + prominent reference to another file that is distributed as part + of the Derived Work and that contains a complete and accurate log + of the changes. + + c. No information in the Derived Work implies that any persons, + including (but not limited to) the authors of the original version + of the Work, provide any support, including (but not limited to) + the reporting and handling of errors, to recipients of the + Derived Work unless those persons have stated explicitly that + they do provide such support for the Derived Work. + + d. You distribute at least one of the following with the Derived Work: + + 1. A complete, unmodified copy of the Work; + if your distribution of a modified component is made by + offering access to copy the modified component from a + designated place, then offering equivalent access to copy + the Work from the same or some similar place meets this + condition, even though third parties are not compelled to + copy the Work along with the modified component; + + 2. Information that is sufficient to obtain a complete, + unmodified copy of the Work. + +7. If you are not the Current Maintainer of the Work, you may +distribute a Compiled Work generated from a Derived Work, as long as +the Derived Work is distributed to all recipients of the Compiled +Work, and as long as the conditions of Clause 6, above, are met with +regard to the Derived Work. + +8. The conditions above are not intended to prohibit, and hence do not +apply to, the modification, by any method, of any component so that it +becomes identical to an updated version of that component of the Work as +it is distributed by the Current Maintainer under Clause 4, above. + +9. Distribution of the Work or any Derived Work in an alternative +format, where the Work or that Derived Work (in whole or in part) is +then produced by applying some process to that format, does not relax or +nullify any sections of this license as they pertain to the results of +applying that process. + +10. a. A Derived Work may be distributed under a different license + provided that license itself honors the conditions listed in + Clause 6 above, in regard to the Work, though it does not have + to honor the rest of the conditions in this license. + + b. If a Derived Work is distributed under a different license, that + Derived Work must provide sufficient documentation as part of + itself to allow each recipient of that Derived Work to honor the + restrictions in Clause 6 above, concerning changes from the Work. + +11. This license places no restrictions on works that are unrelated to +the Work, nor does this license place any restrictions on aggregating +such works with the Work by any means. + +12. Nothing in this license is intended to, or may be used to, prevent +complete compliance by all parties with all applicable laws. + + +NO WARRANTY +=========== + +There is no warranty for the Work. Except when otherwise stated in +writing, the Copyright Holder provides the Work `as is', without +warranty of any kind, either expressed or implied, including, but not +limited to, the implied warranties of merchantability and fitness for a +particular purpose. The entire risk as to the quality and performance +of the Work is with you. Should the Work prove defective, you assume +the cost of all necessary servicing, repair, or correction. + +In no event unless required by applicable law or agreed to in writing +will The Copyright Holder, or any author named in the components of the +Work, or any other party who may distribute and/or modify the Work as +permitted above, be liable to you for damages, including any general, +special, incidental or consequential damages arising out of any use of +the Work or out of inability to use the Work (including, but not limited +to, loss of data, data being rendered inaccurate, or losses sustained by +anyone as a result of any failure of the Work to operate with any other +programs), even if the Copyright Holder or said author or said other +party has been advised of the possibility of such damages. + + +MAINTENANCE OF THE WORK +======================= + +The Work has the status `author-maintained' if the Copyright Holder +explicitly and prominently states near the primary copyright notice in +the Work that the Work can only be maintained by the Copyright Holder +or simply that it is `author-maintained'. + +The Work has the status `maintained' if there is a Current Maintainer +who has indicated in the Work that they are willing to receive error +reports for the Work (for example, by supplying a valid e-mail +address). It is not required for the Current Maintainer to acknowledge +or act upon these error reports. + +The Work changes from status `maintained' to `unmaintained' if there +is no Current Maintainer, or the person stated to be Current +Maintainer of the work cannot be reached through the indicated means +of communication for a period of six months, and there are no other +significant signs of active maintenance. + +You can become the Current Maintainer of the Work by agreement with +any existing Current Maintainer to take over this role. + +If the Work is unmaintained, you can become the Current Maintainer of +the Work through the following steps: + + 1. Make a reasonable attempt to trace the Current Maintainer (and + the Copyright Holder, if the two differ) through the means of + an Internet or similar search. + + 2. If this search is successful, then enquire whether the Work + is still maintained. + + a. If it is being maintained, then ask the Current Maintainer + to update their communication data within one month. + + b. If the search is unsuccessful or no action to resume active + maintenance is taken by the Current Maintainer, then announce + within the pertinent community your intention to take over + maintenance. (If the Work is a LaTeX work, this could be + done, for example, by posting to comp.text.tex.) + + 3a. If the Current Maintainer is reachable and agrees to pass + maintenance of the Work to you, then this takes effect + immediately upon announcement. + + b. If the Current Maintainer is not reachable and the Copyright + Holder agrees that maintenance of the Work be passed to you, + then this takes effect immediately upon announcement. + + 4. If you make an `intention announcement' as described in 2b. above + and after three months your intention is challenged neither by + the Current Maintainer nor by the Copyright Holder nor by other + people, then you may arrange for the Work to be changed so as + to name you as the (new) Current Maintainer. + + 5. If the previously unreachable Current Maintainer becomes + reachable once more within three months of a change completed + under the terms of 3b) or 4), then that Current Maintainer must + become or remain the Current Maintainer upon request provided + they then update their communication data within one month. + +A change in the Current Maintainer does not, of itself, alter the fact +that the Work is distributed under the LPPL license. + +If you become the Current Maintainer of the Work, you should +immediately provide, within the Work, a prominent and unambiguous +statement of your status as Current Maintainer. You should also +announce your new status to the same pertinent community as +in 2b) above. + + +WHETHER AND HOW TO DISTRIBUTE WORKS UNDER THIS LICENSE +====================================================== + +This section contains important instructions, examples, and +recommendations for authors who are considering distributing their +works under this license. These authors are addressed as `you' in +this section. + +Choosing This License or Another License +---------------------------------------- + +If for any part of your work you want or need to use *distribution* +conditions that differ significantly from those in this license, then +do not refer to this license anywhere in your work but, instead, +distribute your work under a different license. You may use the text +of this license as a model for your own license, but your license +should not refer to the LPPL or otherwise give the impression that +your work is distributed under the LPPL. + +The document `modguide.tex' in the base LaTeX distribution explains +the motivation behind the conditions of this license. It explains, +for example, why distributing LaTeX under the GNU General Public +License (GPL) was considered inappropriate. Even if your work is +unrelated to LaTeX, the discussion in `modguide.tex' may still be +relevant, and authors intending to distribute their works under any +license are encouraged to read it. + +A Recommendation on Modification Without Distribution +----------------------------------------------------- + +It is wise never to modify a component of the Work, even for your own +personal use, without also meeting the above conditions for +distributing the modified component. While you might intend that such +modifications will never be distributed, often this will happen by +accident -- you may forget that you have modified that component; or +it may not occur to you when allowing others to access the modified +version that you are thus distributing it and violating the conditions +of this license in ways that could have legal implications and, worse, +cause problems for the community. It is therefore usually in your +best interest to keep your copy of the Work identical with the public +one. Many works provide ways to control the behavior of that work +without altering any of its licensed components. + +How to Use This License +----------------------- + +To use this license, place in each of the components of your work both +an explicit copyright notice including your name and the year the work +was authored and/or last substantially modified. Include also a +statement that the distribution and/or modification of that +component is constrained by the conditions in this license. + +Here is an example of such a notice and statement: + + %% pig.dtx + %% Copyright 2005 M. Y. Name + % + % This work may be distributed and/or modified under the + % conditions of the LaTeX Project Public License, either version 1.3c + % of this license or (at your option) any later version. + % The latest version of this license is in + % https://www.latex-project.org/lppl.txt + % and version 1.3c or later is part of all distributions of LaTeX + % version 2005/12/01 or later. + % + % This work has the LPPL maintenance status `maintained'. + % + % The Current Maintainer of this work is M. Y. Name. + % + % This work consists of the files pig.dtx and pig.ins + % and the derived file pig.sty. + +Given such a notice and statement in a file, the conditions +given in this license document would apply, with the `Work' referring +to the three files `pig.dtx', `pig.ins', and `pig.sty' (the last being +generated from `pig.dtx' using `pig.ins'), the `Base Interpreter' +referring to any `LaTeX-Format', and both `Copyright Holder' and +`Current Maintainer' referring to the person `M. Y. Name'. + +If you do not want the Maintenance section of LPPL to apply to your +Work, change `maintained' above into `author-maintained'. +However, we recommend that you use `maintained', as the Maintenance +section was added in order to ensure that your Work remains useful to +the community even when you can no longer maintain and support it +yourself. + +Derived Works That Are Not Replacements +--------------------------------------- + +Several clauses of the LPPL specify means to provide reliability and +stability for the user community. They therefore concern themselves +with the case that a Derived Work is intended to be used as a +(compatible or incompatible) replacement of the original Work. If +this is not the case (e.g., if a few lines of code are reused for a +completely different task), then clauses 6b and 6d shall not apply. + + +Important Recommendations +------------------------- + + Defining What Constitutes the Work + + The LPPL requires that distributions of the Work contain all the + files of the Work. It is therefore important that you provide a + way for the licensee to determine which files constitute the Work. + This could, for example, be achieved by explicitly listing all the + files of the Work near the copyright notice of each file or by + using a line such as: + + % This work consists of all files listed in manifest.txt. + + in that place. In the absence of an unequivocal list it might be + impossible for the licensee to determine what is considered by you + to comprise the Work and, in such a case, the licensee would be + entitled to make reasonable conjectures as to which files comprise + the Work. diff --git a/Master/texmf-dist/doc/latex/typog/README.md b/Master/texmf-dist/doc/latex/typog/README.md index fb55ccb1e12..c67519bffc6 100644 --- a/Master/texmf-dist/doc/latex/typog/README.md +++ b/Master/texmf-dist/doc/latex/typog/README.md @@ -1,3 +1,6 @@ +![distcheck status](https://github.com/cspiel/typog/actions/workflows/distcheck.yml/badge.svg) + + # TypoG – Typographic Fine-Tuning for LaTeX LaTeX package `typog` provides macros for (micro-)typographic enhancements; @@ -8,6 +11,7 @@ it covers a variety of topics: * Manual italic correction * Extra kerning for slash and hyphen * Raising selected characters (e.g. hyphen, en-dash, and em-dash) +* Adjusting the vertical position of `itemize`'s labels * Aligning of the last line of a paragraph * Filling of the last line last line of a paragraph * Word spacing control diff --git a/Master/texmf-dist/doc/latex/typog/RELEASE-HOWTO.md b/Master/texmf-dist/doc/latex/typog/RELEASE-HOWTO.md deleted file mode 100644 index 13435ef66d5..00000000000 --- a/Master/texmf-dist/doc/latex/typog/RELEASE-HOWTO.md +++ /dev/null @@ -1,51 +0,0 @@ -# How to prepare a new release - -... and not make too many mistakes. - - -1. Check that the work-area is clean with respect to **git**-tracked - files. - - ``` git status ``` - -1. Update the date stamp of `\ProvidesPackage`. - -1. (Temporarily) Zero the `\overfullrule`s of the documentation and - the example files. - -1. Thoroughly clean the work-area: - - ```make maintainer-clean``` - -1. Rebuild: - - ```make``` - -1. Check that all _*.sty_ and _*.pdf_ files are in good shape. - -1. Push the documentation files created in the previous step down into - the *docs* directory: - - ```make update-docs``` - -1. Undo the `\overfullrule` change. - -1. Commit the changes: - - ``` - git add . - ``` - - and finally - - ``` - git commit - ``` - -1. Tag the commit with the version string of `\ProvidesPackage`: - - ```git tag v1.23``` - -1. Push the changes to the public repository: - - ```git push origin master --tags``` diff --git a/Master/texmf-dist/doc/latex/typog/crooked-paragraphs.mp b/Master/texmf-dist/doc/latex/typog/crooked-paragraphs.mp index 778a3bc3846..7667b66b1d6 100644 --- a/Master/texmf-dist/doc/latex/typog/crooked-paragraphs.mp +++ b/Master/texmf-dist/doc/latex/typog/crooked-paragraphs.mp @@ -11,11 +11,11 @@ %% Copyright (C) 2024 by Ch. L. Spiel %% %% This work may be distributed and/or modified under the conditions -%% of the LaTeX Project Public License, either version 1.3 of this +%% of the LaTeX Project Public License, either version 1.3c of this %% license or (at your option) any later version. 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 +%% https://www.latex-project.org/lppl.txt +%% and version 1.3c or later is part of all distributions of LaTeX %% version 2003/12/01 or later. %% %% This work has the LPPL maintenance status `maintained'. @@ -25,7 +25,9 @@ %% This work consists of the files typog.dtx and typog.ins %% and the derived files typog.sty, slant-angle.mp, %% crooked-paragraphs.mp, smooth-parshapes.mp, title.mp, -%% typog-example.tex, typog-nomt.tex, typog-grep.pl, +%% typog-example.tex, typog-minimal-test.tex, +%% typog-without-microtype-test.tex +%% typog-grep.pl.in, typog-grep.pl, %% typog-grep.pod, and teximan2latex.sed. %% %% diff --git a/Master/texmf-dist/doc/latex/typog/index.md b/Master/texmf-dist/doc/latex/typog/index.md deleted file mode 100644 index f4dc2e8bd9a..00000000000 --- a/Master/texmf-dist/doc/latex/typog/index.md +++ /dev/null @@ -1,5 +0,0 @@ -### Package Documentation - -- Comprehensive `typog` documentation: [typog.pdf](https://cspiel.github.io/typog/typog.pdf) -- `typog` examples and tests: [typog-example.pdf](https://cspiel.github.io/typog/typog-example.pdf) -- **typog-grep** manual page: [typog-grep.1](https://cspiel.github.io/typog/typog-grep.1) and as PDF: [typog-grep.1.pdf](https://cspiel.github.io/typog/typog-grep.1.pdf) diff --git a/Master/texmf-dist/doc/latex/typog/slant-angle.mp b/Master/texmf-dist/doc/latex/typog/slant-angle.mp index f25f790ea6f..61f2d248e22 100644 --- a/Master/texmf-dist/doc/latex/typog/slant-angle.mp +++ b/Master/texmf-dist/doc/latex/typog/slant-angle.mp @@ -11,11 +11,11 @@ %% Copyright (C) 2024 by Ch. L. Spiel %% %% This work may be distributed and/or modified under the conditions -%% of the LaTeX Project Public License, either version 1.3 of this +%% of the LaTeX Project Public License, either version 1.3c of this %% license or (at your option) any later version. 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 +%% https://www.latex-project.org/lppl.txt +%% and version 1.3c or later is part of all distributions of LaTeX %% version 2003/12/01 or later. %% %% This work has the LPPL maintenance status `maintained'. @@ -25,7 +25,9 @@ %% This work consists of the files typog.dtx and typog.ins %% and the derived files typog.sty, slant-angle.mp, %% crooked-paragraphs.mp, smooth-parshapes.mp, title.mp, -%% typog-example.tex, typog-nomt.tex, typog-grep.pl, +%% typog-example.tex, typog-minimal-test.tex, +%% typog-without-microtype-test.tex +%% typog-grep.pl.in, typog-grep.pl, %% typog-grep.pod, and teximan2latex.sed. %% %% diff --git a/Master/texmf-dist/doc/latex/typog/smooth-parshapes.mp b/Master/texmf-dist/doc/latex/typog/smooth-parshapes.mp index ce47135a56e..dcf66fd0527 100644 --- a/Master/texmf-dist/doc/latex/typog/smooth-parshapes.mp +++ b/Master/texmf-dist/doc/latex/typog/smooth-parshapes.mp @@ -11,11 +11,11 @@ %% Copyright (C) 2024 by Ch. L. Spiel %% %% This work may be distributed and/or modified under the conditions -%% of the LaTeX Project Public License, either version 1.3 of this +%% of the LaTeX Project Public License, either version 1.3c of this %% license or (at your option) any later version. 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 +%% https://www.latex-project.org/lppl.txt +%% and version 1.3c or later is part of all distributions of LaTeX %% version 2003/12/01 or later. %% %% This work has the LPPL maintenance status `maintained'. @@ -25,7 +25,9 @@ %% This work consists of the files typog.dtx and typog.ins %% and the derived files typog.sty, slant-angle.mp, %% crooked-paragraphs.mp, smooth-parshapes.mp, title.mp, -%% typog-example.tex, typog-nomt.tex, typog-grep.pl, +%% typog-example.tex, typog-minimal-test.tex, +%% typog-without-microtype-test.tex +%% typog-grep.pl.in, typog-grep.pl, %% typog-grep.pod, and teximan2latex.sed. %% %% diff --git a/Master/texmf-dist/doc/latex/typog/teximan2latex.sed b/Master/texmf-dist/doc/latex/typog/teximan2latex.sed index b329ac3845f..ff0a7e65328 100644 --- a/Master/texmf-dist/doc/latex/typog/teximan2latex.sed +++ b/Master/texmf-dist/doc/latex/typog/teximan2latex.sed @@ -10,35 +10,49 @@ /@menu/,/@end menu/d ## Convert sectioning macros to our own hierarchy. -s/^@chapter \(.*\)$/\\subsection*{\\textls[40]{\1}}/ -s/^@section \(.*\)$/\\subsubsection*{\1}/ +s/^@chapter \(.*\)$/\\subsection{\\titlecase{\1}\\label{\1}}/ +s/^@section \(.*\)$/\\subsubsection{\\titlecase{\1}}\\label{\1}/ ## Make `@asis' list resemble the Texinfo format. s/@table @asis/\\begin{list}{}{\\itemindent=-20pt\\leftmargin=20pt}/ s/@end table/\\end{list}/ +## We substitute our maxipage environment for @display. +s/@display/\\begin{maxipage}/ +s/@end display/\\end{maxipage}/ + +## Translate `@example' environments. +s/@example/\\begin{quote}\\tt\\obeylines/ +s/@end example/\\end{quote}\n\n/ + ## Indenting by four spaces generates a `verbatim' environment. s/@verbatim/\\begin{verbatim}/ s/@end verbatim/\\end{verbatim}/ -## We substitute @display for our maxipage environment. -s/@display/\\begin{maxipage}/ -s/@end display/\\end{maxipage}/ - ## The argument format of the URL macro is different. s/@url{\([^,]*\), \([^}]*\)}/\\href{\1}{\2}/g ## Use our own markup. s/\.\.\./\\dots{}/g s/LaTeX/\\LaTeX{}/g -s/@file/\\textit/g +s/@file/\\emph/g s/@strong/\\textbf/g +s/@var/\\emph/g s/[w]{/mbox{/g +## Translate some Texinfo macros. +s/@backslashchar/\\char`\\\\/g +s/@lbracechar/\\{/g +s/@noindent/\\noindent/g +s/@rbracechar/\\}/g + ## Quote some special characters. s/%/\\%/g s/_/\\_/g +## Add space around alternative-indicators. +s/[|]/\\,|\\,/g + ## Adapt to how a man-page is typeset. ## En-dashes in front of long options really suck! s/--/-\\nolig*-/g @@ -52,4 +66,4 @@ s/@@/@/g s/\\jobname/\\textbackslash jobname/g ## Make qualified Perl names breakable. -s/::/::\\discretionary{}{}{}/g +s/::/::\\breakpoint*/g diff --git a/Master/texmf-dist/doc/latex/typog/title.mp b/Master/texmf-dist/doc/latex/typog/title.mp index 2fd74e91f9d..21e47883ee5 100644 --- a/Master/texmf-dist/doc/latex/typog/title.mp +++ b/Master/texmf-dist/doc/latex/typog/title.mp @@ -11,11 +11,11 @@ %% Copyright (C) 2024 by Ch. L. Spiel %% %% This work may be distributed and/or modified under the conditions -%% of the LaTeX Project Public License, either version 1.3 of this +%% of the LaTeX Project Public License, either version 1.3c of this %% license or (at your option) any later version. 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 +%% https://www.latex-project.org/lppl.txt +%% and version 1.3c or later is part of all distributions of LaTeX %% version 2003/12/01 or later. %% %% This work has the LPPL maintenance status `maintained'. @@ -25,7 +25,9 @@ %% This work consists of the files typog.dtx and typog.ins %% and the derived files typog.sty, slant-angle.mp, %% crooked-paragraphs.mp, smooth-parshapes.mp, title.mp, -%% typog-example.tex, typog-nomt.tex, typog-grep.pl, +%% typog-example.tex, typog-minimal-test.tex, +%% typog-without-microtype-test.tex +%% typog-grep.pl.in, typog-grep.pl, %% typog-grep.pod, and teximan2latex.sed. %% %% diff --git a/Master/texmf-dist/doc/latex/typog/typog-example.pdf b/Master/texmf-dist/doc/latex/typog/typog-example.pdf Binary files differindex 621ac319d20..48a8a506e14 100644 --- a/Master/texmf-dist/doc/latex/typog/typog-example.pdf +++ b/Master/texmf-dist/doc/latex/typog/typog-example.pdf diff --git a/Master/texmf-dist/doc/latex/typog/typog-example.tex b/Master/texmf-dist/doc/latex/typog/typog-example.tex index af04d490094..470bd830723 100644 --- a/Master/texmf-dist/doc/latex/typog/typog-example.tex +++ b/Master/texmf-dist/doc/latex/typog/typog-example.tex @@ -11,11 +11,11 @@ %% Copyright (C) 2024 by Ch. L. Spiel %% %% This work may be distributed and/or modified under the conditions -%% of the LaTeX Project Public License, either version 1.3 of this +%% of the LaTeX Project Public License, either version 1.3c of this %% license or (at your option) any later version. 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 +%% https://www.latex-project.org/lppl.txt +%% and version 1.3c or later is part of all distributions of LaTeX %% version 2003/12/01 or later. %% %% This work has the LPPL maintenance status `maintained'. @@ -25,7 +25,9 @@ %% This work consists of the files typog.dtx and typog.ins %% and the derived files typog.sty, slant-angle.mp, %% crooked-paragraphs.mp, smooth-parshapes.mp, title.mp, -%% typog-example.tex, typog-nomt.tex, typog-grep.pl, +%% typog-example.tex, typog-minimal-test.tex, +%% typog-without-microtype-test.tex +%% typog-grep.pl.in, typog-grep.pl, %% typog-grep.pod, and teximan2latex.sed. %% %% @@ -42,10 +44,14 @@ \usepackage{fullwidth} \usepackage{hyphenat} \usepackage{mathtools} -\usepackage[activate=true, verbose=true]{microtype} +\usepackage[activate=true, verbose=false]{microtype} \usepackage{ragged2e} \usepackage[nobottomtitles*]{titlesec}\renewcommand*{\bottomtitlespace}{.2\textheight} -\usepackage[debug, trackingttspacing]{typog} +\usepackage{trace} +\usepackage[debug, + trackingttspacing, + uppercaselabelitemadjustments={0pt, .1em, .15em, .1em}, + lowercaselabelitemadjustments={-.0667em, 0pt, .1em, 0pt}]{typog} \usepackage{xcolor} \usepackage[loosest, proportional, scaled=1.064]{erewhon} @@ -55,49 +61,42 @@ \usepackage{setspace}\setstretch{1.08333} \def\xsfdefault{\relax} -{ - \def\examplefont{6} - - \ifcase\examplefont % 0 -- document's default sans-serif font (e.g., ecrm1000) - \gdef\examplefontname{default} - \global\let\xsf=\sf - \global\let\xsfdefault=\sfdefault - \or % 1 -- Nunito - \gdef\examplefontname{Nunito} - \usepackage{nunito} - \xdef\xsfdefault{\rmdefault} - \gdef\xsf{\let\sfdefault=\xsfdefault\sf} - \or % 2 -- OpenSans - \gdef\examplefontname{OpenSans} - \usepackage[defaultsans]{opensans} - \xdef\xsfdefault{\sfdefault} - \gdef\xsf{\let\sfdefault=\xsfdefault\sf} - \or % 3 -- Noto Sans - \gdef\examplefontname{OpenSans} - \usepackage[sfdefault]{noto} - \xdef\xsfdefault{\sfdefault} - \gdef\xsf{\let\sfdefault=\xsfdefault\sf} - \or % 4 -- Roboto - \gdef\examplefontname{Roboto} - \usepackage[sfdefault]{roboto} - \xdef\xsfdefault{\sfdefault} - \gdef\xsf{\let\sfdefault=\xsfdefault\sf} - \or % 5 -- Montserrat - \gdef\examplefontname{Montserrat Alternate} - \usepackage[alternates]{montserrat} - \xdef\xsfdefault{\sfdefault} - \gdef\xsf{\let\sfdefault=\xsfdefault\sf} - \or % 6 -- Inter - \gdef\examplefontname{Inter} - \usepackage[sfdefault]{inter} - \xdef\xsfdefault{\sfdefault} - \gdef\xsf{\let\sfdefault=\xsfdefault\sf} - \else - \SelectedUnknownExampleFont - \fi - \typeout{typog-example: font for examples: `\xsfdefault'}% -} +\def\examplefont{6} + +\ifcase\examplefont % 0 -- document's default sans-serif font (e.g., ecrm1000) + \def\examplefontname{default} + \let\xsf=\sf + \let\xsfdefault=\sfdefault +\or % 1 -- Nunito + \def\examplefontname{Nunito} + \def\xsfdefault{Nunito-TOsF} + \def\xsf{\let\sfdefault=\xsfdefault\sf} +\or % 2 -- OpenSans + \def\examplefontname{OpenSans} + \def\xsfdefault{opensans-TLF} + \def\xsf{\let\sfdefault=\xsfdefault\sf} +\or % 3 -- Noto Sans + \def\examplefontname{Noto Sans} + \def\xsfdefault{NotoSans-TLF} + \def\xsf{\let\sfdefault=\xsfdefault\sf} +\or % 4 -- Roboto + \def\examplefontname{Roboto} + \def\xsfdefault{Roboto-LF} + \def\xsf{\let\sfdefault=\xsfdefault\sf} +\or % 5 -- Montserrat + \def\examplefontname{Montserrat Alternates} + \def\xsfdefault{MontserratAlternates-LF} + \def\xsf{\let\sfdefault=\xsfdefault\sf} +\or % 6 -- Inter + \def\examplefontname{Inter} + \def\xsfdefault{Inter-LF} + \def\xsf{\let\sfdefault=\xsfdefault\sf} +\else + \SelectedUnknownExampleFont +\fi + +\typeout{typog-example: font for examples: `\xsfdefault'}% \usepackage{hyperref} \usepackage{cleveref} @@ -204,7 +203,6 @@ concentrate all the badness in one place, making one truly unsightly line instead of two moderately bad ones, because a single ``write-off'' produces fewest total demerits according to the rules.} - %There is a much better way to get the desired effect:~[\dots] \newcommand*{\texbooktolerancesamplecredits} {\medskip\noindent \textsl{The sample text was taken from The~\TeX{}book~\cite[p.~107]{knuth:1986}.}} @@ -212,7 +210,7 @@ \newcommand*{\texbookparfillskipsample} {We still haven't discussed the special trick that allows the final line of a paragraph to be shorter than the others. Just before \TeX{} begins to choose breakpoints, - it does two important things: [\dots]} + it does two important things: [\dots\itcorr{-4}]} \newcommand*{\texbooklongparfillskipsample} {We still haven't discussed the special trick that allows the final line of a paragraph to be shorter than the others. Just before \TeX{} begins to choose breakpoints, @@ -220,7 +218,7 @@ that glue is discarded. (The reason is that a blank space often gets into a token list just before \code{\char92par} or just before \code{\char36\char36}, and this blank space should not be part of the paragraph.) (2)~Three or more items are put at the end of the - current horizontal list~[\dots]} + current horizontal list~[\dots\itcorr{-4}]} \newcommand*{\texbookparfillskipsamplecredits} {\medskip\noindent \textsl{The sample text was taken from The~\TeX{}book~\cite[p.~99n]{knuth:1986}.}} @@ -271,7 +269,7 @@ The font used in this example is \exfontnameinfo, \exfontsizeinfo*.} \setcounter{tocdepth}{1} -\setlength{\overfullrule}{3pt} +\setlength{\overfullrule}{0pt} \hbadness=-1 \input{ushyphex} @@ -383,7 +381,74 @@ in the official documentation of package~\packagename{typog}. \noindent Unless otherwise noted the font used in the examples is \singlequotes{\examplefontname}. -\bigskip +\section{Setup and Reconfiguration} + +\noindent +\code{\char`\\ typogget} + +\begin{list}{}{} + \newcommand*{\expandsto}{$\mathbin{\mapsto}$} +\item \code{breakpenalty} \expandsto{} \the\typogget{breakpenalty} +\item \code{ligaturekern} \expandsto{} \milliem{\typogget{ligaturekern}} +\item \code{lowercaselabelitemadjustments} \expandsto{} \typogget{lowercaselabelitemadjustments} +\item \code{mathitalicscorrection} \expandsto{} \the\typogget{mathitalicscorrection} +\item \code{raisecapitaldash} \expandsto{} \the\typogget{raisecapitaldash} +\item \code{raisecapitalguillemets} \expandsto{} \the\typogget{raisecapitalguillemets} +\item \code{raisecapitalhyphen} \expandsto{} \the\typogget{raisecapitalhyphen} +\item \code{raisecapitaltimes} \expandsto{} \the\typogget{raisecapitaltimes} +\item \code{raisefiguredash} \expandsto{} \the\typogget{raisefiguredash} +\item \code{raiseguillemets} \expandsto{} \the\typogget{raiseguillemets} +\item \code{shrinklimits} \expandsto{} \typogget{shrinklimits} +\item \code{slashkern} \expandsto{} \the\typogget{slashkern} +\item \code{stretchlimits} \expandsto{} \typogget{stretchlimits} +\item \code{textitalicscorrection} \expandsto{} \the\typogget{textitalicscorrection} +\item \code{trackingttspacing} \expandsto{} \typogget{trackingttspacing} +\item \code{uppercaselabelitemadjustments} \expandsto{} \typogget{uppercaselabelitemadjustments} +\end{list} + +\begingroup + \dimen0=\typogget{raisecapitaldash}% + \setbox0=\hbox to \typogget{ligaturekern} {}% +\endgroup + +\noindent +\code{\char`\\ typoggetnth} + +\begin{list}{}{} +\item + Elements of \code{lowercaselabelitemadjustments}: + (1)~\typoggetnth{\dimen0}{lowercaselabelitemadjustments}{1}\the\dimen0, + (2)~\typoggetnth{\dimen0}{lowercaselabelitemadjustments}{2}\the\dimen0, + (3)~\typoggetnth{\dimen0}{lowercaselabelitemadjustments}{3}\the\dimen0, and + (4)~\typoggetnth{\dimen0}{lowercaselabelitemadjustments}{4}\the\dimen0. + + Same elements now accessed from the right-hand-side, i.\,e.~with negative indices: + (\textminus4)~\typoggetnth{nth}{lowercaselabelitemadjustments}{-4}\nth, + (\textminus3)~\typoggetnth{nth}{lowercaselabelitemadjustments}{-3}\nth, + (\textminus2)~\typoggetnth{nth}{lowercaselabelitemadjustments}{-2}\nth, and + (\textminus1)~\typoggetnth{nth}{lowercaselabelitemadjustments}{-1}\nth. + +\item Elements of \code{shrinklimits}: + (1)~\typoggetnth{nth}{shrinklimits}{1}\nth, + (2)~\typoggetnth{nth}{shrinklimits}{2}\nth, and + (3)~\typoggetnth{nth}{shrinklimits}{3}\nth. + +\item Elements of \code{stretchlimits}: + (1)~\typoggetnth{nth}{stretchlimits}{1}\nth, + (2)~\typoggetnth{nth}{stretchlimits}{2}\nth, and + (3)~\typoggetnth{nth}{stretchlimits}{3}\nth. + +\item Elements of \code{trackingttspacing}: + (1)~\typoggetnth{nth}{trackingttspacing}{1}\nth, + (2)~\typoggetnth{nth}{trackingttspacing}{2}\nth, and + (3)~\typoggetnth{nth}{trackingttspacing}{3}\nth. + +\item Elements of \code{uppercaselabelitemadjustments}: + (1)~\typoggetnth{\dimen0}{uppercaselabelitemadjustments}{1}\the\dimen0, + (2)~\typoggetnth{\dimen0}{uppercaselabelitemadjustments}{2}\the\dimen0, + (3)~\typoggetnth{\dimen0}{uppercaselabelitemadjustments}{3}\the\dimen0, and + (4)~\typoggetnth{\dimen0}{uppercaselabelitemadjustments}{4}\the\dimen0. +\end{list} \section{Information} @@ -864,6 +929,81 @@ We again compare the default implementation with the adjusted one. \parbox[t]{0pt}{\FrenchdoublequotesFR{\samplestring}} \end{quote} +\section{Label Items} + +The current configurations for the uppercase and lowercase adjustments are +\{\typogget{uppercaselabelitemadjustments}\} and \{\typogget{lowercaselabelitemadjustments}\}, +respectively. + +\begin{center} + \makeatletter + \noindent + A\raisebox{\typog@adjust@uppercase@labelitemi}{\labelitemi}% + B\raisebox{\typog@adjust@uppercase@labelitemii}{\labelitemii}% + E\raisebox{\typog@adjust@uppercase@labelitemiii}{\labelitemiii}% + G\raisebox{\typog@adjust@uppercase@labelitemiv}{\labelitemiv}H \\ + a\raisebox{\typog@adjust@lowercase@labelitemi}{\labelitemi}% + b\raisebox{\typog@adjust@lowercase@labelitemii}{\labelitemii}% + c\raisebox{\typog@adjust@lowercase@labelitemiii}{\labelitemiii}% + e\raisebox{\typog@adjust@lowercase@labelitemiv}{\labelitemiv}g + \makeatother +\end{center} + +For the following nested lists we adjust levels one and three for uppercase and levels two and +four for lowercase. + +\begingroup + \uppercaseadjustlabelitems{1,3} + \lowercaseadjustlabelitems{2,4} + \setlength{\itemsep}{0pt} + \setlength{\parsep}{0pt} + \setlength{\topsep}{0pt} + \begin{itemize} + \item A + \item B + \item C + \begin{itemize} + \item d + \item e + \item f + \begin{itemize} + \item G + \item H + \item I + \begin{itemize} + \item j + \item k + \item l + \end{itemize} + \end{itemize} + \end{itemize} + \end{itemize} +\endgroup +\noadjustlabelitems{*}% not necessary, but we want to exercise the macro + +The left example shows the result of \code{\string\typogadjuststairs\{.25pt\}\{11\}\{ABC\}} and +the one on the right hand side just uses the same parameters except for the sample~\sample{ace}, +this is, only lowercase letters. + +\begin{center} + \begin{minipage}[t]{12em} + \centering + \typogadjuststairs{.25pt}{11}{ABC} + \end{minipage} + \begin{minipage}[t]{12em} + \centering + \typogadjuststairs{.25pt}{11}{ace} + \end{minipage} +\end{center} + +For this document the calls +\code{\string\typoguppercaseadjustcheck\{ABC\-DEF\-GHI\-JKL\-MNO\-PQR\-STU\-VWX\-YZ\}} and +\code{\string\typoglowercaseadjustcheck\{ace\-gmn\-opq\-rsu\-vwx\-yz\}} yield +\sample{\typoguppercaseadjustcheck{ABCDEFGHIJKLMNOPQRSTUVWXYZ}} and +\sample{\typoglowercaseadjustcheck{acegmnopqrsuvwxyz}}, where the adjustments in effect are +\code{\{\typogget{uppercaselabelitemadjustments}\}} and +\code{\{\typogget{lowercaselabelitemadjustments}\}}, respectively. + \clearpage \section{Align Last Line} @@ -1085,7 +1225,7 @@ consult \propername{David Carlisle's} excellent post on \propername{StackExchang \begin{center} \setlength{\overfullrule}{0pt} - \newcommand*{\spacesampletext}[1]{some#1text#1with#1spaces\rule{0.1pt}{1em}} + \newcommand*{\spacesampletext}[1]{some#1text#1with#1spaces\rule{.1pt}{1em}} \newsavebox{\narrowspacesample} \sbox{\narrowspacesample}{\spacesampletext{\narrowspace}} \newsavebox{\widespacesample} @@ -1488,7 +1628,7 @@ New settings: \baselinesetsize. \newcommand*{\relbls}{130} \paragraph{\code{\string\setbaselineskippercentage\{\relbls\}}} -\setbaselineskippercentage{1 + 2 + .3333 * 100 + 100 * 0.6667}% float expression +\setbaselineskippercentage{1 + 2 + .3333 * 100 + 100 * .6667}% float expression \setbaselineskippercentage{\relbls} \fontsizeinfo{baselinesetsize} New settings: \baselinesetsize. diff --git a/Master/texmf-dist/doc/latex/typog/typog-grep.1.pdf b/Master/texmf-dist/doc/latex/typog/typog-grep.1.pdf Binary files differindex 09647860d5d..9a430085081 100644 --- a/Master/texmf-dist/doc/latex/typog/typog-grep.1.pdf +++ b/Master/texmf-dist/doc/latex/typog/typog-grep.1.pdf diff --git a/Master/texmf-dist/doc/latex/typog/typog-grep.pl.in b/Master/texmf-dist/doc/latex/typog/typog-grep.pl.in new file mode 100644 index 00000000000..39d64aec1ae --- /dev/null +++ b/Master/texmf-dist/doc/latex/typog/typog-grep.pl.in @@ -0,0 +1,682 @@ +#! /usr/bin/env perl + +use autodie qw(:all); +use strict; +use warnings; + +use Data::Dumper (); +use Encode (); +use English; +use File::Basename (); +use Getopt::Long; +use IO::File; +use IO::Handle; +use Term::ANSIColor (); + +use constant COMMAND_NAME => File::Basename::basename($PROGRAM_NAME); + +my $DEBUG = 0; +my $MATCH_COUNT = 0; +my $OUTPUT_IS_REDIRECTED; + +sub fail_with_error { + print STDERR join('', COMMAND_NAME, ': ', @_, "\n"); + exit 2; +} + +sub issue_warning { + print STDERR join('', COMMAND_NAME, ': warning: ', @_, "\n"); +} + +sub debug_print { + return unless $DEBUG; + print STDERR "+ @_\n"; +} + +sub quote_filesystem {qq("$_[0]")} +sub quote_literal {qq(`$_[0]')} + +sub limit_string_length { + my ($a_string, $a_maximum_length) = @_; + + if (length $a_string <= $a_maximum_length) { + $a_string; + } else { + substr($a_string, 0, $a_maximum_length - 3) . '...'; + } +} + +## We set all colors to `undef' and fill them later with the values +## of the actual configuration. +my $highlight_patterns = { + PARTIAL_LINE => { + FONT_SPEC => [qr# + \\ + (?: OMS | OMX | OT1 | T1 | TS1 | U ) + (?: /[^/]+ ){5} / \S+ \s + (?: \([+-]\d+\) )? + #x, undef], + MATH => [qr# + \$ + \\ + (?: LMS | OML ) + (?: /[^/]+ ){5} / \S+ \s + (?: \([+-]\d+\) )? + .*? + \$ + #x, undef] + }, + WHOLE_LINE => { + FILL_STATE => [qr#^(?:Under|Over)full \\hbox .*$#, undef], + FIRST_VBOX => [qr#^%%#, undef], + HORIZONTAL_BREAKPOINT => [qr#^@@\d+:.*$#, undef], + HORIZONTAL_BREAK_CANDIDATE => [qr#^@[\\ ].*$#, undef], + LINE_BREAK_PASS => [qr#^@[a-z]+?pass#, undef], + TIGHTNESS => [qr#^(?:Loose|Tight) \\hbox .*$#, undef], + VERTICAL_BREAKPOINT => [qr#^% t=\d+.*$#, undef] + } +}; + +sub colorize_line { + my ($configuration, $line) = @_; + + foreach my $pattern_color_pair (values %{$highlight_patterns->{WHOLE_LINE}}) { + next unless $pattern_color_pair->[1]; + return Term::ANSIColor::colored($line, $pattern_color_pair->[1]) + if $line =~ $pattern_color_pair->[0]; + } + return $line if $line =~ m#^\.#; # we do not paint box contents yet + + $line =~ s#$highlight_patterns->{PARTIAL_LINE}->{MATH}->[0] + #Term::ANSIColor::colored($MATCH, $highlight_patterns->{PARTIAL_LINE}->{MATH}->[1]) + #egx; + + $line =~ s#$highlight_patterns->{PARTIAL_LINE}->{FONT_SPEC}->[0] + #Term::ANSIColor::colored($MATCH, $highlight_patterns->{PARTIAL_LINE}->{FONT_SPEC}->[1]) + #egx; + + return $line; +} + +my $open_or_close_tag_regexp = qr#^</?typog-inspect[ >]#; # somewhat sloppy definition +my $close_tag_regexp = qr#^</typog-inspect>#; +my $open_tag_regexp = + qr#^ + <typog-inspect \s+ + id="(?<id_match> .*?)" \s+ + job="(?<job_match> .*?)" \s+ + line="(?<line_match> .*?)" \s+ + page="(?<page_match> .*?)" + >#x; + +sub find_encoder { + my $encoding = shift; + + my $encoder; + + if ($encoding) { + $encoder = Encode::find_encoding($encoding); + if (!$encoder) { + issue_warning("encoding @{[quote_literal($encoding)]} unknown; proceeding without decoder"); + } + } + + return $encoder; +} + +sub grep_log_file { + my ($options, $configuration, $file, $filename, $id_regexp) = @_; + + my $encoder = find_encoder($options->{ENCODING}); + my $job_name; + my $line_number = 0; # line number in the log file we are inspecting, i.e., $filename + my $match_count = 0; + my $source_line_number; # line number in TeX file the log refers to, i.e., "$job_name.tex" + my $page_number; + my $regexp_modifier = $options->{IGNORE_CASE} ? 'i' : ''; + my $id_value; + my @nesting_levels; + + if ($options->{WORD_REGEXP}) { + $id_regexp = "\\b$id_regexp\\b"; + } + + while (my $line = readline $file) { + chomp $line; + $line_number++; + + $line = Encode::encode_utf8($encoder->decode($line, Encode::FB_CROAK)) if $encoder; + + if ($line =~ $close_tag_regexp) { + fail_with_error("$filename: $line_number: mismatched open/close tags") unless @nesting_levels; + pop @nesting_levels; + } + + if (@nesting_levels and $nesting_levels[-1] and $line !~ $open_or_close_tag_regexp) { + if ($options->{LOG_LINE_NUMBER}) { + my $formatted_log_line_number = + sprintf $configuration->{LOG_LINE_NUMBER_FORMAT}, $line_number; + if ($options->{COLORIZE_OUTPUT}) { + $formatted_log_line_number = + Term::ANSIColor::colored($formatted_log_line_number, + $configuration->{COLORS}->{LOG_LINE_NUMBER}); + } + print $formatted_log_line_number, ' '; + } + + print "$job_name: " if $options->{JOB_NAME}; + + if ($options->{LINE_NUMBER}) { + my $formatted_line_number = sprintf $configuration->{LINE_NUMBER_FORMAT}, $source_line_number; + if ($options->{COLORIZE_OUTPUT}) { + $formatted_line_number = + Term::ANSIColor::colored($formatted_line_number, + $configuration->{COLORS}->{LINE_NUMBER}); + } + print $formatted_line_number, ' '; + } + + if ($options->{PAGE_NUMBER}) { + my $formatted_page_number = sprintf $configuration->{PAGE_NUMBER_FORMAT}, $page_number; + if ($options->{COLORIZE_OUTPUT}) { + $formatted_page_number = + Term::ANSIColor::colored($formatted_page_number, + $configuration->{COLORS}->{PAGE_NUMBER}); + } + print $formatted_page_number, ' '; + } + + if ($options->{ID} and not $configuration->{PRINT_ID_AS_HEADING}) { + my $formatted_id = sprintf $configuration->{ID_INLINE_FORMAT}, $id_value; + if ($options->{COLORIZE_OUTPUT}) { + $formatted_id = Term::ANSIColor::colored($formatted_id , + $configuration->{COLORS}->{ID_COLOR}); + } + print $formatted_id, ' '; + } + + if ($options->{COLORIZE_OUTPUT}) { + print colorize_line($configuration, $line); + } else { + print $line; + } + print "\n"; + } + + if ($line =~ $open_tag_regexp) { + $id_value = limit_string_length($+{id_match}, $configuration->{ID_MAX_LENGTH}); + $job_name = $+{job_match}; + $source_line_number = $+{line_match}; + $page_number = $+{page_match}; + + my $found_matching_id = ($id_value =~ m/(?$regexp_modifier)$id_regexp/) ? 1 : 0; + push @nesting_levels, $found_matching_id; + if ($found_matching_id) { + ++$MATCH_COUNT; # global count -- needed for return code of program + ++$match_count; # per file count -- needed to be able to separate the hunks + + print "\n" if $match_count >= 2; + if ($options->{ID} and $configuration->{PRINT_ID_AS_HEADING}) { + my $formatted_id = sprintf $configuration->{ID_HEADING_FORMAT}, $id_value; + if ($options->{COLORIZE_OUTPUT}) { + $formatted_id = + Term::ANSIColor::colored($formatted_id, + $configuration->{COLORS}->{ID_HEADING_COLOR}); + } + print $formatted_id, "\n"; + } + } + } + } + + return $match_count; +} + +sub show_ids_in_file { + my ($options, $configuration, $file, $filename, $id_regexp) = @_; + + my $encoder = find_encoder($options->{ENCODING}); + my $line_number = 0; + my $match_count = 0; + my @nesting_levels; + + while (my $line = readline $file) { + chomp $line; + $line_number++; + + $line = Encode::encode_utf8($encoder->decode($line, Encode::FB_CROAK)) if $encoder; + + if ($line =~ $close_tag_regexp) { + fail_with_error("$filename: $line_number: mismatched open/close tags") unless @nesting_levels; + pop @nesting_levels; + } + + if ($line =~ $open_tag_regexp) { + my $id_value = limit_string_length($+{id_match}, $configuration->{ID_MAX_LENGTH}); + my $job_name = $+{job_match}; + my $source_line_number = $+{line_match}; + my $page_number = $+{page_match}; + + ++$MATCH_COUNT; + ++$match_count; + push @nesting_levels, 1; + + if ($options->{LOG_LINE_NUMBER}) { + my $formatted_log_line_number = + sprintf $configuration->{LOG_LINE_NUMBER_FORMAT}, $line_number; + if ($options->{COLORIZE_OUTPUT}) { + $formatted_log_line_number = + Term::ANSIColor::colored($formatted_log_line_number, + $configuration->{COLORS}->{LOG_LINE_NUMBER}); + } + print $formatted_log_line_number, ' '; + } + + print "$job_name: " if $options->{JOB_NAME}; + + if ($options->{LINE_NUMBER}) { + my $formatted_line_number = sprintf $configuration->{LINE_NUMBER_FORMAT}, $source_line_number; + if ($options->{COLORIZE_OUTPUT}) { + $formatted_line_number = + Term::ANSIColor::colored($formatted_line_number, + $configuration->{COLORS}->{LINE_NUMBER}); + } + print $formatted_line_number, ' '; + } + + if ($options->{PAGE_NUMBER}) { + my $formatted_page_number = sprintf $configuration->{PAGE_NUMBER_FORMAT}, $page_number; + if ($options->{COLORIZE_OUTPUT}) { + $formatted_page_number = + Term::ANSIColor::colored($formatted_page_number, + $configuration->{COLORS}->{PAGE_NUMBER}); + } + print $formatted_page_number, ' '; + } + + my $indent = $configuration->{ID_INDENT} * (@nesting_levels - 1); + print ' ' x $indent, $id_value, "\n"; + } + } + + return $match_count; +} + +sub open_file_for_reading { + my $filename = shift; + + my $file; + + if ($filename eq 'stdin') { + $file = IO::Handle->new(); + $file->fdopen(fileno(STDIN), 'r') or + fail_with_error("cannot open stdin: $OS_ERROR"); + } else { + $file = IO::File->new($filename, 'r') or + fail_with_error("cannot open @{[quote_filesystem($filename)]}: $OS_ERROR"); + } + + return $file; +} + +sub close_file { + my ($file, $filename) = shift; + + $file->close or + issue_warning("problems while closing @{[quote_filesystem($filename)]}: $OS_ERROR"); +} + +sub grep_or_show { + my ($options, $configuration, $file, $filename, $id_regexp) = @_; + + if ($options->{SHOW_ALL_IDS}) { + return show_ids_in_file($options, $configuration, $file, $filename, $id_regexp); + } else { + return grep_log_file($options, $configuration, $file, $filename, $id_regexp); + } +} + +sub scan_files { + my ($options, $configuration, $id_regexp, $log_filenames) = @_; + + my $match_count = 0; + + if (@$log_filenames) { + foreach my $log_filename (@$log_filenames) { + $log_filename = 'stdin' if $log_filename eq '-'; + if (@$log_filenames >= 2) { + print "\n" unless $log_filename eq $log_filenames->[0]; + my $filename_header = "==> $log_filename <==\n"; + $filename_header = Term::ANSIColor::colored($filename_header, + $configuration->{COLORS}->{FILE_HEADER}) + if $options->{COLORIZE_OUTPUT}; + print $filename_header; + } + my $file = open_file_for_reading($log_filename); + $match_count += grep_or_show($options, $configuration, $file, $log_filename, $id_regexp); + close_file($file, $log_filename); + } + } else { + my $log_filename = 'stdin'; + my $file = open_file_for_reading($log_filename); + $match_count = grep_or_show($options, $configuration, $file, $log_filename, $id_regexp); + close_file($file, $log_filename); + } + + return $match_count; +} + +sub redirect_and_scan_files { + my ($options, $configuration, $id_regexp, $log_filenames) = @_; + + my $pager; + + my $pid = open($pager, '|-', $configuration->{PAGER}, $configuration->{PAGER_FLAGS}); + fail_with_error('failed to redirect to pager ', quote_literal($configuration->{PAGER}), + ' with flags ', quote_literal($configuration->{PAGER_FLAGS}), + ": $OS_ERROR") + unless defined $pid; + my $stdout = select $pager; + + $pager->autoflush; + my $match_count = scan_files($options, $configuration, $id_regexp, $log_filenames); + + close $pager or issue_warning "error occurred while closing the pager (pid: $pid) pipe: $OS_ERROR"; + select $stdout; + + return $match_count; +} + +######################################################################## + +my $configuration_key_map = { + 'id-format' => 'ID_INLINE_FORMAT', + 'id-indent' => 'ID_INDENT', + 'id-heading' => 'PRINT_ID_AS_HEADING', + 'id-heading-format' => 'ID_HEADING_FORMAT', + 'id-max-length' => 'ID_MAX_LENGTH', + 'line-number-format' => 'LINE_NUMBER_FORMAT', + 'log-line-number-format' => 'LOG_LINE_NUMBER_FORMAT', + 'page-number-format' => 'PAGE_NUMBER_FORMAT', + + 'file-header-color' => 'FILE_HEADER', + 'fill-state-color' => 'FILL_STATE', + 'first-vbox-color' => 'FIRST_VBOX', + 'font-spec-color' => 'FONT_SPEC', + 'horizontal-break-candidate-color' => 'HORIZONTAL_BREAK_CANDIDATE', + 'horizontal-breakpoint-color' => 'HORIZONTAL_BREAKPOINT', + 'id-color' => 'ID_COLOR', + 'id-heading-color' => 'ID_HEADING_COLOR', + 'line-break-pass-color' => 'LINE_BREAK_PASS', + 'line-number-color' => 'LINE_NUMBER', + 'log-line-number-color' => 'LOG_LINE_NUMBER', + 'math-color' => 'MATH', + 'page-number-color' => 'PAGE_NUMBER', + 'pager' => 'PAGER', + 'pager-flags' => 'PAGER_FLAGS', + 'tightness-color' => 'TIGHTNESS', + 'vertical-breakpoint-color' => 'VERTICAL_BREAKPOINT' +}; + +my $default_configuration = { + COLORS => { + FILE_HEADER => 'bold black', + FILL_STATE => 'bold magenta', + FIRST_VBOX => 'bold red', + FONT_SPEC => 'grey12', + HORIZONTAL_BREAKPOINT => 'bold green', + HORIZONTAL_BREAK_CANDIDATE => 'blue', + ID_COLOR => 'white on_black', + ID_HEADING_COLOR => 'white on_black', + LINE_BREAK_PASS => 'bold green', + LINE_NUMBER => 'bold black', + LOG_LINE_NUMBER => 'italic black', + MATH => 'yellow', + PAGE_NUMBER => 'bold white on_red', + TIGHTNESS => 'bold cyan', + VERTICAL_BREAKPOINT => 'red' + }, + ID_INLINE_FORMAT => '%s:', + ID_HEADING_FORMAT => '--> %s <--', + ID_INDENT => 8, + ID_MAX_LENGTH => 40, + LINE_NUMBER_FORMAT => '%5d', + LOG_LINE_NUMBER_FORMAT => '%6d', + PAGE_NUMBER_FORMAT => '[%3d]', + PAGER => 'less', + PAGER_FLAGS => '--quit-if-one-screen', + PRINT_ID_AS_HEADING => 0 +}; + +sub initialize_highlighting_from_configuration { + my $configuration = shift; + + while (my (undef, $assoc) = each %$highlight_patterns) { + while (my ($name, $pattern_color_pair) = each %$assoc) { + $pattern_color_pair->[1] = $configuration->{COLORS}->{$name}; + } + } +} + +sub modify_configuration { + my ($configuration, $key, $value) = @_; + + fail_with_error('malformed KEY=VALUE pair -- missing key') unless $key; + + if (defined $configuration_key_map->{$key}) { + if ($key =~ m/-color$/) { + $configuration->{COLORS}->{$configuration_key_map->{$key}} = $value; + } else { + $configuration->{$configuration_key_map->{$key}} = $value; + } + } else { + fail_with_error("@{[quote_literal($key)]} is not a valid configuration KEY"); + } +} + +sub setup_configuation { + my ($config_spec, $configuration) = @_; + + foreach my $spec (split ':', $config_spec) { + my ($key, $value) = split '=', $spec; + modify_configuration($configuration, $key, $value); + } +} + +my $default_options = { + COLORIZE_MODE => 'auto', + DEBUG => 0, + ENCODING => undef, + ID => 0, + IGNORE_CASE => 0, + JOB_NAME => 0, + LINE_NUMBER => 0, + LOG_LINE_NUMBER => 0, + PAGE_NUMBER => 0, + REQUEST_PAGER => 1, + WORD_REGEXP => 0 +}; + +sub show_help { + print <<HELP_TEXT; +Usage: @{[COMMAND_NAME]} [OPTION] ID-REGEXP LOG-FILE... +Structured grep for typog-inspect elements that match ID-REGEXP in LOG-FILE. + +Options + --color [WHEN], + --colour [WHEN] use color to highlight specific log contents + WHEN is 'always', 'never', or 'auto' + -C, --config KEY=VALUE set configuration KEY to VALUE + -E, --encoding ENCODING set character ENCODING of LOG-FILE + -i, --[no-]id print matching id with output lines + -y, --[no-]ignore-case ignore case distinctions in patterns and data + -j, --[no-]job-name print \\jobname with output lines + -n, --[no-]line-number print TeX-source line number with output lines + -N, --[no-]log-line-number print log-file line number with output lines + -p, --[no-]page-number print page number with output lines + -P, --[no-]pager redirect output to pager + -w, --[no-]word-regexp match only whole words + + -a, --all, --any discover all IDs in LOG-FILE + + --debug turn on debug output + -h, --help display this help and exit + --show-config show default configuration and exit + --show-encodings show all known encodings and exit + -V, --version show version information and exit + +HELP_TEXT + + exit 0; +} + +sub show_encodings { + my @all_encodings = Encode->encodings(':all'); + + foreach my $encoding (@all_encodings) { + print "$encoding\n"; + } + + exit 0; +} + +sub show_configuration { + my $format_string_value = sub {quote_literal($default_configuration->{$_[0]})}; + + print <<FIXED_CONFIGURATION_TEXT; +Configuration +Key Default Value +------------------------------------ ------------- +id-format @{[$format_string_value->('ID_INLINE_FORMAT')]} +id-heading $default_configuration->{PRINT_ID_AS_HEADING} +id-heading-format @{[$format_string_value->('ID_HEADING_FORMAT')]} +id-indent $default_configuration->{ID_INDENT} +id-max-length $default_configuration->{ID_MAX_LENGTH} +line-number-format @{[$format_string_value->('LINE_NUMBER_FORMAT')]} +log-line-number-format @{[$format_string_value->('LOG_LINE_NUMBER_FORMAT')]} +page-number-format @{[$format_string_value->('PAGE_NUMBER_FORMAT')]} +pager @{[$format_string_value->('PAGER')]} +pager-flags @{[$format_string_value->('PAGER_FLAGS')]} + +FIXED_CONFIGURATION_TEXT + + foreach my $configuration_key (sort keys %$configuration_key_map) { + next unless $configuration_key =~ m/-color$/; + printf("%-36s %s\n", + $configuration_key, + quote_literal($default_configuration-> + {COLORS}-> + {$configuration_key_map->{$configuration_key}})); + } + + exit 0; +} + +sub show_version { + print <<VERSION_TEXT; +typog-grep @RELEASE@ + +Copyright (C) 2024 by Ch. L. Spiel +License LPPL: LaTeX Project Public License version 1.3c or later +VERSION_TEXT + + exit 0; +} + +sub get_options { + my ($options, $configuration) = @_; + + Getopt::Long::Configure('gnu_getopt', 'no_ignore_case'); + + Getopt::Long::GetOptions('a|all|any' => \$options->{SHOW_ALL_IDS}, + 'color|colour=s' => \$options->{COLORIZE_MODE}, + 'C|configuration=s' => sub{setup_configuation($_[1], $configuration)}, + 'debug+' => \$DEBUG, + 'E|encoding=s' => \$options->{ENCODING}, + 'h|help' => \&show_help, + 'i|id!' => \$options->{ID}, + 'y|ignore-case!' => \$options->{IGNORE_CASE}, + 'j|job-name!' => \$options->{JOB_NAME}, + 'n|line-number!' => \$options->{LINE_NUMBER}, + 'N|log-line-number!' => \$options->{LOG_LINE_NUMBER}, + 'p|page-number!' => \$options->{PAGE_NUMBER}, + 'P|pager!' => \$options->{REQUEST_PAGER}, + 'show-encodings' => \&show_encodings, + 'show-config' => \&show_configuration, + 'V|version' => \&show_version, + 'w|word-regexp!' => \$options->{WORD_REGEXP}) or + fail_with_error('problems while parsing options'); + + if ($options->{COLORIZE_MODE}) { + fail_with_error("unknown colorize mode @{[quote_literal($options->{COLORIZE_MODE})]}") + unless $options->{COLORIZE_MODE} =~ m/^(?:always|auto|never)$/i; + } else { + $options->{COLORIZE_MODE} = 'auto'; + } +} + +sub do_colorize { + my $colorize_mode = shift; + + if ($colorize_mode =~ m/never/i) { + 0; + } elsif ($colorize_mode =~ m/always/i) { + 1; + } elsif ($colorize_mode =~ m/auto/i) { + not $OUTPUT_IS_REDIRECTED; + } +} + +## For the comparison with the POSIX spec of grep(1) consult +## https://pubs.opengroup.org/onlinepubs/9699919799/utilities/grep.html + +sub main { + $OUTPUT_IS_REDIRECTED = -t STDOUT ? 0 : 1; + + my $configuration = {%$default_configuration}; + my $options = {%$default_options}; + debug_print(Data::Dumper::Dumper(['Default Configuration', $configuration])); + debug_print(Data::Dumper::Dumper(['Default Options', $options])); + + my $user_options = {}; + my $user_configuration = {}; + get_options($user_options, $user_configuration); + debug_print(Data::Dumper::Dumper(['User Configuration', $user_configuration])); + debug_print(Data::Dumper::Dumper(['User Options', $user_options])); + while (my ($key, $value) = each %$user_options) { + $options->{$key} = $value if $value; + } + while (my ($key, $value) = each %$user_configuration) { + $configuration->{$key} = $value if $value; + } + debug_print(Data::Dumper::Dumper(['Final Configuration', $configuration])); + debug_print(Data::Dumper::Dumper(['Final Options', $options])); + + $options->{COLORIZE_OUTPUT} = do_colorize($options->{COLORIZE_MODE}); + initialize_highlighting_from_configuration($configuration); + + my $id_regexp; + if ($options->{SHOW_ALL_IDS}) { + $id_regexp = '^'; + issue_warning("option @{[quote_literal('--id')]} ignored in @{[quote_literal('--all')]} mode") + if $options->{ID}; + } else { + fail_with_error('missing ID-REGEXP') unless @ARGV >= 1; + $id_regexp = shift @ARGV; + } + + if ($user_options->{REQUEST_PAGER} && $OUTPUT_IS_REDIRECTED) { + issue_warning("option @{[quote_literal('--pager')]} ignored because output is redirected"); + } + my $use_pager = $options->{REQUEST_PAGER} && !$OUTPUT_IS_REDIRECTED; + my $match_count; + if ($use_pager) { + $match_count = redirect_and_scan_files($options, $configuration, $id_regexp, \@ARGV); + } else { + $match_count = scan_files($options, $configuration, $id_regexp, \@ARGV); + } + + exit ($match_count == 0); +} + +main(); diff --git a/Master/texmf-dist/doc/latex/typog/typog-grep.pod b/Master/texmf-dist/doc/latex/typog/typog-grep.pod index 83f4f11f474..eba8297f807 100644 --- a/Master/texmf-dist/doc/latex/typog/typog-grep.pod +++ b/Master/texmf-dist/doc/latex/typog/typog-grep.pod @@ -7,7 +7,7 @@ =head1 NAME -typog-grep - grep for typog-inspect elements in LaTeX log files +typog-grep - specialized grep for typog-inspect elements in LaTeX log files =head1 SYNOPSIS @@ -19,9 +19,70 @@ typog-grep - grep for typog-inspect elements in LaTeX log files =back -The first form shows all C<E<lt>typog-inspect id="I<ID>" ...E<gt>> elements in F<LOG-FILE>. +The first form, ``discovery mode'', shows all I<ID>s of -The second form shows the contents of C<E<lt>typog-inspect id="I<ID>" ...E<gt>> elements +=begin text + +<typog-inspect id="ID" ...> + +=end text + +=begin man + +.RS +.EX +<typog-inspect id="\fI\,ID\/\fP" ...> +.EE +.RE + +=end man + +=begin texinfo + +@example +<typog-inspect id="@var{ID}" ...> +@end example +@noindent + +=end texinfo + +Z<> +elements in F<LOG-FILE>. + +The second form shows the contents, I<LOG-DATA>, of the elements + +=begin text + +<typog-inspect id="ID" ...> +LOG-DATA +</typog-inspect> + +=end text + +=begin man + +.RS +.EX +<typog-inspect id="\fI\,ID\/\fP" ...> +\fILOG-DATA\fP +</typog-inspect> +.EE +.RE + +=end man + +=begin texinfo + +@example +<typog-inspect id="@var{ID}" ...> +@var{LOG-DATA} +</typog-inspect> +@end example +@noindent + +=end texinfo + +Z<> whose I<ID>s match I<REGEXP> in F<LOG-FILE>. If no F<LOG-FILE> is given read from F<stdin>. @@ -29,57 +90,101 @@ The S<filename C<->> is synonymous to F<stdin>. =head1 DESCRIPTION -B<typog-grep> is a tailored post-processor for LaTeX log files -and the C<typoginspect> environment as provided by S<package typog>. +B<typog-grep> is a tailored post-processor for LaTeX S<F<log> files> +and the C<typoginspect> environment as provided by the S<LaTeX package typog>. It shares more with the venerable L<B<sgrep>|https://www.cs.helsinki.fi/u/jjaakkol/sgrep.html> than with S<POSIX L<B<grep>|https://pubs.opengroup.org/onlinepubs/9699919799/utilities/grep.html>>. -The LaTeX user brackets her text in +In the LaTeX source file the user brackets her text or code +in a C<typoginspect> environment: + +=begin text - \begin{typoginspect}{ID} - Text and code to investigate - \end{typoginspect} +\begin{typoginspect}{ID} + TEXT-OR-CODE-TO-INVESTIGATE +\end{typoginspect} + +=end text + +=begin man + +.RS +.EX +\ebegin{typoginspect}{\fI\,ID\/\fP} +\fITEXT-OR-CODE-TO-INVESTIGATE\fP +\eend{typoginspect} +.EE +.RE + +=end man +=begin texinfo + +@example +@backslashchar{}begin@lbracechar{}typoginspect@rbracechar{}@lbracechar{}@var{ID}@rbracechar{} +@var{TEXT-OR-CODE-TO-INVESTIGATE} +@backslashchar{}end@lbracechar{}typoginspect@rbracechar{} +@end example +@noindent + +=end texinfo + +Z<> where I<ID> is used to identify one or more bracketed snippets. I<ID> does not have to be unique. The I<REGEXP> mechanism makes it easy to select groups of related I<ID>s if they are named accordingly. -In F<LOG-FILE> the environment shows up, packed with tracing information, as +In F<LOG-FILE> the result of the environment shows up, +packed with tracing information, as -=begin texinfo +=begin text -@display -@relax +<typog-inspect id="ID" job="JOB-NAME" line="LINE-NUMBER" page="PAGE-NUMBER"> + LOG-DATA +</typog-inspect> -=end texinfo +=end text + +=begin man - <typog-inspect id="ID" job="JOB-NAME" line="LINE-NUMBER" page="PAGE-NUMBER"> - Trace Data - </typog-inspect> +.RS +.EX +<typog-inspect id="\fI\,ID\/\fP" job="\fI\,JOB-NAME\/\fP" line="\fI\,LINE-NUMBER\/\fP" page="\fI\,PAGE-NUMBER\/\fP"> +\fILOG-DATA\fP +</typog-inspect> +.EE +.RE + +=end man =begin texinfo -@end display -@relax +@example +<typog-inspect id="@var{ID}" job="@var{JOB-NAME}" line="@var{LINE-NUMBER}" page="@var{PAGE-NUMBER}"> +@var{LOG-DATA} +</typog-inspect> +@end example +@noindent =end texinfo +Z<> where all the capital-letter sequences are meta-variables and in particular I<JOB-NAME> is the expansion of C<\jobname>, I<LINE-NUMBER> is the LaTeX source file line number of the beginning of the C<typoginspect> environment, and I<PAGE-NUMBER> is the page where -the output of S<C<Text and code to investigate>> occurs. +the output of S<C<TEXT-OR-CODE-TO-INVESTIGATE>> occurs. B<typog-grep> reveals the contents of F<LOG-FILE> between C<E<lt>typog-inspect id="I<ID>" ...E<gt>> -and C<E<lt>/typog-inspectE<gt>> excluding the XML-tags. +and C<E<lt>/typog-inspectE<gt>> excluding the XML-tags themselves. Access the I<JOB-NAME>, I<LINE-NUMBER>, and I<PAGE-NUMBER> with the commandline options -B<--job-name>, B<--line-number>, and B<--page-number>, respectively. +B<--job-name>, B<--line-number>, and B<--page-number>, respectively. Use B<--id> to show the name of the IDs that matched I<REGEXP>. C<typoginspect> environments can be nested. @@ -96,11 +201,18 @@ The list of options is sorted by the names of the long options. =item B<-a>, B<--all>, B<--any> ID-discovery mode: -Show all C<typog-inspect> elements independent of any matching patterns. +Discover all C<typog-inspect> elements independent of any matching patterns +and print their I<ID>s. +The results are printed in their order of occurrence in the respective F<LOG-FILE>s. +Pipe the output into B<sort> to get alphabetically ordered I<ID>s. + +Augment with options +B<--job-name>, B<--line-number>, B<--log-line-number>, or S<B<--page-number>> +for more information. =item B<--color>, B<colour> I<WHEN> -Colorize specific log contents for the matching ids. +Colorize specific log contents for the matching I<ID>s. The S<argument I<WHEN>> determines when to apply color: C<always>, C<never>, S<or C<auto>>. The setting C<auto> checks whether standard output has been redirected. @@ -109,29 +221,45 @@ This is the default. =item B<-C>, B<--config> I<KEY>=I<VALUE>[:I<KEY>=I<VALUE>[:...]] Set one or more configuration I<KEY> to I<VALUE> pairs. -See S<Sec. CONFIGURATION> below for a description of all available configuration items. -Use option B<--show-config> to display the default configuration. +See section L</CONFIGURATION> for a description +of all available configuration items. +Use S<option B<--show-config>> to display the default configuration. =item B<--debug> Turn on debug output on F<stderr>. +=item B<-E>, B<--encoding> I<ENCODING> + +Set the I<ENCODING> of F<LOG-FILE> for the translation to UTF-8. +The default is unset. + +Use this option to get rid of pesky +S<"E<lt>I<HEX-DIGITS>E<gt>" escapes> on UTF-8 terminals. +See S<option B<--show-encodings>> for the known encodings and +Encode::Supported for a summary of all encodings. +See also S<section L</Some Common Encodings>>. + +Apply L<B<iconv>|https://pubs.opengroup.org/onlinepubs/9699919799/utilities/iconv.html> +(POSIX) or L<B<recode>|https://github.com/rrthomas/recode/> (GNU) on F<LOG-FILE> +before this tool to avoid having to use S<option B<--encoding>>. + =item B<-h>, B<--help> Display brief help then exit. =item B<-i>, B<--[no-]id> -Print the actual id name that matched I<REGEXP>. -Control the appearance of the matching id with configuration S<item C<id-heading>>. +Print the actual ID-name that matched I<REGEXP>. +Control the appearance of the matching I<ID> with configuration S<item C<id-heading>>. =item B<-y>, B<--[no-]ignore-case> -Match ids while ignoring case distinctions in patterns and data. +Match I<ID>s while ignoring case distinctions in patterns and data. =item B<-j>, B<--[no-]job-name> -Print the C<\jobname> that B<tex> associated with the input file. +Print the C<\jobname> that B<latex> associated with the input file. =item B<-n>, B<--[no-]line-number> @@ -155,6 +283,10 @@ Redirect output from F<stdout> to the configured pager. Show the default configuration and exit. +=item B<--show-encodings> + +Show all known encodings and exit. + =item B<-V>, B<--version> Show version information and exit. @@ -177,26 +309,26 @@ S<Default: C<%s:>.> =item C<id-heading>=C<0>E<verbar>C<1> -Choose between printing the matching ids with S<option B<--id>>: +Choose between printing the matching I<ID>s with S<option B<--id>>: S<Inline (C<0>)> or heading before the matching data (C<1>). S<Default: C<0>.> =item C<id-heading-format>=I<FORMAT> -Control the I<FORMAT> for printing matching ids in heading-mode, +Control the I<FORMAT> for printing matching I<ID>s in heading-mode, where I<FORMAT> is passed to Perl's C<printf>. S<Default: C<--E<gt> %s E<lt>-->.> =item C<id-indent>=I<INDENT> Indentation of nested typog-inspect tags. -Only used in ``discovery'' mode (first form), i.e., if B<--all> is active. +Only used in ``discovery mode'' (first form), i.e., if S<B<--all>> is active. S<Default: 8.> =item C<id-max-length>=I<MAXIMUM-LENGTH> -Set the maximum length of a matching id for printing. -It a matching id exceeds this length it will be truncated +Set the maximum length of a matching I<ID> for printing. +It a matching I<ID> exceeds this length it will be truncated and the last three characters (short of I<MAXIMUM-LENGTH>) will be replaced by dots. S<Default: 40.> @@ -262,11 +394,11 @@ Color of lines with horizontal S<breakpoints C<@@>>. =item C<id-color> -Color of matching ids when printed inline. +Color of matching I<ID>s when printed inline. =item C<id-heading-color> -Color of matching ids when printed in heading form. +Color of matching I<ID>s when printed in heading form. =item C<line-break-pass-color> @@ -333,13 +465,89 @@ C<bold>, C<dark>, C<italic>, C<underline>, C<reverse> =back +=head2 Some Common Encodings + +The following list shows some encodings +that are suitable for S<option B<--encoding>>. + +=over 4 + +=item Latin-1, Western European + +C<iso-8859-1>, C<cp850>, C<cp860>, C<cp1252> + +=item Latin-2, Central European + +C<iso-8859-2>, C<cp852>, C<cp1250> + +=item Latin-3, South European (Esperanto, Maltese) + +C<iso-8859-3> + +=item Latin-4, North European (Baltics) + +C<iso-8859-4> + +=item Cyrillics + +C<iso-8859-5>, C<cp855>, C<cp866> (Ukrainian), C<cp1251> + +=item Arabic + +C<iso-8859-6>, C<cp864>, C<cp1006> (Farsi), C<cp1256> + +=item Greek + +C<iso-8859-7>, C<cp737>, C<cp1253> + +=item Hebrew + +C<iso-8859-8>, C<cp862>, C<cp1255> + +=item Turkish + +C<iso-8859-9>, C<cp857>, C<cp1254> + +=item Nordic + +C<iso-8859-10>, C<cp865>, C<cp861> (Icelandic) + +=item Thai + +C<iso-8859-11>, C<cp874> + +=item Baltic + +C<iso-8859-13>, C<cp775>, C<cp1257> + +=item Celtic + +C<iso-8859-14> + +=item Latin-9 (sometimes called Latin0) + +C<iso-8859-15> + +=item Latin-10 + +C<iso-8859-16> + +=back + =head1 EXIT STATUS The exit status is 0 if at least one I<ID> matched I<REGEXP>, 1 if no I<ID> matched I<REGEXP>, and 2 if an error occurred. +=head1 CAVEATS + +The end tag C<< </typog-inspect> >> sometimes gets placed too early in the output and the trace +I<seems> truncated. However, LaTeX reliably logs the requested the trace information, but the +write operations for trace data and the code which is used to print the S<end tag> are not +synchronized. + =head1 SEE ALSO -B<grep>(1), B<printf>(3), B<Term::ANSIColor>(pm) +B<grep>(1), B<printf>(3), B<Encode::Supported>(pm), B<Term::ANSIColor>(pm) =cut diff --git a/Master/texmf-dist/doc/latex/typog/typog-grep.version.sed b/Master/texmf-dist/doc/latex/typog/typog-grep.version.sed new file mode 100644 index 00000000000..2596bda8663 --- /dev/null +++ b/Master/texmf-dist/doc/latex/typog/typog-grep.version.sed @@ -0,0 +1,3 @@ +s#@DATE@#2024/07/08#g +s#@RELEASE@#0.4#g +s#@TITLE@#TypoGraphic extensions#g diff --git a/Master/texmf-dist/doc/latex/typog/typog-minimal-test.tex b/Master/texmf-dist/doc/latex/typog/typog-minimal-test.tex new file mode 100644 index 00000000000..495dd55146a --- /dev/null +++ b/Master/texmf-dist/doc/latex/typog/typog-minimal-test.tex @@ -0,0 +1,50 @@ +%% +%% This is file `typog-minimal-test.tex', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% typog.dtx (with options: `minimal-test') +%% +%% This is a generated file. +%% +%% Copyright (C) 2024 by Ch. L. Spiel +%% +%% This work may be distributed and/or modified under the conditions +%% of the LaTeX Project Public License, either version 1.3c of this +%% license or (at your option) any later version. The latest version +%% of this license is in +%% https://www.latex-project.org/lppl.txt +%% and version 1.3c or later is part of all distributions of LaTeX +%% version 2003/12/01 or later. +%% +%% This work has the LPPL maintenance status `maintained'. +%% +%% The Current Maintainer of this work is Ch. L. Spiel. +%% +%% This work consists of the files typog.dtx and typog.ins +%% and the derived files typog.sty, slant-angle.mp, +%% crooked-paragraphs.mp, smooth-parshapes.mp, title.mp, +%% typog-example.tex, typog-minimal-test.tex, +%% typog-without-microtype-test.tex +%% typog-grep.pl.in, typog-grep.pl, +%% typog-grep.pod, and teximan2latex.sed. +%% +%% +\documentclass{minimal} + +\usepackage{typog} + +\newcommand*{\raiseamount}{0.5pt} + +\begin{document} +\begin{typogsetup}{raise*=\raiseamount} + Em-dash raised by \the\typogget{raisecapitaldash} (expected: \raiseamount). +\end{typogsetup} + +\fontsizeinfo{typoinfo} +Document class ``minimal'' sets up font size and line spacing as~\typoinfo. +\end{document} +\endinput +%% +%% End of file `typog-minimal-test.tex'. diff --git a/Master/texmf-dist/doc/latex/typog/typog-nomt.tex b/Master/texmf-dist/doc/latex/typog/typog-without-microtype-test.tex index ebac4efd1f7..aa7fc79cdaa 100644 --- a/Master/texmf-dist/doc/latex/typog/typog-nomt.tex +++ b/Master/texmf-dist/doc/latex/typog/typog-without-microtype-test.tex @@ -1,21 +1,21 @@ %% -%% This is file `typog-nomt.tex', +%% This is file `typog-without-microtype-test.tex', %% generated with the docstrip utility. %% %% The original source files were: %% -%% typog.dtx (with options: `nomicrotype') +%% typog.dtx (with options: `without-microtype') %% %% This is a generated file. %% %% Copyright (C) 2024 by Ch. L. Spiel %% %% This work may be distributed and/or modified under the conditions -%% of the LaTeX Project Public License, either version 1.3 of this +%% of the LaTeX Project Public License, either version 1.3c of this %% license or (at your option) any later version. 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 +%% https://www.latex-project.org/lppl.txt +%% and version 1.3c or later is part of all distributions of LaTeX %% version 2003/12/01 or later. %% %% This work has the LPPL maintenance status `maintained'. @@ -25,7 +25,9 @@ %% This work consists of the files typog.dtx and typog.ins %% and the derived files typog.sty, slant-angle.mp, %% crooked-paragraphs.mp, smooth-parshapes.mp, title.mp, -%% typog-example.tex, typog-nomt.tex, typog-grep.pl, +%% typog-example.tex, typog-minimal-test.tex, +%% typog-without-microtype-test.tex +%% typog-grep.pl.in, typog-grep.pl, %% typog-grep.pod, and teximan2latex.sed. %% %% @@ -40,7 +42,9 @@ {\singleguillemetright} {\singleguillemetleft} -\usepackage[]{typog} +\usepackage[uppercaselabelitemadjustments={.1em, .075em, .1em, .1em}, + lowercaselabelitemadjustments={-.025em, -.05em, -.025em, -.025em}] + {typog} \newcommand*{\packagename}[1]{\mbox{\textsf{#1}}} @@ -53,7 +57,8 @@ \bigskip -\noindent +\section*{No Microtype} + This example \LaTeX-document uses package~\packagename{typog} \emph{without} package~\packagename{microtype}. @@ -61,6 +66,36 @@ We want \packagename{typog} to be as usable as possible even without the nice features that \packagename{microtype} offers. After all \packagename{typog} is just a front-end for it. +\section*{No EnumItem} + +We intentionally do not load package~\packagename{enumitem}, either. +So, we can test whether \packagename{typog} correctly patches the +plain \LaTeX{} definition if environment~\texttt{itemize}. + +The vertical alignment of the label items was setup for +uppercase (ABC\typoguppercaseadjustcheck{ABCXYZ}XYZ) and for +lowercase (ace\typoglowercaseadjustcheck{acexyz}xyz), though +this is not necessary for the test. + +\uppercaseadjustlabelitems{*} +\begin{itemize} +\item Level i +\item Sublist \dots + \begin{itemize} + \item Level ii + \item Sublist \dots + \begin{itemize} + \item Level iii + \item Sublist \dots + \begin{itemize} + \item Level iv + \end{itemize} + \end{itemize} + \end{itemize} +\end{itemize} + +\section*{CSQuotes} + As we are testing a special configuration here anyhow, we hook up our quotes with package~csquotes to check whether they interact ok. @@ -70,4 +105,4 @@ to check whether they interact ok. \end{document} \endinput %% -%% End of file `typog-nomt.tex'. +%% End of file `typog-without-microtype-test.tex'. diff --git a/Master/texmf-dist/doc/latex/typog/typog.gst b/Master/texmf-dist/doc/latex/typog/typog.gst new file mode 100644 index 00000000000..f108fdc19eb --- /dev/null +++ b/Master/texmf-dist/doc/latex/typog/typog.gst @@ -0,0 +1,48 @@ +%% +%% This is file `typog.gst', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% typog.dtx (with options: `changes-style') +%% +%% This is a generated file. +%% +%% Copyright (C) 2024 by Ch. L. Spiel +%% +%% This work may be distributed and/or modified under the conditions +%% of the LaTeX Project Public License, either version 1.3c of this +%% license or (at your option) any later version. The latest version +%% of this license is in +%% https://www.latex-project.org/lppl.txt +%% and version 1.3c or later is part of all distributions of LaTeX +%% version 2003/12/01 or later. +%% +%% This work has the LPPL maintenance status `maintained'. +%% +%% The Current Maintainer of this work is Ch. L. Spiel. +%% +%% This work consists of the files typog.dtx and typog.ins +%% and the derived files typog.sty, slant-angle.mp, +%% crooked-paragraphs.mp, smooth-parshapes.mp, title.mp, +%% typog-example.tex, typog-minimal-test.tex, +%% typog-without-microtype-test.tex +%% typog-grep.pl.in, typog-grep.pl, +%% typog-grep.pod, and teximan2latex.sed. +%% +%% +actual '=' +delim_0 "\\nobreak\\enspace" +delim_1 "\\nobreak\\enspace" +delim_2 "\\nobreak\\enspace" +heading_prefix "\\pagebreak[3]\\smallskip\n\n{\\sffamily\\bfseries\\large " +heading_suffix "}\\nopagebreak\n" +headings_flag 0 +item_x1 "\\efill\n\\subitem " +item_x2 "\\ " +keyword "\\glossaryentry" +level '>' +line_max 65536 +postamble "\n\\end{theglossary}\n" +preamble "\\begin{theglossary}\n \\makeatletter\\scan@allowedfalse" +quote '!' diff --git a/Master/texmf-dist/doc/latex/typog/typog.ist b/Master/texmf-dist/doc/latex/typog/typog.ist index 9b8104b16c0..8ff11c7ac70 100644 --- a/Master/texmf-dist/doc/latex/typog/typog.ist +++ b/Master/texmf-dist/doc/latex/typog/typog.ist @@ -11,11 +11,11 @@ %% Copyright (C) 2024 by Ch. L. Spiel %% %% This work may be distributed and/or modified under the conditions -%% of the LaTeX Project Public License, either version 1.3 of this +%% of the LaTeX Project Public License, either version 1.3c of this %% license or (at your option) any later version. 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 +%% https://www.latex-project.org/lppl.txt +%% and version 1.3c or later is part of all distributions of LaTeX %% version 2003/12/01 or later. %% %% This work has the LPPL maintenance status `maintained'. @@ -25,17 +25,20 @@ %% This work consists of the files typog.dtx and typog.ins %% and the derived files typog.sty, slant-angle.mp, %% crooked-paragraphs.mp, smooth-parshapes.mp, title.mp, -%% typog-example.tex, typog-nomt.tex, typog-grep.pl, +%% typog-example.tex, typog-minimal-test.tex, +%% typog-without-microtype-test.tex +%% typog-grep.pl.in, typog-grep.pl, %% typog-grep.pod, and teximan2latex.sed. %% %% actual '=' +delim_0 "\\nobreak\\enspace" +delim_1 "\\nobreak\\enspace" +delim_2 "\\nobreak\\enspace" delim_r "\\figuredash*" heading_prefix "\\pagebreak[3]\\smallskip\n\n{\\sffamily\\bfseries\\large " heading_suffix "}\\nopagebreak\n" headings_flag 1 level '>' +line_max 65536 quote '!' -\endinput -%% -%% End of file `typog.ist'. diff --git a/Master/texmf-dist/doc/latex/typog/typog.pdf b/Master/texmf-dist/doc/latex/typog/typog.pdf Binary files differindex 9d00685045a..fa0fe74e4c3 100644 --- a/Master/texmf-dist/doc/latex/typog/typog.pdf +++ b/Master/texmf-dist/doc/latex/typog/typog.pdf diff --git a/Master/texmf-dist/doc/latex/ulthese/README.md b/Master/texmf-dist/doc/latex/ulthese/README.md index 436842396aa..30ca0199671 100644 --- a/Master/texmf-dist/doc/latex/ulthese/README.md +++ b/Master/texmf-dist/doc/latex/ulthese/README.md @@ -1,15 +1,14 @@ -# Package ulthese +# Thesis class for Université Laval -The package provides a class based on memoir and compatible with LaTeX -and XeLaTeX to prepare theses and memoirs compliant with the +The package provides a class based on memoir and compatible with +pdfLaTeX and XeLaTeX to prepare theses and memoirs compliant with the presentation rules set forth by the Faculty of Graduate Studies of Université Laval, Québec, Canada. The class also comes with an extensive set of templates for the various types of theses and memoirs offered at Laval. -Please note that the documentation for the class and the comments in -the templates are written in French, the language of the target -audience. +The documentation for the class and the comments in the templates are +written in French, the language of the target audience. ## Licence @@ -18,11 +17,11 @@ later version. ## Version -5.3a (2021-08-09) +6.0 (2024-07-02) ## Author -Université Laval <ulthese-dev@bibl.ulaval.ca> +Vincent Goulet for Université Laval <ulthese-dev@bibl.ulaval.ca> ## Source code repository @@ -30,20 +29,20 @@ https://gitlab.com/vigou3/ulthese/ > The rest of this file is in French for the target audience. -# Paquetage ulthese +# Classe pour les thèses et mémoires de l'Université Laval Le paquetage **ulthese** fournit la classe du même nom permettant de composer des thèses et des mémoires immédiatement conformes aux règles -générales de présentation matérielle de la Faculté des études -supérieures et postdoctorales (FESP) de l'[Université -Laval](https://www.ulaval.ca). +générales et complémentaires de présentation matérielle de la Faculté +des études supérieures et postdoctorales (FESP) de l'[Université +Laval](https://www.ulaval.ca). La classe permet également de produire les types de documents suivants selon les mêmes règles de présentation que les thèses et mémoires: examen de doctorat, essai de maîtrise, projet de recherche, rapport de stage. -La classe est compatible avec LaTeX et XeLaTeX. +La classe est compatible avec pdfLaTeX et XeLaTeX. ## Contenu du paquetage @@ -56,16 +55,18 @@ La classe est compatible avec LaTeX et XeLaTeX. ## Installation -Pour installer la classe ulthese, compiler avec LaTeX le fichier -`ulthese.ins`, en exécutant +Le paquetage **ulthese** est distribué via le réseau de sites +Comprehensive TeX Archive Network (CTAN) et il fait partie des +distributions TeX standards. Par conséquent, nous recommandons +fortement d'installer ou de mettre à jour le paquetage à l'aide du +gestionnaire de paquetages de votre distribution. - latex ulthese.ins +Les experts TeX peuvent générer la classe en compilant le fichier +`ulthese.ins` avec LaTeX: -depuis une ligne de commande. On peut aussi ouvrir le fichier -`ulthese.ins` dans son éditeur LaTeX et lancer la compilation avec -LaTeX, pdfTeX, pdfLaTeX ou XeLaTeX depuis celui-ci. + latex ulthese.ins -La compilation du fichier ulthese.ins générera plusieurs fichiers: +La compilation générera plusieurs fichiers: 1. la classe elle-même: - `ulthese.cls` @@ -97,16 +98,18 @@ Les gabarits inutiles peuvent être supprimés. ## Documentation Le fichier `ulthese.pdf` contient la documentation complète de la -classe et des gabarits. Le document peut être recréé à partir du code -source avec les commandes +classe. Le document peut être recréé à partir du code source avec les +commandes - pdflatex ulthese.dtx + xelatex ulthese.dtx makeindex -s gglo.ist -o ulthese.gls ulthese.glo - pdflatex ulthese.dtx + xelatex ulthese.dtx + xelatex ulthese.dtx ## Historique des versions -L'historique des versions de la classe se trouve en annexe de la documentation. +L'historique des versions de la classe se trouve en annexe de la +documentation. ## Commentaires et suggestions @@ -116,11 +119,5 @@ des améliorations à la classe. ## Aide additionnelle -Faire appel aux ressources suivantes, dans l'ordre: - -1. consulter le [WikiThèse de l'Université Laval](http://www.theses.ulaval.ca/wiki/); - -2. consulter les archives de la liste de distribution - [ulthese-aide](http://listes.ulaval.ca/listserv/archives/ulthese-aide.html); - -3. écrire à la liste de distribution [ulthese-aide](mailto:ulthese-aide@listes.ulaval.ca). +Vous pouvez obtenir de l'aide additionnelle sur l'utilisation de la +classe en écrivant à l'adresse: ulthese-aide@listes.ulaval.ca. diff --git a/Master/texmf-dist/doc/latex/ulthese/avantpropos.tex b/Master/texmf-dist/doc/latex/ulthese/avantpropos.tex index 7fdd8a60515..721e1af1ff7 100644 --- a/Master/texmf-dist/doc/latex/ulthese/avantpropos.tex +++ b/Master/texmf-dist/doc/latex/ulthese/avantpropos.tex @@ -2,5 +2,5 @@ \label{chap-avantpropos} % étiquette pour renvois \phantomsection\addcontentsline{toc}{chapter}{\nameref{chap-avantpropos}} % inclure dans TdM -<Texte de l'avant-propos. Obligatoire dans une thèse ou un mémoire par -articles.> +<Texte de l'avant-propos. Obligatoire seulement pour une thèse ou un +mémoire par intégration d'articles.> diff --git a/Master/texmf-dist/doc/latex/ulthese/chapitre1-articles.tex b/Master/texmf-dist/doc/latex/ulthese/chapitre1-articles.tex index 96730a285df..da0ee9bc144 100644 --- a/Master/texmf-dist/doc/latex/ulthese/chapitre1-articles.tex +++ b/Master/texmf-dist/doc/latex/ulthese/chapitre1-articles.tex @@ -15,5 +15,3 @@ <Texte du chapitre ou de l'article.> -\bibliographystyle{} % style de la bibliographie -\bibliography{} % production de la bibliographie diff --git a/Master/texmf-dist/doc/latex/ulthese/chapitre2-articles.tex b/Master/texmf-dist/doc/latex/ulthese/chapitre2-articles.tex index 96730a285df..da0ee9bc144 100644 --- a/Master/texmf-dist/doc/latex/ulthese/chapitre2-articles.tex +++ b/Master/texmf-dist/doc/latex/ulthese/chapitre2-articles.tex @@ -15,5 +15,3 @@ <Texte du chapitre ou de l'article.> -\bibliographystyle{} % style de la bibliographie -\bibliography{} % production de la bibliographie diff --git a/Master/texmf-dist/doc/latex/ulthese/gabarit-doctorat-articles.tex b/Master/texmf-dist/doc/latex/ulthese/gabarit-doctorat-articles.tex index dad95d80475..d0d68b475f0 100644 --- a/Master/texmf-dist/doc/latex/ulthese/gabarit-doctorat-articles.tex +++ b/Master/texmf-dist/doc/latex/ulthese/gabarit-doctorat-articles.tex @@ -4,50 +4,52 @@ %% description détaillée de la classe, de ce gabarit et des options %% disponibles. %% +%% Vous devez obligatoirement enregistrer tout fichier contenant des +%% caractères non-ASCII (comme des lettres accentuées) dans le codage +%% de caractères UTF-8. +%% %% [Ne pas hésiter à supprimer les commentaires après les avoir lus.] %% %% Déclaration de la classe avec le type de grade %% [l'un de LLD, DMus, DPsy, DThP, PhD] %% et les langues les plus courantes. Le français sera la langue par -%% défaut du document. L'option 'bibsection' permet de créer des -%% bibliographies par chapitre présentées sous forme de section -%% numérotée. -\documentclass[PhD,bibsection,english,french]{ulthese} - %% Encodage utilisé pour les caractères accentués dans les fichiers - %% source du document. Les gabarits sont encodés en UTF-8. Inutile - %% avec XeLaTeX, qui gère Unicode nativement. - \ifxetex\else \usepackage[utf8]{inputenc} \fi - +%% défaut du document. +\documentclass[PhD,english,french]{ulthese} %% Charger ici les autres paquetages nécessaires pour le document. %% Quelques exemples; décommenter au besoin. %\usepackage{amsmath} % recommandé pour les mathématiques %\usepackage{icomma} % gestion de la virgule dans les nombres - %% Utilisation d'une autre police de caractères pour le document. - %% - Sous LaTeX - %\usepackage{mathpazo} % texte et mathématiques en Palatino - %\usepackage{mathptmx} % texte et mathématiques en Times - %% - Sous XeLaTeX - %\setmainfont{TeX Gyre Pagella} % texte en Pagella (Palatino) - %\setmathfont{TeX Gyre Pagella Math} % mathématiques en Pagella (Palatino) - %\setmainfont{TeX Gyre Termes} % texte en Termes (Times) - %\setmathfont{TeX Gyre Termes Math} % mathématiques en Termes (Times) + %% Utilisation d'une autre police de caractères pour le document + %% (exemple pour les polices STIX Two incluses dans TeX Live). + %% - Avec pdfLaTeX + %\usepackage{stix2} + %% - Avec XeLaTeX + %\setmainfont{STIXTwoText} + %[ + % Extension = .otf, + % UprightFont = *-Regular, + % BoldFont = *-SemiBold, + % ItalicFont = *-Italic, + % BoldItalicFont = *-SemiBoldItalic, + %] + %\setmathfont{STIXTwoMath-Regular} + %[ + % Extension = .otf, + %] %% Options de mise en forme du mode français de babel. Consulter la - %% documentation du paquetage babel pour les options disponibles. - %% Désactiver (effacer ou mettre en commentaire) si l'option - %% 'nobabel' est spécifiée au chargement de la classe. - \frenchbsetup{% + %% documentation du paquetage babel-french pour les options + %% disponibles. Désactiver (effacer ou mettre en commentaire) si + %% l'option 'nobabel' est spécifiée au chargement de la classe. + \frenchsetup{% StandardItemizeEnv=true, % format standard des listes ThinSpaceInFrenchNumbers=true, % espace fine dans les nombres og=«, fg=» % caractères « et » sont les guillemets } - %% Suppression du numéro de section de la bibliographie. Utilisation - %% de \extrasfrench parce que c'est la dernière langue déclarée dans - %% \documentclass, ci-dessus. - %\addto\extrasfrench{% - % \renewcommand{\bibsection}{\section*{\bibname}\prebibhook}} + %% Style de la bibliographie. + \bibliographystyle{} %% Composition de la page frontispice. Remplacer les éléments entre < >. %% Supprimer les caractères < >. Couper un long titre ou un long @@ -72,19 +74,19 @@ \frontmatter % pages liminaires -\frontispice % production de la page frontispice +\frontispice % page frontispice (obligatoire) -\include{resume} % résumé français -\include{abstract} % résumé anglais +\include{resume} % résumé français (obligatoire) +\include{abstract} % résumé anglais (optionnel) \cleardoublepage -\tableofcontents % production de la TdM +\tableofcontents % table des matières (obligatoire) \cleardoublepage -\listoftables % production de la liste des tableaux +\listoftables % liste des tableaux \cleardoublepage -\listoffigures % production de la liste des figures +\listoffigures % liste des figures \cleardoublepage \dedicace{<Dédicace si désiré>} @@ -94,7 +96,7 @@ \cleardoublepage \include{remerciements} % remerciements -\include{avantpropos} % avant-propos +\include{avantpropos} % avant-propos (obligatoire) \mainmatter % corps du document @@ -107,4 +109,5 @@ \include{annexe} % annexe A +\bibliography{} % production de la bibliographie \end{document} diff --git a/Master/texmf-dist/doc/latex/ulthese/gabarit-doctorat-cotutelle.tex b/Master/texmf-dist/doc/latex/ulthese/gabarit-doctorat-cotutelle.tex index a59a69303a4..64eb20d1a17 100644 --- a/Master/texmf-dist/doc/latex/ulthese/gabarit-doctorat-cotutelle.tex +++ b/Master/texmf-dist/doc/latex/ulthese/gabarit-doctorat-cotutelle.tex @@ -4,6 +4,10 @@ %% description détaillée de la classe, de ce gabarit et des options %% disponibles. %% +%% Vous devez obligatoirement enregistrer tout fichier contenant des +%% caractères non-ASCII (comme des lettres accentuées) dans le codage +%% de caractères UTF-8. +%% %% [Ne pas hésiter à supprimer les commentaires après les avoir lus.] %% %% Déclaration de la classe avec le type de grade @@ -11,38 +15,41 @@ %% et les langues les plus courantes. Le français sera la langue par %% défaut du document. \documentclass[PhD,cotutelle,english,french]{ulthese} - %% Encodage utilisé pour les caractères accentués dans les fichiers - %% source du document. Les gabarits sont encodés en UTF-8. Inutile - %% avec XeLaTeX, qui gère Unicode nativement. - \ifxetex\else \usepackage[utf8]{inputenc} \fi - %% Charger ici les autres paquetages nécessaires pour le document. %% Quelques exemples; décommenter au besoin. %\usepackage{amsmath} % recommandé pour les mathématiques %\usepackage{icomma} % gestion de la virgule dans les nombres - %% Utilisation d'une autre police de caractères pour le document. - %% - Sous LaTeX - %\usepackage{mathpazo} % texte et mathématiques en Palatino - %\usepackage{mathptmx} % texte et mathématiques en Times - %% - Sous XeLaTeX - %\setmainfont{TeX Gyre Pagella} % texte en Pagella (Palatino) - %\setmathfont{TeX Gyre Pagella Math} % mathématiques en Pagella (Palatino) - %\setmainfont{TeX Gyre Termes} % texte en Termes (Times) - %\setmathfont{TeX Gyre Termes Math} % mathématiques en Termes (Times) + %% Utilisation d'une autre police de caractères pour le document + %% (exemple pour les polices STIX Two incluses dans TeX Live). + %% - Avec pdfLaTeX + %\usepackage{stix2} + %% - Avec XeLaTeX + %\setmainfont{STIXTwoText} + %[ + % Extension = .otf, + % UprightFont = *-Regular, + % BoldFont = *-SemiBold, + % ItalicFont = *-Italic, + % BoldItalicFont = *-SemiBoldItalic, + %] + %\setmathfont{STIXTwoMath-Regular} + %[ + % Extension = .otf, + %] %% Options de mise en forme du mode français de babel. Consulter la - %% documentation du paquetage babel pour les options disponibles. - %% Désactiver (effacer ou mettre en commentaire) si l'option - %% 'nobabel' est spécifiée au chargement de la classe. - \frenchbsetup{% + %% documentation du paquetage babel-french pour les options + %% disponibles. Désactiver (effacer ou mettre en commentaire) si + %% l'option 'nobabel' est spécifiée au chargement de la classe. + \frenchsetup{% StandardItemizeEnv=true, % format standard des listes ThinSpaceInFrenchNumbers=true, % espace fine dans les nombres og=«, fg=» % caractères « et » sont les guillemets } %% Style de la bibliographie. - \bibliographystyle{} + \bibliographystyle{} %% Composition de la page frontispice. Remplacer les éléments entre < >. %% Supprimer les caractères < >. Couper un long titre ou un long @@ -71,19 +78,19 @@ \frontmatter % pages liminaires -\frontispice % production de la page frontispice +\frontispice % page frontispice (obligatoire) -\include{resume} % résumé français -\include{abstract} % résumé anglais +\include{resume} % résumé français (obligatoire) +\include{abstract} % résumé anglais (optionnel) \cleardoublepage -\tableofcontents % production de la TdM +\tableofcontents % table des matières (obligatoire) \cleardoublepage -\listoftables % production de la liste des tableaux +\listoftables % liste des tableaux \cleardoublepage -\listoffigures % production de la liste des figures +\listoffigures % liste des figures \cleardoublepage \dedicace{<Dédicace si désiré>} @@ -93,7 +100,7 @@ \cleardoublepage \include{remerciements} % remerciements -\include{avantpropos} % avant-propos +\include{avantpropos} % avant-propos (optionnel) \mainmatter % corps du document @@ -107,5 +114,4 @@ \include{annexe} % annexe A \bibliography{} % production de la bibliographie - \end{document} diff --git a/Master/texmf-dist/doc/latex/ulthese/gabarit-doctorat.tex b/Master/texmf-dist/doc/latex/ulthese/gabarit-doctorat.tex index de8fa42fbe2..4773eb96106 100644 --- a/Master/texmf-dist/doc/latex/ulthese/gabarit-doctorat.tex +++ b/Master/texmf-dist/doc/latex/ulthese/gabarit-doctorat.tex @@ -4,6 +4,10 @@ %% description détaillée de la classe, de ce gabarit et des options %% disponibles. %% +%% Vous devez obligatoirement enregistrer tout fichier contenant des +%% caractères non-ASCII (comme des lettres accentuées) dans le codage +%% de caractères UTF-8. +%% %% [Ne pas hésiter à supprimer les commentaires après les avoir lus.] %% %% Déclaration de la classe avec le type de grade @@ -11,38 +15,41 @@ %% et les langues les plus courantes. Le français sera la langue par %% défaut du document. \documentclass[PhD,english,french]{ulthese} - %% Encodage utilisé pour les caractères accentués dans les fichiers - %% source du document. Les gabarits sont encodés en UTF-8. Inutile - %% avec XeLaTeX, qui gère Unicode nativement. - \ifxetex\else \usepackage[utf8]{inputenc} \fi - %% Charger ici les autres paquetages nécessaires pour le document. %% Quelques exemples; décommenter au besoin. %\usepackage{amsmath} % recommandé pour les mathématiques %\usepackage{icomma} % gestion de la virgule dans les nombres - %% Utilisation d'une autre police de caractères pour le document. - %% - Sous LaTeX - %\usepackage{mathpazo} % texte et mathématiques en Palatino - %\usepackage{mathptmx} % texte et mathématiques en Times - %% - Sous XeLaTeX - %\setmainfont{TeX Gyre Pagella} % texte en Pagella (Palatino) - %\setmathfont{TeX Gyre Pagella Math} % mathématiques en Pagella (Palatino) - %\setmainfont{TeX Gyre Termes} % texte en Termes (Times) - %\setmathfont{TeX Gyre Termes Math} % mathématiques en Termes (Times) + %% Utilisation d'une autre police de caractères pour le document + %% (exemple pour les polices STIX Two incluses dans TeX Live). + %% - Avec pdfLaTeX + %\usepackage{stix2} + %% - Avec XeLaTeX + %\setmainfont{STIXTwoText} + %[ + % Extension = .otf, + % UprightFont = *-Regular, + % BoldFont = *-SemiBold, + % ItalicFont = *-Italic, + % BoldItalicFont = *-SemiBoldItalic, + %] + %\setmathfont{STIXTwoMath-Regular} + %[ + % Extension = .otf, + %] %% Options de mise en forme du mode français de babel. Consulter la - %% documentation du paquetage babel pour les options disponibles. - %% Désactiver (effacer ou mettre en commentaire) si l'option - %% 'nobabel' est spécifiée au chargement de la classe. - \frenchbsetup{% + %% documentation du paquetage babel-french pour les options + %% disponibles. Désactiver (effacer ou mettre en commentaire) si + %% l'option 'nobabel' est spécifiée au chargement de la classe. + \frenchsetup{% StandardItemizeEnv=true, % format standard des listes ThinSpaceInFrenchNumbers=true, % espace fine dans les nombres og=«, fg=» % caractères « et » sont les guillemets } %% Style de la bibliographie. - \bibliographystyle{} + \bibliographystyle{} %% Composition de la page frontispice. Remplacer les éléments entre < >. %% Supprimer les caractères < >. Couper un long titre ou un long @@ -68,19 +75,19 @@ \frontmatter % pages liminaires -\frontispice % production de la page frontispice +\frontispice % page frontispice (obligatoire) -\include{resume} % résumé français -\include{abstract} % résumé anglais +\include{resume} % résumé français (obligatoire) +\include{abstract} % résumé anglais (optionnel) \cleardoublepage -\tableofcontents % production de la TdM +\tableofcontents % table des matières (obligatoire) \cleardoublepage -\listoftables % production de la liste des tableaux +\listoftables % liste des tableaux \cleardoublepage -\listoffigures % production de la liste des figures +\listoffigures % liste des figures \cleardoublepage \dedicace{<Dédicace si désiré>} @@ -90,7 +97,7 @@ \cleardoublepage \include{remerciements} % remerciements -\include{avantpropos} % avant-propos +\include{avantpropos} % avant-propos (optionnel) \mainmatter % corps du document @@ -104,5 +111,4 @@ \include{annexe} % annexe A \bibliography{} % production de la bibliographie - \end{document} diff --git a/Master/texmf-dist/doc/latex/ulthese/gabarit-maitrise-articles.tex b/Master/texmf-dist/doc/latex/ulthese/gabarit-maitrise-articles.tex index 9ccf99ae874..e317f64d048 100644 --- a/Master/texmf-dist/doc/latex/ulthese/gabarit-maitrise-articles.tex +++ b/Master/texmf-dist/doc/latex/ulthese/gabarit-maitrise-articles.tex @@ -3,51 +3,53 @@ %% description détaillée de la classe, de ce gabarit et des options %% disponibles. %% +%% Vous devez obligatoirement enregistrer tout fichier contenant des +%% caractères non-ASCII (comme des lettres accentuées) dans le codage +%% de caractères UTF-8. +%% %% [Ne pas hésiter à supprimer les commentaires après les avoir lus.] %% %% Déclaration de la classe avec le type de grade -%% [l'un de MATDR, MArch, MA, LLM, MErg, MMus, MPht, MSc, MScGeogr, -%% MServSoc, MPsEd] +%% [l'un de MATDR, MArch, LLM, MErg, MMus, MPsEd, MScGeogr, +%% MServSoc, MTravSoc, MA, MSc] %% et les langues les plus courantes. Le français sera la langue par -%% défaut du document. L'option 'bibsection' permet de créer des -%% bibliographies par chapitre présentées sous forme de section -%% numérotée. -\documentclass[MSc,bibsection,english,french]{ulthese} - %% Encodage utilisé pour les caractères accentués dans les fichiers - %% source du document. Les gabarits sont encodés en UTF-8. Inutile - %% avec XeLaTeX, qui gère Unicode nativement. - \ifxetex\else \usepackage[utf8]{inputenc} \fi - +%% défaut du document. +\documentclass[MSc,english,french]{ulthese} %% Charger ici les autres paquetages nécessaires pour le document. %% Quelques exemples; décommenter au besoin. %\usepackage{amsmath} % recommandé pour les mathématiques %\usepackage{icomma} % gestion de la virgule dans les nombres - %% Utilisation d'une autre police de caractères pour le document. - %% - Sous LaTeX - %\usepackage{mathpazo} % texte et mathématiques en Palatino - %\usepackage{mathptmx} % texte et mathématiques en Times - %% - Sous XeLaTeX - %\setmainfont{TeX Gyre Pagella} % texte en Pagella (Palatino) - %\setmathfont{TeX Gyre Pagella Math} % mathématiques en Pagella (Palatino) - %\setmainfont{TeX Gyre Termes} % texte en Termes (Times) - %\setmathfont{TeX Gyre Termes Math} % mathématiques en Termes (Times) + %% Utilisation d'une autre police de caractères pour le document + %% (exemple pour les polices STIX Two incluses dans TeX Live). + %% - Avec pdfLaTeX + %\usepackage{stix2} + %% - Avec XeLaTeX + %\setmainfont{STIXTwoText} + %[ + % Extension = .otf, + % UprightFont = *-Regular, + % BoldFont = *-SemiBold, + % ItalicFont = *-Italic, + % BoldItalicFont = *-SemiBoldItalic, + %] + %\setmathfont{STIXTwoMath-Regular} + %[ + % Extension = .otf, + %] %% Options de mise en forme du mode français de babel. Consulter la - %% documentation du paquetage babel pour les options disponibles. - %% Désactiver (effacer ou mettre en commentaire) si l'option - %% 'nobabel' est spécifiée au chargement de la classe. - \frenchbsetup{% + %% documentation du paquetage babel-french pour les options + %% disponibles. Désactiver (effacer ou mettre en commentaire) si + %% l'option 'nobabel' est spécifiée au chargement de la classe. + \frenchsetup{% StandardItemizeEnv=true, % format standard des listes ThinSpaceInFrenchNumbers=true, % espace fine dans les nombres og=«, fg=» % caractères « et » sont les guillemets } - %% Suppression du numéro de section de la bibliographie. Utilisation - %% de \extrasfrench parce que c'est la dernière langue déclarée dans - %% \documentclass, ci-dessus. - %\addto\extrasfrench{% - % \renewcommand{\bibsection}{\section*{\bibname}\prebibhook}} + %% Style de la bibliographie. + \bibliographystyle{} %% Composition de la page frontispice. Remplacer les éléments entre < >. %% Supprimer les caractères < >. Couper un long titre ou un long @@ -72,19 +74,19 @@ \frontmatter % pages liminaires -\frontispice % production de la page frontispice +\frontispice % page frontispice (obligatoire) -\include{resume} % résumé français -\include{abstract} % résumé anglais +\include{resume} % résumé français (obligatoire) +\include{abstract} % résumé anglais (optionnel) \cleardoublepage -\tableofcontents % production de la TdM +\tableofcontents % table des matières (obligatoire) \cleardoublepage -\listoftables % production de la liste des tableaux +\listoftables % liste des tableaux \cleardoublepage -\listoffigures % production de la liste des figures +\listoffigures % liste des figures \cleardoublepage \dedicace{<Dédicace si désiré>} @@ -94,7 +96,7 @@ \cleardoublepage \include{remerciements} % remerciements -\include{avantpropos} % avant-propos +\include{avantpropos} % avant-propos (obligatoire) \mainmatter % corps du document @@ -107,4 +109,5 @@ \include{annexe} % annexe A +\bibliography{} % production de la bibliographie \end{document} diff --git a/Master/texmf-dist/doc/latex/ulthese/gabarit-maitrise-bidiplomation.tex b/Master/texmf-dist/doc/latex/ulthese/gabarit-maitrise-bidiplomation.tex index e737a324ea2..963d15e491a 100644 --- a/Master/texmf-dist/doc/latex/ulthese/gabarit-maitrise-bidiplomation.tex +++ b/Master/texmf-dist/doc/latex/ulthese/gabarit-maitrise-bidiplomation.tex @@ -4,46 +4,53 @@ %% description détaillée de la classe, de ce gabarit et des options %% disponibles. %% +%% Vous devez obligatoirement enregistrer tout fichier contenant des +%% caractères non-ASCII (comme des lettres accentuées) dans le codage +%% de caractères UTF-8. +%% %% [Ne pas hésiter à supprimer les commentaires après les avoir lus.] %% %% Déclaration de la classe avec le type de grade -%% [l'un de MATDR, MArch, MA, LLM, MErg, MMus, MPht, MSc, MScGeogr, -%% MServSoc, MPsEd] +%% [l'un de MATDR, MArch, LLM, MErg, MMus, MPsEd, MScGeogr, +%% MServSoc, MTravSoc, MA, MSc] %% et les langues les plus courantes. Le français sera la langue par %% défaut du document. \documentclass[MA,bidiplomation,english,french]{ulthese} - %% Encodage utilisé pour les caractères accentués dans les fichiers - %% source du document. Les gabarits sont encodés en UTF-8. Inutile - %% avec XeLaTeX, qui gère Unicode nativement. - \ifxetex\else \usepackage[utf8]{inputenc} \fi - %% Charger ici les autres paquetages nécessaires pour le document. %% Quelques exemples; décommenter au besoin. %\usepackage{amsmath} % recommandé pour les mathématiques %\usepackage{icomma} % gestion de la virgule dans les nombres - %% Utilisation d'une autre police de caractères pour le document. - %% - Sous LaTeX - %\usepackage{mathpazo} % texte et mathématiques en Palatino - %\usepackage{mathptmx} % texte et mathématiques en Times - %% - Sous XeLaTeX - %\setmainfont{TeX Gyre Pagella} % texte en Pagella (Palatino) - %\setmathfont{TeX Gyre Pagella Math} % mathématiques en Pagella (Palatino) - %\setmainfont{TeX Gyre Termes} % texte en Termes (Times) - %\setmathfont{TeX Gyre Termes Math} % mathématiques en Termes (Times) + %% Utilisation d'une autre police de caractères pour le document + %% (exemple pour les polices STIX Two incluses dans TeX Live). + %% - Avec pdfLaTeX + %\usepackage{stix2} + %% - Avec XeLaTeX + %\setmainfont{STIXTwoText} + %[ + % Extension = .otf, + % UprightFont = *-Regular, + % BoldFont = *-SemiBold, + % ItalicFont = *-Italic, + % BoldItalicFont = *-SemiBoldItalic, + %] + %\setmathfont{STIXTwoMath-Regular} + %[ + % Extension = .otf, + %] %% Options de mise en forme du mode français de babel. Consulter la - %% documentation du paquetage babel pour les options disponibles. - %% Désactiver (effacer ou mettre en commentaire) si l'option - %% 'nobabel' est spécifiée au chargement de la classe. - \frenchbsetup{% + %% documentation du paquetage babel-french pour les options + %% disponibles. Désactiver (effacer ou mettre en commentaire) si + %% l'option 'nobabel' est spécifiée au chargement de la classe. + \frenchsetup{% StandardItemizeEnv=true, % format standard des listes ThinSpaceInFrenchNumbers=true, % espace fine dans les nombres og=«, fg=» % caractères « et » sont les guillemets } %% Style de la bibliographie. - \bibliographystyle{} + \bibliographystyle{} %% Composition de la page frontispice. Remplacer les éléments entre < >. %% Supprimer les caractères < >. Couper un long titre ou un long @@ -72,19 +79,19 @@ \frontmatter % pages liminaires -\frontispice % production de la page frontispice +\frontispice % page frontispice (obligatoire) -\include{resume} % résumé français -\include{abstract} % résumé anglais +\include{resume} % résumé français (obligatoire) +\include{abstract} % résumé anglais (optionnel) \cleardoublepage -\tableofcontents % production de la TdM +\tableofcontents % table des matières (obligatoire) \cleardoublepage -\listoftables % production de la liste des tableaux +\listoftables % liste des tableaux \cleardoublepage -\listoffigures % production de la liste des figures +\listoffigures % liste des figures \cleardoublepage \dedicace{<Dédicace si désiré>} @@ -94,7 +101,7 @@ \cleardoublepage \include{remerciements} % remerciements -\include{avantpropos} % avant-propos +\include{avantpropos} % avant-propos (optionnel) \mainmatter % corps du document @@ -108,5 +115,4 @@ \include{annexe} % annexe A \bibliography{} % production de la bibliographie - \end{document} diff --git a/Master/texmf-dist/doc/latex/ulthese/gabarit-maitrise.tex b/Master/texmf-dist/doc/latex/ulthese/gabarit-maitrise.tex index 6d442ca82ea..64af596870b 100644 --- a/Master/texmf-dist/doc/latex/ulthese/gabarit-maitrise.tex +++ b/Master/texmf-dist/doc/latex/ulthese/gabarit-maitrise.tex @@ -4,46 +4,53 @@ %% description détaillée de la classe, de ce gabarit et des options %% disponibles. %% +%% Vous devez obligatoirement enregistrer tout fichier contenant des +%% caractères non-ASCII (comme des lettres accentuées) dans le codage +%% de caractères UTF-8. +%% %% [Ne pas hésiter à supprimer les commentaires après les avoir lus.] %% %% Déclaration de la classe avec le type de grade -%% [l'un de MATDR, MArch, MA, LLM, MErg, MMus, MPht, MSc, MScGeogr, -%% MServSoc, MPsEd] +%% [l'un de MATDR, MArch, LLM, MErg, MMus, MPsEd, MScGeogr, +%% MServSoc, MTravSoc, MA, MSc] %% et les langues les plus courantes. Le français sera la langue par %% défaut du document. \documentclass[MSc,english,french]{ulthese} - %% Encodage utilisé pour les caractères accentués dans les fichiers - %% source du document. Les gabarits sont encodés en UTF-8. Inutile - %% avec XeLaTeX, qui gère Unicode nativement. - \ifxetex\else \usepackage[utf8]{inputenc} \fi - %% Charger ici les autres paquetages nécessaires pour le document. %% Quelques exemples; décommenter au besoin. %\usepackage{amsmath} % recommandé pour les mathématiques %\usepackage{icomma} % gestion de la virgule dans les nombres - %% Utilisation d'une autre police de caractères pour le document. - %% - Sous LaTeX - %\usepackage{mathpazo} % texte et mathématiques en Palatino - %\usepackage{mathptmx} % texte et mathématiques en Times - %% - Sous XeLaTeX - %\setmainfont{TeX Gyre Pagella} % texte en Pagella (Palatino) - %\setmathfont{TeX Gyre Pagella Math} % mathématiques en Pagella (Palatino) - %\setmainfont{TeX Gyre Termes} % texte en Termes (Times) - %\setmathfont{TeX Gyre Termes Math} % mathématiques en Termes (Times) + %% Utilisation d'une autre police de caractères pour le document + %% (exemple pour les polices STIX Two incluses dans TeX Live). + %% - Avec pdfLaTeX + %\usepackage{stix2} + %% - Avec XeLaTeX + %\setmainfont{STIXTwoText} + %[ + % Extension = .otf, + % UprightFont = *-Regular, + % BoldFont = *-SemiBold, + % ItalicFont = *-Italic, + % BoldItalicFont = *-SemiBoldItalic, + %] + %\setmathfont{STIXTwoMath-Regular} + %[ + % Extension = .otf, + %] %% Options de mise en forme du mode français de babel. Consulter la - %% documentation du paquetage babel pour les options disponibles. - %% Désactiver (effacer ou mettre en commentaire) si l'option - %% 'nobabel' est spécifiée au chargement de la classe. - \frenchbsetup{% + %% documentation du paquetage babel-french pour les options + %% disponibles. Désactiver (effacer ou mettre en commentaire) si + %% l'option 'nobabel' est spécifiée au chargement de la classe. + \frenchsetup{% StandardItemizeEnv=true, % format standard des listes ThinSpaceInFrenchNumbers=true, % espace fine dans les nombres og=«, fg=» % caractères « et » sont les guillemets } %% Style de la bibliographie. - \bibliographystyle{} + \bibliographystyle{} %% Composition de la page frontispice. Remplacer les éléments entre < >. %% Supprimer les caractères < >. Couper un long titre ou un long @@ -69,19 +76,19 @@ \frontmatter % pages liminaires -\frontispice % production de la page frontispice +\frontispice % page frontispice (obligatoire) -\include{resume} % résumé français -\include{abstract} % résumé anglais +\include{resume} % résumé français (obligatoire) +\include{abstract} % résumé anglais (optionnel) \cleardoublepage -\tableofcontents % production de la TdM +\tableofcontents % table des matières (obligatoire) \cleardoublepage -\listoftables % production de la liste des tableaux +\listoftables % liste des tableaux \cleardoublepage -\listoffigures % production de la liste des figures +\listoffigures % liste des figures \cleardoublepage \dedicace{<Dédicace si désiré>} @@ -91,7 +98,7 @@ \cleardoublepage \include{remerciements} % remerciements -\include{avantpropos} % avant-propos +\include{avantpropos} % avant-propos (optionnel) \mainmatter % corps du document @@ -105,5 +112,4 @@ \include{annexe} % annexe A \bibliography{} % production de la bibliographie - \end{document} diff --git a/Master/texmf-dist/doc/latex/ulthese/ulthese.pdf b/Master/texmf-dist/doc/latex/ulthese/ulthese.pdf Binary files differindex 6cc5a949570..ae1094d5ca8 100644 --- a/Master/texmf-dist/doc/latex/ulthese/ulthese.pdf +++ b/Master/texmf-dist/doc/latex/ulthese/ulthese.pdf diff --git a/Master/texmf-dist/doc/latex/unbtex/README.md b/Master/texmf-dist/doc/latex/unbtex/README.md index 2293f91fe49..0d0f2325fac 100644 --- a/Master/texmf-dist/doc/latex/unbtex/README.md +++ b/Master/texmf-dist/doc/latex/unbtex/README.md @@ -1,6 +1,6 @@ # UnBTeX: A class for bachelor, master, and doctoral thesis at the # University of Brasilia (UnB), Brazil. -# Version 1.5.1 2024/03/02 +# Version 1.5.2 2024/07/04 Copyright (C) 2021-2024 by Henrique C. Ferreira <hcferreira@unb.br> @@ -109,6 +109,12 @@ Here is a history of changes: 1.5.1 (2024-03-02): . The approval sheet (folha de aprovação) has been changed . The bottom margin size has been corrected to be consistently adhered to + 1.5.2 (2024-07-04): + . The length of the footnote separator line has been corrected according + to ABNT standards + . The left margin indentation of the citacao environment has been corrected + according to ABNT standards + . The left margin indentation of the references can be adjusted by the user ## Overleaf diff --git a/Master/texmf-dist/doc/latex/unbtex/unbtex-example.pdf b/Master/texmf-dist/doc/latex/unbtex/unbtex-example.pdf Binary files differindex f1498c69859..0b6493ed0bb 100644 --- a/Master/texmf-dist/doc/latex/unbtex/unbtex-example.pdf +++ b/Master/texmf-dist/doc/latex/unbtex/unbtex-example.pdf diff --git a/Master/texmf-dist/doc/latex/unbtex/unbtex-example.tex b/Master/texmf-dist/doc/latex/unbtex/unbtex-example.tex index 1ad00190034..33872900a58 100644 --- a/Master/texmf-dist/doc/latex/unbtex/unbtex-example.tex +++ b/Master/texmf-dist/doc/latex/unbtex/unbtex-example.tex @@ -1,7 +1,7 @@ %% %% UnBTeX: A class for bachelor, master, and doctoral thesis at the %% University of Brasilia (UnB), Brazil -%% Version 1.5.1 2024/03/02 +%% Version 1.5.2 2024/07/04 %% Copyright (C) 2021-2024 by Henrique C. Ferreira <hcferreira@unb.br> %% %% This class file may be distributed and/or modified under the conditions @@ -55,7 +55,7 @@ % --- % Diretório das figuras -\graphicspath{{unbtex-example/figuras/}} +\graphicspath{{unbtex-example/figuras}} % --- % ------------------------------------------------------------------------ @@ -67,7 +67,7 @@ % --- % Título % --- -\titulo{Modelo de trabalho \\ acadêmico com UnB\TeX} % No idioma principal do texto +\titulo{Modelo de trabalho\\ acadêmico com UnB\TeX} % No idioma principal do texto % Insira \\ caso queira forçar quebras de linha no título % Não utilize caixa alta para o título do trabalho e nem das seções (com exceção de siglas) % --- @@ -102,35 +102,35 @@ % --- % Informações do trabalho % --- -\tipotrabalho{Projeto Final de Curso} % Dissertação de Mestrado; Tese de Doutorado (em português, mesmo que o trabalho seja em inglês) +\tipotrabalho{Trabalho de Conclusão de Curso} % Dissertação de Mestrado; Tese de Doutorado (em português, mesmo que o trabalho seja em inglês) %\tipotrabalho{Tese de Doutorado} % --- -\tipocurso{Engenharia de Controle e Automação} % Nome do curso de graduação ou do programa de pós-graduação, em português +\tipocurso{Engenharia Elétrica} % Nome do curso de graduação ou do programa de pós-graduação, em português %\tipocurso{Programa de Pós-Graduação em Engenharia Elétrica} % --- % Texto que aparece na folha de rosto e na folha de aprovação -\preambulo{Projeto Final de Curso submetido como requisito parcial para obtenção do grau de Engenheiro de Controle e Automação.} +\preambulo{Trabalho de Conclusão de Curso submetido como requisito parcial para obtenção do grau de Engenheiro Eletricista.} %\preambulo{Tese de Doutorado submetida ao Programa de Pós-Graduação em Engenharia Elétrica da Universidade de Brasília como parte dos requisitos necessários para obtenção do grau de Doutor.} % Consulte a secretaria/coordenação do curso para saber o que deve ser escrito no preâmbulo. Use português mesmo que o trabalho seja em inglês. % --- % Informação adicional para ser impressa na folha de rosto \publicacao{} % Deixe o argumento vazio caso não haja -%\publicacao{Publicação PPGEE 201/23} % Também imprime as informações no trabalho no topo da página da ficha catalográfica +%\publicacao{Publicação PPGEE 201/23} % Também imprime as informações do trabalho no topo da página da ficha catalográfica % --- % --- % Instituição % --- -\instituicao[Universidade de Brasília]{Faculdade de Tecnologia}{} % Use português mesmo que o trabalho seja em inglês -%\instituicao[Universidade de Brasília]{Faculdade de Tecnologia}{Departamento de Engenharia Elétrica} % Caso queira incluir o departamento da unidade acadêmica +%\instituicao[Universidade de Brasília]{Faculdade de Tecnologia}{} % Use português mesmo que o trabalho seja em inglês +\instituicao[Universidade de Brasília]{Faculdade de Tecnologia}{Departamento de Engenharia Elétrica} % Caso queira incluir o departamento da unidade acadêmica % --- % --- % Local e data da defesa % --- \local{Brasília} -\dia{2} -\mes{março} +\dia{4} +\mes{julho} \ano{2024} % --- @@ -148,7 +148,7 @@ \membrodabancav{} % Deixe vazio se não tiver o quinto membro \membrodabancavfuncao{Examinador externo} % Comprimento da linha da assinatura (ajuste conforme necessidade) -\setlength{\ABNTEXsignwidth}{9cm} +\signlinewidth{9cm} % --- % --- @@ -212,7 +212,7 @@ Agradecimentos do segundo autor. % Primeiro autor \begin{DedicatoriaAutorI} -Este trabalho é dedicado às crianças adultas que, \\ +Este trabalho é dedicado às crianças adultas que,\\ quando pequenas, sonharam em se tornar cientistas. \end{DedicatoriaAutorI} @@ -334,6 +334,7 @@ Dedicatória do segundo autor. % Referências bibliográficas % --- % Arquivo com as referências bibliográficas +\bibhang{2.2em} % Recuo da margem esquerda da lista de referências \bibliography{unbtex-example/referencias} % O estilo de citação é selecionado automaticamente % --- diff --git a/Master/texmf-dist/doc/latex/unbtex/unbtex-example/anexo-b.tex b/Master/texmf-dist/doc/latex/unbtex/unbtex-example/anexo-b.tex index 63bad4c7b53..d482ac0000b 100644 --- a/Master/texmf-dist/doc/latex/unbtex/unbtex-example/anexo-b.tex +++ b/Master/texmf-dist/doc/latex/unbtex/unbtex-example/anexo-b.tex @@ -7,6 +7,9 @@ A \cpageref{marcaunb.1} foi extraída do \emph{manual de identidade visual}\foot \cleardoublepage \newcounter{includepdfpage} % para referenciar no texto páginas pdf incluídas +\makepagestyle{simple} +\makeevenhead{simple}{\footnotesize\thepage}{}{} +\makeoddhead{simple}{}{}{\footnotesize\thepage} \includepdf[ pages=-, % intervalo das páginas do arquivo pdf que serão incluídas diff --git a/Master/texmf-dist/doc/latex/unbtex/unbtex-example/capitulo2.tex b/Master/texmf-dist/doc/latex/unbtex/unbtex-example/capitulo2.tex index 46eed2b2bc3..1eb8ccc3b27 100644 --- a/Master/texmf-dist/doc/latex/unbtex/unbtex-example/capitulo2.tex +++ b/Master/texmf-dist/doc/latex/unbtex/unbtex-example/capitulo2.tex @@ -264,9 +264,7 @@ A \cref{sec:citacao} descreve o ambiente \texttt{citacao}, que pode receber como A ficha catalográfica é um elemento pré-textual obrigatório para todos os trabalhos acadêmicos (teses, dissertações e trabalhos de conclusão de curso). No site da Biblioteca Central da UnB\footnote{\url{https://bce.unb.br/servicos/elaboracao-de-fichas-catalograficas/}} há mais informações a respeito. A classe UnB\TeX\ gera automaticamente a ficha catalográfica com as informações do trabalho, com opção de inclusão do código Cutter. -A Tabela Cutter-Sanborn é uma codificação elaborada por Charles Ammi Cutter e, posteriormente, expandida por Kate F. Sanborn. Na Tabela Cutter-Sanborn é possível obter o código correspondente ao sobrenome do autor. - -Em vários sites da internet\footnote{\url{https://www.tabelacutter.com/}}\footnote{\url{https://cuttersonline.com.br/registrador-gratuito}} há ferramentas online para obtenção do código. Se o nome do primeiro autor do trabalho for, digamos, Carlos Lisboa, a entrada da ferramenta online deverá ser: +A Tabela Cutter-Sanborn é uma codificação elaborada por Charles Ammi Cutter e, posteriormente, expandida por Kate F. Sanborn. Na Tabela Cutter-Sanborn é possível obter o código correspondente ao sobrenome do autor. Em vários sites da internet\footnote{\url{https://www.tabelacutter.com/}}\footnote{\url{https://cuttersonline.com.br/registrador-gratuito}} há ferramentas online para obtenção do código. Se o nome do primeiro autor do trabalho for, digamos, Carlos Lisboa, a entrada da ferramenta online deverá ser: \begin{verbatim} Lisboa, Carlos \end{verbatim} @@ -276,7 +274,7 @@ Nenhuma outra informação é necessária para gerar o código que, no caso dess \end{verbatim} Note que na ficha catalográfica gerada aparecerá \texttt{L769m}. A letra \textbf{L} maiúscula, correspondente à primeira letra do sobrenome \textbf{Lisboa}, é automaticamente adicionada na frente do número. A letra \textbf{m} minúscula, correspondente à primeira letra do título do trabalho (neste caso, \emph{Modelo de trabalho acadêmico com UnB\TeX}), é adicionada no final do número. -Se seu nome for, por exemplo, Carlos de Souza, utilize +Se o nome do autor for, por exemplo, Carlos de Souza, utilize \begin{verbatim} Souza, Carlos de \end{verbatim} @@ -289,12 +287,12 @@ como entrada da ferramenta online que gera o código Cutter. Caso não deseje im \section{Inclusão de outros arquivos}\label{sec:include} % --- -É uma boa prática dividir o seu documento em diversos arquivos, e não apenas escrever tudo em um único. Esse recurso foi utilizado neste documento. Para incluir diferentes arquivos em um arquivo principal, de modo que cada arquivo incluído fique em uma página diferente, utilize o comando: +É uma boa prática dividir o seu documento em diversos arquivos, e não apenas escrever tudo em um único. Para incluir diferentes arquivos em um arquivo principal, de modo que cada arquivo incluído fique em uma página diferente, utilize o comando: \begin{verbatim} \include{documento-a-ser-incluido} % sem a extensão .tex \end{verbatim} -Para incluir documentos sem que haja necessariamente quebra de páginas, utilize o comando: +Para incluir documentos haver necessariamente quebra de páginas, utilize o comando: \begin{verbatim} \input{documento-a-ser-incluido} % sem a extensão .tex \end{verbatim} diff --git a/Master/texmf-dist/doc/latex/unbtex/unbtex-example/capitulo3.tex b/Master/texmf-dist/doc/latex/unbtex/unbtex-example/capitulo3.tex index 30514e0f81f..676cedb21cd 100644 --- a/Master/texmf-dist/doc/latex/unbtex/unbtex-example/capitulo3.tex +++ b/Master/texmf-dist/doc/latex/unbtex/unbtex-example/capitulo3.tex @@ -136,7 +136,7 @@ O pacote \textsf{subfig} foi utilizado para inserir as \cref{fig:subfigura_circu \caption{Figura com subfiguras} \label{fig:subfiguras} \subfloat[Primeira subfigura]{\label{fig:subfigura_circuito} \centering - \includegraphics[scale=1]{circuito.pdf}} + \includegraphics[scale=1]{circuito.pdf}} \subfloat[Segunda subfigura]{\label{fig:subfigura_grafico} \hspace{0.4em} \centering \includegraphics[scale=1.2]{diodocurva.pdf}} \end{figure} @@ -175,15 +175,13 @@ Caso queira utilizar as mesmas fontes tipográficas do texto para escrever dentr \label{fig:psgrag} \end{figure} -Crie no Overleaf um novo projeto que tenha o conteúdo do \cref{cod:tex} dentro de um arquivo \texttt{tex} nomeado, por exemplo, como \texttt{blockdiagram.tex}. No menu do Overleaf, altere o compilador de \texttt{pdfLaTeX} para \texttt{LaTeX} e defina o arquivo \texttt{blockdiagram.tex} como principal. Coloque o arquivo \texttt{blockdiagram.eps} dentro do projeto e compile. A saída gerada, corresponde à \cref{fig:psfrag1}, deve ser salva como \texttt{blockdiagram.pdf}. Este arquivo poderá ser carregado no projeto do texto do trabalho (TCC, dissertação ou tese) que você estiver escrevendo com o UnB\TeX\ (que usa o \texttt{pdfLaTeX} como compilador). - -\lstinputlisting[numbers=none,float,caption={\texttt{blockdiagram.tex}},label={cod:tex}]{unbtex-example/codigos/blockdiagram.tex} - -Observe na \cref{fig:psfrag2} que o ``\texttt{g}'' é substituído por ``$G(s)$'' na \cref{fig:psfrag1}. Para tal, o \cref{cod:tex} utiliza o seguinte comando do pacote \textsf{psfrag}: +Crie no Overleaf um novo projeto que tenha o conteúdo do \cref{cod:tex} dentro de um arquivo \texttt{tex} nomeado, por exemplo, como \texttt{blockdiagram.tex}. No menu do Overleaf, altere o compilador de \texttt{pdfLaTeX} para \texttt{LaTeX} e defina o arquivo \texttt{blockdiagram.tex} como principal. Coloque o arquivo \texttt{blockdiagram.eps} dentro do projeto e compile. A saída gerada, corresponde à \cref{fig:psfrag1}, deve ser salva como \texttt{blockdiagram.pdf}. Este arquivo poderá ser carregado no projeto do texto do trabalho (TCC, dissertação ou tese) que você estiver escrevendo com o UnB\TeX\ (que usa o \texttt{pdfLaTeX} como compilador). Observe na \cref{fig:psfrag2} que o ``\texttt{g}'' é substituído por ``$G(s)$'' na \cref{fig:psfrag1}. Para tal, o \cref{cod:tex} utiliza o seguinte comando do pacote \textsf{psfrag}: \begin{verbatim} \psfrag{g}[c][c]{\footnotesize $G(s)$} \end{verbatim} +\lstinputlisting[numbers=none,float,caption={\texttt{blockdiagram.tex}},label={cod:tex}]{unbtex-example/codigos/blockdiagram.tex} + O pacote \textsf{psfrag} funciona apenas com o compilador \texttt{LaTeX}, o que torna a criação de um novo projeto no Overleaf uma boa solução. Este projeto poderá ser aproveitado para gerar outras figuras do documento principal. Para mais informações sobre o pacote, consulte seu manual\footnote{Disponível em \url{http://mirrors.ctan.org/macros/latex/contrib/psfrag/pfgguide.pdf}}. Evite o uso de figuras no formato \texttt{eps} no documento principal. Documentos que usam a classe UnB\TeX\ precisam ser compilados pelo \texttt{pdfLaTeX}, que inicialmente converte os arquivos \texttt{eps} para o formato \texttt{pdf}, exigindo maior tempo de processamento. O projeto auxiliar (\cref{cod:tex}) usa a classe \texttt{article} e admite compilador \texttt{LaTeX}, que não necessita de etapas adicionais para processar códigos que chamam arquivos \texttt{eps}.
\ No newline at end of file diff --git a/Master/texmf-dist/doc/latex/unbtex/unbtex-example/capitulo4.tex b/Master/texmf-dist/doc/latex/unbtex/unbtex-example/capitulo4.tex index cb9577b192e..71c5eaf5c6c 100644 --- a/Master/texmf-dist/doc/latex/unbtex/unbtex-example/capitulo4.tex +++ b/Master/texmf-dist/doc/latex/unbtex/unbtex-example/capitulo4.tex @@ -1,5 +1,5 @@ % ---------------------------------------------------------- -\chapter{Ambientes} +\chapter{Ambientes do UnB\TeX} % ---------------------------------------------------------- A classe UnB\TeX\ disponibiliza alguns ``ambientes'', ou seja, caixas de texto com formatação especial para certos tipos de elementos, que podem ser automaticamente numerados (por exemplo, \cref{thm:WYSIWYG}, \cref{exc:in}, \cref{alg:NNMPC}, etc.). Esses ambientes foram adaptados a partir do modelo de \citeonline{Castro2019}. @@ -51,7 +51,7 @@ O WYSIWYG (ou ``What You See Is What You Get - O que você vê é o formato fina \section{Algoritmo} -O \cref{alg:NNMPC} é um pseudo-código para obtenção de um controlador preditivo baseado em modelo e em redes neurais. +O \cref{alg:NNMPC} é um exemplo de pseudo-código. \begin{algorithm}[htb] %\linespread{1.0}\selectfont % espaçamento entre as linhas do algoritmo diff --git a/Master/texmf-dist/doc/latex/unbtex/unbtex-example/referencias.bib b/Master/texmf-dist/doc/latex/unbtex/unbtex-example/referencias.bib index d2478284007..699d20461fe 100644 --- a/Master/texmf-dist/doc/latex/unbtex/unbtex-example/referencias.bib +++ b/Master/texmf-dist/doc/latex/unbtex/unbtex-example/referencias.bib @@ -12,7 +12,7 @@ pages = {342--351}} @article{van86, - author = {{van}, Gigch, John P. and Leo L. Pipino}, + author = {John P. van Gigch and Leo L. Pipino}, journal = {Future Computing Systems}, number = {1}, pages = {71-97}, @@ -53,7 +53,7 @@ @inproceedings{martin1997, address = {Rio de Janeiro}, - author = {Martin, Neto, L. and C. Bayer and J. Mielniczuk}, + author = {L. Martin{ }Neto and C. Bayer and J. Mielniczuk}, booktitle = {Resumos do [...]}, conference-number = {26}, conference-year = {1997}, diff --git a/Master/texmf-dist/doc/latex/univie-ling/README b/Master/texmf-dist/doc/latex/univie-ling/README index b90c86e8cc3..c73460f0b42 100644 --- a/Master/texmf-dist/doc/latex/univie-ling/README +++ b/Master/texmf-dist/doc/latex/univie-ling/README @@ -97,6 +97,19 @@ also have a look at the example files. == CHANGES == +V. 2.7 (2024-07-23): + - univie-ling-wlg: Use proper spacing with covington's + reflist environment. + - univie-ling-poster: add smallmargins option. + - univie-ling-thesis: fix running headers in twoside mode. + - univie-ling-handout: + - univie-ling-expose: + - univie-ling-paper: + - univie-ling-thesis: + - univie-ling-wlg: + * Fix empty argument check in \weblink. + * Fix spacing after \weblink. + V. 2.6 (2024-06-27): - univie-ling-poster: add smallmargins option. - univie-ling-thesis: fix running headers in twoside mode. diff --git a/Master/texmf-dist/doc/latex/univie-ling/templates/template-expose-deutsch.pdf b/Master/texmf-dist/doc/latex/univie-ling/templates/template-expose-deutsch.pdf Binary files differindex 1773af1838e..8652b32a5b1 100644 --- a/Master/texmf-dist/doc/latex/univie-ling/templates/template-expose-deutsch.pdf +++ b/Master/texmf-dist/doc/latex/univie-ling/templates/template-expose-deutsch.pdf diff --git a/Master/texmf-dist/doc/latex/univie-ling/templates/template-expose-english.pdf b/Master/texmf-dist/doc/latex/univie-ling/templates/template-expose-english.pdf Binary files differindex 2f632ebda3c..a8ac59e821b 100644 --- a/Master/texmf-dist/doc/latex/univie-ling/templates/template-expose-english.pdf +++ b/Master/texmf-dist/doc/latex/univie-ling/templates/template-expose-english.pdf diff --git a/Master/texmf-dist/doc/latex/univie-ling/templates/template-handout-deutsch.pdf b/Master/texmf-dist/doc/latex/univie-ling/templates/template-handout-deutsch.pdf Binary files differindex 484e4365b5d..48b41cac878 100644 --- a/Master/texmf-dist/doc/latex/univie-ling/templates/template-handout-deutsch.pdf +++ b/Master/texmf-dist/doc/latex/univie-ling/templates/template-handout-deutsch.pdf diff --git a/Master/texmf-dist/doc/latex/univie-ling/templates/template-handout-english.pdf b/Master/texmf-dist/doc/latex/univie-ling/templates/template-handout-english.pdf Binary files differindex b61d77074dc..608e203154b 100644 --- a/Master/texmf-dist/doc/latex/univie-ling/templates/template-handout-english.pdf +++ b/Master/texmf-dist/doc/latex/univie-ling/templates/template-handout-english.pdf diff --git a/Master/texmf-dist/doc/latex/univie-ling/templates/template-paper-deutsch.pdf b/Master/texmf-dist/doc/latex/univie-ling/templates/template-paper-deutsch.pdf Binary files differindex 37e2bc3e004..5ac9aba1d19 100644 --- a/Master/texmf-dist/doc/latex/univie-ling/templates/template-paper-deutsch.pdf +++ b/Master/texmf-dist/doc/latex/univie-ling/templates/template-paper-deutsch.pdf diff --git a/Master/texmf-dist/doc/latex/univie-ling/templates/template-paper-english.pdf b/Master/texmf-dist/doc/latex/univie-ling/templates/template-paper-english.pdf Binary files differindex d4885d07435..49efca45fac 100644 --- a/Master/texmf-dist/doc/latex/univie-ling/templates/template-paper-english.pdf +++ b/Master/texmf-dist/doc/latex/univie-ling/templates/template-paper-english.pdf diff --git a/Master/texmf-dist/doc/latex/univie-ling/templates/template-poster-deutsch.pdf b/Master/texmf-dist/doc/latex/univie-ling/templates/template-poster-deutsch.pdf Binary files differindex 76ab0629d54..f2260ffeb4c 100644 --- a/Master/texmf-dist/doc/latex/univie-ling/templates/template-poster-deutsch.pdf +++ b/Master/texmf-dist/doc/latex/univie-ling/templates/template-poster-deutsch.pdf diff --git a/Master/texmf-dist/doc/latex/univie-ling/templates/template-poster-english.pdf b/Master/texmf-dist/doc/latex/univie-ling/templates/template-poster-english.pdf Binary files differindex 0b9643c0bd7..b16ccfe334f 100644 --- a/Master/texmf-dist/doc/latex/univie-ling/templates/template-poster-english.pdf +++ b/Master/texmf-dist/doc/latex/univie-ling/templates/template-poster-english.pdf diff --git a/Master/texmf-dist/doc/latex/univie-ling/templates/template-thesis-deutsch.pdf b/Master/texmf-dist/doc/latex/univie-ling/templates/template-thesis-deutsch.pdf Binary files differindex 34ac74afc76..9673abfdb0f 100644 --- a/Master/texmf-dist/doc/latex/univie-ling/templates/template-thesis-deutsch.pdf +++ b/Master/texmf-dist/doc/latex/univie-ling/templates/template-thesis-deutsch.pdf diff --git a/Master/texmf-dist/doc/latex/univie-ling/templates/template-thesis-deutsch.tex b/Master/texmf-dist/doc/latex/univie-ling/templates/template-thesis-deutsch.tex index 527f8d0498d..7b01c0a88f3 100644 --- a/Master/texmf-dist/doc/latex/univie-ling/templates/template-thesis-deutsch.tex +++ b/Master/texmf-dist/doc/latex/univie-ling/templates/template-thesis-deutsch.tex @@ -2,9 +2,7 @@ % Übersetzen mit pdflatex -- biber -- pdflatex % Verwende den vom Hochschulschriftenservice verlangten Standard PDF/A1-b % (siehe http://e-theses.univie.ac.at/elektronische_einreichung.html) -% pdfx is currently broken -%\documentclass[naustrian,pdfa]{univie-ling-thesis} -\documentclass[naustrian]{univie-ling-thesis} +\documentclass[naustrian,pdfa]{univie-ling-thesis} \usepackage{babel} diff --git a/Master/texmf-dist/doc/latex/univie-ling/templates/template-thesis-english.pdf b/Master/texmf-dist/doc/latex/univie-ling/templates/template-thesis-english.pdf Binary files differindex 800946d7c88..0d550fa2862 100644 --- a/Master/texmf-dist/doc/latex/univie-ling/templates/template-thesis-english.pdf +++ b/Master/texmf-dist/doc/latex/univie-ling/templates/template-thesis-english.pdf diff --git a/Master/texmf-dist/doc/latex/univie-ling/templates/template-thesis-english.tex b/Master/texmf-dist/doc/latex/univie-ling/templates/template-thesis-english.tex index c2f7c5f4a03..0be7edb6006 100644 --- a/Master/texmf-dist/doc/latex/univie-ling/templates/template-thesis-english.tex +++ b/Master/texmf-dist/doc/latex/univie-ling/templates/template-thesis-english.tex @@ -2,9 +2,7 @@ % Run pdflatex -- biber -- pdflatex % Use the PDF/A1-b standard as required by the Hochschulschriften-Service % (see http://e-theses.univie.ac.at/elektronische_einreichung.html) -% pdfx is currently broken -%\documentclass[naustrian,english,pdfa]{univie-ling-thesis} -\documentclass[naustrian,english]{univie-ling-thesis} +\documentclass[naustrian,english,pdfa]{univie-ling-thesis} \usepackage{babel} diff --git a/Master/texmf-dist/doc/latex/univie-ling/templates/template-wlg-article.pdf b/Master/texmf-dist/doc/latex/univie-ling/templates/template-wlg-article.pdf Binary files differindex b65b92ef1b1..8a1d9155c6a 100644 --- a/Master/texmf-dist/doc/latex/univie-ling/templates/template-wlg-article.pdf +++ b/Master/texmf-dist/doc/latex/univie-ling/templates/template-wlg-article.pdf diff --git a/Master/texmf-dist/doc/latex/univie-ling/templates/template-wlg-review.pdf b/Master/texmf-dist/doc/latex/univie-ling/templates/template-wlg-review.pdf Binary files differindex 2e8562ef5df..f811c049e47 100644 --- a/Master/texmf-dist/doc/latex/univie-ling/templates/template-wlg-review.pdf +++ b/Master/texmf-dist/doc/latex/univie-ling/templates/template-wlg-review.pdf diff --git a/Master/texmf-dist/doc/latex/univie-ling/univie-ling-expose.pdf b/Master/texmf-dist/doc/latex/univie-ling/univie-ling-expose.pdf Binary files differindex d47fcaaa0bb..7efd2c2f362 100644 --- a/Master/texmf-dist/doc/latex/univie-ling/univie-ling-expose.pdf +++ b/Master/texmf-dist/doc/latex/univie-ling/univie-ling-expose.pdf diff --git a/Master/texmf-dist/doc/latex/univie-ling/univie-ling-expose.tex b/Master/texmf-dist/doc/latex/univie-ling/univie-ling-expose.tex index fcb89d9727e..c3d1c668055 100644 --- a/Master/texmf-dist/doc/latex/univie-ling/univie-ling-expose.tex +++ b/Master/texmf-dist/doc/latex/univie-ling/univie-ling-expose.tex @@ -63,7 +63,7 @@ \author{\texorpdfstring{Jrgen Spitzmller% \thanks{Please report issues via \protect\url{https://github.com/jspitz/univie-ling}.}}{Jrgen Spitzmller}} -\date{Version 2.6, 2024/06/27} +\date{Version 2.7, 2024/07/23} \maketitle @@ -370,6 +370,11 @@ Templates are provided as well: \section{Release History} \begin{itemize} + \item 2024/07/23 (v.\,2.7) + \begin{itemize} + \item Fix spacing after \jfcsmacro{weblink}. + \item Fix empty argument check in \jfcsmacro{weblink}. + \end{itemize} \item 2024/06/27 (v.\,2.6) \begin{itemize} \item Provide \jcsmacro{weblink}, \jcsmacro{SetURLDate} and \jcsmacro{urldate} macros. diff --git a/Master/texmf-dist/doc/latex/univie-ling/univie-ling-handout.pdf b/Master/texmf-dist/doc/latex/univie-ling/univie-ling-handout.pdf Binary files differindex bb7dfd5c25d..a253d4003ef 100644 --- a/Master/texmf-dist/doc/latex/univie-ling/univie-ling-handout.pdf +++ b/Master/texmf-dist/doc/latex/univie-ling/univie-ling-handout.pdf diff --git a/Master/texmf-dist/doc/latex/univie-ling/univie-ling-handout.tex b/Master/texmf-dist/doc/latex/univie-ling/univie-ling-handout.tex index 8fbb627024a..bdd72da44e1 100644 --- a/Master/texmf-dist/doc/latex/univie-ling/univie-ling-handout.tex +++ b/Master/texmf-dist/doc/latex/univie-ling/univie-ling-handout.tex @@ -63,7 +63,7 @@ \author{\texorpdfstring{Jrgen Spitzmller% \thanks{Please report issues via \protect\url{https://github.com/jspitz/univie-ling}.}}{Jrgen Spitzmller}} -\date{Version 2.6, 2024/06/27} +\date{Version 2.7, 2024/07/23} \maketitle @@ -415,6 +415,11 @@ Templates are provided as well: \section{Release History} \begin{description} + \item 2024/07/23 (v.\,2.7) + \begin{itemize} + \item Fix spacing after \jfcsmacro{weblink}. + \item Fix empty argument check in \jfcsmacro{weblink}. + \end{itemize} \item 2024/06/27 (v.\,2.6) \begin{itemize} \item Provide \jcsmacro{weblink}, \jcsmacro{SetURLDate} and \jcsmacro{urldate} macros. diff --git a/Master/texmf-dist/doc/latex/univie-ling/univie-ling-paper.pdf b/Master/texmf-dist/doc/latex/univie-ling/univie-ling-paper.pdf Binary files differindex 9f7f328fbb0..e04efcd52f7 100644 --- a/Master/texmf-dist/doc/latex/univie-ling/univie-ling-paper.pdf +++ b/Master/texmf-dist/doc/latex/univie-ling/univie-ling-paper.pdf diff --git a/Master/texmf-dist/doc/latex/univie-ling/univie-ling-paper.tex b/Master/texmf-dist/doc/latex/univie-ling/univie-ling-paper.tex index 6ade5e4b726..d6f5293a898 100644 --- a/Master/texmf-dist/doc/latex/univie-ling/univie-ling-paper.tex +++ b/Master/texmf-dist/doc/latex/univie-ling/univie-ling-paper.tex @@ -63,7 +63,7 @@ \author{\texorpdfstring{Jrgen Spitzmller% \thanks{Please report issues via \protect\url{https://github.com/jspitz/univie-ling}.}}{Jrgen Spitzmller}} -\date{Version 2.6, 2024/06/27} +\date{Version 2.7, 2024/07/23} \maketitle @@ -411,6 +411,11 @@ Templates are provided as well: \section{Release History} \begin{itemize} + \item 2024/07/23 (v.\,2.7) + \begin{itemize} + \item Fix spacing after \jfcsmacro{weblink}. + \item Fix empty argument check in \jfcsmacro{weblink}. + \end{itemize} \item 2024/06/27 (v.\,2.6) \begin{itemize} \item Provide \jcsmacro{weblink}, \jcsmacro{SetURLDate} and \jcsmacro{urldate} macros. diff --git a/Master/texmf-dist/doc/latex/univie-ling/univie-ling-poster.pdf b/Master/texmf-dist/doc/latex/univie-ling/univie-ling-poster.pdf Binary files differindex 204245e59f2..06d64c7638a 100644 --- a/Master/texmf-dist/doc/latex/univie-ling/univie-ling-poster.pdf +++ b/Master/texmf-dist/doc/latex/univie-ling/univie-ling-poster.pdf diff --git a/Master/texmf-dist/doc/latex/univie-ling/univie-ling-poster.tex b/Master/texmf-dist/doc/latex/univie-ling/univie-ling-poster.tex index c8580538c3e..1985658b786 100644 --- a/Master/texmf-dist/doc/latex/univie-ling/univie-ling-poster.tex +++ b/Master/texmf-dist/doc/latex/univie-ling/univie-ling-poster.tex @@ -65,7 +65,7 @@ \author{\texorpdfstring{Jrgen Spitzmller% \thanks{Please report issues via \protect\url{https://github.com/jspitz/univie-ling}.}}{Jrgen Spitzmller}} -\date{Version 2.6, 2024/06/27} +\date{Version 2.7, 2024/07/23} \maketitle @@ -577,6 +577,11 @@ Templates are provided as well: \section{Release History} \begin{description} + \item 2024/07/23 (v.\,2.7) + \begin{itemize} + \item Fix spacing after \jfcsmacro{weblink}. + \item Fix empty argument check in \jfcsmacro{weblink}. + \end{itemize} \item 2024/06/27 (v.\,2.6) \begin{itemize} \item Provide \jcsmacro{weblink}, \jcsmacro{SetURLDate} and \jcsmacro{urldate} macros. diff --git a/Master/texmf-dist/doc/latex/univie-ling/univie-ling-thesis.pdf b/Master/texmf-dist/doc/latex/univie-ling/univie-ling-thesis.pdf Binary files differindex 4c9fb2a37c5..b77ad97265c 100644 --- a/Master/texmf-dist/doc/latex/univie-ling/univie-ling-thesis.pdf +++ b/Master/texmf-dist/doc/latex/univie-ling/univie-ling-thesis.pdf diff --git a/Master/texmf-dist/doc/latex/univie-ling/univie-ling-thesis.tex b/Master/texmf-dist/doc/latex/univie-ling/univie-ling-thesis.tex index 92d06ea9528..2feb157bce8 100644 --- a/Master/texmf-dist/doc/latex/univie-ling/univie-ling-thesis.tex +++ b/Master/texmf-dist/doc/latex/univie-ling/univie-ling-thesis.tex @@ -59,7 +59,7 @@ \author{\texorpdfstring{Jrgen Spitzmller% \thanks{Please report issues via \protect\url{https://github.com/jspitz/univie-ling}.}}{Jrgen Spitzmller}} -\date{Version 2.6, 2024/06/27} +\date{Version 2.7, 2024/07/23} \maketitle @@ -433,6 +433,11 @@ Templates are provided as well: \section{Release History} \begin{itemize} + \item 2024/07/23 (v.\,2.7) + \begin{itemize} + \item Fix spacing after \jfcsmacro{weblink}. + \item Fix empty argument check in \jfcsmacro{weblink}. + \end{itemize} \item 2024/06/27 (v.\,2.6) \begin{itemize} \item Provide \jcsmacro{weblink}, \jcsmacro{SetURLDate} and \jcsmacro{urldate} macros. diff --git a/Master/texmf-dist/doc/latex/univie-ling/univie-ling-wlg.pdf b/Master/texmf-dist/doc/latex/univie-ling/univie-ling-wlg.pdf Binary files differindex 62765185465..f2a5a48dc28 100644 --- a/Master/texmf-dist/doc/latex/univie-ling/univie-ling-wlg.pdf +++ b/Master/texmf-dist/doc/latex/univie-ling/univie-ling-wlg.pdf diff --git a/Master/texmf-dist/doc/latex/univie-ling/univie-ling-wlg.tex b/Master/texmf-dist/doc/latex/univie-ling/univie-ling-wlg.tex index a12fccdeac2..6ca75cc0ed0 100644 --- a/Master/texmf-dist/doc/latex/univie-ling/univie-ling-wlg.tex +++ b/Master/texmf-dist/doc/latex/univie-ling/univie-ling-wlg.tex @@ -59,7 +59,7 @@ \author{\texorpdfstring{Jrgen Spitzmller% \thanks{Please report issues via \protect\url{https://github.com/jspitz/univie-ling}.}}{Jrgen Spitzmller}} -\date{Version 2.6, 2024/06/27} +\date{Version 2.7, 2024/07/23} \maketitle @@ -263,6 +263,10 @@ If the class option \joption{biblatex=true} is set, the \uvlt\ class loads a bib \emph{Unified Style Sheet for Linguistics} of the LSA (\emph{Linguistic Society of America}). In order to conform to this style, the \uvlt\ class uses the \textsf{biblatex} package with the \textsf{univie-ling} style that is included in the \textsf{univie-ling} bundle. +If, for some reason, you do not want to use \textsf{biblatex} and prefer to have a manually constituted bibliography\footnote{A reason might be that you transform +a paper submitted in a an office file format to \LaTeX.}, use the \texttt{reflist} environment +and separate each entry by a blank line. Since this environment is provided by \textsf{covington}, the \joption{covington} options must not be \joption{false}. + \section{\LyX\ layouts and templates} A layout for \LyX\footnote{See \url{https://www.lyx.org}.}\ can be retrieved from \url{https://github.com/jspitz/univie-ling/raw/master/lyx/layouts/univie-ling-wlg.layout}. @@ -274,6 +278,12 @@ A template is provided as well: \url{https://github.com/jspitz/univie-ling/raw/m \raggedright \begin{itemize} + \item 2024/07/23 (v.\,2.7) + \begin{itemize} + \item Use proper spacing with \textsf{covington}'s \texttt{reflist} environment. + \item Fix spacing after \jfcsmacro{weblink}. + \item Fix empty argument check in \jfcsmacro{weblink}. + \end{itemize} \item 2024/06/27 (v.\,2.6) \begin{itemize} \item Provide \jcsmacro{weblink}, \jcsmacro{SetURLDate} and \jcsmacro{urldate} macros. diff --git a/Master/texmf-dist/doc/latex/univie-ling/univie-ling.pdf b/Master/texmf-dist/doc/latex/univie-ling/univie-ling.pdf Binary files differindex b0f3e13826a..394cddb6923 100644 --- a/Master/texmf-dist/doc/latex/univie-ling/univie-ling.pdf +++ b/Master/texmf-dist/doc/latex/univie-ling/univie-ling.pdf diff --git a/Master/texmf-dist/doc/latex/univie-ling/univie-ling.tex b/Master/texmf-dist/doc/latex/univie-ling/univie-ling.tex index 34435a38765..f88f1fcea48 100644 --- a/Master/texmf-dist/doc/latex/univie-ling/univie-ling.tex +++ b/Master/texmf-dist/doc/latex/univie-ling/univie-ling.tex @@ -42,7 +42,7 @@ \author{\texorpdfstring{Jrgen Spitzmller% \thanks{Please report issues via \protect\url{https://github.com/jspitz/univie-ling}.}}{Jrgen Spitzmller}} -\date{Version 2.6, 2024/06/27} +\date{Version 2.7, 2024/07/23} \maketitle diff --git a/Master/texmf-dist/doc/latex/ut-thesis/README b/Master/texmf-dist/doc/latex/ut-thesis/README index 785d74c6061..ed1db06b9db 100644 --- a/Master/texmf-dist/doc/latex/ut-thesis/README +++ b/Master/texmf-dist/doc/latex/ut-thesis/README @@ -5,8 +5,8 @@ as of Fall 2020: [https://www.sgs.utoronto.ca/academic-progress/program-completion/formatting] Copyright (c) 1998-2013 Francois Pitt <fpitt@cs.utoronto.ca>, - 2020-2023 Jesse Knight <jesse.knight@mail.utoronto.ca> -last updated at 13:00 (EST) on Wed 08 Feb 2023 + 2020-2024 Jesse Knight <jesse.x.knight@protonmail.com> +last updated at 09:00 (BST) on Fri 26 July 2024 This work may be distributed and/or modified under the conditions of the LaTeX Project Public Licence, either version 1.3c of this licence @@ -22,7 +22,7 @@ and is not covered by the licence. This work has the LPPL maintenance status "maintained". The Current Maintainer of this work is -Jesse Knight <jesse.knight@mail.utoronto.ca>. +Jesse Knight <jesse.x.knight@protonmail.com>. This work consists of the files: - README @@ -31,12 +31,13 @@ This work consists of the files: - ut-thesis.pdf (derived user manual) - ut-thesis.cls (derived class file) -To generate ut-thesis.cls (class file), run: pdflatex ut-thesis.ins -To generate ut-thesis.pdf (documentation), run: pdflatex ut-thesis.dtx -To use the class, make ut-thesis.cls visible to your LaTeX distribution, -by placing ut-thesis.cls either in your working directory, -or in your texmf tree, perhaps: $texmf/tex/latex/ut-thesis/ut-thesis.cls -and the documentation: $texmf/doc/latex/ut-thesis/ut-thesis.pdf +Install ut-thesis from your favourite LaTeX distribution. +Alternatively, or to use the latest version: +- generate ut-thesis.cls (class file) using: pdflatex ut-thesis.ins + and copy to: $texmf/tex/latex/ut-thesis/ut-thesis.cls +- generate ut-thesis.pdf (documentation) using: pdflatex ut-thesis.dtx + and copy to: $texmf/doc/latex/ut-thesis/ut-thesis.pdf +or simply copy ut-thesis.cls to your working directory. See version history on GitHub: -[https://github.com/jessexknight/ut-thesis]
\ No newline at end of file +[https://github.com/jessexknight/ut-thesis] diff --git a/Master/texmf-dist/doc/latex/ut-thesis/ut-thesis.pdf b/Master/texmf-dist/doc/latex/ut-thesis/ut-thesis.pdf Binary files differindex 8f055d54d09..fdf74d5a9a4 100644 --- a/Master/texmf-dist/doc/latex/ut-thesis/ut-thesis.pdf +++ b/Master/texmf-dist/doc/latex/ut-thesis/ut-thesis.pdf diff --git a/Master/texmf-dist/doc/latex/wheelchart/README.md b/Master/texmf-dist/doc/latex/wheelchart/README.md index ec414f34409..df9f81a74dd 100644 --- a/Master/texmf-dist/doc/latex/wheelchart/README.md +++ b/Master/texmf-dist/doc/latex/wheelchart/README.md @@ -2,9 +2,11 @@ ## Diagrams with circular or other shapes using Ti*k*Z and LaTeX3 -Version 3.0 (2024/03/08) +Version 4.0 (2024/07/28) -This package is based on the package [Ti*k*Z](https://ctan.org/pkg/pgf) and can be used to draw various kinds of diagrams such as a bar chart, doughnut chart, infographic, pie chart, ring chart, square chart, sunburst chart, waffle chart and wheel chart with Ti*k*Z. It provides several options to customize the diagrams. It is also possible to specify a plot for the shape of the chart. Furthermore a legend can be added and the table of contents can be displayed as one of these diagrams. +This package is based on the package [Ti*k*Z](https://ctan.org/pkg/pgf) and can be used to draw various kinds of diagrams such as bar charts, doughnut charts, infographics, pie charts, ring charts, square charts, sunburst charts, waffle charts and wheel charts. + +It provides several options to customize the diagrams. It is also possible to specify a plot for the shape of the chart. Furthermore a legend can be added and the table of contents can be displayed as one of these diagrams. %% README.md %% Copyright 2022-2024 Matthias Floré diff --git a/Master/texmf-dist/doc/latex/wheelchart/wheelchart.pdf b/Master/texmf-dist/doc/latex/wheelchart/wheelchart.pdf Binary files differindex 2cfa0dd1be1..808551f33c5 100644 --- a/Master/texmf-dist/doc/latex/wheelchart/wheelchart.pdf +++ b/Master/texmf-dist/doc/latex/wheelchart/wheelchart.pdf diff --git a/Master/texmf-dist/doc/latex/wheelchart/wheelchart.tex b/Master/texmf-dist/doc/latex/wheelchart/wheelchart.tex index 5f0857f1a68..952fc93a818 100644 --- a/Master/texmf-dist/doc/latex/wheelchart/wheelchart.tex +++ b/Master/texmf-dist/doc/latex/wheelchart/wheelchart.tex @@ -137,7 +137,7 @@ \setcounter{secnumdepth}{2} \title{The \texttt{wheelchart} package\\[12pt]\large Diagrams with circular or other shapes using \tikzname{} and \LaTeX3} \author{Matthias Floré} -\date{Version 3.0 (2024/03/08)}%\\[12pt] +\date{Version 4.0 (2024/07/28)}%\\[12pt] \begin{document} \iftotalpages% \newsavebox{\fancyfootdefaultbox}% @@ -155,7 +155,11 @@ \maketitle \thispagestyle{fancy} \begin{abstract} -\noindent This package is based on the package |tikz| (see \cite{TtTaPGFp}) and can be used to draw various kinds of diagrams such as a bar chart, doughnut chart, infographic, pie chart, ring chart, square chart, sunburst chart, waffle chart and wheel chart with \tikzname. It provides several options to customize the diagrams. It is also possible to specify a plot for the shape of the chart. Furthermore a legend can be added and the table of contents can be displayed as one of these diagrams. Other tools for creating wheel charts or pie charts can be found in \cite{MpMP}, \cite{JhcIparowcltopotPGFm}, \cite{Tumfdb}, \cite{XdPCbupp} and \cite{RSVpaaMfp}.% This is the manual for version . +\noindent This package is based on the package |tikz| (see \cite{TtTaPGFp}) and can be used to draw various kinds of diagrams such as bar charts, doughnut charts, infographics, pie charts, ring charts, square charts, sunburst charts, waffle charts and wheel charts. + +\noindent It provides several options to customize the diagrams. It is also possible to specify a plot for the shape of the chart. Furthermore a legend can be added and the table of contents can be displayed as one of these diagrams. + +\noindent Other tools for creating wheel charts or pie charts can be found in \cite{MpMP}, \cite{JhcIparowcltopotPGFm}, \cite{Tumfdb}, \cite{XdPCbupp} and \cite{RSVpaaMfp}.% This is the manual for version . \end{abstract} \section*{\contentsname} \iftotalpages @@ -257,7 +261,7 @@ The default wheelchart with these data is shown below. \end{tikzpicture} \end{codeexample} \end{command} -\newpage%such that this section has its own block in the header +\newpage%so that this section has its own block in the header \section{Additional macros} \begin{command}{\WCangle\opt{\oarg{number}}\marg{angle pos}\marg{angle shift}\marg{pos}\marg{sep}} This command gives the angle in degrees of the point which is constructed as follows. @@ -670,6 +674,11 @@ In the example below, it is necessary to use |arc data expand=e| and to place |\ \begin{key}{/wheelchart/arc data line sep factor=\marg{factor} (initially 1)} The contents of the key |arc data| can consist of multiple lines separated by |\\|. The \meta{factor} determines the spacing between these lines. \end{key} +\begin{key}{/wheelchart/arc data lines pos=\marg{factor} (initially 0.5)} +\end{key} +\begin{key}{/wheelchart/arc data lines shift=\marg{value} (initially 0)} +The positioning of the lines of the key |arc data| is determined by the index $k-1-\text{|arc data lines pos|}\cdot(N-1)+\text{|arc data lines shift|}$ where $N$ is the number of lines and $k\in\{1,\dots,N\}$. +\end{key} \begin{key}{/wheelchart/arc data pos=\marg{value} (initially 1)} \end{key} \begin{key}{/wheelchart/arc data sep=\marg{value} (initially 1ex/1cm)} @@ -738,7 +747,6 @@ This key accepts a list of keys which will be applied to the node where the cont \begin{codeexample}[width=10cm] \begin{tikzpicture} \wheelchart[ - at={(5,2)}, caption=Caption, caption style={font=\scshape}, caption left=Caption left, @@ -2909,6 +2917,11 @@ The following example is an answer to the question on \url{https://tex.stackexch \item In v2.0, the key |arc data angle shift| was not taken into account for the key |arc| in combination with the key |arc around text|. This is fixed in v3.0. \item In v2.0, the number of items for each slice in the \meta{wheelchart data} which can be accessed with the macros |\WCvarA| and so on was determined by the number of items for the last slice. For example, |data{1}=\WCvarD| in combination with the \meta{wheelchart data} |1/black/A/a,2/gray/B| was not possible with v2.0. This is not a limitation anymore with v3.0. \end{itemize} +\item[] \textbf{Version 4.0 (2024/07/28)} +\begin{itemize} +\item Added the keys |arc data lines pos| and |arc data lines shift|. +\item Solved an incompatibility if |\\| is used in a key such as |data| inside an environment such as |center|. +\end{itemize} \end{itemize} \begin{thebibliography}{9} \bibitem{JhcIparowcltopotPGFm} diff --git a/Master/texmf-dist/doc/latex/wordle/README.md b/Master/texmf-dist/doc/latex/wordle/README.md index f1977a1ae76..fdfd9968701 100644 --- a/Master/texmf-dist/doc/latex/wordle/README.md +++ b/Master/texmf-dist/doc/latex/wordle/README.md @@ -1,8 +1,33 @@ -wordle is a package to work with Wordle game. ------------------------------------------------------------ -wordle est un package pour travailler avec le jeu du sutom. ------------------------------------------------------------ -Author : Cédric Pierquet -email : cpierquet@outlook.fr -Licence : Released under the LaTeX Project Public License v1.3c or later, see http://www.latex-project.org/lppl.txt -Source : https://tex.stackexchange.com/questions/659860/wordle-like-colored-letter-boxes-in-latex
\ No newline at end of file +![v![]()ersion](https://img.shields.io/github/v/tag/AndrewMathas/wordle?color=success&label=version) +<a href="http://www.latex-project.org/lppl.txt"><img src="https://img.shields.io/badge/license-LPPLv1.3c-blueviolet.svg"></a> +<a href="https://www.latex-project.org/"><img src="https://img.shields.io/badge/latex-20B2AA?logo=Latex"></a> + +# Wordle + +A stupidly feature-rich LaTeX package for typesetting **Wordle** puzzles. This package provides a stupidly feature-rich way of creating Wordle puzzles in LaTeX, which [Wikipedia](https://en.wikipedia.org/wiki/Wordle) describes as a hugely popular web-based word game created and developed by Welsh software engineer Josh Wardle. + +This package provides the `wordle` environment, which uses the syntax: + +```tex +% \usepackage{wordle} +\begin{wordle}{ANVIL} + CRANE + NATAL + ANVIL +\end{wordle} +``` + +Ce package fournit un moyen stupidement riche en fonctionnalités de créer des puzzles **Wordle** en LaTeX, que [Wikipedia](https://en.wikipedia.org/wiki/Wordle) décrit comme comme un jeu de lettres en ligne extrêmement populaire, créé et développé par l'ingénieur logiciel gallois Josh Wardle. + +```tex +% \usepackage{wordle} +\begin{GrilleSutom}{REBUS} + ABRIS + ROUTE + REBUS +\end{GrilleSutom} +``` + +### Authors +Andrew Mathas and Cédric Pierquet + diff --git a/Master/texmf-dist/doc/latex/wordle/wordle-doc-en.pdf b/Master/texmf-dist/doc/latex/wordle/wordle-doc-en.pdf Binary files differindex aadb07f54b0..7845bc31b5f 100644 --- a/Master/texmf-dist/doc/latex/wordle/wordle-doc-en.pdf +++ b/Master/texmf-dist/doc/latex/wordle/wordle-doc-en.pdf diff --git a/Master/texmf-dist/doc/latex/wordle/wordle-doc-en.tex b/Master/texmf-dist/doc/latex/wordle/wordle-doc-en.tex index 06352f5ad5f..a638ed94962 100644 --- a/Master/texmf-dist/doc/latex/wordle/wordle-doc-en.tex +++ b/Master/texmf-dist/doc/latex/wordle/wordle-doc-en.tex @@ -1,426 +1,921 @@ -% !TeX TXS-program:compile = txs:///arara -% arara: pdflatex: {shell: yes, synctex: no, interaction: batchmode} -% arara: pdflatex: {shell: yes, synctex: no, interaction: batchmode} if found('log', '(undefined references|Please rerun|Rerun to get)') - -\documentclass[english,a4paper,11pt]{article} -\usepackage[margin=2cm,includefoot]{geometry} -\def\TPversion{0.1.1} -\def\TPdate{03/09/2023} -\usepackage{amssymb,amsfonts,amsmath} -\usepackage[utf8]{inputenc} -%\usepackage[T1]{fontenc} +% !TeX TS-program = pdflatex + +\documentclass[svgnames]{report} \usepackage{wordle} -\usepackage{awesomebox} -\usepackage{fontawesome5} -\usepackage{footnote} -\makesavenoteenv{tabular} +\usepackage{manfnt} \usepackage{enumitem} -\usepackage{tabularray} -\usepackage{fancyvrb} -\usepackage{fancyhdr} -\fancyhf{} -\renewcommand{\headrulewidth}{0pt} -\lfoot{\sffamily\small [wordle]} -\cfoot{\sffamily\small - \thepage{} -} -\rfoot{\hyperlink{matoc}{\small\faArrowAltCircleUp[regular]}} - -%\usepackage{hvlogos} -\usepackage{xspace} -\usepackage{hologo} -\providecommand\tikzlogo{Ti\textit{k}Z} -\providecommand\TeXLive{\TeX{}Live\xspace} -\providecommand\PSTricks{\textsf{PSTricks}\xspace} -\let\pstricks\PSTricks -\let\TikZ\tikzlogo -\newcommand\TableauDocumentation{% - \begin{tblr}{width=\linewidth,colspec={X[c]X[c]X[c]X[c]X[c]X[c]},cells={font=\sffamily}} - {\LARGE \LaTeX} & & & & &\\ - & {\LARGE \hologo{pdfLaTeX}} & & & & \\ - & & {\LARGE \hologo{LuaLaTeX}} & & & \\ - & & & {\LARGE \TikZ} & & \\ - & & & & {\LARGE \TeXLive} & \\ - & & & & & {\LARGE \hologo{MiKTeX}} \\ - \end{tblr} +\setlist[description]{font=\sffamily\bfseries\color{ForestGreen},labelwidth=\textwidth} +\usepackage{booktabs} +\usepackage[a4paper,margin=18mm]{geometry} +\synctex=1 +\parindent=0pt +\parskip=2mm + +\usepackage{cmap} % fix search and cut-and-paste in Acrobat +\setcounter{secnumdepth}{0} + +\usepackage{listings}\lstset{language=[LaTeX]TeX,framerule=2pt} +\lstset{language=[LaTeX]TeX, + texcsstyle=*\bfseries\color{Peru}, + backgroundcolor=\color{Ivory}, + numbers=none, + breaklines=true, + keywordstyle=\color{Sienna}, + commentstyle=\color{BurlyWood}, + tabsize=2, + morekeywords={Wordle,wordle,GrilleSutom}, + resetmargins=true, } - -\usepackage{hyperref} -\urlstyle{same} -\hypersetup{pdfborder=0 0 0} -\setlength{\parindent}{0pt} -\definecolor{LightGray}{gray}{0.9} - -\usepackage{babel} -%\AddThinSpaceBeforeFootnotes -%\FrenchFootnotes - -\usepackage{listings} - -\usepackage{newverbs} -\newverbcommand{\motcletex}{\color{cyan!75!black}}{} -\newverbcommand{\packagetex}{\color{violet!75!black}}{} - -\usepackage[most]{tcolorbox} -\tcbuselibrary{listingsutf8} -\newtcblisting{DemoCode}[1][]{% - enhanced,width=0.95\linewidth,center,% - bicolor,size=title,% - colback=cyan!2!white,% - colbacklower=cyan!1!white,% - colframe=cyan!75!black,% - listing options={% - breaklines=true,% - breakatwhitespace=true,% - style=tcblatex,basicstyle=\small\ttfamily,% - tabsize=4,% - commentstyle={\itshape\color{gray}}, - keywordstyle={\color{blue}},% - classoffset=0,% - keywords={},% - alsoletter={-},% - keywordstyle={\color{blue}},% - classoffset=1,% - alsoletter={-},% - morekeywords={center,justify},% - keywordstyle={\color{violet}},% - classoffset=2,% - alsoletter={-},% - morekeywords={WordleGrid},% - keywordstyle={\color{green!50!black}},% - classoffset=3,% - morekeywords={Colors,Rounded,Unit,Font,ColorLetters,Letters,Style,Thickness,BorderColor},% - keywordstyle={\color{orange}} - },% - #1 +% hyperref links to ctan +\newcommand\ctan[1]{\href{https://www.ctan.org/pkg/#1}{\texttt{#1}}} + +\newcommand\Section[1]{\subsection{\textcolor{DarkGreen}{#1}}} + +\ExplSyntaxOn +\NewDocumentCommand\option{ omo }{% + \IfNoValueTF{#1}{\textsf{#2}} + {% + \textbf{\textcolor{Crimson}{#2}} + \str_if_empty:nF {#1}{~(default:~\textcolor{DarkRed}{#1})}% + \IfNoValueF{#3}{\hfill\textcolor{Gray}{[accepts:~#3]}}% + }% + \index{#2}% +} +\ExplSyntaxOff + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\usepackage{imakeidx} +\indexsetup{level=\section*, toclevel=section, noclearpage} +\makeindex[intoc,columns=3] + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\usepackage[skins,listings]{tcolorbox} +\usetikzlibrary{backgrounds, shapes.geometric} % for tikz={framed,...} + +\DeclareTotalTCBox\keyword{ O{} v }{ + fontupper=\sffamily, + nobeforeafter, + skin=tile, + verbatim, + on line, + tcbox raise base, + top=0pt,bottom=0pt,left=0mm,right=0mm, + colback=OldLace, + colupper=ForestGreen, + #1} +{#2} + +\lstdefinestyle{tikz}{style=tcblatex, + classoffset=0, + texcsstyle=*\color{DarkGoldenrod},% + deletetexcs={begin, end}, + moretexcs={,% + node, + draw, + true, + false + },% + classoffset=1, + keywordstyle=\color{ForestGreen},% + morekeywords={wordle,GrilleSutom}, + classoffset=2, + keywordstyle=\color{Crimson},% + morekeywords={ + absent, + align, + border, + borders, + case, + color, + colors, + colour, + colours, + correct, + empty, + font, + frame, + frames, + letters, + lower, + name, + natural, + noalign, + noletters, + params, + present, + rounded, + rows, + scale, + sensitive, + separation, + shape, + shapes, + size, + strict, + style, + style, + text, + thickness, + tikz, + tile, + upper, + }, + classoffset=3, + keywordstyle=\color{DarkOrange},% + morekeywords={ + hard, + standard, + sutom, + } } -\tcbset{vignettes/.style={% - nobeforeafter,box align=base,boxsep=0pt,enhanced,sharp corners=all,rounded corners=southeast,% - boxrule=0.75pt,left=7pt,right=1pt,top=0pt,bottom=0.25pt,% - } +\DeclareTCBListing{example}{ !O{} }{% + skin=bicolor, + colframe=MediumSeaGreen, + colbacklower=OldLace, + colback=LawnGreen!20, + lefthand width=50mm, + listing style=tikz, + sidebyside, + sidebyside align=center, + sidebyside gap=4mm, + text and listing, + text outside listing, + boxsep = 0pt, + #1 } -\tcbset{vignetteMaJ/.style={% - fontupper={\vphantom{pf}\footnotesize\ttfamily}, - vignettes,colframe=purple!50!black,coltitle=white,colback=purple!10,% - overlay={\begin{tcbclipinterior}% - \fill[fill=purple!75]($(interior.south west)$) rectangle node[rotate=90]{\tiny \sffamily{\textcolor{black}{\scalebox{0.66}[0.66]{\textbf{MàJ}}}}} ($(interior.north west)+(5pt,0pt)$);% - \end{tcbclipinterior}} - } +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + +\makeatletter +\author{Andrew Mathas and Cédric Pierquet} +\usepackage{tikz} +\usetikzlibrary{shadows.blur} +\tikzset{shadowed/.style={blur shadow={shadow blur steps=5}, + bottom color=ForestGreen!30, + draw=MediumSeaGreen!70, + shade, + font=\normalfont\Huge\bfseries\scshape, + rounded corners=8pt, + top color=SeaGreen, + }, + boxes/.style={draw=SeaGreen, + fill=Cornsilk, + font=\sffamily\small, + inner sep=5pt, + rectangle, + rounded corners=8pt, + text=DarkGreen, + } +} +\newcommand\Wordle{% + \begin{tikzpicture}[remember picture,overlay] + \node[yshift=-3cm] at (current page.north west) + {\begin{tikzpicture}[remember picture, overlay] + \draw[shadowed](30mm,0) rectangle node[white]{wordle} (\paperwidth-30mm,16mm); + \node[anchor=west,boxes] at (4cm,0cm) {\@author}; + \node[anchor=east,boxes] at (\paperwidth-4cm,0) {Version \wordle@version}; + \end{tikzpicture} + }; + \end{tikzpicture} + \vspace*{20mm} } -\newcommand\Cle[1]{{\small\sffamily\textlangle \textcolor{orange}{#1}\textrangle}} -\newcommand\cmaj[1]{\tcbox[vignetteMaJ]{#1}\xspace} +\def\@oddfoot{\textsc{Wordle} --- \wordle@version~(released~\wordle@release)\hfill\thepage} + +\usepackage[colorlinks=true,linkcolor=blue,urlcolor=MediumBlue]{hyperref} +\hypersetup{ + pdfcreator={ Generated by pdfLaTeX }, + pdfinfo={ + Author ={ Andrew Mathas and Cédric Pierquet}, + Keywords={ wordle }, + License ={ LaTeX Project Public License v1.3c or later }, + Subject ={ LaTeXing Wordle puzzles }, + Title ={ Wordle - \wordle@version } + }, +} +\makeatother \begin{document} -\setlength{\aweboxleftmargin}{0.07\linewidth} -\setlength{\aweboxcontentwidth}{0.93\linewidth} -\setlength{\aweboxvskip}{8pt} - -\pagestyle{fancy} - -\thispagestyle{empty} - -\vspace{2cm} - -\begin{center} - \begin{minipage}{0.75\linewidth} - \begin{tcolorbox}[colframe=yellow,colback=yellow!15] - \begin{center} - \begin{tabular}{c} - {\Huge \texttt{wordle} [en]}\\ - \\ - {\LARGE Grids of Wordle,} \\ - \\ - {\LARGE made with \textsf{Ti\textit{k}Z}.} \\ - \end{tabular} - - \bigskip - - {\small \texttt{Version \TPversion{} -- \TPdate}} - \end{center} - \end{tcolorbox} -\end{minipage} -\end{center} - -\begin{center} - \begin{tabular}{c} - \texttt{Cédric Pierquet}\\ - {\ttfamily c pierquet -- at -- outlook . fr}\\ - \texttt{\url{https://github.com/cpierquet/wordle}} -\end{tabular} -\end{center} - -\vspace{0.25cm} - -{$\blacktriangleright$~~Create Wordle grids Wordle/Sutom\footnotemark\footnotetext{\url{https://en.wikipedia.org/wiki/Wordle}}.} - -\vspace{0.25cm} - -{$\blacktriangleright$~~Specify colors and font\footnotemark\footnotetext{Ideas from \url{ttps://tex.stackexchange.com/questions/659860/wordle-like-colored-letter-boxes-in-latex}}. - -\vspace{0.5cm} - -\begin{center} -\begin{WordleGrid}{CRAZE} - GRAIL TRACK CRAMP CRABS CRAZY CRAZE -\end{WordleGrid} -\end{center} - -\begin{center} -\begin{WordleGrid}[Rounded=0,Colors={lightgray,orange,teal},Style=alt,Unit=0.5,Letters=false]{LADLE} - FLAIL LAPEL LADLE -\end{WordleGrid} -% -\hspace{5mm} -% -\begin{WordleGrid}[Rounded=0,Colors={lightgray,orange,teal},Style=alt,Unit=0.5]{LADLE} - FLAIL LAPEL LADLE -\end{WordleGrid} -\end{center} - -\vspace{0.25cm} - -%\hfill{}\textit{Merci à Denis Bitouzé et à Gilles Le Bourhis pour leurs retours et idées !} - -\smallskip - -\vfill - -\hrule - -\medskip - -\TableauDocumentation - -\medskip - -\hrule - -\vspace*{1cm} - -\newpage - -\phantomsection -\hypertarget{matoc}{} - -\tableofcontents - -\vfill - -\section{History} - -\verb|v0.1.1|~:~~~~Bugfix with english version. - -\verb|v0.1.0|~:~~~~Initial version. - -\newpage - -\section{The wordle package} - -\subsection{The game} - -\begin{noteblock} -Wordle is a web-based word game created and developed by Welsh software engineer Josh Wardle. Players have six attempts to guess a five-letter word, with feedback given for each guess in the form of colored tiles indicating when letters match or occupy the correct position. - -Every day, a five-letter word is chosen which players aim to guess within six tries. After every guess, each letter is marked as either green, yellow or gray: green indicates that letter is correct and in the correct position, yellow means it is in the answer but not in the right position, while gray indicates it is not in the answer at all. Multiple instances of the same letter in a guess, such as the "o"s in "robot", will be colored green or yellow only if the letter also appears multiple times in the answer; otherwise, excess repeating letters will be colored gray. - -\smallskip - -\hfill{\scriptsize \url{https://en.wikipedia.org/wiki/Wordle}} -\end{noteblock} - -\subsection{The package} - -\begin{noteblock} -This package can display, in a \textsf{tex} file, a wordle grid (with \TikZ{} and within a \motcletex!minipage!), with ability : - -\begin{itemize} - \item to change dimensions and colors ; - \item to pick style for misplaced letters ; - \item to change borders and corners ; - \item to print or not the letters. -\end{itemize} - -It's possible to "play" with other words than five-letter words ! -\end{noteblock} - -\begin{importantblock} -Most of source code, in \hologo{LaTeX3}, is given by thread from \texttt{tex.stackexchange}, proposed by user \textsf{3141592653589793238}. -\end{importantblock} - -\subsection{Loading of the package, used packages} - -\begin{importantblock} -The package \packagetex!wordle! loads within the preamble. - -There's no option, and \packagetex!xcolor! isn't loaded. -\end{importantblock} - -\begin{DemoCode}[listing only] -\documentclass{article} -\usepackage{wordle} - -\end{DemoCode} - -\begin{noteblock} -\packagetex!wordle! loads the following packages and libraries : - -\begin{itemize} - \item \packagetex!tikz!; - \item \packagetex!simplekv! ; - \item \packagetex!xstring!. -\end{itemize} - -It’s mostly compatible with \textsf{latex}, \textsf{pdflatex}, \textsf{lualatex} or \textsf{xelatex} compilation ! -\end{noteblock} - -\vfill~ - -\pagebreak - -\section{WordleGrid environment} - -\subsection{Environment} - -\begin{cautionblock} -The environment to display a Wordle grid is \packagetex!WordleGrid!. - -It works with keys, between \texttt{[...]} and needs to know : - -\begin{itemize} - \item the good word ; - \item the different guesses. -\end{itemize} - -The code create the grid and the colors ! -\end{cautionblock} - -\begin{DemoCode}[listing only] -\begin{WordleGrid}[keys]{good word} - guess n°1 - guess n°2 - guess n°3 -\end{WordleGrid} -\end{DemoCode} - -\begin{noteblock} -the grid is created with a \motcletex!minipage!, with automatic width and spacings ! -\end{noteblock} - -\begin{DemoCode}[] -%default output -\begin{WordleGrid}{REBUS} - ARISE - ROUTE - RULES - REBUS -\end{WordleGrid} -\end{DemoCode} - -\subsection{Keys and options} - -\begin{tipblock} -The first argument, mandatory and between \texttt{[...]}, proposes the following \Cle{keys} : - -\begin{itemize} - \item \Cle{Colors} : = colors of the boxes \Cle{back,misplaced,good} ; - - \hfill{}default : \Cle{WordleBack,WordleBad,WordleGood},% - \item \Cle{Rounded} := arc for corners, in mm ; \hfill{}default : \Cle{0.1} - \item \Cle{Unit} := width of cases, in cm ; \hfill{}default : \Cle{1} - \item \Cle{Font} := font for letters ; \hfill{}default : \Cle{\textbackslash LARGE\textbackslash bfseries\textbackslash sffamily} - \item \Cle{ColorLetters} := color for letters ; \hfill{}default : \Cle{white} - \item \Cle{BorderColor} := color fot the border ; \hfill{}default : \Cle{white} - \item \Cle{Letters} := boolean to print letters ; \hfill{}default : \Cle{true} - \item \Cle{Style} := style within \Cle{default / other} to change the style ; \hfill{}default : \Cle{default} - \item \Cle{Thick} := thickness of the borders, in mm. \hfill{}default : \Cle{0.25} -\end{itemize} -\vspace*{-\baselineskip}\leavevmode -\end{tipblock} - -\begin{tipblock} -The second argument, optional and between \texttt{\{...\}} is the correct word. - -\smallskip - -Different guesses are given within the body of the environment (line by line or space separated). -\end{tipblock} - -\subsection{Examples} - -\begin{DemoCode}[] -\begin{WordleGrid}{BURGH} - ABATE - HERBS - BURLY - BURGH -\end{WordleGrid} -% -\hspace{5mm} -% -\begin{WordleGrid}[Style=alt]{BURGH} - ABATE HERBS BURLY BURGH -\end{WordleGrid} -\end{DemoCode} - -\begin{DemoCode}[] -\begin{WordleGrid} - [Thickness=0.3,BorderColor=black,% - Colors={lightgray,orange,teal}]{BURGH} - ABATE - HERBS - BURLY - BURGH -\end{WordleGrid} -% -\hspace{5mm} -% -\begin{WordleGrid} - [Rounded=0,Thickness=0.3,BorderColor=black,% - Colors={lightgray,orange,teal}]{BURGH} - ABATE - HERBS - BURLY - BURGH -\end{WordleGrid} -\end{DemoCode} - -\begin{DemoCode}[] -\begin{WordleGrid}[Unit=2,Font=\Huge\ttfamily,ColorLetters=black]{BURGH} - ABATE - HERBS - BURLY - BURGH -\end{WordleGrid} -\end{DemoCode} - -\begin{DemoCode}[] -\begin{WordleGrid}% - [Unit=0.75,Rounded=0,Colors={cyan,orange,violet},Letters=false]{BURGH} - ABATE - HERBS - BURLY - BURGH -\end{WordleGrid} -\hspace{5mm} -\begin{WordleGrid}% - [Unit=0.75,Rounded=0,Colors={cyan,orange,violet},Style=alt] - {BURGH} - ABATE - HERBS - BURLY - BURGH -\end{WordleGrid} -\hspace{5mm} -\begin{WordleGrid}% - [Unit=0.75,Rounded=0,Colors={cyan,orange,violet},Style=alt,Letters=false] - {BURGH} - ABATE - HERBS - BURLY - BURGH -\end{WordleGrid} -\end{DemoCode} - -\end{document}
\ No newline at end of file + \Wordle + + This package provides a stupidly feature-rich way of creating + \keyword{Wordle} puzzles in \LaTeX, which + \href{https://en.wikipedia.org/wiki/Wordle}{Wikipedia} describes as a + hugely popular web-based word game created and developed by Welsh + software engineer Josh Wardle. This package is an enhanced version of + one of the solutions to a question asked by \textcolor{FireBrick}{valerio\_new} + on + \href{https://tex.stackexchange.com/questions/659860/wordle-like-colored-letter-boxes-in-latex/660056#660056}{tex.stackexchange.com}. + + This package provides the \keyword{wordle} environment, which uses the + syntax: + + \begin{tcblisting}{ + listing only, + skin=bicolor, + colframe=MediumSeaGreen, + colbacklower=OldLace, + colback=LawnGreen!20, + listing style=tikz, + boxsep = 0pt, + } + % \usepackage{wordle} + \begin{wordle}[wordle settings]{solution}[optional tikz commands] + guess1 guess2 ... + \end{wordle} + \end{tcblisting} + \index{environment!wordle} + \index{wordle} + + and the \keyword{GrilleSutom} environment, for \keyword{Sutom}, the French version of + the games: + + \begin{tcblisting}{ + listing only, + skin=bicolor, + colframe=MediumSeaGreen, + colbacklower=OldLace, + colback=LawnGreen!20, + listing style=tikz, + boxsep = 0pt, + } + % \usepackage{wordle} + \begin{GrilleSutom}[sutom settings]{solution}[optional TikZ commands] + guess1 guess2 ... + \end{GrilleSutom} + \end{tcblisting} + \index{environment!GrilleSutom} + \index{GrilleSutom} + \index{sutom} + + The words in the puzzle can be entered on a single lines, or on separate + lines. Here are some examples: + + \begin{example} + \begin{wordle}{ANVIL} + % English version of sutom (wordle) + CRANE + NATAL + ANVIL + \end{wordle} + \end{example} + + \begin{example} + % French version of wordle (sutom) + \begin{GrilleSutom}{REBUS} + ABRIS + ROUTE + REBUS + \end{GrilleSutom} + \end{example} + + As in the online puzzles, the \keyword{wordle} environment + automatically colours the letter tiles + \keyword[colback=WordleCorrect,colupper=White]{green} + when the letter is in the same position as the solution, and as + \keyword[colback=WordlePresent,colupper=White]{gold} when + the letter is in the solution but it is not in the correct position. + Similarly, \keyword{GrilleSutom} colours the correct letters + \keyword[colback=WordleSutomCorrect,colupper=White]{red} + and the present letters + \keyword[colback=WordleSutomPresent,colupper=White]{gold}. + As described below, these colours can be changed to suit your tastes. + + The number of letters in the puzzle is determined by the solution, + being constrained only by the page width. + + \begin{example} + \begin{wordle}[rows=4]{orange} + normal + orders + orange + \end{wordle} + \end{example} + + The letters in the puzzle can be entered in upper case, lower case, or + mixed case. By default, the case of the letters is ignored when + determining the colours of the letter tiles. + + As described below, the \keyword{wordle} and \keyword{GrilleSutom} + environments accept an array of different options that change the + colours, fonts, and shapes of the tile. In addition, you can the case + sensitivity of the environments, add extra rows to the puzzle, disable + special formatting of the \textit{letter tiles}. These options are + given as a comma separated list key-value pairs. They can be set + locally, using the optional argument of the \keyword|wordle| + environment, or they can be set globally (more accurately, in the + current \LaTeX\ group) using the \keyword{\WordleSetup} command + \index{\textbackslash WordleSetup}, or as global package options, via + \keyword{\usepackage[options]{wordle}}. The order of the options does + not matter, except that later options take precedence over earlier + ones, with the exception of \option{tikz} and \option{tile style} keys + which are always applied last. + + The \keyword{wordle} puzzles are drawn using \ctan{TikZ}, with each + letter in the puzzle sitting inside a \ctan{TikZ} node. Many of the + options control the settings of these nodes. + + The descriptions of the options below are grouped according to their + function. + + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + \Section{Wordle styles} + + The \option{style} key can be used to change many characteristics of + the tiles in a \keyword{wordle} puzzle, including their colours, the + fonts and so on. The more common settings can be setting using the + \option{style} keyword. \textit{The style should always be set first + because, otherwise, the style settings may override earlier settings.} + + The following styles are supported: + + \textcolor{DarkOrange}{sutom} + \index{style!sutom} + \index{sutom} + + \begin{example} + \begin{wordle}[style=sutom]{ANVIL} + CRANE + NATAL + ANVIL + \end{wordle} + \end{example} + + The \textcolor{DarkOrange}{sutom} style is the default + style for the \keyword{GrilleSutom} environment. + + \textcolor{DarkOrange}{standard} + \index{style!standard} + + \begin{example} + \begin{wordle}[style=standard]{ANVIL} + CRANE + NATAL + ANVIL + \end{wordle} + \end{example} + + The \textcolor{DarkOrange}{standard} style is the default style for the + \keyword{wordle} environment. + + \textcolor{DarkOrange}{hard} + \index{style!hard} + + \begin{example} + \begin{wordle}[style=hard]{ANVIL} + CRANE + NATAL + ANVIL + \end{wordle} + \end{example} + + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + \Section{Options for the individual styles of the letter tiles} + + There are four types of letter tiles in \keyword{wordle}: + \option{absent}, \option{present}, \option{correct} and + \option{empty}, corresponding to letters not in the solution, + incorrectly placed letters, correctly placed letters, and empty + tiles, respectively. The options in this section can be used to set + the text, tile and border colours, shapes, and frames of these tiles. + + The letter tiles in a \keyword{wordle} environment are typeset inside + a \ctan{TikZ} \keyword{\node}. The options below control the different + style settings of these nodes. + + \option[--]{colours}[comma separated list of valid colours] + + The \option{colours} option is a short-hand for specifying the colours + of the \option{absent}, \option{present}, \option{correct} and + \option{empty} tiles, in that order. Later colours can be omitted but + the colours should be given in this order, from left to right. + If only one colour is given then this colour is applied to all tiles. + + \begin{example} + \begin{wordle}[colours={LightGray,Orange,Teal}]{cellar} + pounds + taylor + cellar + \end{wordle} + \end{example} + + The colours can also be set individually using \option{absent colour}, + \option{present colour}, \option{correct colour} and \option{empty + colour}. To support north American dialects, is also possible to use + \option{colors}, \option{absent color}, \option{present color}, + \option{correct color} and \option{empty color}. + + \begin{example} + \begin{wordle}[absent colour=DarkGray,present color=Salmon, + correct color=SeaGreen]{cellar} + pounds + taylor + cellar + \end{wordle} + \end{example} + + \option[white]{borders}[comma separated list of valid colours] + + Similar to the \option{colours} option, this is a short-hand for the + setting border colour of the \option{absent}, \option{present}, + \option{correct} and \option{empty} tiles, in that order. + If only one colour is given then this colour is applied to all tiles. + + \begin{example} + \begin{wordle}[borders={red, orange,blue}]{ANVIL} + CRANE + NATAL + ANVIL + \end{wordle} + \end{example} + + You can set the border borders of the individual tiles using + \option{absent border}, \option{present border}, \option{correct + border} and \option{empty border} + + \option[false]{frames}[comma separated list of true/false] + + This is a short-hand for adding a rectangular frame around the + \option{absent}, \option{present}, \option{correct} and \option{empty} + tiles, in that order, with the same background colour as the + \option{absent} file. This is only useful for non-square tiles. + + \begin{example} + \begin{wordle}[frames={false,true,true}, shapes=circle]{ANVIL} + CRANE + NATAL + ANVIL + \end{wordle} + \end{example} + + You can set the frames of the individual tiles using + \option{absent frame}, \option{present frame}, + \option{correct frame} and \option{empty~frame}. + + \option[rectangle]{shapes}[comma separated list of TikZ shapes] + + Similar to the \option{colours} option, this is a short-hand for the + setting shape colour of the \option{absent}, \option{present}, + \option{correct} and \option{empty} tiles, in that order. + + \begin{example} + \begin{wordle}[shapes={circle, rectangle, circle}]{ANVIL} + CRANE + NATAL + ANVIL + \end{wordle} + \end{example} + + You can set the shape shapes of the individual tiles using + \option{absent shape}, \option{present shape}, + \option{correct shape} and \option{empty shape} + You can use the shapes provided by the \ctan{TikZ} + \texttt{shapes.geometric} package, including \texttt{diamond}, + \texttt{ellipse}, \texttt{trapezium} and \texttt{star}; see + section~71.2 of the \ctan{TikZ} manual. + + \begin{example} + % \usepackage{shapes.geometric} + \begin{wordle}[shapes={diamond, ellipse, star}]{LADLE} + FLAIL + LAPEL + * + LADLE + LOVER + \end{wordle} + \end{example} + + \option[white]{text}[comma separated list of valid colours] + + This is a short-hand for the setting the text colours of the + \option{absent}, \option{present}, \option{correct} and \option{empty} + tiles, in that order. + + \begin{example} + \begin{wordle}[text={red, orange,blue}]{ANVIL} + CRANE + NATAL + ANVIL + \end{wordle} + \end{example} + + You can set the text borders of the individual tiles using + \option{absent text}, \option{present border}, \option{correct + text} and \option{empty border} + + + \Section{Common tile characteristics} + + The following options apply to all tiles. + + \option[]{noalign} (default) \qquad + \option[]{align} + + The options tweak the vertical alignment of the letters in each row of + the puzzle. This is only likely to be useful if you have lower case + letters in your puzzle. + + \begin{example} + \begin{wordle}[align]{agony} + groan + angry + agony + \end{wordle} + \end{example} + + \begin{example} + \begin{wordle}[noalign]{agony} % the default + groan + angry + agony + \end{wordle} + \end{example} + + \option[\textbackslash Large\textbackslash bfseries\textbackslash sffamily]{font} + [LaTeX font specification] + + Sets the font used by all \keyword{wordle} letters. Any valid sequence + of \LaTeX\ font commands can be used. + + \begin{example} + \begin{wordle}[font=\large\sffamily]{ANVIL} + CRANE + NATAL + ANVIL + \end{wordle} + \end{example} + + \option[1mm]{rounded}[a length] + + Set TikZ \texttt{rounded corners} key for the \keyword{wordle} letter tiles. + + \begin{example} + \begin{wordle}[rounded=2mm]{ANVIL} + CRANE + NATAL + ANVIL + \end{wordle} + \end{example} + + \option[0.5mm]{separation}[a length] + + Sets the separation distance between the \keyword{wordle} letter + tiles. + + \begin{example} + \begin{wordle}[separation=2mm, borders=black]{ANVIL} + CRANE + NATAL + ANVIL + \end{wordle} + \end{example} + + \option[1]{scale}[a number] + + The \option{scale} option rescales the \keyword{wordle} environment. + The \option{scale} alters the dimensions sets by the \option{rounded}, + \option{separation} \option{size} and \option{thickness} options. If + you change the scale, then you will almost certainly want + to change font size font as well, which you can do using the + \option{font} option: + + \begin{example} + \begin{wordle}[scale=1.5, font=\huge\bfseries]{SIZE} + HELP + WISE + SIZE + \end{wordle} + \end{example} + + \option[8mm]{size}[a length] + + The \option{size} option sets the size of the \keyword{wordle} letter + tiles. Unlike the \option{scale} option, \option{size} only changes + the dimensions of the letter tiles. + + \begin{example} + \begin{wordle}[size=10mm, font=\huge\bfseries]{LADLE} + FLAIL LAPEL * LADLE + \end{wordle} + \end{example} + + \option[0.25mm]{thickness}[a length] + + Sets the border thickness of the \keyword{wordle} letter tiles. By + default, the borders of the tiles are white, which makes this setting + hard to see, so the following example changes the border to red. + + \begin{example} + \begin{wordle}[thickness=1mm, borders=red]{LADLE} + FLAIL + LAPEL + LADLE + \end{wordle} + \end{example} + + \option[--]{tile style}[comma separated list of TikZ style keys] + + A comma-separated list of \ctan{Tikz} node keys that are appended to + the style of the \ctan{TikZ} node that contains each of the + \keyword{wordle} letters. Some of the options given above can be set + directly using the \option{tile style} option. When using the + \option{tile style}, be careful not to break the special formatting of + letters provided by the \keyword{wordle} environment.\par + + With most of the \keyword{wordle} options, the latter options take + precedence, however, the \option{tile style} option is applied last, + so it overrides any competing options. + + % TODO: Fix this because it looks like this style is being applied + % twice because the PDF file shows a rotation of 90 = 2*45... + \begin{example} + \begin{wordle}[tile style={rotate=45}]{ANVIL} + CRANE + NATAL + ANVIL + \end{wordle} + \end{example} + + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + \Section{Extra rows and columns} + + By default, all of the words in a \keyword{wordle} puzzle are assumed + to have the same number of letters as the solution, and the number of + rows in the puzzle is number of words given in the environment. The + options below give more control over the number of rows and columns in + the puzzle. + + \option[]{letters} (default)\qquad + \option[]{noletters} + + By default, the letters in the puzzle are printed. You can hide the + letters from the puzzle, while still keeping the \keyword{wordle} tile + colouring, using \option{noletters}. + + \begin{example} + \begin{wordle}[letters]{CRAZE} % the default + TRACE + CREAM + CRAZE + \end{wordle} + \end{example} + + \begin{example} + \begin{wordle}[noletters]{CRAZE} + TRACE + CREAM + CRAZE + \end{wordle} + \end{example} + + \option[false]{strict}[true/false/--] + + By default, the \keyword{wordle} environment does not check that each + word in the puzzle has the same length as the solution, so missing + and extra letters receive no special processing. + + \begin{example} + \begin{wordle}[strict=false]{CRAZE} % the default + GRAIL + CRAMPS + CRAM + CRABS + \end{wordle} + \end{example} + + The \option{strict} option enforces the word length in the puzzle by + marking missing letters as incorrect and striking out extra letters. + + \begin{example} + \begin{wordle}[strict]{CRAZE} + GRAIL + CRAMPS + CRAM + CRABS + \end{wordle} + \end{example} + + \option[--]{rows} + + By default, a \keyword{wordle} environment displays the words + in the puzzle environment with one word per row. You can add extra + (blank) rows to the puzzle with the \option{rows} option. + + \begin{example} + \begin{wordle}[rows=4]{ANVIL} + CRANE + NATAL + ANVIL + \end{wordle} + \end{example} + + The \option{rows} option only adds extra rows to the puzzle if they + are needed. This option does not prevent ``extra'' rows from + appearing. + + \begin{example} + \begin{wordle}[rows=2]{ANVIL} + CRANE + NATAL + ANVIL + \end{wordle} + \end{example} + + + \option[]{*} + + You can disable the special colouring of letter tiles in a + \keyword{wordle} puzzle by adding an asterisk,~\option{*}, as a + \textit{word}, into the puzzle. + + \begin{example} + \begin{wordle}{ANVIL} + CRANE + NATAL + * % disable wordle colouring + ANNUL + ANVIL + \end{wordle} + \end{example} + + + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + \Section{Case sensitivity} + \index{case~sensitive} + \index{case~sensitive!lower case} + \index{case~sensitive!natural case} + \index{case~sensitive!upper case} + + By default, the letters are printed in upper and lower case, exactly + as typed, and the letter comparisons are not case sensitive. + + \option[false]{case~sensitive} + + By default the \keyword{wordle} puzzles are not case sensitive, but + you can make them case sensitive using this option. Note that + \keyword{case sensitive} is the same as \keyword{case sensitive=true} + (and the default option is the same as + \keyword{case sensitive=false}). + + \begin{example} + \begin{wordle}[case sensitive=false]{youth} % the default + North + South + Youth + \end{wordle} + \end{example} + + Here is a case sensitive version of this puzzle. + + \begin{example} + \begin{wordle}[case sensitive]{youth} + North + South + Youth + \end{wordle} + \end{example} + + As this puzzle is case sensitive, the \keyword{Y} on the last line is + not marked as being correct because it does not match the \keyword{y} + in the solution. + + \option[]{natural case} (default) \qquad + \option[]{lower case} \qquad + \option[]{upper case} + + The \option{lower case} and \option{upper case} options force all + letters in the puzzle to be in lower or upper case, respectively. + + \begin{example} + \begin{wordle}[lower case]{YOUTH} + North + South + Youth + \end{wordle} + \end{example} + + \begin{example} + \begin{wordle}[upper case]{youth} + North + South + Youth + \end{wordle} + \end{example} + + As these examples show, both of these options disable the case + sensitivity of the tests for colouring the \keyword{wordle} tiles; + that is, they set \option{case sensitive=false}. To balance the + \option{lower case} and \option{upper case} options, the + \option{natural case} option makes the \keyword{wordle} environment + restores the default behaviour, which respects the case of the letters + as typed into the environment. The \option{natural case} option does + not change the \option{case sensitive} setting. + + \begin{example} + \begin{wordle}[natural case]{youth} % the default + North + South + youth + \end{wordle} + \end{example} + + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + \Section{Adding \ctan{TikZ} code} + + The \keyword{wordle} environment is a fancy wrapper around a + \keyword{tikzpicture} environment, with some code under the hood that + automatically colours the letter tiles according to how well they + match the solution. The options in this section describe how to access + the underlying \ctan{TikZ} layer. + + \option[]{tikz}[TikZ commands] + + The \option{tikz} option passes \ctan{TikZ} keys to the underlying + \keyword{tikzpicture} environment. The \option{tikz} option is almost + the same as using a \keyword{\tikzset{...}} command before the + \keyword{wordle} environment except that it is applied to the + \keyword{tikpicture} environment, which contains the \keyword{wordle} + puzzle, such that the \option{tikz} keys are applied \textit{after} + all of options above and \textit{before} \option{tile style} is + applied. + + \begin{example} + % \usetikzlibrary{backgrounds} + \begin{wordle}[ + tikz={framed, + background rectangle/.style={ + double,ultra thick, draw=SteelBlue + } + }]{youth} + North South youth + \end{wordle} + \end{example} + + As this example indicates, it is advisable to enclose complicated + \ctan{TikZ} settings inside braces. + + \option[W]{name} + + All of the tiles in a \keyword{wordle} puzzle are given node names of + the form $\langle$\textsf{name}$\rangle$-$\mathsf{r}$-$\mathsf{c}$, + for the tile in row~$\mathsf{r}$ and column~$\mathsf{c}$. By default, + the prefix \textsf{name} is \texttt{W}. Within reason, the + \option{name} prefix can be changed to anything you like using the + \option{name} option. + + One way to use the named nodes for the letter tiles is with + \ctan{TikZ} \texttt{overlay} and \texttt{remember picture} keys: + + \begin{example} + \begin{wordle}[tikz={remember picture}]{CRAZE} + TRACE + CREAM + CRAZE + \end{wordle} + \end{example} + + This makes it possible, for example, to draw arrows to tiles in a + \keyword{wordle} puzzle: + + \begin{example} + \tikz[remember picture]\draw[overlay, very thick, opacity=0.5,->,red](0,0)node{No M!} to [out=90, in=180](W-2-5); + \end{example} + + A second use of the tile node names is in conjunction with \ctan{TikZ} + commands that can be added to a \keyword{wordle} puzzle using the + second optional argument to the environment. As with the \option{tikz} + option, it is advisable to enclose complicated \ctan{TikZ} commands + inside braces. + + \begin{example} + \begin{wordle}[name=M, + tikz={arr/.style={Red,ultra thick,->}} + ]{MACAW} + [{ + \draw[arr](M-1-3.south)--(M-3-2.north)--(M-4-2.north); + \draw[arr](M-1-1.south)--(M-3-5)--(M-4-3.north east); + }] + CRANE HOTLY BASIC MACAW + \end{wordle} + \end{example} + + In practice, we are not convinced that anyone will find a real use for this! + + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + \Section{The package code} + + The \keyword{wordle} package is a \LaTeX3 package. There are many + comments in the code explaining how the code works. The automatic + colouring of the letter tiles is a fun exercise in \LaTeX3 + programming, which was motivated by a + \href{https://tex.stackexchange.com/questions/659860/wordle-like-colored-letter-boxes-in-latex/660056#660056}{tex.stackexchange.com} post. + + Bug reports and feature requests can be made on \href{https://github.com/AndrewMathas/Wordle}{github}. + + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + \printindex + +\end{document} diff --git a/Master/texmf-dist/doc/latex/wordle/wordle-doc-fr.pdf b/Master/texmf-dist/doc/latex/wordle/wordle-doc-fr.pdf Binary files differindex 3277ca9a99c..09d306b0f30 100644 --- a/Master/texmf-dist/doc/latex/wordle/wordle-doc-fr.pdf +++ b/Master/texmf-dist/doc/latex/wordle/wordle-doc-fr.pdf diff --git a/Master/texmf-dist/doc/latex/wordle/wordle-doc-fr.tex b/Master/texmf-dist/doc/latex/wordle/wordle-doc-fr.tex index f365cbb4598..039bc7a1583 100644 --- a/Master/texmf-dist/doc/latex/wordle/wordle-doc-fr.tex +++ b/Master/texmf-dist/doc/latex/wordle/wordle-doc-fr.tex @@ -1,422 +1,767 @@ -% !TeX TXS-program:compile = txs:///arara -% arara: pdflatex: {shell: yes, synctex: no, interaction: batchmode} -% arara: pdflatex: {shell: yes, synctex: no, interaction: batchmode} if found('log', '(undefined references|Please rerun|Rerun to get)') - -\documentclass[french,a4paper,11pt]{article} -\usepackage[margin=2cm,includefoot]{geometry} -\def\TPversion{0.1.1} -\def\TPdate{3 septembre 2023} -\usepackage{amssymb,amsfonts,amsmath} +% !TeX TS-program = pdflatex + +\documentclass[svgnames]{report} \usepackage[utf8]{inputenc} -%\usepackage[T1]{fontenc} \usepackage{wordle} -\usepackage{awesomebox} -\usepackage{fontawesome5} -\usepackage{footnote} -\makesavenoteenv{tabular} +\usepackage{manfnt} \usepackage{enumitem} -\usepackage{tabularray} -\usepackage{fancyvrb} -\usepackage{fancyhdr} -\fancyhf{} -\renewcommand{\headrulewidth}{0pt} -\lfoot{\sffamily\small [wordle]} -\cfoot{\sffamily\small - \thepage{} -} -\rfoot{\hyperlink{matoc}{\small\faArrowAltCircleUp[regular]}} - -%\usepackage{hvlogos} -\usepackage{hologo} -\providecommand\tikzlogo{Ti\textit{k}Z} -\providecommand\TeXLive{\TeX{}Live\xspace} -\providecommand\PSTricks{\textsf{PSTricks}\xspace} -\let\pstricks\PSTricks -\let\TikZ\tikzlogo -\newcommand\TableauDocumentation{% - \begin{tblr}{width=\linewidth,colspec={X[c]X[c]X[c]X[c]X[c]X[c]},cells={font=\sffamily}} - {\LARGE \LaTeX} & & & & &\\ - & {\LARGE \hologo{pdfLaTeX}} & & & & \\ - & & {\LARGE \hologo{LuaLaTeX}} & & & \\ - & & & {\LARGE \TikZ} & & \\ - & & & & {\LARGE \TeXLive} & \\ - & & & & & {\LARGE \hologo{MiKTeX}} \\ - \end{tblr} +\setlist[description]{font=\sffamily\bfseries\color{ForestGreen},labelwidth=\textwidth} +\usepackage{booktabs} +\usepackage[a4paper,margin=18mm]{geometry} +\synctex=1 +\parindent=0pt +\parskip=2mm + +\usepackage{cmap} % fix search and cut-and-paste in Acrobat +\setcounter{secnumdepth}{0} + +\usepackage{listings}\lstset{language=[LaTeX]TeX,framerule=2pt} +\lstset{language=[LaTeX]TeX, + texcsstyle=*\bfseries\color{Peru}, + backgroundcolor=\color{Ivory}, + numbers=none, + breaklines=true, + keywordstyle=\color{Sienna}, + commentstyle=\color{BurlyWood}, + tabsize=2, + morekeywords={Wordle,wordle,GrilleSutom}, + resetmargins=true, } - -\usepackage{hyperref} -\urlstyle{same} -\hypersetup{pdfborder=0 0 0} -\setlength{\parindent}{0pt} -\definecolor{LightGray}{gray}{0.9} - -\usepackage{babel} -\AddThinSpaceBeforeFootnotes -\FrenchFootnotes - -\usepackage{listings} - -\usepackage{newverbs} -\newverbcommand{\motcletex}{\color{cyan!75!black}}{} -\newverbcommand{\packagetex}{\color{violet!75!black}}{} - -\usepackage[most]{tcolorbox} -\tcbuselibrary{listingsutf8} -\newtcblisting{DemoCode}[1][]{% - enhanced,width=0.95\linewidth,center,% - bicolor,size=title,% - colback=cyan!2!white,% - colbacklower=cyan!1!white,% - colframe=cyan!75!black,% - listing options={% - breaklines=true,% - breakatwhitespace=true,% - style=tcblatex,basicstyle=\small\ttfamily,% - tabsize=4,% - commentstyle={\itshape\color{gray}}, - keywordstyle={\color{blue}},% - classoffset=0,% - keywords={},% - alsoletter={-},% - keywordstyle={\color{blue}},% - classoffset=1,% - alsoletter={-},% - morekeywords={center,justify},% - keywordstyle={\color{violet}},% - classoffset=2,% - alsoletter={-},% - morekeywords={GrilleSutom},% - keywordstyle={\color{green!50!black}},% - classoffset=3,% - morekeywords={Couleurs,Arrondi,Unite,Police,CouleurLettres,Lettres,Style,Epaisseur,CouleurBordure},% - keywordstyle={\color{orange}} - },% - #1 +% hyperref links to ctan +\newcommand\ctan[1]{\href{https://www.ctan.org/pkg/#1}{\texttt{#1}}} + +\newcommand\Section[1]{\subsection{\textcolor{DarkGreen}{#1}}} + +\ExplSyntaxOn +\NewDocumentCommand\option{ omo }{% + \IfNoValueTF{#1}{\textsf{#2}} + {% + \textbf{\textcolor{Crimson}{#2}} + \str_if_empty:nF {#1}{~(défaut~:~\textcolor{DarkRed}{#1})}% + \IfNoValueF{#3}{\hfill\textcolor{Gray}{[accepte~:~#3]}}% + }% + \index{#2}% +} +\ExplSyntaxOff + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\usepackage{imakeidx} +\indexsetup{level=\section*, toclevel=section, noclearpage} +\makeindex[intoc,columns=3] + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\usepackage[skins,listings]{tcolorbox} +\usetikzlibrary{backgrounds, shapes.geometric} % for tikz={framed,...} + +\DeclareTotalTCBox\keyword{ O{} v }{ + fontupper=\sffamily, + nobeforeafter, + skin=tile, + verbatim, + on line, + tcbox raise base, + top=0pt,bottom=0pt,left=0mm,right=0mm, + colback=OldLace, + colupper=ForestGreen, + #1} +{#2} + +\lstdefinestyle{tikz}{style=tcblatex, + classoffset=0, + texcsstyle=*\color{DarkGoldenrod},% + deletetexcs={begin, end}, + moretexcs={,% + node, + draw, + true, + false + },% + classoffset=1, + keywordstyle=\color{ForestGreen},% + morekeywords={wordle,GrilleSutom}, + classoffset=2, + keywordstyle=\color{Crimson},% + morekeywords={ + absent, + Strict, + Taille, + Lignes, + Epaisseur, + align, + border, + borders, + Bords, + Cadres, + Style, + Formes, + Separation, + case, + Police, + Arrondi, + Echelle, + NonLettres, + color, + Couleurs, + CouleurBordures, + CouleurLettres, + bordure, + couleur, + colours, + correct, + vide, + font, + frame, + frames, + letters, + lower, + params, + name, + natural, + noalign, + noletters, + present, + rounded, + rows, + scale, + sensitive, + separation, + shape, + shapes, + size, + strict, + style, + style, + text, + thickness, + tikz, + tile, + upper, + }, + classoffset=3, + keywordstyle=\color{DarkOrange},% + morekeywords={ + hard, + standard, + sutom, + } } -\tcbset{vignettes/.style={% - nobeforeafter,box align=base,boxsep=0pt,enhanced,sharp corners=all,rounded corners=southeast,% - boxrule=0.75pt,left=7pt,right=1pt,top=0pt,bottom=0.25pt,% - } +\DeclareTCBListing{example}{ !O{} }{% + skin=bicolor, + colframe=MediumSeaGreen, + colbacklower=OldLace, + colback=LawnGreen!20, + lefthand width=50mm, + listing style=tikz, + sidebyside, + sidebyside align=center, + sidebyside gap=4mm, + text and listing, + text outside listing, + boxsep = 0pt, + #1 } -\tcbset{vignetteMaJ/.style={% - fontupper={\vphantom{pf}\footnotesize\ttfamily}, - vignettes,colframe=purple!50!black,coltitle=white,colback=purple!10,% - overlay={\begin{tcbclipinterior}% - \fill[fill=purple!75]($(interior.south west)$) rectangle node[rotate=90]{\tiny \sffamily{\textcolor{black}{\scalebox{0.66}[0.66]{\textbf{MàJ}}}}} ($(interior.north west)+(5pt,0pt)$);% - \end{tcbclipinterior}} - } +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + +\makeatletter +\author{Andrew Mathas \&\ Cédric Pierquet} +\usepackage{tikz} +\usetikzlibrary{shadows.blur} +\tikzset{shadowed/.style={blur shadow={shadow blur steps=5}, + bottom color=ForestGreen!30, + draw=MediumSeaGreen!70, + shade, + font=\normalfont\Huge\bfseries\scshape, + rounded corners=8pt, + top color=SeaGreen, + }, + boxes/.style={draw=SeaGreen, + fill=Cornsilk, + font=\sffamily\small, + inner sep=5pt, + rectangle, + rounded corners=8pt, + text=DarkGreen, + } +} +\newcommand\Wordle{% + \begin{tikzpicture}[remember picture,overlay] + \node[yshift=-3cm] at (current page.north west) + {\begin{tikzpicture}[remember picture, overlay] + \draw[shadowed](30mm,0) rectangle node[white]{wordle} (\paperwidth-30mm,16mm); + \node[anchor=west,boxes] at (4cm,0cm) {\@author}; + \node[anchor=east,boxes] at (\paperwidth-4cm,0) {Version \wordle@version}; + \end{tikzpicture} + }; + \end{tikzpicture} + \vspace*{20mm} } -\newcommand\Cle[1]{{\small\sffamily\textlangle \textcolor{orange}{#1}\textrangle}} -\newcommand\cmaj[1]{\tcbox[vignetteMaJ]{#1}\xspace} +\def\@oddfoot{\textsc{Wordle} --- \wordle@version~(version~du~\wordle@release)\hfill\thepage} + +\usepackage[colorlinks=true,linkcolor=blue,urlcolor=MediumBlue]{hyperref} +\hypersetup{ + pdfcreator={ Generated by pdfLaTeX }, + pdfinfo={ + Author ={ Andrew Mathas et Cédric Pierquet }, + Keywords={ wordle }, + License ={ LaTeX Project Public License v1.3c or later }, + Subject ={ LaTeXing Wordle puzzles }, + Title ={ Wordle - \wordle@version } + }, +} +\makeatother \begin{document} -\setlength{\aweboxleftmargin}{0.07\linewidth} -\setlength{\aweboxcontentwidth}{0.93\linewidth} -\setlength{\aweboxvskip}{8pt} - -\pagestyle{fancy} - -\thispagestyle{empty} - -\vspace{2cm} - -\begin{center} - \begin{minipage}{0.75\linewidth} - \begin{tcolorbox}[colframe=yellow,colback=yellow!15] - \begin{center} - \begin{tabular}{c} - {\Huge \texttt{wordle} [fr]}\\ - \\ - {\LARGE Des grilles de Wordle (Sutom),} \\ - \\ - {\LARGE avec \textsf{Ti\textit{k}Z}.} \\ - \end{tabular} - - \bigskip - - {\small \texttt{Version \TPversion{} -- \TPdate}} - \end{center} - \end{tcolorbox} -\end{minipage} -\end{center} - -\begin{center} - \begin{tabular}{c} - \texttt{Cédric Pierquet}\\ - {\ttfamily c pierquet -- at -- outlook . fr}\\ - \texttt{\url{https://github.com/cpierquet/wordle}} -\end{tabular} -\end{center} - -\vspace{0.25cm} - -{$\blacktriangleright$~~Créer des grilles de Wordle/Sutom\footnotemark\footnotetext{\url{https://fr.wikipedia.org/wiki/Wordle}}.} - -\vspace{0.25cm} - -{$\blacktriangleright$~~Gestion des couleurs, de la taille\footnotemark\footnotetext{Idées venant de \url{ttps://tex.stackexchange.com/questions/659860/wordle-like-colored-letter-boxes-in-latex}}. - -\vspace{1cm} - -\begin{center} -\begin{GrilleSutom}{LUCIOLE} - LAPINES - LUMIERE - LOURDES - LUCIOLE -\end{GrilleSutom} -\end{center} - -\medskip - -\begin{center} -\begin{GrilleSutom}[Arrondi=0,Couleurs={lightgray,orange,teal},Style=alt,Unite=0.5,Lettres=false]{REBUS} - ABRIS - ROUTE - RUDES - REBUS -\end{GrilleSutom} -% -\hspace{5mm} -% -\begin{GrilleSutom}[Arrondi=0,Couleurs={lightgray,orange,teal},Style=alt,Unite=0.5]{REBUS} - ABRIS - ROUTE - RUDES - REBUS -\end{GrilleSutom} -\end{center} - -\vspace{0.5cm} - -%\hfill{}\textit{Merci à Denis Bitouzé et à Gilles Le Bourhis pour leurs retours et idées !} - -\smallskip - -\vfill - -\hrule - -\medskip + \Wordle + + Ce package fournit un moyen \textit{stupidement} riche en fonctionnalités de créer des puzzles \keyword{Wordle} en \LaTeX, que \href{https://en.wikipedia.org/wiki/Wordle}{Wikipedia} décrit comme + comme un jeu de lettres en ligne extrêmement populaire, créé et développé par l'ingénieur logiciel gallois Josh Wardle. Ce paquet + est une version améliorée d'une des solutions à une question posée par \textcolor{FireBrick}{valerio\_new} sur \href{https://tex.stackexchange.com/questions/659860/wordle-like-colored-letter-boxes-in-latex/660056#660056}{tex.stackexchange.com}. + + Ce paquet fournit l'environnement \keyword{GrilleSutom}, qui utilise la syntaxe : + + \begin{tcblisting}{ + listing only, + skin=bicolor, + colframe=MediumSeaGreen, + colbacklower=OldLace, + colback=LawnGreen!20, + listing style=tikz, + boxsep = 0pt, + } + % \usepackage{wordle} + \begin{GrilleSutom}[params sutom]{solution}[commandes tikz optionnelles] + essai1 essai2 ... + \end{GrilleSutom} + \end{tcblisting} + \index{environnement!GrilleSutom} + \index{GrilleSutom} + \index{sutom} + + et l'environnement \keyword{wordle}, pour la version anglaise du jeu : + + \begin{tcblisting}{ + listing only, + skin=bicolor, + colframe=MediumSeaGreen, + colbacklower=OldLace, + colback=LawnGreen!20, + listing style=tikz, + boxsep = 0pt, + } + % \usepackage{wordle} + \begin{wordle}[params wordle]{solution}[commandes tikz optionnelles] + essai1 essai2 ... + \end{wordle} + \end{tcblisting} + \index{environnement!wordle} + \index{wordle} + + Les mots du puzzle peuvent être saisis sur une seule ligne ou sur des lignes séparées. Voici quelques exemples : + + \begin{example} + %Version fr du wordle (sutom) + \begin{GrilleSutom}{REBUS} + ABRIS + ROUTE + REBUS + \end{GrilleSutom} + \end{example} + + \begin{example} + % Version en du sutom (wordle) + \begin{wordle}{SUTOM} + SAUCE + SAUTS + SUTOM + \end{wordle} + \end{example} + + Comme pour les puzzles en ligne, l'environnement \keyword{GrilleSutom} + colore automatiquement les lettres en + \keyword[colback=WordleSutomCorrect,colupper=White]{rouge} + lorsque la lettre se trouve dans la même position que la solution, et en + \keyword[colback=WordlePresent,colupper=White]{or} lorsque la lettre est dans la solution mais qu'elle n'est pas bien placée. + De même, \keyword{GrilleSutom} colore les lettres correctes en + \keyword[colback=WordleCorrect,colupper=White]{vert} + et les lettres actuelles en + \keyword[colback=WordleCorrect,colupper=White]{or}. + Comme décrites ci-dessous, ces couleurs peuvent être modifiées en fonction de vos goûts. + + Le nombre de lettres du puzzle est déterminé par la solution, et n'est limité que par la largeur de la page. + + \begin{example} + \begin{GrilleSutom}[Lignes=4]{orange} + normal + ordres + orange + \end{GrilleSutom} + \end{example} + + Les lettres du puzzle peuvent être saisies en majuscules, en minuscules ou en mélange de majuscules et de minuscules. Par défaut, la casse des lettres est ignorée lors de la détermination des couleurs des cases de lettres. + + Comme décrit ci-dessous, les environnements \keyword{wordle} et \keyword{GrilleSutom} acceptent une liste d'options différentes qui modifient les couleurs, les polices et les formes de la tuile. De plus, vous pouvez modifier la sensibilité à la casse des environnements, ajouter des lignes supplémentaires au puzzle, désactiver la mise en forme spéciale des \textit{cases de lettres}. Ces options sont données sous la forme d'une liste séparée par des virgules de paires \texttt{clé-valeur}. Elles peuvent être définies localement, en utilisant l'argument optionnel de l'environnement \keyword|wordle|, ou globalement (plus précisément, dans le groupe \LaTeX\ actuel) en utilisant la commande \keyword{\ParamsSutom} \index{\textbackslash ParamsSutom}, ou comme options globales du package, via \keyword{\usepackage[options]{wordle}}. L'ordre des options n'a pas d'importance, sauf que les options ultérieures ont priorité sur les options précédentes, à l'exception des clés \option{tikz} et \option{tile style} qui sont toujours appliquées en dernier. + + Les puzzles \keyword{wordle} sont dessinés à l'aide de \ctan{TikZ}, chaque lettre du puzzle étant placée à l'intérieur d'un nœud \ctan{TikZ}. De nombreuses options contrôlent les paramètres de ces nœuds. Les descriptions des options ci-dessous sont regroupées en fonction de leur fonction. + + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + \Section{Styles Wordle} + + La clé \option{Style} peut être utilisée pour modifier de nombreuses caractéristiques des cases dans un puzzle \keyword{wordle}, y compris leurs couleurs, les polices et ainsi de suite. Les paramètres les plus courants peuvent être définis à l'aide du mot-clé \option{style}. \textit{Le style doit toujours être défini en premier car, sinon, les paramètres de style peuvent remplacer les paramètres précédents.} + + Les styles suivants sont pris en charge : + + \textcolor{DarkOrange}{sutom} + \index{Style!sutom} + \index{sutom} + + \begin{example} + \begin{GrilleSutom}[Style=sutom]{REBUS} + ABRIS + ROUTE + REBUS + \end{GrilleSutom} + \end{example} + + En plus de définir les couleurs des cases, les cadres et les formes, le style \textsf{sutom} définit également la taille des cases à 8 mm. Le style \textsf{sutom} est le style par défaut pour l'environnement \keyword{GrilleSutom}. + + \textcolor{DarkOrange}{standard} + \index{style!standard} + + \begin{example} + \begin{GrilleSutom}[Style=standard]{REBUS} + ABRIS + ROUTE + REBUS + \end{GrilleSutom} + \end{example} + + Le style \textcolor{DarkOrange}{standard} est le style par défaut pour l'environnement \keyword{wordle}. + + \textcolor{DarkOrange}{hard} + \index{style!hard} + + \begin{example} + \begin{GrilleSutom}[Style=hard]{REBUS} + ABRIS + ROUTE + REBUS + \end{GrilleSutom} + \end{example} + + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + \Section{Options pour les styles individuels des cases de lettres} + + Il existe quatre types de cases de lettres dans \keyword{wordle} : + \option{absent}, \option{present}, \option{correct} et + \option{vide}, correspondant respectivement aux lettres qui ne sont pas dans la solution, + aux lettres mal placées, aux lettres correctement placées et aux cases vides. Les options de cette section peuvent être utilisées pour + définir les couleurs du texte, des cases et des bordures, les formes et les cadres de ces cases. + + Les cases de lettres dans un environnement \keyword{wordle} sont composées à l'intérieur + d'un \keyword{\node} \ctan{TikZ}. Les options ci-dessous contrôlent les + différents paramètres de style de ces nœuds. + + \option[--]{Couleurs}[liste de couleurs valides séparées par des virgules] + + L'option \option{Couleurs} est un raccourci pour spécifier les + couleurs des cases \option{absent}, \option{present}, \option{correct} et + \option{vide}, dans cet ordre. Les couleurs suivantes peuvent être omises, mais + les couleurs doivent être données dans cet ordre, de gauche à droite. + Si une seule couleur est donnée, cette couleur est appliquée à toutes les cases. + + \begin{example} + \begin{GrilleSutom}[Couleurs={LightGray,Orange,Teal}]{cellar} + pounds + taylor + cellar + \end{GrilleSutom} + \end{example} + + Les couleurs peuvent également être définies individuellement à l'aide de \option{couleur absent}, \option{couleur present}, \option{couleur correct} et \option{couleur vide}. + + \begin{example} + \begin{GrilleSutom}[couleur absent=DarkGray,couleur present=Salmon, + couleur correct=SeaGreen]{cellar} + pounds + taylor + cellar + \end{GrilleSutom} + \end{example} + + \option[white]{CouleurBordures}[liste de couleurs valides séparées par des virgules] + + de manière similaire à l'option \option{Couleurs}, il s'agit d'un raccourci pour le paramétrage des couleurs des bordures des cases \option{absent}, \option{present}, + \option{correct} et \option{vide}, dans cet ordre. + + Si une seule couleur est donnée, elle est appliquée à toutes les cases. -\TableauDocumentation + \begin{example} + \begin{GrilleSutom}[CouleurBordures={red,orange,blue}]{REBUS} + ABRIS + ROUTE + REBUS + \end{GrilleSutom} + \end{example} + + Les bordures pour les cases individuelles peuvent être paramétrer via + \option{bordure absent}, \option{bordure present}, \option{bordure correct} et \option{bordure vide}. + + \option[false]{Cadres}[liste de booléens true/false séparées par des virgules] + + Il s'agit d'un raccourci pour ajouter un cadre autour des cases \option{absent}, \option{present}, \option{correct} et \option{vide}, dans cet ordre, avec la même couleur que \option{absent}. C'est utile uniquement pour les cases non carrée. + + \begin{example} + \begin{GrilleSutom}[Cadres={false,true,true},Formes=circle]{REBUS} + ABRIS + ROUTE + REBUS + \end{GrilleSutom} + \end{example} + + Les cadres pour les cases individuelles peuvent être paramétrer via \option{cadre absent}, \option{cadre present}, + \option{cadre correct} and \option{cadre vide}. + + \option[rectangle]{Formes}[liste de formes TikZ séparées par des virgules] + + De même que pour l'option \option{Couleurs}, c'est un raccourci pour paramétrer les formes des cases \option{absent}, \option{present}, + \option{correct} et \option{vide}, dans cet ordre. + + \begin{example} + \begin{GrilleSutom}[Formes={circle, rectangle, circle}]{REBUS} + ABRIS + ROUTE + REBUS + \end{GrilleSutom} + \end{example} + + Les formes individuelles peuvent être paramétrer via \option{forme absent}, \option{forme present}, + \option{forme correct} et \option{forme vide}. + + Les formes proposés par le package \ctan{TikZ} + \texttt{shapes.geometric}, incluant \texttt{diamond}, + \texttt{ellipse}, \texttt{trapezium} et \texttt{star} (voir section~71.2 du manuel \ctan{TikZ}). + + \begin{example} + % \usepackage{shapes.geometric} + \begin{GrilleSutom}[Formes={diamond,ellipse,star}]{LADLE} + FLAIL + LAPEL + * + LADLE + LOVER + \end{GrilleSutom} + \end{example} + + \option[white]{CouleurLettres}[liste de couleurs valides séparées par des virgules] + + Il s'agir d'un raccourci pour paramétrer la couleur des lettres des cases \option{absent}, \option{present}, \option{correct} et \option{vide}, dans cet ordre. + + \begin{example} + \begin{GrilleSutom}[CouleurLettres={red,orange,blue}]{REBUS} + ABRIS + ROUTE + REBUS + \end{GrilleSutom} + \end{example} + + Les cases individuelles peuvent être paramétrer via \option{coultxt absent}, \option{coultxt present}, \option{coultxt correct} et \option{coultxt vide}. + + + \Section{Caractéristiques communes des cases} + + Les options suivantes s'appliquent à toutes les cases. + + \option[]{nonalign} (default) \qquad + \option[]{align} -\medskip + Cette option s'occupe de l'alignement vertical des lettres. C'est utile essentiellement lors de l'utilisation de minuscules. -\hrule + \begin{example} + \begin{GrilleSutom}[align]{agony} + groan + angry + agony + \end{GrilleSutom} + \end{example} -\vspace*{1cm} - -\newpage - -\phantomsection -\hypertarget{matoc}{} - -\tableofcontents - -\vfill - -\section{Historique} - -\verb|v0.1.0|~:~~~~Correction d'un bug avec la version anglaise. - -\verb|v0.1.0|~:~~~~Version initiale. - -\newpage - -\section{Le package wordle} - -\subsection{Le principe du jeu} - -\begin{noteblock} -Wordle est un jeu de lettres en ligne gratuit développé en 2021 par Josh Wardle. Ce jeu est une adaptation directe du jeu télévisé américain Lingo (Motus en France) qui propose de faire deviner un mot par plusieurs tentatives, en indiquant pour chacune d'entre-elles la position des lettres bien placées et mal placées. - -Le but du jeu est de deviner un mot spécifique de cinq lettres en un maximum de six tentatives, en tapant des lettres sur un écran de six lignes de cinq cases chacune. La personne qui joue inscrit sur la première ligne un mot de cinq lettres de son choix et entre sa proposition. Après chaque proposition, les lettres apparaissent en couleurs : le fond gris représente les lettres qui ne se trouvent pas dans le mot recherché, le fond jaune représente les lettres qui se trouvent ailleurs dans le mot, et le fond vert représente les lettres qui se trouvent à la bonne place dans le mot à trouver. - -\smallskip - -\hfill{\scriptsize \url{https://fr.wikipedia.org/wiki/Wordle}} -\end{noteblock} - -\subsection{Le package} - -\begin{noteblock} -Le package propose de quoi afficher, dans son document \LaTeX, une grille de Wordle (ou de Sutom) à l'aide de \TikZ{} et d'une \motcletex!minipage!, avec la possibilité : - -\begin{itemize} - \item de spécifier les dimensions, la couleur ; - \item de choisir le style des lettres mal placées ; - \item de personnaliser les bordure et les coins ; - \item d'afficher ou non les lettres. -\end{itemize} - -Contrairement au jeu \og initial \fg, il est possible de travailler avec des mots de longueur différente de 5 ! -\end{noteblock} - -\begin{importantblock} -Une bonne partie du code, en \hologo{LaTeX3}, est issu d'un fil sur \texttt{tex.stackexchange}, et proposé par l'internaute \textsf{3141592653589793238}. -\end{importantblock} - -\subsection{Chargement du package, packages utilisés} - -\begin{importantblock} -Le package se charge, de manière classique, dans le préambule. - -Il n'existe pas d'option pour le package, et \packagetex!xcolor! n'est pas chargé. -\end{importantblock} - -\begin{DemoCode}[listing only] -\documentclass{article} -\usepackage{wordle} + \begin{example} + \begin{GrilleSutom}{agony} % nonalign par defaut + groan + angry + agony + \end{GrilleSutom} + \end{example} + + \option[\textbackslash Large\textbackslash bfseries\textbackslash sffamily]{Police} + [Police \LaTeX] -\end{DemoCode} - -\begin{noteblock} -\packagetex!wordle! charge les packages suivants : - -\begin{itemize} - \item \packagetex!tikz!; - \item \packagetex!simplekv! ; - \item \packagetex!xstring!. -\end{itemize} - -Il est compatible avec les compilations usuelles en \textsf{latex}, \textsf{pdflatex}, \textsf{lualatex} ou \textsf{xelatex}. -\end{noteblock} - -\vfill~ - -\pagebreak - -\section{Environnement GrilleSutom} - -\subsection{Fonctionnement global} - -\begin{cautionblock} -L'environnement dédié à la création de la grille du Sutom est \packagetex!GrilleSutom!. - -Il fonctionne avec un système de clés, entre \texttt{[...]}, et nécessite de préciser : - -\begin{itemize} - \item le bon mot ; - \item les différentes propositions. -\end{itemize} - -Le code se charge de mettre en forme (grâce à une \motcletex!minipage!) la grille et les différentes couleurs d'aide. -\end{cautionblock} - -\begin{DemoCode}[listing only] -\begin{GrilleSutom}[clés]{mot à trouver} - proposition n°1 - proposition n°2 - proposition n°3 -\end{GrilleSutom} -\end{DemoCode} - -\begin{noteblock} -Comme indiqué dans l'introduction, la grille est créée à l'aide d'un environnement \motcletex!minipage!, avec gestion automatique de la largeur et des espacements. -\end{noteblock} - -\begin{DemoCode}[] -%sortie par défaut -\begin{GrilleSutom}{SUTOM} - SAUCE - SAUTS - SUTOM -\end{GrilleSutom} -\end{DemoCode} - -\subsection{Clés et options} - -\begin{tipblock} -Le premier argument, optionnel et entre \texttt{[...]}, propose les \Cle{clés} suivantes : - -\begin{itemize} - \item \Cle{Couleurs} : = couleur des cases, sous la forme \Cle{fond,mal placée,bien placée} ; - - \hfill{}défaut : \Cle{cyan!75!black,yellow,red},% - \item \Cle{Arrondi} := arrondi des coins, en mm ; \hfill{}défaut : \Cle{0.1} - \item \Cle{Unite} := largeur des cases, en cm ; \hfill{}défaut : \Cle{1} - \item \Cle{Police} := police des lettres ; \hfill{}défaut : \Cle{\textbackslash LARGE\textbackslash bfseries\textbackslash sffamily} - \item \Cle{CouleurLettres} := couleur des lettres ; \hfill{}défaut : \Cle{white} - \item \Cle{CouleurBordure} := couleur de la bordure des cases ; \hfill{}défaut : \Cle{white} - \item \Cle{Lettres} := booléen pour afficher les lettre ; \hfill{}défaut : \Cle{true} - \item \Cle{Style} := style parmi \Cle{rond / autre} pour changer le style ; \hfill{}défaut : \Cle{rond} - \item \Cle{Epaisseur} := épaisseur des traits, en mm. \hfill{}défaut : \Cle{0.25} -\end{itemize} -\vspace*{-\baselineskip}\leavevmode -\end{tipblock} - -\begin{tipblock} -Le second argument, obligatoire et entre \texttt{\{...\}} correspond au mot correct à trouver. - -\smallskip - -Les différentes propositions sont à donner (ligne par ligne ou séparées par des espaces) dans le corps de l'environnement. -\end{tipblock} - -\subsection{Exemples} - -\begin{DemoCode}[] -\begin{GrilleSutom}{BOURDON} - BALEINE - BOURBON - BROMURE - BOURDON -\end{GrilleSutom} -% -\hspace{5mm} -% -\begin{GrilleSutom}[Style=alt]{BOURDON} - BALEINE BOURBON BROMURE BOURDON -\end{GrilleSutom} -\end{DemoCode} - -\begin{DemoCode}[] -\begin{GrilleSutom} - [Style=alt,Epaisseur=0.3,CouleurBordure=black,% - Couleurs={lightgray,orange,teal}]% - {BOURDON} - BALEINE BOURBON BROMURE BOURDON -\end{GrilleSutom} -% -\hspace{5mm} -% -\begin{GrilleSutom} - [Arrondi=0,Epaisseur=0.3,CouleurBordure=black,% - Couleurs={lightgray,orange,teal}]% - {BOURDON} - BALEINE BOURBON BROMURE BOURDON -\end{GrilleSutom} -\end{DemoCode} - -\begin{DemoCode}[] -\begin{GrilleSutom}[Unite=2,Police=\Huge\ttfamily,CouleurLettres=black]{BOURDON} - BALEINE - BOURBON - BROMURE - BOURDON -\end{GrilleSutom} -\end{DemoCode} - -\begin{DemoCode}[] -\begin{GrilleSutom}% - [Unite=0.75,Arrondi=0,Couleurs={cyan,orange,violet},% - Style=alt,Lettres=false]{REBUS} - ABRIS - ROUTE - RUDES - REBUS -\end{GrilleSutom} -\hspace{5mm} -\begin{GrilleSutom}% - [Unite=0.75,Arrondi=0,Couleurs={cyan,orange,violet},Style=alt]{REBUS} - ABRIS - ROUTE - RUDES - REBUS -\end{GrilleSutom} -\end{DemoCode} - -\end{document}
\ No newline at end of file + Cela permet de paramétrer la police de toutes les lettres. Toute commande valide est acceptée. + + \begin{example} + \begin{GrilleSutom}[Police=\large\ttfamily]{REBUS} + ABRIS + ROUTE + REBUS + \end{GrilleSutom} + \end{example} + + \option[1mm]{Arrondi}[une longueur] + + Cela permet de paramétrer le paramètres \texttt{rounded corners} (de TikZ) pour les cases \keyword{wordle}. + + \begin{example} + \begin{GrilleSutom}[Arrondi=2.5mm]{REBUS} + ABRIS + ROUTE + REBUS + \end{GrilleSutom} + \end{example} + + \option[0.5mm]{Separation}[une longueur] + + Cela permet de paramétrer la séparation entre les cases du \keyword{wordle}. + + \begin{example} + \begin{GrilleSutom}[Separation=2mm,CouleurBordures=black]{REBUS} + ABRIS + ROUTE + REBUS + \end{GrilleSutom} + \end{example} + + \option[1]{Echelle}[un nombre] + + L'option \option{Echelle} applique un facteur à l'environnement \keyword{wordle}. + Cette option modifie les dimensions définies par les options \option{Arrondi}, + \option{Separation}, \option{Taille} et \option{Epaisseur}. Si vous changez l'échelle, vous voudrez également changer la police de caractères via \option{Police} : + + \begin{example} + \begin{GrilleSutom}[Echelle=1.5,Police=\huge\bfseries]{SIZE} + HELP + WISE + SIZE + \end{GrilleSutom} + \end{example} + + \option[8mm]{Taille}[une longueur] + + L'option \option{Taille} définit la taille des cases. Contrairement à l'option \option{Echelle}, \option{Taille} change uniquement la dimension des cases. + + \begin{example} + \begin{GrilleSutom}[Taille=10mm,Police=\huge\bfseries]{REPU} + ABRI ROUE * REPU + \end{GrilleSutom} + \end{example} + + \option[0.25mm]{Epaisseur}[une longueur]• + + Cela permet de paramétrer la taille des bordures des cases. Par défaut la couleur est blanche, donc pour illustrer cette option elle sera paramétrer en rouge. + + \begin{example} + \begin{GrilleSutom}[Epaisseur=0.75mm,CouleurBordures=red]{LADLE} + FLAIL + LAPEL + LADLE + \end{GrilleSutom} + \end{example} + + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + \Section{Lignes et colonnes supplémentaires} + + Par défaut, le nombre de lignes et de colonnes de la grille est fixée par les mots donnés. + + \option[]{Lettres} (défaut)\qquad + \option[]{NonLettres} + + Par dafut, les lettres sont affichées, mais l'option \option{NonLettres} peuvent être cachées. + + \begin{example} + \begin{GrilleSutom}{CRAZE} % the default + TRACE + CREAM + CRAZE + \end{GrilleSutom} + \end{example} + + \begin{example} + \begin{GrilleSutom}[NonLettres]{CRAZE} + TRACE + CREAM + CRAZE + \end{GrilleSutom} + \end{example} + + \option[false]{Strict}[true/false/--] + + Par défaut, l'environnement ne vérifie pas si tous les mots sont la même taille, donc les lettres \textit{en trop} n'ont pas de style particulier. + + \begin{example} + \begin{GrilleSutom}[Strict=false]{CRAZE} % par defaut + GRAIL + CRAMPS + CRAM + CRABS + \end{GrilleSutom} + \end{example} + + L'option booléenne \option{Strict} force un style particulier des lettre \textit{en trop}. + + \begin{example} + \begin{GrilleSutom}[Strict]{CRAZE} + GRAIL + CRAMPS + CRAM + CRABS + \end{GrilleSutom} + \end{example} + + \option[--]{Lignes} + + Par défaut, l'environnement \keyword{wordle} affiche le nombre de lignes en adéquation avec le nombre de mots donnés. L'option \option{Lignes} permet de modifier le nombre de lignes (évenuellement vides). + + \begin{example} + \begin{GrilleSutom}[Lignes=4]{ANVIL} + CRANE + NATAL + ANVIL + \end{GrilleSutom} + \end{example} + + \begin{example} + \begin{GrilleSutom}[Lignes=2]{ANVIL} + CRANE + NATAL + ANVIL + \end{GrilleSutom} + \end{example} + + \option[]{*} + + Le style des case peut être annulé en ajoutant un astérisque,~\option{*}, en tant que mot. + + \begin{example} + \begin{GrilleSutom}{ANVIL} + CRANE + NATAL + * % annule la mise en forme + ANNUL + ANVIL + \end{GrilleSutom} + \end{example} + + + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + \Section{Sensibilité à la casse} + \index{case~sensitive} + \index{case~sensitive!lower case} + \index{case~sensitive!natural case} + \index{case~sensitive!upper case} + + Par défaut, les lettres peuvent être écrites en majuscule ou en minuscule, comme saisies par l'utilisateur. + + L'option (voir doc en anglais) \option{case~sensitive} permet de spécifier un paramétrage de la casse. + + \begin{example} + \begin{GrilleSutom}[case sensitive=false]{youth} % par defaut + North + South + Youth + \end{GrilleSutom} + \end{example} + + \begin{example} + \begin{GrilleSutom}[case sensitive]{youth} + North + South + Youth + \end{GrilleSutom} + \end{example} + + Les options \textit{fines} \option{natural case} (défaut), \option{lower case}et \option{upper case} permettent de travailler plus finement sur la casse des lettres correctes et/ou mal placées. + + \begin{example} + \begin{GrilleSutom}[lower case]{YOUTH} + North + South + Youth + \end{GrilleSutom} + \end{example} + + \begin{example} + \begin{GrilleSutom}[upper case]{youth} + North + South + Youth + \end{GrilleSutom} + \end{example} + + \begin{example} + \begin{GrilleSutom}[natural case]{youth} % par defaut + North + South + youth + \end{GrilleSutom} + \end{example} + + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + \Section{Style \ctan{TikZ} complémentaire} + + \option[]{tikz}[commandes TikZ] + + \begin{example} + % \usetikzlibrary{backgrounds} + \begin{GrilleSutom}[ + tikz={framed, + background rectangle/.style={ + double,ultra thick, draw=SteelBlue + } + }]{youth} + North South youth + \end{GrilleSutom} + \end{example} + + \pagebreak + + \option[W]{Nom} + + \begin{example} + \begin{GrilleSutom}[tikz={remember picture}]{CRAZE} + TRACE + CREAM + CRAZE + \end{GrilleSutom} + \end{example} + + \begin{example} + \tikz[remember picture]\draw[overlay, very thick, opacity=0.5,->,red](0,0)node{Pas de M !!!} to [out=90, in=180](W-2-5); + \end{example} + + \begin{example} + \begin{GrilleSutom}[name=M, + tikz={arr/.style={red,ultra thick,->}} + ]{MACAW} + [{ + \draw[arr](M-1-3.south)--(M-3-2.north)--(M-4-2.north); + \draw[arr](M-1-1.south)--(M-3-5)--(M-4-3.north east); + }] + CRANE HOTLY BASIC MACAW + \end{GrilleSutom} + \end{example} + + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + \Section{Le code} + + Le package \keyword{wordle} est écrit en \LaTeX3. Beaucoup de commentaires permettent d'expliciter le fonctionnement du code. La coloration automatique des cases est un exercice amusant en \LaTeX3, motivépar un message issu de + \href{https://tex.stackexchange.com/questions/659860/wordle-like-colored-letter-boxes-in-latex/660056#660056}{tex.stackexchange.com}. + + Le dépôt \href{https://github.com/AndrewMathas/Wordle}{github.com/AndrewMathas/Wordle} est disponible pour signaler tout bug. + + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + \printindex + +\end{document} diff --git a/Master/texmf-dist/doc/latex/wrapstuff-doc-en/README.md b/Master/texmf-dist/doc/latex/wrapstuff-doc-en/README.md new file mode 100644 index 00000000000..3aa62709da1 --- /dev/null +++ b/Master/texmf-dist/doc/latex/wrapstuff-doc-en/README.md @@ -0,0 +1,11 @@ +## Introduction + +English version of the wrapstuff package documentation + +## Author + +Siyu Wu 2401336502@qq.com + +## License + +LPPL v1.3c or later
\ No newline at end of file diff --git a/Master/texmf-dist/doc/latex/wrapstuff-doc-en/wrapstuff-doc-en.pdf b/Master/texmf-dist/doc/latex/wrapstuff-doc-en/wrapstuff-doc-en.pdf Binary files differnew file mode 100644 index 00000000000..765387601db --- /dev/null +++ b/Master/texmf-dist/doc/latex/wrapstuff-doc-en/wrapstuff-doc-en.pdf diff --git a/Master/texmf-dist/doc/latex/wrapstuff-doc-en/wrapstuff-doc-en.tex b/Master/texmf-dist/doc/latex/wrapstuff-doc-en/wrapstuff-doc-en.tex new file mode 100644 index 00000000000..cd8599d7cd1 --- /dev/null +++ b/Master/texmf-dist/doc/latex/wrapstuff-doc-en/wrapstuff-doc-en.tex @@ -0,0 +1,264 @@ +\documentclass{l3doc} +\usepackage{wrapstuff} +\usepackage{graphicx} +\usepackage{lipsum} +\title{The \textsf{wrapstuff} package\thanks{Corresponding to version v0.3* + of the Chinese documentation.}} +\author{Author: Qing Lee \\ Translator: Siyu Wu} +\date{\today} +\newcommand{\opt}[1]{\texttt{#1}} +\ExplSyntaxOn +\makeatletter +\DeclareDocumentCommand \ADDSPECEIALKEY { m } + { + \cs_gset_eq:NN \@@_codedoc_names_typeset_save: + \__codedoc_names_typeset: + \cs_gset_protected:Npn \__codedoc_names_typeset: + { + \cs_gset_eq:NN \__codedoc_names_typeset: + \@@_codedoc_names_typeset_save: + \__codedoc_names_typeset: + #1 \\ + } + } +\makeatother +\ExplSyntaxOff +\begin{document} + +\maketitle + +\section{Basic Usage} + +The \pkg{wrapstuff} package provides another implementation +of wrapping text around a figure. +\pkg{wrapstuff} tries to integrate and extend the function +of some similar packages such as \pkg{picinpar}, \pkg{floatflt}, +\pkg{wrapfig}, \pkg{cutwin} and \pkg{wrapfig2}. +This package is compatible with \pkg{caption}, \pkg{float} +and \pkg{floatrow}. And it tries to be compatible with display +math and various kinds of \LaTeX{} list environments so that +they can wrap figures and tables correctly. + +The implementation of \pkg{wrapstuff} depends on the paragraph +hooks provided by \LaTeX{} 2021-06-01, and also depends on +\LaTeX3 2022-04-10 or later version. + +\begin{function}{wrapstuff} + \begin{syntax} + \cs{begin}\{wrapstuff\}\oarg{options} + \meta{wrapped contents} + \cs{end}\{wrapstuff\} + \meta{main text} + \end{syntax} +\end{function} + +\pkg{wrapstuff} only provides one environment called \env{wrapstuff}, +which will wrap text from the paragraph after this environment on. +For example, + +\begin{verbatim} + \begin{wrapstuff}[c,top=1] + \includegraphics[width=\dimeval{\linewidth/3}]{example-image.pdf} + \end{wrapstuff} + \lipsum[1-2] +\end{verbatim} + +\begin{wrapstuff}[c,top=1] + \includegraphics[width=\dimeval{\linewidth/3}]{example-image.pdf} +\end{wrapstuff} +\lipsum[1] + +\begin{function}{\wrapstuffset} + \begin{syntax} + \cs{wrapstuff}\marg{option list} + \end{syntax} + The options of \pkg{wrapstuff} can be set when invoking the package, + but they can also be set using \cs{wrapstuffset}. +\end{function} + +\ADDSPECEIALKEY{\textrm{\meta{n}}} +\begin{function}{top} + \begin{syntax} + top = \meta{non-negative integer} + \end{syntax} + sets the number of the line after which \pkg{wrapstuff} begins to wrap text. + \meta{n} is the abbreviation of setting \texttt{top} to \meta{n}. + The initial value is 0. +\end{function} + +\begin{function}{width} + \begin{syntax} + width = \meta{width} + \end{syntax} + sets the width of wrapped contents. The initial value is 0pt, + which represents for the natural width. + At this time, the contents in the \env{wrapstuff} environment + can only have one line and users are not permitted to use + \cmd\\ to break line or \cs{par} to start new paragraph. + If one needs to break line or start a new paragraph in the environment, + he has to set proper value for \texttt{width}. +\end{function} + +\begin{function}{height} + \begin{syntax} + height = \meta{height} + \end{syntax} + sets the height of the wrapped contents. The initial value is 0pt, + which represents for the natural height. +\end{function} + +\begin{function}{lines} + \begin{syntax} + lines = \meta{positive integer} + \end{syntax} + sets the number of lines occupied by the wrapped contents. + The initial value is empty, which means that the number will + be calculated automatically. +\end{function} + +\begin{function}{linewidth} + \begin{syntax} + linewidth = \meta{width} + \end{syntax} + sets the line width of the main text. + The initial value is \cs{linewidth} and typically it is unnecessary + to adjust it. +\end{function} + +\begin{function}{l,r,c,i,o,ratio} + \begin{syntax} + l/r/c/i/o + ratio = \meta{real number} + \end{syntax} + These options set the position of the wrapped contents relative to + the main text. Options \opt{l/r/c/i/o} means left, right, center, + inner and outer respectively. The option \opt{ratio} sets the + ratio of the line width occupied by the main text on the left side + of the wrapped contents. One can set \opt{ratio} to any proper real number + between the interval $[0,1]$. + Options \opt{i/o} can be used together with \opt{ratio}. + The initial value is \opt{r}. +\end{function} + +\begin{function}{column} + \begin{syntax} + column = \meta{true|false|par} + \end{syntax} + controls whether to display the main text around the wrapped contents + as two columns or not. Only when setting the option \opt{c} + or setting \opt{ratio} in $(0,1)$ this option has its effect. + \opt{false} means not displaying the main text in two columns + and \opt{par} means displaying the main text as two columns + but with per paragraph as a separate unit. +\end{function} + +\begin{verbatim} + \def\lorem{% + Just then her head struck against the roof of the hall: + in fact she was now more than nine feet high, and she + at once took up the little golden key and hurried off + to the garden door.\par + Poor Alice! It was as much as she could do, lying down + on one side, to look through into the garden with one eye; + but to get through was more hopeless than ever: + she sat down and began to cry again.} + + \begin{wrapstuff}[c,column=par] + \includegraphics[width=3cm]{example-image.pdf} + \end{wrapstuff} + \lorem + + \begin{wrapstuff}[c] + \includegraphics[width=3cm]{example-image.pdf} + \end{wrapstuff} + \lorem + + \begin{wrapstuff}[c,column=false] + \includegraphics[width=3cm]{example-image.pdf} + \end{wrapstuff} + \lorem +\end{verbatim} + +\def\lorem{% +Just then her head struck against the roof of the hall: in fact she was now more than nine feet high, and she at once took up the little golden key and hurried off to the garden door.\par +Poor Alice! It was as much as she could do, lying down on one side, to look through into the garden with one eye; but to get through was more hopeless than ever: she sat down and began to cry again.} +\begin{wrapstuff}[c,column=par] + \includegraphics[width=3cm]{example-image.pdf} +\end{wrapstuff} +\lorem + +\begin{wrapstuff}[c] + \includegraphics[width=3cm]{example-image.pdf} +\end{wrapstuff} +\lorem + +\begin{wrapstuff}[c,column=false] + \includegraphics[width=3cm]{example-image.pdf} +\end{wrapstuff} +\lorem + +\begin{function}{leftsep,rightsep,hsep} + \begin{syntax} + leftsep = \meta{length} + rightsep = \meta{length} + hsep = \meta{length} + \end{syntax} + set the left/right space between wrapped contents and main text. + The option \texttt{hsep} sets \texttt{leftsep} and \texttt{rightsep} + simultaneously. The initial value is 1em. +\end{function} + +\begin{function}{abovesep,belowsep,vsep} + \begin{syntax} + abovesep = \meta{length} + belowsep = \meta{length} + vsep = \meta{length} + \end{syntax} + set the upper/lower space between wrapped contents and main text. + The option \texttt{vsep} sets \texttt{abovesep} and \texttt{belowsep} + simultaneously. The initial value is 0pt. +\end{function} + +\begin{function}{hoffset} + \begin{syntax} + hoffset = \meta{length} + \end{syntax} + sets the length of the wrapped contents that extend beyond + the main text area. When \texttt{c} is used or \texttt{ratio} + is set between $(0,1)$, this option loses effect. + One special value \cs{width} is used to represent the total width + of wrapped contents and the corresponding spacing. + If setting \opt{hoffset} equals to \cs{width}, then + the wrapped contents are totally placed outside of the main text area. + The initial value is 0pt. +\end{function} + +\begin{function}{voffset} + \begin{syntax} + voffset = \meta{length} + \end{syntax} + is used to adjust the vertical position of the wrapped contents. + The initial value is 0pt. +\end{function} + +\begin{function}{type} + \begin{syntax} + type = \meta{float type} + \end{syntax} + sets the type of float of the wrapped contents. + The initial value is empty. + If one needs to use \cs{caption} in \env{wrapstuff}, + then he has to set \opt{type} to \opt{figure} or \opt{table} + and set the value for \opt{width}. +\end{function} + +\begin{function}{\wrapstuffclear} + If the number of lines in the current paragraph is not enough, + the effect of \pkg{wrapstuff} will continue to the next paragraph. + Sometimes it may cause some undesirable results, + in which case one could issue \cs{wrapstuffclear} to eliminate + the effect. +\end{function} + +\PrintIndex +\end{document}
\ No newline at end of file |