diff options
author | Norbert Preining <norbert@preining.info> | 2021-09-25 03:01:31 +0000 |
---|---|---|
committer | Norbert Preining <norbert@preining.info> | 2021-09-25 03:01:31 +0000 |
commit | 8322a8a248262d9acaadab2fa12d90012fcf1877 (patch) | |
tree | 5dd59d39bf68ca7c1882c1a07aec8470b36dc20e /macros/latex | |
parent | 5d714d9476cbb90b125ff14a9d764ad90bb7c2ed (diff) |
CTAN sync 202109250301
Diffstat (limited to 'macros/latex')
80 files changed, 2181 insertions, 1197 deletions
diff --git a/macros/latex/contrib/beamer-contrib/themes/fibeamer/LICENSE.tex b/macros/latex/contrib/beamer-contrib/themes/fibeamer/LICENSE.tex index 939c962fd5..b47399e489 100644 --- a/macros/latex/contrib/beamer-contrib/themes/fibeamer/LICENSE.tex +++ b/macros/latex/contrib/beamer-contrib/themes/fibeamer/LICENSE.tex @@ -1,7 +1,7 @@ \input docstrip.tex \preamble -Copyright 2016-2020 Vít Novotný <witiko@mail.muni.cz> +Copyright 2016-2021 Vít Novotný <witiko@mail.muni.cz> Faculty of Informatics, Masaryk University (Brno, Czech Republic) This work is based on the (Unofficial) University of Manchester diff --git a/macros/latex/contrib/beamer-contrib/themes/fibeamer/Makefile b/macros/latex/contrib/beamer-contrib/themes/fibeamer/Makefile index 4396a9d8d0..1911b8a005 100644 --- a/macros/latex/contrib/beamer-contrib/themes/fibeamer/Makefile +++ b/macros/latex/contrib/beamer-contrib/themes/fibeamer/Makefile @@ -1,22 +1,20 @@ -SUBMAKES_REQUIRED=logo/mu theme/mu -SUBMAKES_EXTRA=guide/mu example/mu -SUBMAKES_TEST=test/mu -SUBMAKES=$(SUBMAKES_REQUIRED) $(SUBMAKES_EXTRA) $(SUBMAKES_TEST) +SUBMAKES_REQUIRED=logo/mu theme/mu logo/bs theme/bs +SUBMAKES_EXTRA=guide/mu example/mu example/bs +SUBMAKES=$(SUBMAKES_REQUIRED) $(SUBMAKES_EXTRA) .PHONY: all base complete docs clean dist dist-implode implode \ - install install-base install-docs uninstall tests $(SUBMAKES) + install install-base install-docs uninstall $(SUBMAKES) BASETHEMEFILE=beamerthemefibeamer.sty -OTHERTHEMEFILES=theme/mu/*.sty +OTHERTHEMEFILES=theme/mu/*.sty theme/bs/*.sty THEMEFILES=$(BASETHEMEFILE) $(OTHERTHEMEFILES) LOGOSOURCES=logo/*/*.pdf LOGOS=logo/*/*.eps -DTXFILES=*.dtx theme/mu/*.dtx -INSFILES=*.ins theme/mu/*.ins -TESTS=test/mu/*.pdf +DTXFILES=*.dtx theme/mu/*.dtx theme/bs/*.dtx +INSFILES=*.ins theme/mu/*.ins theme/bs/*.ins MAKES=guide/mu/Makefile theme/mu/Makefile logo/mu/Makefile Makefile \ - test/mu/Makefile -USEREXAMPLE_SOURCES=example/mu/Makefile example/mu/example.dtx \ - example/mu/*.ins + theme/bs/Makefile logo/bs/Makefile +USEREXAMPLE_SOURCES=example/mu/Makefile example/mu/example.dtx example/mu/*.ins \ + example/bs/Makefile example/bs/example.dtx example/bs/standard.ins USEREXAMPLES=example/mu/econ-lualatex.pdf \ example/mu/econ-pdflatex.pdf example/mu/fi-lualatex.pdf \ example/mu/fi-pdflatex.pdf example/mu/fsps-lualatex.pdf \ @@ -26,22 +24,27 @@ USEREXAMPLES=example/mu/econ-lualatex.pdf \ example/mu/med-pdflatex.pdf example/mu/ped-lualatex.pdf \ example/mu/ped-pdflatex.pdf example/mu/phil-lualatex.pdf \ example/mu/phil-pdflatex.pdf example/mu/sci-lualatex.pdf \ - example/mu/sci-pdflatex.pdf + example/mu/sci-pdflatex.pdf \ + example/bs/standard-pdflatex.pdf example/bs/standard-lualatex.pdf DEVEXAMPLES=logo/DESCRIPTION logo/EXAMPLE/DESCRIPTION \ logo/mu/DESCRIPTION theme/EXAMPLE/DESCRIPTION \ theme/mu/DESCRIPTION theme/DESCRIPTION example/DESCRIPTION \ example/EXAMPLE/DESCRIPTION example/mu/DESCRIPTION \ example/mu/resources/DESCRIPTION guide/DESCRIPTION \ guide/EXAMPLE/DESCRIPTION guide/mu/DESCRIPTION \ - guide/mu/resources/DESCRIPTION test/DESCRIPTION \ - test/EXAMPLE/DESCRIPTION test/mu/DESCRIPTION + guide/mu/resources/DESCRIPTION \ + theme/bs/DESCRIPTION logo/bs/DESCRIPTION example/bs/DESCRIPTION \ + example/bs/resources/DESCRIPTION EXAMPLES=$(USEREXAMPLES) $(DEVEXAMPLES) MISCELLANEOUS=guide/mu/guide.bib \ guide/mu/guide.dtx guide/mu/*.ins guide/mu/resources/cog.pdf \ guide/mu/resources/vader.pdf guide/mu/resources/yoda.pdf \ $(USEREXAMPLES:.pdf=.tex) \ example/mu/resources/jabberwocky-dark.png \ - example/mu/resources/jabberwocky-light.png README.md + example/mu/resources/jabberwocky-light.png \ + example/bs/resources/jabberwocky-dark.png \ + example/bs/resources/jabberwocky-light.png \ + README.md RESOURCES=$(THEMEFILES) $(LOGOS) $(LOGOSOURCES) SOURCES=$(DTXFILES) $(INSFILES) LICENSE.tex AUXFILES=fibeamer.aux fibeamer.log fibeamer.toc fibeamer.ind \ @@ -85,9 +88,6 @@ docs: $(SUBMAKES): make -C $@ all -# This pseudo-target performs the tests. -tests: base $(SUBMAKES_TEST) - # This pseudo-target creates the distribution archive. dist: dist-implode complete make $(TDSARCHIVE) $(DISTARCHIVE) $(CTANARCHIVE) @@ -117,24 +117,23 @@ $(TDSARCHIVE): mv "$$DIR"/$@ $@ && rm -rf "$$DIR" # This target generates a distribution file. -$(DISTARCHIVE): $(SOURCES) $(RESOURCES) $(MAKES) $(TESTS) \ +$(DISTARCHIVE): $(SOURCES) $(RESOURCES) $(MAKES) \ $(USEREXAMPLE_SOURCES) $(DOCS) $(PDFSOURCES) $(MISCELLANEOUS) \ $(EXAMPLES) $(VERSION) DIR=`mktemp -d` && \ - cp --verbose $(TDSARCHIVE) "$$DIR" && \ +# cp --verbose $(TDSARCHIVE) "$$DIR" && \ cp --parents --verbose $^ "$$DIR" && \ - (cd "$$DIR" && zip -r -v -nw $@ *) && \ + (cd "$$DIR" && zip --symlinks -r -v -nw $@ *) && \ mv "$$DIR"/$@ . && rm -rf "$$DIR" # This target generates a CTAN distribution file. -$(CTANARCHIVE): $(SOURCES) $(MAKES) $(TESTS) $(EXAMPLES) \ +$(CTANARCHIVE): $(SOURCES) $(MAKES) $(EXAMPLES) \ $(MISCELLANEOUS) $(DOCS) $(VERSION) $(LOGOSOURCES) DIR=`mktemp -d` && mkdir -p "$$DIR/fibeamer" && \ - cp --verbose $(TDSARCHIVE) "$$DIR" && \ cp --parents --verbose $^ "$$DIR/fibeamer" && \ printf '.PHONY: implode\nimplode:\n' > \ "$$DIR/fibeamer/example/mu/Makefile" && \ - (cd "$$DIR" && zip -r -v -nw $@ *) && \ + (cd "$$DIR" && zip --symlinks -r -v -nw $@ *) && \ mv "$$DIR"/$@ . && rm -rf "$$DIR" # This pseudo-target installs the logo and theme files - as well as diff --git a/macros/latex/contrib/beamer-contrib/themes/fibeamer/VERSION.tex b/macros/latex/contrib/beamer-contrib/themes/fibeamer/VERSION.tex index a488162c77..5e78f5422a 100644 --- a/macros/latex/contrib/beamer-contrib/themes/fibeamer/VERSION.tex +++ b/macros/latex/contrib/beamer-contrib/themes/fibeamer/VERSION.tex @@ -1 +1 @@ -2019/12/16 v1.1.8 fibeamer MU beamer theme +2021/09/07 v1.2.0 fibeamer MU beamer theme diff --git a/macros/latex/contrib/beamer-contrib/themes/fibeamer/example/bs/DESCRIPTION b/macros/latex/contrib/beamer-contrib/themes/fibeamer/example/bs/DESCRIPTION new file mode 100644 index 0000000000..cd7970a8d2 --- /dev/null +++ b/macros/latex/contrib/beamer-contrib/themes/fibeamer/example/bs/DESCRIPTION @@ -0,0 +1,2 @@ +This directory contains example documents for the +Università degli Studi di Brescia (Brescia, Italy) diff --git a/macros/latex/contrib/beamer-contrib/themes/fibeamer/example/bs/resources/DESCRIPTION b/macros/latex/contrib/beamer-contrib/themes/fibeamer/example/bs/resources/DESCRIPTION new file mode 100644 index 0000000000..a4fd771298 --- /dev/null +++ b/macros/latex/contrib/beamer-contrib/themes/fibeamer/example/bs/resources/DESCRIPTION @@ -0,0 +1 @@ +This directory contains resources for the example documents. diff --git a/macros/latex/contrib/beamer-contrib/themes/fibeamer/example/bs/resources/jabberwocky-dark.png b/macros/latex/contrib/beamer-contrib/themes/fibeamer/example/bs/resources/jabberwocky-dark.png Binary files differnew file mode 100644 index 0000000000..f793ae6f50 --- /dev/null +++ b/macros/latex/contrib/beamer-contrib/themes/fibeamer/example/bs/resources/jabberwocky-dark.png diff --git a/macros/latex/contrib/beamer-contrib/themes/fibeamer/example/bs/resources/jabberwocky-light.png b/macros/latex/contrib/beamer-contrib/themes/fibeamer/example/bs/resources/jabberwocky-light.png Binary files differnew file mode 100644 index 0000000000..e7933cea2c --- /dev/null +++ b/macros/latex/contrib/beamer-contrib/themes/fibeamer/example/bs/resources/jabberwocky-light.png diff --git a/macros/latex/contrib/beamer-contrib/themes/fibeamer/test/mu/expected-med-lualatex.pdf b/macros/latex/contrib/beamer-contrib/themes/fibeamer/example/bs/standard-lualatex.pdf Binary files differindex fe254f79ef..a3e593ad82 100644 --- a/macros/latex/contrib/beamer-contrib/themes/fibeamer/test/mu/expected-med-lualatex.pdf +++ b/macros/latex/contrib/beamer-contrib/themes/fibeamer/example/bs/standard-lualatex.pdf diff --git a/macros/latex/contrib/beamer-contrib/themes/fibeamer/example/bs/standard-lualatex.tex b/macros/latex/contrib/beamer-contrib/themes/fibeamer/example/bs/standard-lualatex.tex new file mode 100644 index 0000000000..8b765d748a --- /dev/null +++ b/macros/latex/contrib/beamer-contrib/themes/fibeamer/example/bs/standard-lualatex.tex @@ -0,0 +1,395 @@ +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% I, the copyright holder of this work, release this work into the +%% public domain. This applies worldwide. In some countries this may +%% not be legally possible; if so: I grant anyone the right to use +%% this work for any purpose, without any conditions, unless such +%% conditions are required by law. +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\documentclass{beamer} +\usetheme[university=bs,faculty=standard]{fibeamer} +\usepackage{polyglossia} %% By using `italian` as the +\setmainlanguage{english} %% main locale instead of `english`, you +%% can typeset the presentation in Italian. +\setotherlanguages{italian} %% The additional key allow +%% +%% \begin{otherlanguage}{italian} ... \end{otherlanguage} +%% +%% These macros specify information about the presentation +\title{Presentation Title} %% that will be typeset on the +\subtitle{Presentation Subtitle} %% title page. +\author{Author's Name} +%% These additional packages are used within the document: +\usepackage{ragged2e} % `\justifying` text +\usepackage{booktabs} % Tables +\usepackage{tabularx} +\usepackage{tikz} % Diagrams +\usetikzlibrary{calc, shapes, backgrounds} +\usepackage{amsmath, amssymb} +\usepackage{url} % `\url`s +\usepackage{listings} % Code listings +\frenchspacing +\begin{document} + \frame[c]{\maketitle} + + \AtBeginSection[]{% Print an outline at the beginning of sections + \begin{frame}<beamer> + \frametitle{Outline for Section \thesection} + \tableofcontents[currentsection] + \end{frame}} + + \section{Light Frames} + \subsection{Blind Text} + \begin{frame}{Jabberwocky} + \framesubtitle{Lewis Carroll}% + \begin{tikzpicture}[overlay,remember picture] + \node[anchor=south east,xshift=-30pt,yshift=35pt] + at (current page.south east) { + \includegraphics[width=35mm]{resources/jabberwocky-light} + }; + \end{tikzpicture}% + 'Twas brillig, and the slithy toves\\ + Did gyre and gimble in the wabe;\\ + All mimsy were the borogoves,\\ + And the mome raths outgrabe.\\\bigskip + + “Beware the Jabberwock, my son!\\ + The jaws that bite, the claws that catch!\\ + Beware the Jubjub bird, and shun\\ + The frumious Bandersnatch!”\\ + \end{frame} + + \begin{frame}[label=lists]{Lists and locales} + \framesubtitle{Lorem ipsum dolor sit amet} + \begin{columns}[onlytextwidth] + \column{.5\textwidth} + \begin{itemize} + \item Nulla nec lacinia odio. Curabitur urna tellus. + \begin{itemize} + \item Fusce id sodales dolor. Sed id metus dui. + \begin{itemize} + \item Cupio virtus licet mi vel feugiat. + \end{itemize} + \end{itemize} + \end{itemize} + \column{.5\textwidth} + \begin{enumerate} + \item Donec porta, risus porttitor egestas scelerisque video. + \begin{enumerate} + \item Nunc non ante fringilla, manus potentis cario. + \begin{enumerate} + \item Pellentesque servus morbi tristique. + \end{enumerate} + \end{enumerate} + \end{enumerate} + \end{columns} + \bigskip + \justifying + + {\raggedright\uselanguage{italian}Fúgge tra sélve spaventóse e scure, + per lóchi inabitáti, érmi e selvaggi. + che di cerri sentia, d’olmi e di faggi, + fatto le avea con subite paure + trovar di qua di là strani viaggi...} + {\uselanguage{english}The quick, brown fox jumps over the lazy + dog.} + \end{frame} + + \subsection{Structuring Elements} + \begin{frame}[label=simmonshall]{Text blocks} + \framesubtitle{In plain, example, and \alert{alert} flavour} + \alert{This text} is highlighted. + + \begin{block}{A plain block} + This is a plain block containing some \alert{highlighted text}. + \end{block} + \begin{exampleblock}{An example block} + This is an example block containing some \alert{highlighted text}. + \end{exampleblock} + \begin{alertblock}{An alert block} + This is an alert block containing some \alert{highlighted text}. + \end{alertblock} + \end{frame} + + \begin{frame}[label=proof]{Definitions, theorems, and proofs} + \framesubtitle{All integers divide zero} + \begin{definition} + $\forall a,b\in\mathds{Z}: a\mid b\iff\exists c\in\mathds{Z}:a\cdot c=b$ + \end{definition} + \begin{theorem} + $\forall a\in\mathds{Z}: a\mid 0$ + \end{theorem} + \begin{proof}[Proof\nopunct] + $\forall a\in\mathds{Z}: a\cdot 0=0$ + \end{proof} + \end{frame} + + \subsection{Numerals and Mathematics} + \begin{frame}[label=math]{Numerals and Mathematics} + \framesubtitle{Formulae, equations, and expressions} + \begin{columns}[onlytextwidth] + \column{.20\textwidth} + 1234567890 + \column{.20\textwidth} + \oldstylenums{1234567890} + \column{.20\textwidth} + $\hat{x}$, $\check{x}$, $\tilde{a}$, + $\bar{a}$, $\dot{y}$, $\ddot{y}$ + \column{.40\textwidth} + $\int \!\! \int f(x,y,z)\,\mathsf{d}x\mathsf{d}y\mathsf{d}z$ + \end{columns} + \begin{columns}[onlytextwidth] + \column{.5\textwidth} + $$\frac{1}{\displaystyle 1+ + \frac{1}{\displaystyle 2+ + \frac{1}{\displaystyle 3+x}}} + + \frac{1}{1+\frac{1}{2+\frac{1}{3+x}}}$$ + \column{.5\textwidth} + $$F:\left| \begin{array}{ccc} + F''_{xx} & F''_{xy} & F'_x \\ + F''_{yx} & F''_{yy} & F'_y \\ + F'_x & F'_y & 0 + \end{array}\right| = 0$$ + \end{columns} + \begin{columns}[onlytextwidth] + \column{.3\textwidth} + $$\mathop{\int \!\!\! \int}_{\mathbf{x} \in \mathds{R}^2} + \! \langle \mathbf{x},\mathbf{y}\rangle\,\mathsf{d}\mathbf{x}$$ + \column{.33\textwidth} + $$\overline{\overline{a\alpha}^2+\underline{b\beta} + +\overline{\overline{d\delta}}}$$ + \column{.37\textwidth} + $\left] 0,1\right[ + \lceil x \rfloor - \langle x,y\rangle$ + \end{columns} + \begin{columns}[onlytextwidth] + \column{.4\textwidth} + \begin{eqnarray*} + e^x &\approx& 1+x+x^2/2! + \\ + && {}+x^3/3! + x^4/4! + \end{eqnarray*} + \column{.6\textwidth} + $${n+1\choose k} = {n\choose k} + {n \choose k-1}$$ + \end{columns} + \end{frame} + + \subsection{Figures and Code Listings} + \begin{frame}[label=figs1]{Figures} + \framesubtitle{Tables, graphs, and images} + \begin{table}[!b] + {\carlitoTLF % Use monospaced lining figures + \begin{tabularx}{\textwidth}{Xrrr} + \textbf{Faculty} & \textbf{With \TeX} & \textbf{Total} & + \textbf{\%} \\ + \toprule + Faculty of Informatics & 1\,716 & 2\,904 & + 59.09 \\% 1433 + Faculty of Science & 786 & 5\,275 & + 14.90 \\% 1431 + Faculty of $\genfrac{}{}{0pt}{}{\textsf{Economics and}}{% + \textsf{Administration}}$ & 64 & 4\,591 & + 1.39 \\% 1456 + Faculty of Arts & 69 & 10\,000 & + 0.69 \\% 1421 + Faculty of Medicine & 8 & 2\,014 & + 0.40 \\% 1411 + Faculty of Law & 15 & 4\,824 & + 0.31 \\% 1422 + Faculty of Education & 19 & 8\,219 & + 0.23 \\% 1441 + Faculty of Social Studies & 12 & 5\,599 & + 0.21 \\% 1423 + Faculty of Sports Studies & 3 & 2\,062 & + 0.15 \\% 1451 + \bottomrule + \end{tabularx}} + \caption{The distribution of theses written using \TeX\ during 2010--15 at MU} + \end{table} + \end{frame} + \begin{frame}[label=figs2]{Figures} + \framesubtitle{Tables, graphs, and images} + \begin{figure}[b] + \centering + % Flipping a coin + % Author: cis + \tikzset{ + head/.style = {fill = none, label = center:\textsf{H}}, + tail/.style = {fill = none, label = center:\textsf{T}}} + \scalebox{0.65}{\begin{tikzpicture}[ + scale = 1.5, transform shape, thick, + every node/.style = {draw, circle, minimum size = 10mm}, + grow = down, % alignment of characters + level 1/.style = {sibling distance=3cm}, + level 2/.style = {sibling distance=4cm}, + level 3/.style = {sibling distance=2cm}, + level distance = 1.25cm + ] + \node[shape = rectangle, + minimum width = 6cm, font = \sffamily] {Coin flipping} + child { node[shape = circle split, draw, line width = 1pt, + minimum size = 10mm, inner sep = 0mm, rotate = 30] (Start) + { \rotatebox{-30}{H} \nodepart{lower} \rotatebox{-30}{T}} + child { node [head] (A) {} + child { node [head] (B) {}} + child { node [tail] (C) {}} + } + child { node [tail] (D) {} + child { node [head] (E) {}} + child { node [tail] (F) {}} + } + }; + + % Filling the root (Start) + \begin{scope}[on background layer, rotate=30] + \fill[head] (Start.base) ([xshift = 0mm]Start.east) arc (0:180:5mm) + -- cycle; + \fill[tail] (Start.base) ([xshift = 0pt]Start.west) arc (180:360:5mm) + -- cycle; + \end{scope} + + % Labels + \begin{scope}[nodes = {draw = none}] + \path (Start) -- (A) node [near start, left] {$0.5$}; + \path (A) -- (B) node [near start, left] {$0.5$}; + \path (A) -- (C) node [near start, right] {$0.5$}; + \path (Start) -- (D) node [near start, right] {$0.5$}; + \path (D) -- (E) node [near start, left] {$0.5$}; + \path (D) -- (F) node [near start, right] {$0.5$}; + \begin{scope}[nodes = {below = 11pt}] + \node [name = X] at (B) {$0.25$}; + \node at (C) {$0.25$}; + \node [name = Y] at (E) {$0.25$}; + \node at (F) {$0.25$}; + \end{scope} + \end{scope} + \end{tikzpicture}} + \caption{Tree of probabilities -- Flipping a coin\footnote[frame]{% + A derivative of a diagram from \url{texample.net} by cis, CC BY 2.5 licensed}} + \end{figure} + \end{frame} + + \defverbatim[colored]\sleepSort{ + \begin{lstlisting}[language=C,tabsize=2] + #include <stdio.h> + #include <unistd.h> + #include <sys/types.h> + #include <sys/wait.h> + + // This is a comment + int main(int argc, char **argv) + { + while (--c > 1 && !fork()); + sleep(c = atoi(v[c])); + printf("%d\n", c); + wait(0); + return 0; + } + \end{lstlisting}} + \begin{frame}{Code listings}{An example source code in C} + \sleepSort + \end{frame} + + \subsection{Citations and Bibliography} + \begin{frame}[label=citations]{Citations} + \framesubtitle{\TeX, \LaTeX, and Beamer} + + \justifying\TeX\ is a programming language for the typesetting + of documents. It was created by Donald Erwin Knuth in the late + 1970s and it is documented in \emph{The \TeX + book}~\cite{knuth84}. + + In the early 1980s, Leslie Lamport created the initial version + of \LaTeX, a high-level language on top of \TeX, which is + documented in \emph{\LaTeX : A Document Preparation + System}~\cite{lamport94}. There exists a healthy ecosystem of + packages that extend the base functionality of \LaTeX; + \emph{The \LaTeX\ Companion}~\cite{MG94} acts as a guide + through the ecosystem. + + In 2003, Till Tantau created the initial version of Beamer, a + \LaTeX\ package for the creation of presentations. Beamer is + documented in the \emph{User's Guide to the Beamer + Class}~\cite{tantau04}. + \end{frame} + + \begin{frame}[label=bibliography]{Bibliography} + \framesubtitle{\TeX, \LaTeX, and Beamer} + \begin{thebibliography}{9} + \bibitem{knuth84} + Donald~E.~Knuth. + \emph{The \TeX book}. + Addison-Wesley, 1984. + \bibitem{lamport94} + Leslie~Lamport. + \emph{\LaTeX : A Document Preparation System}. + Addison-Wesley, 1986. + \bibitem{MG94} + M.~Goossens, F.~Mittelbach, and A.~Samarin. + \emph{The \LaTeX\ Companion}. + Addison-Wesley, 1994. + \bibitem{tantau04} + Till~Tantau. + \emph{User's Guide to the Beamer Class Version 3.01}. + Available at \url{http://latex-beamer.sourceforge.net}. + \bibitem{MS05} + A.~Mertz and W.~Slough. + Edited by B.~Beeton and K.~Berry. + \emph{Beamer by example} In TUGboat, + Vol. 26, No. 1., pp. 68-73. + \end{thebibliography} + \end{frame} + + \section{Dark Frames} + \begin{darkframes} + \subsection{Blind Text} + \begin{frame}{Jabberwocky} + \framesubtitle{Lewis Carroll}% + \begin{tikzpicture}[overlay,remember picture] + \node[anchor=south east,xshift=-30pt,yshift=35pt] + at (current page.south east) { + \includegraphics[width=35mm]{resources/jabberwocky-dark} + }; + \end{tikzpicture}% + 'Twas brillig, and the slithy toves\\ + Did gyre and gimble in the wabe;\\ + All mimsy were the borogoves,\\ + And the mome raths outgrabe.\\\bigskip + + “Beware the Jabberwock, my son!\\ + The jaws that bite, the claws that catch!\\ + Beware the Jubjub bird, and shun\\ + The frumious Bandersnatch!”\\ + \end{frame} + \againframe{lists} + \subsection{Structuring Elements} + \againframe{simmonshall} + \againframe{proof} + \subsection{Numerals and Mathematics} + \againframe{math} + \subsection{Figures and Code Listings} + \againframe{figs1} + \againframe{figs2} + \defverbatim[colored]\sleepSort{ + \begin{lstlisting}[language=C,tabsize=2] +#include <stdio.h> +#include <unistd.h> +#include <sys/types.h> +#include <sys/wait.h> + +// This is a comment +int main(int argc, char **argv) +{ + while (--c > 1 && !fork()); + sleep(c = atoi(v[c])); + printf("%d\n", c); + wait(0); + return 0; +} + \end{lstlisting}} + \begin{frame}{Code listings}{An example source code in C} + \sleepSort + \end{frame} + \subsection{Citations and Bibliography} + \againframe{citations} + \againframe{bibliography} + \end{darkframes} +\end{document} diff --git a/macros/latex/contrib/beamer-contrib/themes/fibeamer/test/mu/expected-med-pdflatex.pdf b/macros/latex/contrib/beamer-contrib/themes/fibeamer/example/bs/standard-pdflatex.pdf Binary files differindex a9c099bffe..1ca4a91b29 100644 --- a/macros/latex/contrib/beamer-contrib/themes/fibeamer/test/mu/expected-med-pdflatex.pdf +++ b/macros/latex/contrib/beamer-contrib/themes/fibeamer/example/bs/standard-pdflatex.pdf diff --git a/macros/latex/contrib/beamer-contrib/themes/fibeamer/example/bs/standard-pdflatex.tex b/macros/latex/contrib/beamer-contrib/themes/fibeamer/example/bs/standard-pdflatex.tex new file mode 100644 index 0000000000..0f8ad83b8f --- /dev/null +++ b/macros/latex/contrib/beamer-contrib/themes/fibeamer/example/bs/standard-pdflatex.tex @@ -0,0 +1,398 @@ +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% I, the copyright holder of this work, release this work into the +%% public domain. This applies worldwide. In some countries this may +%% not be legally possible; if so: I grant anyone the right to use +%% this work for any purpose, without any conditions, unless such +%% conditions are required by law. +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\documentclass{beamer} +\usetheme[university=bs,faculty=standard]{fibeamer} +\usepackage[utf8]{inputenc} +\usepackage[ + main=english, %% By using `italian`as the main locale + %% instead of `english`, you can typeset the + %% presentation in Italian. + italian %% The additional key allow foreign texts to be +]{babel} %% typeset as follows: +%% +%% \begin{otherlanguage}{italian} ... \end{otherlanguage} +%% +%% These macros specify information about the presentation +\title{Presentation Title} %% that will be typeset on the +\subtitle{Presentation Subtitle} %% title page. +\author{Author's Name} +%% These additional packages are used within the document: +\usepackage{ragged2e} % `\justifying` text +\usepackage{booktabs} % Tables +\usepackage{tabularx} +\usepackage{tikz} % Diagrams +\usetikzlibrary{calc, shapes, backgrounds} +\usepackage{amsmath, amssymb} +\usepackage{url} % `\url`s +\usepackage{listings} % Code listings +\frenchspacing +\begin{document} + \frame[c]{\maketitle} + + \AtBeginSection[]{% Print an outline at the beginning of sections + \begin{frame}<beamer> + \frametitle{Outline for Section \thesection} + \tableofcontents[currentsection] + \end{frame}} + + \section{Light Frames} + \subsection{Blind Text} + \begin{frame}{Jabberwocky} + \framesubtitle{Lewis Carroll}% + \begin{tikzpicture}[overlay,remember picture] + \node[anchor=south east,xshift=-30pt,yshift=35pt] + at (current page.south east) { + \includegraphics[width=35mm]{resources/jabberwocky-light} + }; + \end{tikzpicture}% + 'Twas brillig, and the slithy toves\\ + Did gyre and gimble in the wabe;\\ + All mimsy were the borogoves,\\ + And the mome raths outgrabe.\\\bigskip + + “Beware the Jabberwock, my son!\\ + The jaws that bite, the claws that catch!\\ + Beware the Jubjub bird, and shun\\ + The frumious Bandersnatch!”\\ + \end{frame} + + \begin{frame}[label=lists]{Lists and locales} + \framesubtitle{Lorem ipsum dolor sit amet} + \begin{columns}[onlytextwidth] + \column{.5\textwidth} + \begin{itemize} + \item Nulla nec lacinia odio. Curabitur urna tellus. + \begin{itemize} + \item Fusce id sodales dolor. Sed id metus dui. + \begin{itemize} + \item Cupio virtus licet mi vel feugiat. + \end{itemize} + \end{itemize} + \end{itemize} + \column{.5\textwidth} + \begin{enumerate} + \item Donec porta, risus porttitor egestas scelerisque video. + \begin{enumerate} + \item Nunc non ante fringilla, manus potentis cario. + \begin{enumerate} + \item Pellentesque servus morbi tristique. + \end{enumerate} + \end{enumerate} + \end{enumerate} + \end{columns} + \bigskip + \justifying + + {\raggedright\uselanguage{italian}Fúgge tra sélve spaventóse e scure, + per lóchi inabitáti, érmi e selvaggi. + che di cerri sentia, d’olmi e di faggi, + fatto le avea con subite paure + trovar di qua di là strani viaggi...} + {\uselanguage{english}The quick, brown fox jumps over the lazy + dog.} + \end{frame} + + \subsection{Structuring Elements} + \begin{frame}[label=simmonshall]{Text blocks} + \framesubtitle{In plain, example, and \alert{alert} flavour} + \alert{This text} is highlighted. + + \begin{block}{A plain block} + This is a plain block containing some \alert{highlighted text}. + \end{block} + \begin{exampleblock}{An example block} + This is an example block containing some \alert{highlighted text}. + \end{exampleblock} + \begin{alertblock}{An alert block} + This is an alert block containing some \alert{highlighted text}. + \end{alertblock} + \end{frame} + + \begin{frame}[label=proof]{Definitions, theorems, and proofs} + \framesubtitle{All integers divide zero} + \begin{definition} + $\forall a,b\in\mathds{Z}: a\mid b\iff\exists c\in\mathds{Z}:a\cdot c=b$ + \end{definition} + \begin{theorem} + $\forall a\in\mathds{Z}: a\mid 0$ + \end{theorem} + \begin{proof}[Proof\nopunct] + $\forall a\in\mathds{Z}: a\cdot 0=0$ + \end{proof} + \end{frame} + + \subsection{Numerals and Mathematics} + \begin{frame}[label=math]{Numerals and Mathematics} + \framesubtitle{Formulae, equations, and expressions} + \begin{columns}[onlytextwidth] + \column{.20\textwidth} + 1234567890 + \column{.20\textwidth} + \oldstylenums{1234567890} + \column{.20\textwidth} + $\hat{x}$, $\check{x}$, $\tilde{a}$, + $\bar{a}$, $\dot{y}$, $\ddot{y}$ + \column{.40\textwidth} + $\int \!\! \int f(x,y,z)\,\mathsf{d}x\mathsf{d}y\mathsf{d}z$ + \end{columns} + \begin{columns}[onlytextwidth] + \column{.5\textwidth} + $$\frac{1}{\displaystyle 1+ + \frac{1}{\displaystyle 2+ + \frac{1}{\displaystyle 3+x}}} + + \frac{1}{1+\frac{1}{2+\frac{1}{3+x}}}$$ + \column{.5\textwidth} + $$F:\left| \begin{array}{ccc} + F''_{xx} & F''_{xy} & F'_x \\ + F''_{yx} & F''_{yy} & F'_y \\ + F'_x & F'_y & 0 + \end{array}\right| = 0$$ + \end{columns} + \begin{columns}[onlytextwidth] + \column{.3\textwidth} + $$\mathop{\int \!\!\! \int}_{\mathbf{x} \in \mathds{R}^2} + \! \langle \mathbf{x},\mathbf{y}\rangle\,\mathsf{d}\mathbf{x}$$ + \column{.33\textwidth} + $$\overline{\overline{a\alpha}^2+\underline{b\beta} + +\overline{\overline{d\delta}}}$$ + \column{.37\textwidth} + $\left] 0,1\right[ + \lceil x \rfloor - \langle x,y\rangle$ + \end{columns} + \begin{columns}[onlytextwidth] + \column{.4\textwidth} + \begin{eqnarray*} + e^x &\approx& 1+x+x^2/2! + \\ + && {}+x^3/3! + x^4/4! + \end{eqnarray*} + \column{.6\textwidth} + $${n+1\choose k} = {n\choose k} + {n \choose k-1}$$ + \end{columns} + \end{frame} + + \subsection{Figures and Code Listings} + \begin{frame}[label=figs1]{Figures} + \framesubtitle{Tables, graphs, and images} + \begin{table}[!b] + {\carlitoTLF % Use monospaced lining figures + \begin{tabularx}{\textwidth}{Xrrr} + \textbf{Faculty} & \textbf{With \TeX} & \textbf{Total} & + \textbf{\%} \\ + \toprule + Faculty of Informatics & 1\,716 & 2\,904 & + 59.09 \\% 1433 + Faculty of Science & 786 & 5\,275 & + 14.90 \\% 1431 + Faculty of $\genfrac{}{}{0pt}{}{\textsf{Economics and}}{% + \textsf{Administration}}$ & 64 & 4\,591 & + 1.39 \\% 1456 + Faculty of Arts & 69 & 10\,000 & + 0.69 \\% 1421 + Faculty of Medicine & 8 & 2\,014 & + 0.40 \\% 1411 + Faculty of Law & 15 & 4\,824 & + 0.31 \\% 1422 + Faculty of Education & 19 & 8\,219 & + 0.23 \\% 1441 + Faculty of Social Studies & 12 & 5\,599 & + 0.21 \\% 1423 + Faculty of Sports Studies & 3 & 2\,062 & + 0.15 \\% 1451 + \bottomrule + \end{tabularx}} + \caption{The distribution of theses written using \TeX\ during 2010--15 at MU} + \end{table} + \end{frame} + \begin{frame}[label=figs2]{Figures} + \framesubtitle{Tables, graphs, and images} + \begin{figure}[b] + \centering + % Flipping a coin + % Author: cis + \tikzset{ + head/.style = {fill = none, label = center:\textsf{H}}, + tail/.style = {fill = none, label = center:\textsf{T}}} + \scalebox{0.65}{\begin{tikzpicture}[ + scale = 1.5, transform shape, thick, + every node/.style = {draw, circle, minimum size = 10mm}, + grow = down, % alignment of characters + level 1/.style = {sibling distance=3cm}, + level 2/.style = {sibling distance=4cm}, + level 3/.style = {sibling distance=2cm}, + level distance = 1.25cm + ] + \node[shape = rectangle, + minimum width = 6cm, font = \sffamily] {Coin flipping} + child { node[shape = circle split, draw, line width = 1pt, + minimum size = 10mm, inner sep = 0mm, rotate = 30] (Start) + { \rotatebox{-30}{H} \nodepart{lower} \rotatebox{-30}{T}} + child { node [head] (A) {} + child { node [head] (B) {}} + child { node [tail] (C) {}} + } + child { node [tail] (D) {} + child { node [head] (E) {}} + child { node [tail] (F) {}} + } + }; + + % Filling the root (Start) + \begin{scope}[on background layer, rotate=30] + \fill[head] (Start.base) ([xshift = 0mm]Start.east) arc (0:180:5mm) + -- cycle; + \fill[tail] (Start.base) ([xshift = 0pt]Start.west) arc (180:360:5mm) + -- cycle; + \end{scope} + + % Labels + \begin{scope}[nodes = {draw = none}] + \path (Start) -- (A) node [near start, left] {$0.5$}; + \path (A) -- (B) node [near start, left] {$0.5$}; + \path (A) -- (C) node [near start, right] {$0.5$}; + \path (Start) -- (D) node [near start, right] {$0.5$}; + \path (D) -- (E) node [near start, left] {$0.5$}; + \path (D) -- (F) node [near start, right] {$0.5$}; + \begin{scope}[nodes = {below = 11pt}] + \node [name = X] at (B) {$0.25$}; + \node at (C) {$0.25$}; + \node [name = Y] at (E) {$0.25$}; + \node at (F) {$0.25$}; + \end{scope} + \end{scope} + \end{tikzpicture}} + \caption{Tree of probabilities -- Flipping a coin\footnote[frame]{% + A derivative of a diagram from \url{texample.net} by cis, CC BY 2.5 licensed}} + \end{figure} + \end{frame} + + \defverbatim[colored]\sleepSort{ + \begin{lstlisting}[language=C,tabsize=2] + #include <stdio.h> + #include <unistd.h> + #include <sys/types.h> + #include <sys/wait.h> + + // This is a comment + int main(int argc, char **argv) + { + while (--c > 1 && !fork()); + sleep(c = atoi(v[c])); + printf("%d\n", c); + wait(0); + return 0; + } + \end{lstlisting}} + \begin{frame}{Code listings}{An example source code in C} + \sleepSort + \end{frame} + + \subsection{Citations and Bibliography} + \begin{frame}[label=citations]{Citations} + \framesubtitle{\TeX, \LaTeX, and Beamer} + + \justifying\TeX\ is a programming language for the typesetting + of documents. It was created by Donald Erwin Knuth in the late + 1970s and it is documented in \emph{The \TeX + book}~\cite{knuth84}. + + In the early 1980s, Leslie Lamport created the initial version + of \LaTeX, a high-level language on top of \TeX, which is + documented in \emph{\LaTeX : A Document Preparation + System}~\cite{lamport94}. There exists a healthy ecosystem of + packages that extend the base functionality of \LaTeX; + \emph{The \LaTeX\ Companion}~\cite{MG94} acts as a guide + through the ecosystem. + + In 2003, Till Tantau created the initial version of Beamer, a + \LaTeX\ package for the creation of presentations. Beamer is + documented in the \emph{User's Guide to the Beamer + Class}~\cite{tantau04}. + \end{frame} + + \begin{frame}[label=bibliography]{Bibliography} + \framesubtitle{\TeX, \LaTeX, and Beamer} + \begin{thebibliography}{9} + \bibitem{knuth84} + Donald~E.~Knuth. + \emph{The \TeX book}. + Addison-Wesley, 1984. + \bibitem{lamport94} + Leslie~Lamport. + \emph{\LaTeX : A Document Preparation System}. + Addison-Wesley, 1986. + \bibitem{MG94} + M.~Goossens, F.~Mittelbach, and A.~Samarin. + \emph{The \LaTeX\ Companion}. + Addison-Wesley, 1994. + \bibitem{tantau04} + Till~Tantau. + \emph{User's Guide to the Beamer Class Version 3.01}. + Available at \url{http://latex-beamer.sourceforge.net}. + \bibitem{MS05} + A.~Mertz and W.~Slough. + Edited by B.~Beeton and K.~Berry. + \emph{Beamer by example} In TUGboat, + Vol. 26, No. 1., pp. 68-73. + \end{thebibliography} + \end{frame} + + \section{Dark Frames} + \begin{darkframes} + \subsection{Blind Text} + \begin{frame}{Jabberwocky} + \framesubtitle{Lewis Carroll}% + \begin{tikzpicture}[overlay,remember picture] + \node[anchor=south east,xshift=-30pt,yshift=35pt] + at (current page.south east) { + \includegraphics[width=35mm]{resources/jabberwocky-dark} + }; + \end{tikzpicture}% + 'Twas brillig, and the slithy toves\\ + Did gyre and gimble in the wabe;\\ + All mimsy were the borogoves,\\ + And the mome raths outgrabe.\\\bigskip + + “Beware the Jabberwock, my son!\\ + The jaws that bite, the claws that catch!\\ + Beware the Jubjub bird, and shun\\ + The frumious Bandersnatch!”\\ + \end{frame} + \againframe{lists} + \subsection{Structuring Elements} + \againframe{simmonshall} + \againframe{proof} + \subsection{Numerals and Mathematics} + \againframe{math} + \subsection{Figures and Code Listings} + \againframe{figs1} + \againframe{figs2} + \defverbatim[colored]\sleepSort{ + \begin{lstlisting}[language=C,tabsize=2] +#include <stdio.h> +#include <unistd.h> +#include <sys/types.h> +#include <sys/wait.h> + +// This is a comment +int main(int argc, char **argv) +{ + while (--c > 1 && !fork()); + sleep(c = atoi(v[c])); + printf("%d\n", c); + wait(0); + return 0; +} + \end{lstlisting}} + \begin{frame}{Code listings}{An example source code in C} + \sleepSort + \end{frame} + \subsection{Citations and Bibliography} + \againframe{citations} + \againframe{bibliography} + \end{darkframes} +\end{document} diff --git a/macros/latex/contrib/beamer-contrib/themes/fibeamer/example/mu/econ-lualatex.pdf b/macros/latex/contrib/beamer-contrib/themes/fibeamer/example/mu/econ-lualatex.pdf Binary files differindex 99caf4f323..a83549d6e7 100644 --- a/macros/latex/contrib/beamer-contrib/themes/fibeamer/example/mu/econ-lualatex.pdf +++ b/macros/latex/contrib/beamer-contrib/themes/fibeamer/example/mu/econ-lualatex.pdf diff --git a/macros/latex/contrib/beamer-contrib/themes/fibeamer/example/mu/econ-pdflatex.pdf b/macros/latex/contrib/beamer-contrib/themes/fibeamer/example/mu/econ-pdflatex.pdf Binary files differindex 5118988622..d000a2f2e0 100644 --- a/macros/latex/contrib/beamer-contrib/themes/fibeamer/example/mu/econ-pdflatex.pdf +++ b/macros/latex/contrib/beamer-contrib/themes/fibeamer/example/mu/econ-pdflatex.pdf diff --git a/macros/latex/contrib/beamer-contrib/themes/fibeamer/example/mu/fi-lualatex.pdf b/macros/latex/contrib/beamer-contrib/themes/fibeamer/example/mu/fi-lualatex.pdf Binary files differindex 9c0d968a0a..ee30acd4bf 100644 --- a/macros/latex/contrib/beamer-contrib/themes/fibeamer/example/mu/fi-lualatex.pdf +++ b/macros/latex/contrib/beamer-contrib/themes/fibeamer/example/mu/fi-lualatex.pdf diff --git a/macros/latex/contrib/beamer-contrib/themes/fibeamer/example/mu/fi-pdflatex.pdf b/macros/latex/contrib/beamer-contrib/themes/fibeamer/example/mu/fi-pdflatex.pdf Binary files differindex 14f0faa4ee..22a2ddbf9c 100644 --- a/macros/latex/contrib/beamer-contrib/themes/fibeamer/example/mu/fi-pdflatex.pdf +++ b/macros/latex/contrib/beamer-contrib/themes/fibeamer/example/mu/fi-pdflatex.pdf diff --git a/macros/latex/contrib/beamer-contrib/themes/fibeamer/example/mu/fsps-lualatex.pdf b/macros/latex/contrib/beamer-contrib/themes/fibeamer/example/mu/fsps-lualatex.pdf Binary files differindex d862e4e438..396950f8e0 100644 --- a/macros/latex/contrib/beamer-contrib/themes/fibeamer/example/mu/fsps-lualatex.pdf +++ b/macros/latex/contrib/beamer-contrib/themes/fibeamer/example/mu/fsps-lualatex.pdf diff --git a/macros/latex/contrib/beamer-contrib/themes/fibeamer/example/mu/fsps-pdflatex.pdf b/macros/latex/contrib/beamer-contrib/themes/fibeamer/example/mu/fsps-pdflatex.pdf Binary files differindex a7b6b044ac..a16d0041cc 100644 --- a/macros/latex/contrib/beamer-contrib/themes/fibeamer/example/mu/fsps-pdflatex.pdf +++ b/macros/latex/contrib/beamer-contrib/themes/fibeamer/example/mu/fsps-pdflatex.pdf diff --git a/macros/latex/contrib/beamer-contrib/themes/fibeamer/example/mu/fss-lualatex.pdf b/macros/latex/contrib/beamer-contrib/themes/fibeamer/example/mu/fss-lualatex.pdf Binary files differindex 9a8a6de238..1941631a42 100644 --- a/macros/latex/contrib/beamer-contrib/themes/fibeamer/example/mu/fss-lualatex.pdf +++ b/macros/latex/contrib/beamer-contrib/themes/fibeamer/example/mu/fss-lualatex.pdf diff --git a/macros/latex/contrib/beamer-contrib/themes/fibeamer/example/mu/fss-pdflatex.pdf b/macros/latex/contrib/beamer-contrib/themes/fibeamer/example/mu/fss-pdflatex.pdf Binary files differindex 2ce4f56075..1589fc4c42 100644 --- a/macros/latex/contrib/beamer-contrib/themes/fibeamer/example/mu/fss-pdflatex.pdf +++ b/macros/latex/contrib/beamer-contrib/themes/fibeamer/example/mu/fss-pdflatex.pdf diff --git a/macros/latex/contrib/beamer-contrib/themes/fibeamer/example/mu/law-lualatex.pdf b/macros/latex/contrib/beamer-contrib/themes/fibeamer/example/mu/law-lualatex.pdf Binary files differindex e65d59162f..26b8b06bff 100644 --- a/macros/latex/contrib/beamer-contrib/themes/fibeamer/example/mu/law-lualatex.pdf +++ b/macros/latex/contrib/beamer-contrib/themes/fibeamer/example/mu/law-lualatex.pdf diff --git a/macros/latex/contrib/beamer-contrib/themes/fibeamer/example/mu/law-pdflatex.pdf b/macros/latex/contrib/beamer-contrib/themes/fibeamer/example/mu/law-pdflatex.pdf Binary files differindex 62d7c4b3cb..5cca8c8fc5 100644 --- a/macros/latex/contrib/beamer-contrib/themes/fibeamer/example/mu/law-pdflatex.pdf +++ b/macros/latex/contrib/beamer-contrib/themes/fibeamer/example/mu/law-pdflatex.pdf diff --git a/macros/latex/contrib/beamer-contrib/themes/fibeamer/example/mu/med-lualatex.pdf b/macros/latex/contrib/beamer-contrib/themes/fibeamer/example/mu/med-lualatex.pdf Binary files differindex 52d4a27d2d..5a59ea33d2 100644 --- a/macros/latex/contrib/beamer-contrib/themes/fibeamer/example/mu/med-lualatex.pdf +++ b/macros/latex/contrib/beamer-contrib/themes/fibeamer/example/mu/med-lualatex.pdf diff --git a/macros/latex/contrib/beamer-contrib/themes/fibeamer/example/mu/med-pdflatex.pdf b/macros/latex/contrib/beamer-contrib/themes/fibeamer/example/mu/med-pdflatex.pdf Binary files differindex d481be2468..3f98837a0f 100644 --- a/macros/latex/contrib/beamer-contrib/themes/fibeamer/example/mu/med-pdflatex.pdf +++ b/macros/latex/contrib/beamer-contrib/themes/fibeamer/example/mu/med-pdflatex.pdf diff --git a/macros/latex/contrib/beamer-contrib/themes/fibeamer/example/mu/ped-lualatex.pdf b/macros/latex/contrib/beamer-contrib/themes/fibeamer/example/mu/ped-lualatex.pdf Binary files differindex bee8b171e5..df834fbc1c 100644 --- a/macros/latex/contrib/beamer-contrib/themes/fibeamer/example/mu/ped-lualatex.pdf +++ b/macros/latex/contrib/beamer-contrib/themes/fibeamer/example/mu/ped-lualatex.pdf diff --git a/macros/latex/contrib/beamer-contrib/themes/fibeamer/example/mu/ped-pdflatex.pdf b/macros/latex/contrib/beamer-contrib/themes/fibeamer/example/mu/ped-pdflatex.pdf Binary files differindex 8a4546f274..be6eafc8e5 100644 --- a/macros/latex/contrib/beamer-contrib/themes/fibeamer/example/mu/ped-pdflatex.pdf +++ b/macros/latex/contrib/beamer-contrib/themes/fibeamer/example/mu/ped-pdflatex.pdf diff --git a/macros/latex/contrib/beamer-contrib/themes/fibeamer/example/mu/phil-lualatex.pdf b/macros/latex/contrib/beamer-contrib/themes/fibeamer/example/mu/phil-lualatex.pdf Binary files differindex cac53d577d..cfd1fadee1 100644 --- a/macros/latex/contrib/beamer-contrib/themes/fibeamer/example/mu/phil-lualatex.pdf +++ b/macros/latex/contrib/beamer-contrib/themes/fibeamer/example/mu/phil-lualatex.pdf diff --git a/macros/latex/contrib/beamer-contrib/themes/fibeamer/example/mu/phil-pdflatex.pdf b/macros/latex/contrib/beamer-contrib/themes/fibeamer/example/mu/phil-pdflatex.pdf Binary files differindex f453ab1d77..db4045a008 100644 --- a/macros/latex/contrib/beamer-contrib/themes/fibeamer/example/mu/phil-pdflatex.pdf +++ b/macros/latex/contrib/beamer-contrib/themes/fibeamer/example/mu/phil-pdflatex.pdf diff --git a/macros/latex/contrib/beamer-contrib/themes/fibeamer/example/mu/sci-lualatex.pdf b/macros/latex/contrib/beamer-contrib/themes/fibeamer/example/mu/sci-lualatex.pdf Binary files differindex 3095339004..82bf8a0e27 100644 --- a/macros/latex/contrib/beamer-contrib/themes/fibeamer/example/mu/sci-lualatex.pdf +++ b/macros/latex/contrib/beamer-contrib/themes/fibeamer/example/mu/sci-lualatex.pdf diff --git a/macros/latex/contrib/beamer-contrib/themes/fibeamer/example/mu/sci-pdflatex.pdf b/macros/latex/contrib/beamer-contrib/themes/fibeamer/example/mu/sci-pdflatex.pdf Binary files differindex 7d69eb9919..b77d449e5a 100644 --- a/macros/latex/contrib/beamer-contrib/themes/fibeamer/example/mu/sci-pdflatex.pdf +++ b/macros/latex/contrib/beamer-contrib/themes/fibeamer/example/mu/sci-pdflatex.pdf diff --git a/macros/latex/contrib/beamer-contrib/themes/fibeamer/fibeamer.dtx b/macros/latex/contrib/beamer-contrib/themes/fibeamer/fibeamer.dtx index 5c682e4f5d..373bb74e2a 100644 --- a/macros/latex/contrib/beamer-contrib/themes/fibeamer/fibeamer.dtx +++ b/macros/latex/contrib/beamer-contrib/themes/fibeamer/fibeamer.dtx @@ -54,7 +54,7 @@ \gdef\fibeamer@version@number{#1} \gdef\fibeamer@version@date{#2} \gdef\fibeamer@version{#2 #1 fibeamer MU beamer theme}} -\fibeamer@versiondef{v1.1.8}{2019/12/16}} +\fibeamer@versiondef{v1.2.0}{2021/09/07}} % {\newwrite\f\openout\f=VERSION\write\f{\fibeamer@version}\closeout\f} % % \changes{v1.1.5:1} {2016/05/18}{Added \texttt{pdfencoding} to the @@ -67,7 +67,9 @@ % \fi % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% +% +% \changes{v1.2.0} {2021/09/07}{Added support for the University +% of Brescia} % \changes{v1.1.8} {2019/12/15}{Fixed active character \texttt{-} % in pdf\LaTeX{} example documents.} % \changes{v1.1.3} {2016/02/24}{Added visual tests of output diff --git a/macros/latex/contrib/beamer-contrib/themes/fibeamer/fibeamer.pdf b/macros/latex/contrib/beamer-contrib/themes/fibeamer/fibeamer.pdf Binary files differindex 5b5be04e08..2500012d60 100644 --- a/macros/latex/contrib/beamer-contrib/themes/fibeamer/fibeamer.pdf +++ b/macros/latex/contrib/beamer-contrib/themes/fibeamer/fibeamer.pdf diff --git a/macros/latex/contrib/beamer-contrib/themes/fibeamer/guide/mu/econ.pdf b/macros/latex/contrib/beamer-contrib/themes/fibeamer/guide/mu/econ.pdf Binary files differindex 52013554dd..5a27363329 100644 --- a/macros/latex/contrib/beamer-contrib/themes/fibeamer/guide/mu/econ.pdf +++ b/macros/latex/contrib/beamer-contrib/themes/fibeamer/guide/mu/econ.pdf diff --git a/macros/latex/contrib/beamer-contrib/themes/fibeamer/guide/mu/fi.pdf b/macros/latex/contrib/beamer-contrib/themes/fibeamer/guide/mu/fi.pdf Binary files differindex 59c2599100..67cb6d16f3 100644 --- a/macros/latex/contrib/beamer-contrib/themes/fibeamer/guide/mu/fi.pdf +++ b/macros/latex/contrib/beamer-contrib/themes/fibeamer/guide/mu/fi.pdf diff --git a/macros/latex/contrib/beamer-contrib/themes/fibeamer/guide/mu/fsps.pdf b/macros/latex/contrib/beamer-contrib/themes/fibeamer/guide/mu/fsps.pdf Binary files differindex b01f9c9283..c4672905cb 100644 --- a/macros/latex/contrib/beamer-contrib/themes/fibeamer/guide/mu/fsps.pdf +++ b/macros/latex/contrib/beamer-contrib/themes/fibeamer/guide/mu/fsps.pdf diff --git a/macros/latex/contrib/beamer-contrib/themes/fibeamer/guide/mu/fss.pdf b/macros/latex/contrib/beamer-contrib/themes/fibeamer/guide/mu/fss.pdf Binary files differindex cd669bdb59..92056dab2c 100644 --- a/macros/latex/contrib/beamer-contrib/themes/fibeamer/guide/mu/fss.pdf +++ b/macros/latex/contrib/beamer-contrib/themes/fibeamer/guide/mu/fss.pdf diff --git a/macros/latex/contrib/beamer-contrib/themes/fibeamer/guide/mu/law.pdf b/macros/latex/contrib/beamer-contrib/themes/fibeamer/guide/mu/law.pdf Binary files differindex 4b433ec5c6..86a63fc7d3 100644 --- a/macros/latex/contrib/beamer-contrib/themes/fibeamer/guide/mu/law.pdf +++ b/macros/latex/contrib/beamer-contrib/themes/fibeamer/guide/mu/law.pdf diff --git a/macros/latex/contrib/beamer-contrib/themes/fibeamer/guide/mu/med.pdf b/macros/latex/contrib/beamer-contrib/themes/fibeamer/guide/mu/med.pdf Binary files differindex 322d3ce800..13fa02a0d0 100644 --- a/macros/latex/contrib/beamer-contrib/themes/fibeamer/guide/mu/med.pdf +++ b/macros/latex/contrib/beamer-contrib/themes/fibeamer/guide/mu/med.pdf diff --git a/macros/latex/contrib/beamer-contrib/themes/fibeamer/guide/mu/ped.pdf b/macros/latex/contrib/beamer-contrib/themes/fibeamer/guide/mu/ped.pdf Binary files differindex 9ced7c4c1e..722bf23657 100644 --- a/macros/latex/contrib/beamer-contrib/themes/fibeamer/guide/mu/ped.pdf +++ b/macros/latex/contrib/beamer-contrib/themes/fibeamer/guide/mu/ped.pdf diff --git a/macros/latex/contrib/beamer-contrib/themes/fibeamer/guide/mu/phil.pdf b/macros/latex/contrib/beamer-contrib/themes/fibeamer/guide/mu/phil.pdf Binary files differindex 1be53a95b0..8e86f04b13 100644 --- a/macros/latex/contrib/beamer-contrib/themes/fibeamer/guide/mu/phil.pdf +++ b/macros/latex/contrib/beamer-contrib/themes/fibeamer/guide/mu/phil.pdf diff --git a/macros/latex/contrib/beamer-contrib/themes/fibeamer/guide/mu/sci.pdf b/macros/latex/contrib/beamer-contrib/themes/fibeamer/guide/mu/sci.pdf Binary files differindex 55d65e5bf9..b9c6a14659 100644 --- a/macros/latex/contrib/beamer-contrib/themes/fibeamer/guide/mu/sci.pdf +++ b/macros/latex/contrib/beamer-contrib/themes/fibeamer/guide/mu/sci.pdf diff --git a/macros/latex/contrib/beamer-contrib/themes/fibeamer/logo/bs/DESCRIPTION b/macros/latex/contrib/beamer-contrib/themes/fibeamer/logo/bs/DESCRIPTION new file mode 100644 index 0000000000..a4140cae2b --- /dev/null +++ b/macros/latex/contrib/beamer-contrib/themes/fibeamer/logo/bs/DESCRIPTION @@ -0,0 +1,2 @@ +This directory contains the logo files of the +Università degli Studi di Brescia (Brescia, Italy) diff --git a/macros/latex/contrib/beamer-contrib/themes/fibeamer/logo/bs/Makefile b/macros/latex/contrib/beamer-contrib/themes/fibeamer/logo/bs/Makefile new file mode 100644 index 0000000000..c9a5541a63 --- /dev/null +++ b/macros/latex/contrib/beamer-contrib/themes/fibeamer/logo/bs/Makefile @@ -0,0 +1,13 @@ +EPSFILES=fibeamer-bs-standard-english.eps fibeamer-bs-standard-italian.eps +.PHONY: all implode + +# This target converts all the PDF logos to EPS. +all: $(EPSFILES) + +# This target converts a single PDF logo to EPS. +%.eps: %.pdf + inkscape $< --export-eps=$@ + +# This target removes all EPS logos. +implode: + rm -f $(EPSFILES) diff --git a/macros/latex/contrib/beamer-contrib/themes/fibeamer/logo/bs/fibeamer-bs-standard-english.pdf b/macros/latex/contrib/beamer-contrib/themes/fibeamer/logo/bs/fibeamer-bs-standard-english.pdf Binary files differnew file mode 100644 index 0000000000..dfd245656f --- /dev/null +++ b/macros/latex/contrib/beamer-contrib/themes/fibeamer/logo/bs/fibeamer-bs-standard-english.pdf diff --git a/macros/latex/contrib/beamer-contrib/themes/fibeamer/logo/bs/fibeamer-bs-standard-italian.pdf b/macros/latex/contrib/beamer-contrib/themes/fibeamer/logo/bs/fibeamer-bs-standard-italian.pdf Binary files differnew file mode 100644 index 0000000000..bd1c3c8f7e --- /dev/null +++ b/macros/latex/contrib/beamer-contrib/themes/fibeamer/logo/bs/fibeamer-bs-standard-italian.pdf diff --git a/macros/latex/contrib/beamer-contrib/themes/fibeamer/test/DESCRIPTION b/macros/latex/contrib/beamer-contrib/themes/fibeamer/test/DESCRIPTION deleted file mode 100644 index 4cb935c797..0000000000 --- a/macros/latex/contrib/beamer-contrib/themes/fibeamer/test/DESCRIPTION +++ /dev/null @@ -1,3 +0,0 @@ -This directory contains the tests for the base fithesis3 class. It -can also contain subdirectories with tests for the themes of -various universities. diff --git a/macros/latex/contrib/beamer-contrib/themes/fibeamer/test/EXAMPLE/DESCRIPTION b/macros/latex/contrib/beamer-contrib/themes/fibeamer/test/EXAMPLE/DESCRIPTION deleted file mode 100644 index 5b795c1c89..0000000000 --- a/macros/latex/contrib/beamer-contrib/themes/fibeamer/test/EXAMPLE/DESCRIPTION +++ /dev/null @@ -1,2 +0,0 @@ -This is an empty directory. You can rename it to match the name of -your university and place the respective test files in here. diff --git a/macros/latex/contrib/beamer-contrib/themes/fibeamer/test/mu/DESCRIPTION b/macros/latex/contrib/beamer-contrib/themes/fibeamer/test/mu/DESCRIPTION deleted file mode 100644 index 46e67f7601..0000000000 --- a/macros/latex/contrib/beamer-contrib/themes/fibeamer/test/mu/DESCRIPTION +++ /dev/null @@ -1,3 +0,0 @@ -This directory contains precompiled files from the `/example/mu` -directory. These files are visually compared against fresh-compiled -files from the `/example/mu` directory. diff --git a/macros/latex/contrib/beamer-contrib/themes/fibeamer/test/mu/Makefile b/macros/latex/contrib/beamer-contrib/themes/fibeamer/test/mu/Makefile deleted file mode 100644 index 51cc09cb88..0000000000 --- a/macros/latex/contrib/beamer-contrib/themes/fibeamer/test/mu/Makefile +++ /dev/null @@ -1,26 +0,0 @@ -.PHONY: all implode -TARGETS=expected-econ-lualatex.pdf expected-fss-pdflatex.pdf \ - expected-phil-lualatex.pdf expected-econ-pdflatex.pdf \ - expected-law-lualatex.pdf expected-phil-pdflatex.pdf \ - expected-fi-lualatex.pdf expected-law-pdflatex.pdf \ - expected-sci-lualatex.pdf expected-fi-pdflatex.pdf \ - expected-med-lualatex.pdf expected-sci-pdflatex.pdf \ - expected-fsps-lualatex.pdf expected-med-pdflatex.pdf \ - expected-fsps-pdflatex.pdf expected-ped-lualatex.pdf \ - expected-fss-lualatex.pdf expected-ped-pdflatex.pdf -EXAMPLEDIR=../../example/mu - -# This target runs all the tests. -all: - make -C $(EXAMPLEDIR) implode - make -C $(EXAMPLEDIR) all - make $(TARGETS) - -# This target runs a single test. -expected-%.pdf: $(EXAMPLEDIR)/%.pdf - ../comparepdf.sh $< $@ || \ - { [ "$(UPDATE_FAILED)" = true ] && mv $< $@; } - -# This is a dummy target. -implode: - diff --git a/macros/latex/contrib/beamer-contrib/themes/fibeamer/test/mu/expected-econ-lualatex.pdf b/macros/latex/contrib/beamer-contrib/themes/fibeamer/test/mu/expected-econ-lualatex.pdf Binary files differdeleted file mode 100644 index 0fa9e366d7..0000000000 --- a/macros/latex/contrib/beamer-contrib/themes/fibeamer/test/mu/expected-econ-lualatex.pdf +++ /dev/null diff --git a/macros/latex/contrib/beamer-contrib/themes/fibeamer/test/mu/expected-econ-pdflatex.pdf b/macros/latex/contrib/beamer-contrib/themes/fibeamer/test/mu/expected-econ-pdflatex.pdf Binary files differdeleted file mode 100644 index ac84d26944..0000000000 --- a/macros/latex/contrib/beamer-contrib/themes/fibeamer/test/mu/expected-econ-pdflatex.pdf +++ /dev/null diff --git a/macros/latex/contrib/beamer-contrib/themes/fibeamer/test/mu/expected-fi-lualatex.pdf b/macros/latex/contrib/beamer-contrib/themes/fibeamer/test/mu/expected-fi-lualatex.pdf Binary files differdeleted file mode 100644 index 3ac69cdf67..0000000000 --- a/macros/latex/contrib/beamer-contrib/themes/fibeamer/test/mu/expected-fi-lualatex.pdf +++ /dev/null diff --git a/macros/latex/contrib/beamer-contrib/themes/fibeamer/test/mu/expected-fi-pdflatex.pdf b/macros/latex/contrib/beamer-contrib/themes/fibeamer/test/mu/expected-fi-pdflatex.pdf Binary files differdeleted file mode 100644 index 00e318baf4..0000000000 --- a/macros/latex/contrib/beamer-contrib/themes/fibeamer/test/mu/expected-fi-pdflatex.pdf +++ /dev/null diff --git a/macros/latex/contrib/beamer-contrib/themes/fibeamer/test/mu/expected-fsps-lualatex.pdf b/macros/latex/contrib/beamer-contrib/themes/fibeamer/test/mu/expected-fsps-lualatex.pdf Binary files differdeleted file mode 100644 index b24e7eb642..0000000000 --- a/macros/latex/contrib/beamer-contrib/themes/fibeamer/test/mu/expected-fsps-lualatex.pdf +++ /dev/null diff --git a/macros/latex/contrib/beamer-contrib/themes/fibeamer/test/mu/expected-fsps-pdflatex.pdf b/macros/latex/contrib/beamer-contrib/themes/fibeamer/test/mu/expected-fsps-pdflatex.pdf Binary files differdeleted file mode 100644 index f90c9f14bd..0000000000 --- a/macros/latex/contrib/beamer-contrib/themes/fibeamer/test/mu/expected-fsps-pdflatex.pdf +++ /dev/null diff --git a/macros/latex/contrib/beamer-contrib/themes/fibeamer/test/mu/expected-fss-lualatex.pdf b/macros/latex/contrib/beamer-contrib/themes/fibeamer/test/mu/expected-fss-lualatex.pdf Binary files differdeleted file mode 100644 index f3b868b8fa..0000000000 --- a/macros/latex/contrib/beamer-contrib/themes/fibeamer/test/mu/expected-fss-lualatex.pdf +++ /dev/null diff --git a/macros/latex/contrib/beamer-contrib/themes/fibeamer/test/mu/expected-fss-pdflatex.pdf b/macros/latex/contrib/beamer-contrib/themes/fibeamer/test/mu/expected-fss-pdflatex.pdf Binary files differdeleted file mode 100644 index 1dc5ee24c5..0000000000 --- a/macros/latex/contrib/beamer-contrib/themes/fibeamer/test/mu/expected-fss-pdflatex.pdf +++ /dev/null diff --git a/macros/latex/contrib/beamer-contrib/themes/fibeamer/test/mu/expected-law-lualatex.pdf b/macros/latex/contrib/beamer-contrib/themes/fibeamer/test/mu/expected-law-lualatex.pdf Binary files differdeleted file mode 100644 index 5bd2cc8bb0..0000000000 --- a/macros/latex/contrib/beamer-contrib/themes/fibeamer/test/mu/expected-law-lualatex.pdf +++ /dev/null diff --git a/macros/latex/contrib/beamer-contrib/themes/fibeamer/test/mu/expected-law-pdflatex.pdf b/macros/latex/contrib/beamer-contrib/themes/fibeamer/test/mu/expected-law-pdflatex.pdf Binary files differdeleted file mode 100644 index ef87412631..0000000000 --- a/macros/latex/contrib/beamer-contrib/themes/fibeamer/test/mu/expected-law-pdflatex.pdf +++ /dev/null diff --git a/macros/latex/contrib/beamer-contrib/themes/fibeamer/test/mu/expected-ped-lualatex.pdf b/macros/latex/contrib/beamer-contrib/themes/fibeamer/test/mu/expected-ped-lualatex.pdf Binary files differdeleted file mode 100644 index b51076bdfa..0000000000 --- a/macros/latex/contrib/beamer-contrib/themes/fibeamer/test/mu/expected-ped-lualatex.pdf +++ /dev/null diff --git a/macros/latex/contrib/beamer-contrib/themes/fibeamer/test/mu/expected-ped-pdflatex.pdf b/macros/latex/contrib/beamer-contrib/themes/fibeamer/test/mu/expected-ped-pdflatex.pdf Binary files differdeleted file mode 100644 index 0d0e6f02c0..0000000000 --- a/macros/latex/contrib/beamer-contrib/themes/fibeamer/test/mu/expected-ped-pdflatex.pdf +++ /dev/null diff --git a/macros/latex/contrib/beamer-contrib/themes/fibeamer/test/mu/expected-phil-lualatex.pdf b/macros/latex/contrib/beamer-contrib/themes/fibeamer/test/mu/expected-phil-lualatex.pdf Binary files differdeleted file mode 100644 index a55497584b..0000000000 --- a/macros/latex/contrib/beamer-contrib/themes/fibeamer/test/mu/expected-phil-lualatex.pdf +++ /dev/null diff --git a/macros/latex/contrib/beamer-contrib/themes/fibeamer/test/mu/expected-phil-pdflatex.pdf b/macros/latex/contrib/beamer-contrib/themes/fibeamer/test/mu/expected-phil-pdflatex.pdf Binary files differdeleted file mode 100644 index c1b3e5ad59..0000000000 --- a/macros/latex/contrib/beamer-contrib/themes/fibeamer/test/mu/expected-phil-pdflatex.pdf +++ /dev/null diff --git a/macros/latex/contrib/beamer-contrib/themes/fibeamer/test/mu/expected-sci-lualatex.pdf b/macros/latex/contrib/beamer-contrib/themes/fibeamer/test/mu/expected-sci-lualatex.pdf Binary files differdeleted file mode 100644 index fe85351287..0000000000 --- a/macros/latex/contrib/beamer-contrib/themes/fibeamer/test/mu/expected-sci-lualatex.pdf +++ /dev/null diff --git a/macros/latex/contrib/beamer-contrib/themes/fibeamer/test/mu/expected-sci-pdflatex.pdf b/macros/latex/contrib/beamer-contrib/themes/fibeamer/test/mu/expected-sci-pdflatex.pdf Binary files differdeleted file mode 100644 index 42d63adfe5..0000000000 --- a/macros/latex/contrib/beamer-contrib/themes/fibeamer/test/mu/expected-sci-pdflatex.pdf +++ /dev/null diff --git a/macros/latex/contrib/beamer-contrib/themes/fibeamer/theme/bs/DESCRIPTION b/macros/latex/contrib/beamer-contrib/themes/fibeamer/theme/bs/DESCRIPTION new file mode 100644 index 0000000000..78f6002443 --- /dev/null +++ b/macros/latex/contrib/beamer-contrib/themes/fibeamer/theme/bs/DESCRIPTION @@ -0,0 +1,2 @@ +This directory contains an unofficial theme for the +Università degli Studi di Brescia (Brescia, Italy) diff --git a/macros/latex/contrib/beamer-contrib/themes/fibeamer/theme/bs/Makefile b/macros/latex/contrib/beamer-contrib/themes/fibeamer/theme/bs/Makefile new file mode 100644 index 0000000000..d0cca3f810 --- /dev/null +++ b/macros/latex/contrib/beamer-contrib/themes/fibeamer/theme/bs/Makefile @@ -0,0 +1,15 @@ +LOGS=base.log standard.log +OUTPUT= \ + beamercolorthemefibeamer-bs.sty beamerfontthemefibeamer-bs.sty \ + beamerinnerthemefibeamer-bs.sty beamerouterthemefibeamer-bs.sty \ + beamercolorthemefibeamer-bs-standard.sty \ + +.PHONY: explode implode clean all +all: explode +explode: $(LOGS) + +%.log: %.ins %.dtx + xetex $< + +implode: + rm -f $(OUTPUT) $(LOGS) diff --git a/macros/latex/contrib/beamer-contrib/themes/fibeamer/theme/bs/base.dtx b/macros/latex/contrib/beamer-contrib/themes/fibeamer/theme/bs/base.dtx new file mode 100644 index 0000000000..bd98ea6773 --- /dev/null +++ b/macros/latex/contrib/beamer-contrib/themes/fibeamer/theme/bs/base.dtx @@ -0,0 +1,355 @@ +% \iffalse +%<*color> +% \fi\file{theme/bs/beamercolorthemefibeamer-bs.sty} +% This is the base color theme for presentations written at the +% Masaryk University in Brno. +% \begin{macrocode} +\NeedsTeXFormat{LaTeX2e} +\ProvidesPackage{fibeamer/theme/bs/% + beamercolorthemefibeamer-bs}[2016/05/06] +% \end{macrocode} +% \begin{macro}{\darkframes} +% The |darkframes| environment switches the color definitions to +% render the enclosed frames in dark colors. This is a dummy +% definition, which will be overridden by the subsequently loaded +% color theme in the presentation mode. +% \begin{macrocode} +\newenvironment{darkframes}{}{} +% \end{macrocode} +% \end{macro} +% The rest of the theme will be ignored outside the presentation +% mode. +% \begin{macrocode} +\mode<presentation> +% \end{macrocode} +% The theme loads the following packages, which will be used by the +% subsequently loaded color theme specific to a faculty: +% \begin{itemize} +% \item\textsf{listings} -- This package is used for code +% listings. The subsequently loaded color theme will specify +% source code coloring for the package. +% \item\textsf{ifthen} -- This package is used to construct +% compound conditionals. +% \item\textsf{tikz} -- This package is used to create gradient +% background for dark slides. +% \end{itemize} +% \begin{macrocode} + \RequirePackage{listings} + \RequirePackage{ifthen} + \RequirePackage{tikz} +% \end{macrocode} +% \begin{macro}{\iffibeamer@dark} +% The |\iffibeamer@dark| conditional will be switched on and off by +% the subsequently loaded color theme based on whether or not the +% given frame is being typeset in light or dark colors. This +% information will be used by outer themes to insert the correct +% logo into each frame. +% \begin{macrocode} + \newif\iffibeamer@dark\fibeamer@darkfalse +% \end{macrocode} +% \end{macro} +% A frame that is either title or dark, as specified by the value +% of the |\iffibeamer@dark| conditional, will have a gradient +% background as specified by the |fibeamer@dark@backgroundInner| +% and |fibeamer@light@backgroundOuter| colors that shall be defined +% by the subsequently loaded color theme. +% +% A frame that is neither title nor dark, as specified by the value +% of the |\iffibeamer@dark| conditional, will have a gradient +% background as specified by the |fibeamer@light@backgroundInner| +% and |fibeamer@light@backgroundOuter| colors that shall be defined +% by the subsequently loaded color theme. +% \begin{macrocode} + \defbeamertemplate*{background canvas}{fibeamer}{% + \ifthenelse{% + \boolean{fibeamer@dark} \OR \c@framenumber=0 + }{% + \begin{tikzpicture} + \clip (0,\fibeamer@lengths@clipbottom) rectangle + (\paperwidth,\fibeamer@lengths@cliptop); + \path [inner color = fibeamer@dark@backgroundInner, + outer color = fibeamer@dark@backgroundOuter] + (0,0) rectangle (\paperwidth,\paperwidth); + \end{tikzpicture} + }{% + \begin{tikzpicture} + \clip (0,\fibeamer@lengths@clipbottom) rectangle + (\paperwidth,\fibeamer@lengths@cliptop); + \path [inner color = fibeamer@light@backgroundInner, + outer color = fibeamer@light@backgroundOuter] + (0,0) rectangle (\paperwidth,\paperwidth); + \end{tikzpicture} + }} +% \end{macrocode} +% The |\qed| symbol inserted at the end of proofs will have the +% same color as the rest of the proof. +% \begin{macrocode} + \setbeamercolor{qed symbol}{% + use=block body, + fg=block body.fg, + bg=block body.bg} +% \end{macrocode} +% The links can be colored by the subsequently loaded color themes. +% \begin{macrocode} + \hypersetup{colorlinks,linkcolor=} +\mode +<all> +% \end{macrocode} +% \iffalse +%</color> +%<*font> +% \fi\file{theme/bs/beamerfontthemefibeamer-bs.sty} +% This is the base font theme for presentations written at the +% Masaryk University in Brno. The theme has no effect outside the +% presentation mode. +% \begin{macrocode} +\NeedsTeXFormat{LaTeX2e} +\ProvidesPackage{fibeamer/theme/bs/% + beamerfontthemefibeamer-bs}[2016/01/12] +\mode<presentation> + \setbeamerfont{normal text}{size=\normalsize} + \setbeamerfont{title}{size=\LARGE, series=\bfseries} + \setbeamerfont{subtitle}{parent=normal text, size=\Large} + \setbeamerfont{frametitle}{size=\Large} + \setbeamerfont{framesubtitle}{size=\large, shape=\itshape} + \setbeamerfont{description item}{series=\bfseries} + \setbeamerfont{author}{size=\large} +\mode +<all> +% \end{macrocode} +% \iffalse +%</font> +%<*inner> +% \fi\file{theme/bs/beamerinnerthemefibeamer-bs.sty} +% This is the base inner theme for presentations written at the +% Masaryk University in Brno. The theme has no effect outside the +% presentation mode. +% \begin{macrocode} +\NeedsTeXFormat{LaTeX2e} +\ProvidesPackage{fibeamer/theme/bs/% + beamerinnerthemefibeamer-bs}[2016/01/14] +\mode<presentation> +% \end{macrocode} +% This part of the inner theme defines the design of lists. +% \begin{macrocode} +\defbeamertemplate*{itemize item}{fibeamer}{$\bullet$} +\defbeamertemplate*{itemize subitem}{fibeamer}{\---} +\defbeamertemplate*{itemize subsubitem}{fibeamer}{\guillemotright} +% \end{macrocode} +% This part of the inner theme defines the design of bibliography +% items and citations.^^A +% \begin{macrocode} +\defbeamertemplate*{bibliography item}{fibeamer}{\insertbiblabel} +\AtBeginDocument{% + \let\fibeamer@oldcite\cite + \def\cite#1{{% + \usebeamercolor[fg]{item}% + \fibeamer@oldcite{#1}}}} +% \end{macrocode} +% This part of the inner theme defines the design of the table of +% contents. +% \begin{macrocode} +\defbeamertemplate*{section in toc}{fibeamer}{% + \usebeamercolor[fg]{item}% + \inserttocsectionnumber.% + \usebeamercolor[fg]{structure}% + \kern1.25ex\inserttocsection\par} +\defbeamertemplate*{subsection in toc}{fibeamer}{% + \hspace\leftmargini + \usebeamercolor[fg]{item}% + \inserttocsectionnumber.\inserttocsubsectionnumber% + \usebeamercolor[fg]{structure}% + \kern1.25ex\inserttocsubsection\par} +\defbeamertemplate*{subsubsection in toc}{fibeamer}{% + \hspace\leftmargini + \hspace\leftmarginii + \usebeamercolor[fg]{item}% + \inserttocsectionnumber.\inserttocsubsectionnumber.% + \inserttocsubsubsectionnumber% + \usebeamercolor[fg]{structure}% + \kern1.25ex\inserttocsubsubsection\par} +\mode +<all> +% \end{macrocode} +% \iffalse +%</inner> +%<*outer> +% \fi\file{theme/bs/beamerouterthemefibeamer-bs.sty} +% This is the base outer theme for presentations written at the +% Masaryk University in Brno. The theme has no effect outside the +% presentation mode. +% \begin{macrocode} +\NeedsTeXFormat{LaTeX2e} +\ProvidesPackage{fibeamer/theme/bs/% + beamerouterthemefibeamer-bs}[2016/01/12] +\mode<presentation> +% \end{macrocode} +% The theme uses the following packages: +% \begin{itemize} +% \item\textsf{ifthen} -- This package is used to construct +% compound conditionals. +% \item\textsf{ifpdf} -- This package is used to check, whether +% the document is being typeset in DVI mode. If it is, then +% the |\pdfpagewidth| and |\pdfpageheight| dimensions are +% defined, so that positioning in TikZ works correctly. +% \changes{v1.0.1}{2015/10/03}{Added DVI output support. [VN]} +% ^^A <http://tex.stackexchange.com/a/246631/70941> +% \item\textsf{tikz} -- This package is used to position the +% logo and the frame number on a frame. +% \item\textsf{pgfcore} -- This package is used to draw the +% dashed line at the title frame. +% \end{itemize} +% \begin{macrocode} + \RequirePackage{ifthen} + \RequirePackage{ifpdf} + \ifpdf\else + \@ifundefined{pdfpagewidth}{\newdimen\pdfpagewidth}{} + \@ifundefined{pdfpageheight}{\newdimen\pdfpageheight}{} + \pdfpagewidth=\paperwidth + \pdfpageheight=\paperheight + \fi + \RequirePackage{tikz} + \RequirePackage{pgfcore} +% \end{macrocode} +% This part of the outer theme defines the geometry of the frames +% along with other dimensions. +% \begin{macrocode} + \newlength\fibeamer@lengths@baseunit + \fibeamer@lengths@baseunit=3.75mm + % The footer padding + \newlength\fibeamer@lengths@footerpad + \setlength\fibeamer@lengths@footerpad{% + \fibeamer@lengths@baseunit} + % The side margins + \newlength\fibeamer@lengths@margin + \setlength\fibeamer@lengths@margin{% + 3\fibeamer@lengths@baseunit} + \setbeamersize{ + text margin left=\fibeamer@lengths@margin, + text margin right=\fibeamer@lengths@margin} + % The upper margin + \newlength\fibeamer@lengths@titleline + \setlength\fibeamer@lengths@titleline{% + 3\fibeamer@lengths@baseunit} + % The background clipping + \newlength\fibeamer@lengths@clipbottom + \setlength\fibeamer@lengths@clipbottom\paperwidth + \addtolength\fibeamer@lengths@clipbottom{-\paperheight} + \setlength\fibeamer@lengths@clipbottom{% + 0.5\fibeamer@lengths@clipbottom} + \newlength\fibeamer@lengths@cliptop + \setlength\fibeamer@lengths@cliptop\paperwidth + \addtolength\fibeamer@lengths@cliptop{% + -\fibeamer@lengths@clipbottom} + + % The logo size + \newlength\fibeamer@lengths@logowidth + \setlength\fibeamer@lengths@logowidth{% + 10.5\fibeamer@lengths@baseunit} + \newlength\fibeamer@lengths@logoheight + \setlength\fibeamer@lengths@logoheight{% + 4,37\fibeamer@lengths@baseunit} +% \end{macrocode} +% The outer theme completely culls the bottom navigation. +% \begin{macrocode} + \defbeamertemplate*{navigation symbols}{fibeamer}{} +% \end{macrocode} +% The outer theme also culls the headline. +% \begin{macrocode} + \defbeamertemplate*{headline}{fibeamer}{} +% \end{macrocode} +% The frame title. +% \begin{macrocode} + \defbeamertemplate*{frametitle}{fibeamer}{% + \vskip-1em % Align the text with the top border + \vskip\fibeamer@lengths@titleline + \usebeamercolor[fg]{frametitle}% + \usebeamerfont{frametitle}% + \insertframetitle\par% + \usebeamercolor[fg]{framesubtitle}% + \usebeamerfont{framesubtitle}% + \insertframesubtitle} +% \end{macrocode} +% The footline contains the frame number. It is flushed right. +% \begin{macrocode} + \defbeamertemplate*{footline}{fibeamer}{% + \ifnum\c@framenumber=0\else% + \begin{tikzpicture}[overlay] + \node[anchor=south east, + yshift=\fibeamer@lengths@footerpad, + xshift=-\fibeamer@lengths@footerpad] at + (current page.south east) { + \usebeamercolor[fg]{framenumber}% + \usebeamerfont{framenumber}% + \insertframenumber/\inserttotalframenumber}; + \end{tikzpicture} + \fi} +% \end{macrocode} +% The title frame contains the main logo, the |\title|, the +% |\subtitle|, and the |\author|. +% \begin{macrocode} + \defbeamertemplate*{title page}{fibeamer}{% + + \begin{darkframes} + + % This is slide 0 + \setcounter{framenumber}{0} + + % Input the university logo + \begin{tikzpicture}[ + remember picture, + overlay, + xshift=0.5\fibeamer@lengths@logowidth, + yshift=0.5\fibeamer@lengths@logoheight + ] + \node at (0,0) { + \fibeamer@includeLogo[ + width=\fibeamer@lengths@logowidth, + height=\fibeamer@lengths@logoheight + ]}; + \end{tikzpicture} + + % Input the title + \usebeamerfont{title}% + \usebeamercolor[fg]{title}% + \begin{minipage}[b][2\baselineskip][b]{\textwidth}% + \raggedright\inserttitle + \end{minipage} + \vskip-.5\baselineskip + + % Input the dashed line + \begin{pgfpicture} + \pgfsetlinewidth{2pt} + \pgfsetroundcap + \pgfsetdash{{0pt}{4pt}}{0cm} + + \pgfpathmoveto{\pgfpoint{0mm}{0mm}} + \pgfpathlineto{\pgfpoint{\textwidth}{0mm}} + + \pgfusepath{stroke} + \end{pgfpicture} + \vfill + + % Input the subtitle + \usebeamerfont{subtitle}% + \usebeamercolor[fg]{subtitle}% + \begin{minipage}{\textwidth} + \raggedright% + \insertsubtitle% + \end{minipage}\vskip.25\baselineskip + + % Input the author's name + \usebeamerfont{author}% + \usebeamercolor[fg]{author}% + \begin{minipage}{\textwidth} + \raggedright% + \insertauthor% + \end{minipage} + \end{darkframes}} + +\mode +<all> +% \end{macrocode} +% \iffalse +%</outer> +% \fi diff --git a/macros/latex/contrib/beamer-contrib/themes/fibeamer/theme/bs/base.ins b/macros/latex/contrib/beamer-contrib/themes/fibeamer/theme/bs/base.ins new file mode 100644 index 0000000000..2432a41d26 --- /dev/null +++ b/macros/latex/contrib/beamer-contrib/themes/fibeamer/theme/bs/base.ins @@ -0,0 +1,6 @@ +\input ../../LICENSE +\generate{\file{beamercolorthemefibeamer-bs.sty}{\from{base.dtx}{color}} + \file{beamerfontthemefibeamer-bs.sty} {\from{base.dtx}{font}} + \file{beamerinnerthemefibeamer-bs.sty}{\from{base.dtx}{inner}} + \file{beamerouterthemefibeamer-bs.sty}{\from{base.dtx}{outer}}} +\endbatchfile diff --git a/macros/latex/contrib/beamer-contrib/themes/fibeamer/theme/bs/standard.dtx b/macros/latex/contrib/beamer-contrib/themes/fibeamer/theme/bs/standard.dtx new file mode 100644 index 0000000000..d747275cc1 --- /dev/null +++ b/macros/latex/contrib/beamer-contrib/themes/fibeamer/theme/bs/standard.dtx @@ -0,0 +1,113 @@ +% \file{theme/bs/beamercolorthemefibeamer-standard.sty} +% This is the color theme for all the presentations written at the +% University of Brescia. This theme has no effect outside the presentation mode. +% \begin{macrocode} +\NeedsTeXFormat{LaTeX2e} +\ProvidesPackage{fibeamer/theme/bs/% + beamercolorthemefibeamer-bs-standard}[2021-08-27] +\mode<presentation> +% \end{macrocode} +% This color theme uses the combination of yellow and shades of gray. The +% |fibeamer@{dark,|\-|light}@background{Inner,|\-|Outer}| colors are used +% within the background canvas template, which is defined within the base +% color theme of the Masaryk University and which draws the gradient +% background of the frames. +% \begin{macrocode} + \definecolor{fibeamer@black}{HTML}{2B2E34} + \definecolor{fibeamer@white}{HTML}{FFFFFF} + \definecolor{fibeamer@blue}{HTML}{3C5896} + \colorlet{fibeamer@lightBlue}{fibeamer@blue!30!fibeamer@white} + \colorlet{fibeamer@darkBlue}{fibeamer@blue!50!fibeamer@black} + \definecolor{fibeamer@gray}{HTML}{BFBFBF} + \definecolor{fibeamer@lightOrange}{HTML}{FFA25E} + \colorlet{fibeamer@orange}{fibeamer@lightOrange!80!fibeamer@darkBlue} + + %% Background gradients + \colorlet{fibeamer@dark@backgroundInner}{fibeamer@darkBlue} + \colorlet{fibeamer@dark@backgroundOuter}{fibeamer@darkBlue} + \colorlet{fibeamer@light@backgroundInner}{fibeamer@white} + \colorlet{fibeamer@light@backgroundOuter}{fibeamer@white} +% \end{macrocode} +% The |darkframes| environment switches the |\iffibeamer@darktrue| +% conditional on and sets a dark color theme. +% \begin{macrocode} + \renewenvironment{darkframes}{% + \begingroup + \fibeamer@darktrue + %% Structures + \setbeamercolor*{frametitle}{fg=fibeamer@gray!30!fibeamer@white} + \setbeamercolor*{framesubtitle}{fg=fibeamer@gray!30!fibeamer@white} + %% Text + \setbeamercolor*{normal text}{fg=fibeamer@white, bg=fibeamer@blue} + \setbeamercolor*{structure}{fg=fibeamer@white, bg=fibeamer@blue} + + \setbeamercolor*{alerted text}{fg=fibeamer@lightOrange} + + %% Items, footnotes and links + \setbeamercolor*{item}{fg=fibeamer@lightBlue} + \setbeamercolor*{footnote mark}{fg=fibeamer@lightBlue} + \hypersetup{urlcolor=fibeamer@lightBlue, citecolor=fibeamer@lightBlue} + %% Blocks + \setbeamercolor*{block title}{% + fg=fibeamer@white, bg=fibeamer@blue!60!fibeamer@white} + \setbeamercolor*{block title example}{% + fg=fibeamer@white, bg=fibeamer@blue!60!fibeamer@white} + \setbeamercolor*{block title alerted}{% + fg=fibeamer@darkBlue, bg=fibeamer@lightOrange} + \setbeamercolor*{block body}{% + fg=fibeamer@blue, + bg=fibeamer@gray!15!fibeamer@white} + \usebeamercolor*{normal text} + % Code listings + \lstset{% + commentstyle=\color{green!30!fibeamer@white}, + keywordstyle=\color{blue!30!fibeamer@white}, + stringstyle=\color{fibeamer@blue!30!fibeamer@white}} + }{% + \endgroup} +% \end{macrocode} +% Outside the |darkframes| environment, the light theme is used. +% \begin{macrocode} + %% Structures + \setbeamercolor{frametitle}{fg=fibeamer@blue} + \setbeamercolor{framesubtitle}{fg=fibeamer@black!75!fibeamer@white} + %% Text + \setbeamercolor{normal text}{fg=fibeamer@black, bg=fibeamer@white} + \setbeamercolor{structure}{fg=fibeamer@black, bg=fibeamer@white} + + \setbeamercolor{alerted text}{fg=red} + \addtobeamertemplate{block begin}{% + \iffibeamer@dark % alerted text in plain block at dark slides + \setbeamercolor{alerted text}{fg=fibeamer@orange}% + \fi}{} + + %% Items, footnotes and links + \setbeamercolor{item}{fg=fibeamer@blue} + \setbeamercolor{footnote mark}{fg=fibeamer@blue} + \hypersetup{urlcolor=fibeamer@blue, citecolor=fibeamer@blue} + %% Blocks + \setbeamercolor{block title}{% + fg=fibeamer@white, bg=fibeamer@blue} + \setbeamercolor{block title example}{% + fg=fibeamer@white, bg=fibeamer@blue} + \setbeamercolor{block title alerted}{% + fg=fibeamer@white, bg=red} + \setbeamercolor{block body}{% + fg=fibeamer@blue, bg=fibeamer@gray!20!fibeamer@white} + %% Title + \setbeamercolor{title}{fg=fibeamer@white, bg=fibeamer@blue} + % Code listings + \lstset{% + basicstyle=\footnotesize\ttfamily, + breakatwhitespace=false, + breaklines=true, + commentstyle=\color{green!60!fibeamer@black}, + extendedchars=true, + keywordstyle=\color{blue}, + showspaces=false, + showstringspaces=false, + showtabs=false, + stringstyle=\color{violet}} +\mode +<all> +% \end{macrocode} diff --git a/macros/latex/contrib/beamer-contrib/themes/fibeamer/theme/bs/standard.ins b/macros/latex/contrib/beamer-contrib/themes/fibeamer/theme/bs/standard.ins new file mode 100644 index 0000000000..a7ce8eaee6 --- /dev/null +++ b/macros/latex/contrib/beamer-contrib/themes/fibeamer/theme/bs/standard.ins @@ -0,0 +1,3 @@ +\input ../../LICENSE +\generate{\file{beamercolorthemefibeamer-bs-standard.sty}{\from{standard.dtx}{}}} +\endbatchfile diff --git a/macros/latex/contrib/ccool/README.md b/macros/latex/contrib/ccool/README.md index a3801bd081..2c7340c3ef 100644 --- a/macros/latex/contrib/ccool/README.md +++ b/macros/latex/contrib/ccool/README.md @@ -1,7 +1,6 @@ ----------------------------------------------------------------- -##### ccool --- A key-value document command parser +----------------------------------------------------------------- +##### ccool --- (Custom) COntext Oriented LaTeX - Source repository: https://github.com/rogard/ccool - Released under the LaTeX Project Public License v1.3c or later - See http://www.latex-project.org/lppl.txt ----------------------------------------------------------------- - +----------------------------------------------------------------- diff --git a/macros/latex/contrib/ccool/ccool.bib b/macros/latex/contrib/ccool/ccool.bib new file mode 100644 index 0000000000..2e33736500 --- /dev/null +++ b/macros/latex/contrib/ccool/ccool.bib @@ -0,0 +1,50 @@ +@phdthesis{oh-2005, + author = {Olympia Hadjiliadis}, + title = {Change--point detection of two--sided alternatives in the Brownian motion model and its connection to the gambler's ruin problem with relative wealth perception}, + year = {2005}, + school = {Columbia University} +} +@misc{a-547018, + author = {@{}Javier Bezos}, + title = {When loading babel with spanish, spurious document command parser}, + note = {\url{https://tex.stackexchange.com/a/547018/112708}}, + year = {2020}} +@misc{a-536597, + author = {@{}frougon}, + title = {``Journaling calls to a function \textdel{taking inline code as argument}''}, + year = {2020}, + note = {\url{https://tex.stackexchange.com/a/536620}}} +@manual{interface3, + title = {The \LaTeX3 interfaces}, + author = {The \LaTeX3 Project Team}, + year = {2019}, + note = {\url{https://ctan.math.washington.edu/tex-archive/macros/latex/contrib/l3kernel/expl3.pdf}}, + annote = {} } +@manual{xparse, + title = {The \pkg{xparse} package}, + author = {The \LaTeX3 Project Team}, + year = {2019}, + note = {\url{https://ctan.math.illinois.edu/macros/latex/contrib/l3packages/xparse.pdf}}, + annote = {} } +@manual{2005-cool, + title = {The \pkg{cool} package}, + author = {Nick Setzer}, + year = {2005}, + note = {\url{https://www.ctan.org/pkg/cool}}, + annote = {} } +@manual{l3build, + title = {The \pkg{l3build} package}, + author = {The \LaTeX3 Project Team}, + year = {2019}, + note = {\url{https://ctan.math.washington.edu/tex-archive/macros/latex/contrib/l3build/l3build.pdf}}, + annote = {} } +@manual{tcolorbox, + title = {The \pkg{tcolorbox} package}, + author = {Sturm, Thomas F.}, + year = {2019}, + note = {\url{http://www.texdoc.net/texmf-dist/doc/latex/tcolorbox/tcolorbox.pdf}}, + annote = {} } +@misc{p158966, + title = {\cs{Ccool}, extension à \LaTeX~à vocation mathématique}, + note = {\url{http://forum.mathematex.net/latex-f6/ccool-extension-latex-a-vocation-mathematique-t17314.html}}, + year = {2020}} diff --git a/macros/latex/contrib/ccool/ccool.dtx b/macros/latex/contrib/ccool/ccool.dtx index 933183883d..0d7add543e 100644 --- a/macros/latex/contrib/ccool/ccool.dtx +++ b/macros/latex/contrib/ccool/ccool.dtx @@ -4,13 +4,12 @@ \iffalse %</internal> %<*readme> ----------------------------------------------------------------- -##### ccool --- A key-value document command parser +----------------------------------------------------------------- +##### ccool --- (Custom) COntext Oriented LaTeX - Source repository: https://github.com/rogard/ccool - Released under the LaTeX Project Public License v1.3c or later - See http://www.latex-project.org/lppl.txt ----------------------------------------------------------------- - +----------------------------------------------------------------- %</readme> %<*internal> \fi @@ -24,8 +23,8 @@ \keepsilent \askforoverwritefalse \preamble ----------------------------------------------------------------------------- -ccool --- A key-value document command parser +----------------------------------------------------------------------------- +ccool --- (Custom) COntext Oriented LaTeX Released under the LaTeX Project Public License v1.3c or later See http://www.latex-project.org/lppl.txt ---------------------------------------------------------------------------- @@ -33,7 +32,7 @@ See http://www.latex-project.org/lppl.txt \endpreamble \postamble -Copyright (C) 2020 by Erwann Rogard +Copyright (C) 2020-2021 by Erwann Rogard This work may be distributed and/or modified under the conditions of the LaTeX Project Public License (LPPL), either @@ -68,120 +67,111 @@ ccool.sty, and ccool.pdf. \expandafter\endgroup \fi %</internal> -%<package> \NeedsTeXFormat{LaTeX2e}[2020/02/02] -%<package> \RequirePackage{erw-l3}[2020/06/04] -%<package> \RequirePackage{etoolbox}[2019/09/21] -%<package> \RequirePackage{l3keys2e}[2020/03/06] -%<package> \RequirePackage{xparse}[2020/03/06] +%<package> \NeedsTeXFormat{LaTeX2e}[2021-06-01] +%<package> \RequirePackage{expl3, xparse, l3keys2e}[2021-06-01] +%<package> \RequirePackage{lambdax}[2021-06-01] %<package> \ProvidesExplPackage -%<package> {ccool} % Package name -%<package> {2020/10/10} % Release date -%<package> {3.1} % Release version -%<package> {cool --- A key-value document command parser} % Description -% -%<*driver> -\RequirePackage{fvextra, xparse}%^^A\NB{done}{Warning:csquotes should be loaded after fvextra->nope} -\documentclass[full, show-notes]{l3doc} -\listfiles -%^^A\usepackage{xparse, longtable, array, booktabs} -\ExplSyntaxOn -\clist_new:N \g__ccooldoc_usepackage_clist -\cs_new_protected:Nn \__ccooldoc_usepackage:n -{ - \clist_put_right:Nn \g__ccooldoc_usepackage_clist - { - \textbackslash{}usepackage\char`{ #1 \char`} - } - \usepackage{#1} -} -\cs_new_protected:Nn \__ccooldoc_usepackage:nn -{ - \clist_put_right:Nn \g__ccooldoc_usepackage_clist - { - { - \textbackslash{} - usepackage - \char`[ #1 \char`] - \char`{ #2 \char`} - } - } - \usepackage[#1]{#2} -} -\cs_new:Nn \__ccooldoc_usepackage: -{ - \texttt - { - \noindent - \clist_use:Nnnn \g__ccooldoc_usepackage_clist { \\ } { \\ } { \\ } - } -} -\__ccooldoc_usepackage:n{amsmath, amssymb} -\__ccooldoc_usepackage:nn{ -%^^A afrikaans, -%^^A basque, -%^^A catalan, -%^^A croatian, -%^^A czech, -%^^A danish, -%^^A dutch, -%^^A %^^A esperanto, % ERROR -%^^A estonian, -%^^A finnish, -french, -%^^A % ^^A galician, % ERROR -german, -%^^A hungarian, -%^^A icelandic, -%^^A indonesian, -%^^A irish, -%^^A italian, -%^^A %^^A kurmanji, % ERROR -%^^A latin, -%^^A %^^A latvian, % ERROR -%^^A lithuanian, -%^^A ngerman, -%^^A polish, -%^^A portuguese, -%^^A romanian, -%^^A slovak, -spanish.noquoting, -%^^A swedish, -%^^A swissgerman, -%^^A turkish, -%^^A turkmen, -%^^A welsh, -english -} -{babel} -\__ccooldoc_usepackage:n{bookmark, ccool, microtype, tabto, tcolorbox} -\__ccooldoc_usepackage:nn{T1}{fontenc}% \char`[ - \ExplSyntaxOff -\tcbuselibrary{listings, breakable} -\makeatletter -\newcommand*{\docsetnameref}{\def\@currentlabelname}%https://tex.stackexchange.com/questions/537751 -\makeatother -\ExplSyntaxOn -\tl_gset:Nn \partname {Part} -\ExplSyntaxOff +%<package> {ccool} % Package name +%<package> {2021-09-20} % Release date +%<package> {3.2} % Release version +%<package> {ccool --- (Custom) COntext Oriented LaTeX } % Description +%<*driver> +\documentclass[show-notes]{l3doc} \EnableCrossrefs \CodelineIndex \RecordChanges -% ^^A\AtEndDocument { \PrintChanges \PrintIndex } -\ExplSyntaxOn -\newenvironment{docabstract}[1]%https://latex.org/forum/viewtopic.php?t=12156 -{\renewcommand{\abstractname}{#1}\begin{abstract}} - {\end{abstract}} -\ProvideDocumentCommand\DocPhantomSection{smmm} -{ - \leavevmode - \refstepcounter{#2} - \IfBooleanT{#1} - { - \addcontentsline{toc}{#2}{\protect\numberline{\use:c{the#2}}#3} - } - \docsetnameref{#3} - \label{#4} +%^^A\documentclass[full, show-notes]{l3doc} +%^^A \listfiles +\usepackage{amsmath, bookmark, enumitem, mathtools, microtype, tcolorbox, xparse} +\usepackage[french, german, english]{babel} +\usepackage[T1]{fontenc} +\usepackage[bibencoding=auto, backend=biber, sorting=ynt]{biblatex} +\begin{filecontents*}{\jobname.bib} +@phdthesis{oh-2005, + author = {Olympia Hadjiliadis}, + title = {Change--point detection of two--sided alternatives in the Brownian motion model and its connection to the gambler's ruin problem with relative wealth perception}, + year = {2005}, + school = {Columbia University} } +@misc{a-547018, + author = {@{}Javier Bezos}, + title = {When loading babel with spanish, spurious document command parser}, + note = {\url{https://tex.stackexchange.com/a/547018/112708}}, + year = {2020}} +@misc{a-536597, + author = {@{}frougon}, + title = {``Journaling calls to a function \textdel{taking inline code as argument}''}, + year = {2020}, + note = {\url{https://tex.stackexchange.com/a/536620}}} +@manual{interface3, + title = {The \LaTeX3 interfaces}, + author = {The \LaTeX3 Project Team}, + year = {2019}, + note = {\url{https://ctan.math.washington.edu/tex-archive/macros/latex/contrib/l3kernel/expl3.pdf}}, + annote = {} } +@manual{xparse, + title = {The \pkg{xparse} package}, + author = {The \LaTeX3 Project Team}, + year = {2019}, + note = {\url{https://ctan.math.illinois.edu/macros/latex/contrib/l3packages/xparse.pdf}}, + annote = {} } +@manual{2005-cool, + title = {The \pkg{cool} package}, + author = {Nick Setzer}, + year = {2005}, + note = {\url{https://www.ctan.org/pkg/cool}}, + annote = {} } +@manual{l3build, + title = {The \pkg{l3build} package}, + author = {The \LaTeX3 Project Team}, + year = {2019}, + note = {\url{https://ctan.math.washington.edu/tex-archive/macros/latex/contrib/l3build/l3build.pdf}}, + annote = {} } +@manual{tcolorbox, + title = {The \pkg{tcolorbox} package}, + author = {Sturm, Thomas F.}, + year = {2019}, + note = {\url{http://www.texdoc.net/texmf-dist/doc/latex/tcolorbox/tcolorbox.pdf}}, + annote = {} } +@misc{p158966, + title = {\cs{Ccool}, extension à \LaTeX~à vocation mathématique}, + note = {\url{http://forum.mathematex.net/latex-f6/ccool-extension-latex-a-vocation-mathematique-t17314.html}}, + year = {2020}} +\end{filecontents*} +\addbibresource{\jobname.bib} +\ExplSyntaxOn +%^^A *** Sectioning +\tl_gset:Nn \partname {Part}%^^A allows to test w/o babel +\makeatletter +\newcommand*{\docsetnameref} +{\def\@currentlabelname}%https://tex.stackexchange.com/questions/537751 +\makeatother +\newcounter{cscounter} +\ProvideDocumentCommand +\DocPhantomSection{sO{subsection}D<>{}mo} +{\leavevmode + \refstepcounter{cscounter} + \IfBooleanF{#1}{\addcontentsline{toc}{#2}{#4}} + \IfValueT{#5} + {\docsetnameref{#3#4}\label{#5}}} +% ^^A *** Msg +\msg_new:nnn{__ccool_doc}{unknown}{~#1:#2~unknown} +% ^^A *** Expressions +\ProvideDocumentCommand{\pkgpattpair}{mm}{\texttt{>\{#1\}\{#2\}}} +\ProvideDocumentCommand{\pkgrule}{}{\texttt{$\rightarrow$}} +% ^^A *** L3 package +\ProvideDocumentCommand{\docplaceh}{mO{1}}{\texttt{\prg_replicate:nn{#2}{\#}#1}} +% ^^A *** Lists +\newlist{arab-inl}{enumerate*}{1} +\setlist[arab-inl]{label=\arabic*)} +\newlist{colon-inl}{itemize*}{1} +\setlist[colon-inl] +{ %^^Abefore=\noindent, + label={}, + itemjoin={{; }}, + after={{.}}} +\newlist{descr}{description}{1} +\setlist[descr]{nosep, align=right, itemindent=0pt, font=\sffamily\tiny} % ^^A Sort---> \providecommand\docarg[1]{\texttt{#1}} % fun[param] (macro) vs fun[arg] (eval) \providecommand\docargnoval{\c_novalue_tl} @@ -269,6 +259,38 @@ english \providecommand\pkgwrite{\cs{Ccool}\docarg{\meta{\pkgparpa}}\docpare{i}{\meta{\pkgparin}}\Arg{\pkgparkvl}} % ^^A Sort<--- \ExplSyntaxOff +%^^A *** listing +\tcbuselibrary{listings, breakable} +\newtcblisting[auto counter] +{listing}[2][]{ + noparskip, + breakable, + colback=white, + colframe=black, + opacitybacktitle=.8,% + fonttitle=\bfseries, + title={Listing~\thetcbcounter. #1}, + arc=0pt, + outer arc=0pt, + boxrule=1pt, + listing and text, + #2} +\newtcblisting +{internal} +{text only, + breakable, + colback=white, + fontupper=\sffamily, + arc=1pt, + outer arc=1pt, + boxrule=0pt, + halign=left, + fontupper=\small\sffamily, + left=0pt, + top=0pt, + bottom=0pt} +\usepackage{ccool} +\usepackage{hyperref} %^^A comes last \begin{document} \DocInput{\jobname.dtx} \end{document} @@ -276,79 +298,27 @@ english % \fi % % \GetFileInfo{\jobname.sty} -% \begin{documentation} -% \title{The \pkg{ccool} package\thanks{^^A -% This file describes version \fileversion, last revised \filedate.^^A +% \title{The \pkg{ccool} package\thanks{^^A +% This file describes version \fileversion, last revised \filedate.^^A % }^^A % } -% \author{Erwann Rogard\thanks{firstname dot lastname AusTria gmail dot com}} +% \author{Erwann Rogard\thanks{first.lastname at gmail.com}} % % \date{Released \filedate} -% -% \maketitle -% -% \selectlanguage{english} -% \begin{docabstract}{Abstract} -% The package \pkg{ccool} for \LaTeX~is a \textit{key-value} interface, \nameref{usage:cs:ccool}, -% on top of \pkg{xparse}'s document command parser. Global options control input processing and its expansion. -% By default, they are set to meet likely requirements, depending on context: the selected language, -% and which of text and math mode is active. These options can be overriden inline. -% This versality could find its use, for example, to encode notational conventions (such as \docexpand{\cs{Real}}{}|\mathbb{R}|) -% at the point where they are introduced in the \env{document} (``Let $\mathbb{R}$ denote real numbers''). -% Polymorphic commands can be generated by parameterizing the keys -% (for instance, one parameter value for style, another for a property). -% User input to \cs{Ccool} can optionally be serialized. -% This can useful for typesetting documents sharing the same notation. -% \end{docabstract} -% -% \selectlanguage{french} -% \begin{docabstract}{Résumé} -% L'extension~\pkg{ccool} pour \LaTeX~met à disposition une interface de type \textit{clé-valeur}, \nameref{usage:cs:ccool}, -% destinée à faciliter la géneration de commandes. Les paramètres globaux contrôlant le traitement de ces \textit{clé-valeur} sont fixés -% par défaut pour répondre aux besoins courants, suivant le contexte (langage, mode textuel ou mathématique). -% Un exemple d'application, est la command-isation des conventions de notation (\docexpand{\cs{Reel}}{} |\mathbb{R}|), -% au point dans le \env{document} où elles sont introduites (``Soit~$\mathbb{R}$~les nombres réels.''). -% Des commandes polymorphes peuvent être générées, en associant aux clés un paramètre -% (par exemple, une valeur pour le style typographique, une autre pour la description du concept associé). -% En option, les instructions passées à cette interface peuvent être sauvegardées, -% ce qui peut être utile pour la rédaction de documents faisant appel à des conventions typographiques communes. -% \end{docabstract} -% \selectlanguage{english} -% -% \tableofcontents -% -% \part{Usage}\label{part:usage} -% ^^A \VerbatimFootnotes -% -% \setcounter{section}{0} -% \label{usage:conv} -% \addcontentsline{toc}{section}{\protect\numberline{\thesection}Convention} -% \section*{Convention} -% \begin{enumerate}[label={\emph{\alph*)}}] -% \item \label{conv:expl3} Loosely, those of \cite{interface3}, for example as to the meaning of \docccept{\docccepttl}, which may be abbreviated \docccept{tl}. -% \item \label{conv:xparse} Those of \cite{xparse}, for example \docparo{arg} is an \docccept{\docxparseo}. -% \item \docassign{\meta{X}}{\docarg{Y}}: set \meta{X} to |Y| -% \item \docexpand{\cs{X}}{\docarg{Y}}: \cs{X} expands to |Y| -% \item If unspecified, the environment in which a macro is to be used is \docenvdoc. -% \end{enumerate} -% -% \refstepcounter{section} -% \label{usage:load} -% \addcontentsline{toc}{section}{\protect\numberline{\thesection}Loading the package} -% \begin{function}{\usepackage} -% \begin{syntax} -% \cs{usepackage}\docparm{\pkg{ccool}} -% \end{syntax} -% \begin{description} -% \item[Requirement]\docfillblank -% \begin{enumerate} -% \item \file{ccool.sty} is in the path of the \LaTeX~engine. See \autoref{part:other}, \autoref{other:support}. -% \item Put in the~\docccept{\doccceptpre} -% \end{enumerate} -% \end{description} -% \end{function} -% -% \DocPhantomSection*{section}{\cs{Ccool}}{usage:cs:ccool} +% \begin{documentation} +% +% \maketitle +% +% \begin{abstract} +% This \LaTeX package provides an interface to define and evaluate key-based replacement rules\cite{interface3}. +% It can be used to parse the argument specification of a document command\cite{xparse}. +% \end{abstract} +% +% \tableofcontents +% +% \part{Usage}\label{part:usage} +% +% \DocPhantomSection*{section}{\cs{Ccool}}[usage:cs:ccool] % \begin{function}{\Ccool} % \begin{syntax} % \cs{Ccool}\docparo{\meta{\pkgparhe}}\docpard{\meta{\pkgparpa}}\docpare{c}{\meta{\pkgparin}}\Arg{\pkgparkvl}\pkgparap\pkgparex\docpare{s}{\meta{\doccceptsep}}\docpare{c}{\meta{\pkgparou}}\docparo{\meta{\pkgparta}} @@ -360,22 +330,22 @@ english % % \subsection{Core feature} % \label{ccool:core} -% \nameref{usage:cs:ccool}\Arg{\pkgparkvl} executes for each \meta{\pkgkey}|=|\meta{\pkgval}, +% \cs{Ccool}\Arg{\pkgparkvl} executes for each \meta{\pkgkey}|=|\meta{\pkgval}, % \begin{enumerate}[label=\emph{\arabic*)}] % \item \docassign{\meta{\pkgval} } % { \cs{function}\Arg{\pkgval} }\label{step:val} % \item define \cs{\meta{\pkgkey}} such that \docexpand{ \cs{\meta{\pkgkey} } }{\meta{\pkgval}}, % \label{step:key} -% \end{enumerate}where \cs{function} is encoded in \docccept{\doccceptgopt}~\nameref{usage:opt:in}. +% \end{enumerate}where \cs{function} is encoded in \docccept{\doccceptgopt}~\pkgoptin. % For instance, the side effect of |\Ccool{ Real = \mathbb{R} }| is \docexpand{\cs{Real}}{\docarg{\textbackslash{}mathbb\{R\}}}. -% To be sparingly used, \docccept{\doccceptgopt}~\nameref{usage:opt:ex} controls the type of expansion of \meta{\pkgkey}~and \meta{\pkgval}. +% To be sparingly used, \docccept{\doccceptgopt}~\pkgoptex controls the type of expansion of \meta{\pkgkey}~and \meta{\pkgval}. % -% See \nameref{usage:cs:lambda} to allow command \cs{\meta{\pkgkey}} to take arguments. +% if \cs{\meta{\pkgkey}} needs arguments, use \cs{lambdax} from \pkg{lambdax} on the rhs. % -% \subsection{Process the \texorpdfstring{\docccept{\pkgval}}'s} +% \subsection{Process the \texorpdfstring{\docccept{\pkgval}}{val_i}'s} % \label{ccool:in} -% \nameref{usage:cs:ccool}\ \docpare{c}{\meta{\pkgparin}}\Arg{\pkgparkvl} is identical to the \nameref{ccool:core}, -% except it overrides \nameref{usage:opt:in}. +% \cs{Ccool}\ \docpare{c}{\meta{\pkgparin}}\Arg{\pkgparkvl} is identical to the \nameref{ccool:core}, +% except it overrides \pkgoptin. % % In our example, if multiple number systems are defined with \cs{Ccool} (natural, reals, \dots), % it is more efficient to omit |\mathbb{.}| inside \meta{\pkgval}, and instead @@ -383,15 +353,15 @@ english % % \subsection{Append to a hook} % \label{ccool:ap} -% \nameref{usage:cs:ccool}\Arg{\pkgparkvl}\pkgparap~is identical to the \nameref{ccool:core}, except it -% repeats after \nameref{usage:cs:hook}. +% \cs{Ccool}\Arg{\pkgparkvl}\pkgparap~is identical to the \nameref{ccool:core}, except it +% repeats after \cs{CcoolHook}. % This is useful to make the side effect persist after a \docccept{\doccceptgroup} (such as \env{theorem}). % -% \subsection{Expand the \texorpdfstring{\docccept{\pkgval}}'s} +% \subsection{Expand the \texorpdfstring{\docccept{\pkgval}}{val_i}'s} % \label{ccool:ex} -% \nameref{usage:cs:ccool}\Arg{\pkgparkvl}\pkgparex~supplements the \nameref{ccool:core} with -% the expansion of the \meta{\pkgval}'s using typesetting rules encoded in \docccept{\doccceptgopt}~\nameref{usage:opt:se} -% and~\nameref{usage:opt:ou}. The first are \docccept{\doccceptsep} applied to the \meta{\pkgval}'s to form a \docccept{\docccepttl}, +% \cs{Ccool}\Arg{\pkgparkvl}\pkgparex~supplements the \nameref{ccool:core} with +% the expansion of the \meta{\pkgval}'s using typesetting rules encoded in \docccept{\doccceptgopt}~\pkgoptse +% and~\pkgoptou. The first are \docccept{\doccceptsep} applied to the \meta{\pkgval}'s to form a \docccept{\docccepttl}, % and the second a function applied to the latter. % % They can be overriden inline by appending further \docpare{s}{\meta{\doccceptsep}}~and~\docpare{c}{\meta{\pkgparou}}, respectively, @@ -399,30 +369,30 @@ english % % \subsection{Head} % \label{ccool:he} -% \nameref{usage:cs:ccool}\docparo{\meta{\pkgparhe}}\Arg{\pkgparkvl}~expands \meta{\pkgparhe} and executes the \nameref{ccool:core}. +% \cs{Ccool}\docparo{\meta{\pkgparhe}}\Arg{\pkgparkvl}~expands \meta{\pkgparhe} and executes the \nameref{ccool:core}. % % There may be situations where it is convenient to pass \meta{\pkgparhe}~as \doccceptempty. % % \subsection{Tail} % \label{ccool:ta} -% \nameref{usage:cs:ccool}\Arg{\pkgparkvl}\docparo{\meta{\pkgparta}}\Arg{\pkgparkvlnxt}~is identical to -% \nameref{usage:cs:ccool}\Arg{\pkgparkvl} followed by \nameref{usage:cs:ccool}\docparo{\meta{\pkgparta}}\Arg{\pkgparkvlnxt}. +% \cs{Ccool}\Arg{\pkgparkvl}\docparo{\meta{\pkgparta}}\Arg{\pkgparkvlnxt}~is identical to +% \cs{Ccool}\Arg{\pkgparkvl} followed by \cs{Ccool}\docparo{\meta{\pkgparta}}\Arg{\pkgparkvlnxt}. % % The combination of \nameref{ccool:core}, \nameref{ccool:he}, and \nameref{ccool:ta} allows to integrate typesetting and % the creation of commands. % -% \subsection{Parameterize the \texorpdfstring{\docccept{\pkgkey}}'s} +% \subsection{Parameterize the \texorpdfstring{\docccept{\pkgkey}}{key_i}'s} % \label{ccool:pa} -% \nameref{usage:cs:ccool}\docpard{\meta{\pkgparpa}}\Arg{\pkgparkvl} is identical to the \nameref{ccool:core}, +% \cs{Ccool}\docpard{\meta{\pkgparpa}}\Arg{\pkgparkvl} is identical to the \nameref{ccool:core}, % except \meta{\pkgkey} is replaced by \meta{\pkgkey\docpard{\pkgparpa}}. -% The default value of \meta{\pkgparpa} is encoded in \nameref{usage:opt:pa}. +% The default value of \meta{\pkgparpa} is encoded in \pkgoptpa. % In our example, \meta{\pkgparpa} could be \docarg{Style}. % % \subsection{Write} % \label{ccool:wr} -% \docccept{\doccceptgopt}~\nameref{usage:opt:wr}~is identical to the \nameref{ccool:core}, -% except that if \nameref{usage:opt:wr} is set to \cs{BooleanTrue}, -% the code is written to a file whose \doccceptpath~is encoded in \docccept{\doccceptgopt}~\nameref{usage:opt:fi}. +% \docccept{\doccceptgopt}~\pkgoptwr~is identical to the \nameref{ccool:core}, +% except that if \pkgoptwr is set to \cs{BooleanTrue}, +% the code is written to a file whose \doccceptpath~is encoded in \docccept{\doccceptgopt}~\pkgoptfi. % % \DocPhantomSection*{section}{\cs{CcoolClear}}{usage:cs:clear} % \begin{function}{\CcoolClear} @@ -444,39 +414,31 @@ english % \end{description} % \end{function} % -% \DocPhantomSection*{section}{\cs{CcoolLambda}}{usage:cs:lambda} -% \begin{function}{\CcoolLambda} -% \begin{syntax} -% \cs{CcoolLambda}\docparo{\meta{\doccceptargspec}}\Arg{\doccceptcode}, -% \end{syntax} where \docccept{\doccceptargspec} is by default an \docccept{\docxparseo}. -% \begin{description} -% \item[Example] \cs{Ccool}|{ EvalAt = \CcoolLambda{(#1)} }| -% \item[Semantics] Returns a command of type \cs{DeclareDocumentCommand}\cite{xparse}, -% \end{description} -% \end{function} +% \changes{v3.2} +% {2021/09/20} +% {Removed~usage~for\cs[no-index]{CcoolLambda}~as~superseded~by~\cs[no-index]{LambdaX}.} % % \DocPhantomSection*{section}{\cs{CcoolOption}}{usage:cs:option} % \begin{function}{\CcoolOption} % \begin{syntax} % \cs{CcoolOption}\docparo{\dots{}\docmetakeyorkeyval[i],\dots} % \end{syntax}where \meta{\doccceptkey_i} is either of -% \nameref{usage:opt:an}, -% \nameref{usage:opt:ex}, -% \nameref{usage:opt:fi}, -% \nameref{usage:opt:in}, -% \nameref{usage:opt:pa}, -% \nameref{usage:opt:ou}, -% \nameref{usage:opt:se}, -% and \nameref{usage:opt:wr}. +% \pkgoptan, +% \pkgoptex, +% \pkgoptfi, +% \pkgoptin, +% \pkgoptpa, +% \pkgoptou, +% \pkgoptse, +% and \pkgoptwr. % \begin{description} -% \item[Semantics] Modify the default behavior of \nameref{usage:cs:ccool} +% \item[Semantics] Modify the default behavior of \cs{Ccool} % \end{description} % \end{function} % % \DocPhantomSection*{subsection}{\pkgoptan}{usage:opt:an} % \DescribeOption{\pkgoptan} % \begin{description} -% \item[Also see] \autoref{part:impl}~\nameref{impl:opt:an} % \item[Semantics] Sets the translation of \textit{and} in language \meta{\doccceptkey} to \meta{\doccceptval} % \item[Syntax] \meta{\doccceptkvl} % \end{description} @@ -484,35 +446,30 @@ english % \DocPhantomSection*{subsection}{\pkgoptex}{usage:opt:ex} % \DescribeOption{\pkgoptex} % \begin{description} -% \item[Also see] \nameref{ccool:core} and \autoref{part:impl}~\nameref{impl:opt:ex} % \item[Syntax] \texttt{eo\docpipe{}ee\docpipe{}ex\docpipe{}xo\docpipe{}xe\docpipe{}xx} % \end{description} % % \DocPhantomSection*{subsection}{\pkgoptfi}{usage:opt:fi} % \DescribeOption{\pkgoptfi} % \begin{description} -% \item[Also see] \autoref{part:usage}~\nameref{ccool:wr} and \autoref{part:impl}~\nameref{impl:opt:fi} % \item[Syntax] \meta{\doccceptpath} % \end{description} % % \DocPhantomSection*{subsection}{\pkgoptin}{usage:opt:in} % \DescribeOption{\pkgoptin} % \begin{description} -% \item[Also see] \nameref{ccool:in} and \autoref{part:impl}~\nameref{impl:opt:in} % \item[Syntax] \meta{\doccceptcode}, with |####1| as the \docccept{\doccceptplaceh} % \end{description} % % \DocPhantomSection*{subsection}{\pkgoptpa}{usage:opt:pa} % \DescribeOption{\pkgoptpa} % \begin{description} -% \item[Also see] \nameref{ccool:pa}, and \autoref{part:impl}~\nameref{impl:opt:pa} % \item[Syntax] \meta{\docccepttl} % \end{description} % % \DocPhantomSection*{subsection}{\pkgoptou}{usage:opt:ou} % \DescribeOption{\pkgoptou} % \begin{description} -% \item[Also see] \nameref{ccool:ex}, and \autoref{part:impl}~\nameref{impl:opt:ou} % \item[Default] |\ensuremath{####1}| % \item[Syntax] \meta{\doccceptcode}, with |####1| as the \docccept{\doccceptplaceh} % \end{description} @@ -520,7 +477,6 @@ english % \DocPhantomSection*{subsection}{\pkgoptse}{usage:opt:se} % \DescribeOption{\pkgoptse} % \begin{description} -% \item[Also see] \nameref{ccool:ex}; \doclist{lang}; and \autoref{part:impl}~\nameref{impl:opt:se} % \item[Other] Default behavior depends on whether \pkg{babel} and \pkg{amsmath} are loaded % \item[Syntax] That of \docccept{\doccceptsep} in \cite[Section 8 of \pkg{l3seq}]{interface3} % \end{description} @@ -528,7 +484,6 @@ english % \DocPhantomSection*{subsection}{\pkgoptwr}{usage:opt:wr} % \DescribeOption{\pkgoptwr} % \begin{description} -% \item[Also see] \autoref{part:usage}~\nameref{ccool:wr} and \autoref{part:impl}~\nameref{impl:opt:wr} % \item[Syntax] \cs{BooleanFalse}\docpipe\cs{BooleanTrue} % \end{description} % @@ -538,7 +493,6 @@ english % \cs{CcoolRead}\docparo{\meta{\doccceptpath}} % \end{syntax} % \begin{description} -% \item[Also see] \autoref{part:impl}~\nameref{impl:cs:read} % \item[Semantics]\docfillblank % \begin{enumerate} % \item Reads the definitions in \meta{\doccceptpath}. @@ -556,11 +510,15 @@ english % \item[Semantics] \docexpand{}{the package's version} % \end{description} % \end{function} +% \part{Other} +% +% \section{Bibliograhy} +% \printbibliography[heading=none] % % \section{Do's and dont's} % \label{usage:dosdont} % -% \begin{enumerate}[label=\emph{\arabic*)}] +% \begin{enumerate} % \item \docfillblank % \begin{itemize} % \item[\docissuedont] |Inner=\{####1\}| @@ -587,76 +545,217 @@ english % \item[\docissuedont] |\[x_0,x\]| % \item[\docissuedo] |\left[x_0,x\right]| % \end{itemize} -% \item \docfillblank -% \begin{itemize} -% \item[\docissuedont] Use \docccept{\docxparsed[]} or \docccept{\docxparsee[]}~arguments\cite{xparse} for \nameref{usage:cs:lambda} -% \item[\docissuedo] Use only \docccept{\docxparsem[]} and \docccept{\docxparseo[]}~arguments -% \end{itemize} +%^^A \item \docfillblank +%^^A \begin{itemize} +%^^A \item[\docissuedont] Use \docccept{\docxparsed[]} or \docccept{\docxparsee[]}~arguments\cite{xparse} for \nameref{usage:cs:lambda} +%^^A \item[\docissuedo] Use only \docccept{\docxparsem[]} and \docccept{\docxparseo[]}~arguments +%^^A \end{itemize} % \item \docfillblank % \begin{itemize} % \item[\docissuedont] |\usepackage[spanish]{babel}| % \item[\docissuedo] |\usepackage[spanish.noquoting]{babel}|\cite{a-547018} % \end{itemize} -% \item Also see \autoref{part:other}, \autoref{other:issue} % \end{enumerate} -% -% \clearpage -% \part{Listing}\label{part:listing} -% -% \newtcblisting[auto counter] -% {listing}[2][]{ -% noparskip, -% breakable, -% colback=white, -% colframe=black, -% opacitybacktitle=.8,% -% fonttitle=\bfseries, -% title={Listing~\thetcbcounter. #1}, -% arc=0pt, -% outer arc=0pt, -% boxrule=1pt, -% listing and text, -% #2} -% -% \docnb +% +% \section{To do} % \begin{enumerate} -% \item Some statements affect only the output of listings that come after that in which they appear. -% The demarcation is indicated by |%^^||A--->| and |%^^||A<---|, where applicable +% \item Create an environment for \cs{CoolHook}. % \end{enumerate} -% \phantomsection\addcontentsline{toc}{section} -% {\ref{listing:vers}.\cs{CcoolVers}} -% \iffalse -%<*guardlisting> -% \fi -\begin{listing}[\cs{CcoolVers}] - {label=listing:vers} - \CcoolVers -\end{listing} -% \iffalse -%</guardlisting> -% \fi +% +% \section{Support}\label{other:support} % -% \phantomsection\addcontentsline{toc}{section} -% {\ref{listing:thisdeps}. This doc's dependencies} -% \iffalse -%<*guardlisting> -% \fi -\begin{listing}[This doc's dependencies] - {label=listing:thisdeps} - \ExplSyntaxOn - \__ccooldoc_usepackage: - \ExplSyntaxOff -\end{listing} -% \iffalse -%</guardlisting> -% \fi +% This package is available from \url{https://github.com/rogard/ccool}. % -% \phantomsection\addcontentsline{toc}{section} -% {\ref{listing:numbrsys:base}. \texorpdfstring{Let~$\mathbb{N}$ and $\mathbb{R}$ denote\dots} (start of the tutorial)} +% +% \changes{v1.0} +% {2020/03/08} +% {Initial version} +% \changes{v1.1} +% {2020/04/04} +% {Rearrange: much of the implementation} +% \changes{v1.1} +% {2020/04/04} +% {Replace: \Arg{kvl_{2}}~by~\docpard{\meta{kvl_{2}}}~given that option type \texttt{G} not recommended\cite{xparse}} +% \changes{v1.1} +% {2020/04/04} +% {Replace: \cs[no-index]{OopsOptions}~by~\cs[no-index]{OopsOption}} +% \changes{v1.1} +% {2020/04/04} +% {Replace: \docarg{GenericObject}~by~\docarg{Name}} +% \changes{v1.1} +% {2020/04/04} +% {Replace: \docarg{Separators}~by~\docarg{Separ}} +% \changes{v1.1} +% {2020/04/04} +% {Add:\cs[no-index]{OopsTest}} +% \changes{v1.1} +% {2020/04/04} +% {Add:\cs[no-index]{OopsRestore}} +% \changes{v1.1} +% {2020/04/04} +% {Add: \docarg{Save}} +% \changes{v1.2} +% {2020/04/06} +% {Add: optional \pkgparex to \cs[no-index]{OopsNew} as instruction to expand \pkgparkvl} +% \changes{v1.2} +% {2020/04/06} +% {Replace: \cs[no-index]{OopsClear}\Arg{\pkgparpa} by \cs[no-index]{OopsClear}\docparo{\meta{\doccceptkvl}}} +% \changes{v1.2} +% {2020/04/06} +% {Delete: \meta{kvl_{2}}~and~\meta{code_{2}}} +% \changes{v1.2} +% {2020/04/06} +% {Delete: \cs[no-index]{OopsTest}} +% \changes{v1.2} +% {2020/04/06} +% {Replace: \cs[no-index]{Save} by \cs[no-index]{Write}} +% \changes{v1.2} +% {2020/04/06} +% {Replace: \cs[no-index]{Restore} by \cs[no-index]{Read}} +% \changes{v1.3} +% {2020/04/06} +% {Replace: \cs[no-index]{OopsNew} by \cs[no-index]{Oops}} +% \changes{v1.3} +% {2020/04/06} +% {Replace: \Arg{\pkgparpa} and \docparo{\meta{\pkgparpa}} by \docpard{\meta{\pkgparpa}} } +% \changes{v1.4} +% {2020/04/10} +% {Replace: \docpare{s}{\Arg{\pkgparsi}\Arg{\pkgparsii}\Arg{\pkgparsiii}} +% by \docpare{s}{\Arg{\pkgparsi}\docpipe\Arg{\pkgparsi}\Arg{\pkgparsii}\docpipe\Arg{\pkgparsi}\Arg{\pkgparsii}\Arg{\pkgparsiii}}} +% \changes{v1.4} +% {2020/04/10} +% {Add:optional \pkgparap to \cs[no-index]{OopsNew} to make side effects presist beyond local group} +% \changes{v1.4} +% {2020/04/10} +% {Add: \cs[no-index]{OopsHook}} +% \changes{v1.4} +% {2020/04/10} +% {Add: \docarg{Expans} (for debugging' sake, but...) } +% \changes{v1.4} +% {2020/04/10} +% {Add: \autoref{usage:dosdont} } +% \changes{v1.4} +% {2020/04/10} +% {Add: \cs[no-index]{OopsDebug} } +% \changes{v1.5} +% {2020/04/10} +% {Delete: dependence on \pkg{datetime} } +% \changes{v1.5} +% {2020/04/10} +% {Add: \pkgoptfi } +% \changes{v1.6} +% {2020/04/10} +% {Rename: \pkg{oops} to \pkg{ccool} (better describes the purpose) } +% \changes{v1.6} +% {2020/04/10} +% {Rename: \cs[no-index]{Oops} to \cs[no-index]{Ccool}} +% \changes{v1.6} +% {2020/04/10} +% {Rename: \cs[no-index]{OopsClear} to \cs[no-index]{CcoolClear}} +% \changes{v1.6} +% {2020/04/10} +% {Rename: \cs[no-index]{OopsDebug} to \cs[no-index]{CcoolDebug}} +% \changes{v1.6} +% {2020/04/10} +% {Rename: \cs[no-index]{OopsHook} to \cs[no-index]{CcoolHook}} +% \changes{v1.6} +% {2020/04/10} +% {Rename: \cs[no-index]{OopsOption} to \cs[no-index]{CcoolOption}} +% \changes{v1.6} +% {2020/04/10} +% {Rename: \cs[no-index]{OopsRead} to \cs[no-index]{CcoolRead}} +% \changes{v1.7} +% {2020/04/11} +% {Delete: \cs[no-index]{CcoolDebug} } +% \changes{v1.8} +% {2020/04/12} +% {Add: \hyperref[usage:cs:lambda]{\cs[no-index]{CcoolLambda}} } +% \changes{v1.8} +% {2020/04/12} +% {Add: \cs[no-index]{CcoolVers} } +% \changes{v1.9} +% {2020/04/14} +% {Add: support for \LuaTeX } +% \changes{v1.9} +% {2020/04/14} +% {Move: from \autoref{part:usage} to \autoref{part:impl}, what is now that part's \autoref{impl:frontend}} +% \changes{v2.0} +% {2020/04/15} +% {Delete: \pkgoptfi's dependency on \pkg{texosquery} and \cs[no-index]{pdfcreationdate}} +% \changes{v2.0} +% {2020/04/15} +% {Add: support for \XeTeX} +% \changes{v2.0} +% {2020/04/15} +% {Update: \cs[no-index]{RequirePackage}, \cs[no-index]{NeedsTeXFormat}'s second argument / TeX Live 2020} +% \changes{v2.1} +% {2020/04/17} +% {Replace: \hyperref[usage:cs:lambda]{\cs[no-index]{CcoolLambda}}'s optional integer argument (number of \texttt{m}'s) +% by a standard argument list} +% \changes{v2.1} +% {2020/04/17} +% {Replace: \hyperref[ccool:pa]{\meta{\pkgparpa}}'s position within \cs[no-index]{Ccool}'s argument list, from first to second. Greater versatility } +% \changes{v2.1} +% {2020/04/17} +% {Replace: as~the~default~of~\pkgoptpa,~\docarg{Math}~by~\pkgoptpad} +% \changes{v2.1} +% {2020/04/17} +% {Replace: \docccept{\doccceptgopt}~\docarg{Name} by \pkgoptpa } +% \changes{v2.2} +% {2020/04/20} +% {Replace: part of the abstract's with more straighforward descriptions based on input from forum participtants} +% \changes{v2.3} +% {2020/05/16} +% {Replace: for \cs[no-index]{Ccool}, \docpare{i}{} by \docpare{c}{}} +% \changes{v2.3} +% {2020/05/16} +% {Rearranged: \cs{Ccool}'s subsections. Previously, by argument. Now, by feature. } +% \changes{v2.3} +% {2020/05/16} +% {Replace: In \docstep{key}, the created command's implementation, from \cs[no-index]{ProvideDocumentCommand} to \cs[no-index]{DeclareDocumentCommand}} +% \changes{v2.5} +% {2020/05/21} +% {Modify: behavior of \autoref{part:usage}~\nameref{ccool:ex}, rely on \pkg{erw-l3}'s \cs[no-index]{erw_seq_use:Nn} } +% \changes{v2.5} +% {2020/05/21} +% {Modify: Rely on \pkg{erw-l3}'s \cs[no-index]{erw_jobnametimestamp:} } +% \changes{v2.6} +% {2020/05/22} +% {Modify: Rely on \pkg{erw-l3}'s \cs[no-index]{erw_lambda:nnn} } +% \changes{v2.7} +% {2020/05/28} +% {Add: \docccept{\doccceptgopt}~\pkgoptan } +% \changes{v2.7} +% {2020/05/28} +% {Modify: \pkgoptse's default rely on \pkg{babel} and \pkg{amsmath}, if applicable} +% \changes{v2.7} +% {2020/05/28} +% {Modify: Replace \docxparsem by \docxparseo} +% \changes{v2.8} +% {2020/05/28} +% {Fix: conflict between \cs[no-index]{usepackage}\docparo{spanish}\docparm{babel} and \nameref{ccool:pa} } +% \changes{v2.9} +% {2020/06/03} +% {Miscellaneous } +% \changes{v3.0} +% {2020/06/04} +% {Miscellaneous } +% \changes{v3.1} +% {2020/10/10} +% {Replaced: \doclist{thisdeps}'s content, from exhaustive dependencies to those explicit with \cs[no-index]{usepackage}} +% \changes{v3.2} +% {2021/09/20} +% {Removed~listing~changes~(little~information,~difficult~to~keep~track)} +% +% \clearpage +% \part{Listing}\label{part:listing} +% +%\phantomsection\addcontentsline{toc}{section}{Tutorial\textgreater} +%\phantomsection\addcontentsline{toc}{section}{\ref{listing:numbrsys:base}. Let~\texorpdfstring{$\mathbb{N}$}{N} and \texorpdfstring{$\mathbb{R}$}{R} denote\dots} % \iffalse %<*guardlisting> % \fi -\begin{listing}[``Let~$\mathbb{N}$ and $\mathbb{R}$ denote\dots'' (start of the tutorial)] +\begin{listing}[``Let~$\mathbb{N}$ and $\mathbb{R}$ denote\dots''] {label=listing:numbrsys:base, listing and text} Let~$\mathbb{N}$ and $\mathbb{R}$ denote the natural and real numbers. \end{listing} @@ -665,11 +764,11 @@ english % \fi % % \phantomsection\addcontentsline{toc}{section} -% {\ref{listing:numbrsys:cmd}. Equivalent to \ref{listing:numbrsys:base}, with \cs{NewDocumentCommand}} +% {\ref{listing:numbrsys:cmd}. Same as \ref{listing:numbrsys:base}, with \cs{NewDocumentCommand}} % \iffalse %<*guardlisting> % \fi -\begin{listing}[ Equivalent to \ref{listing:numbrsys:base}, with \cs{NewDocumentCommand}] +\begin{listing}[ Same as \ref{listing:numbrsys:base}, with \cs{NewDocumentCommand}] {label=listing:numbrsys:cmd, listing and text} \DeclareDocumentCommand\Nat{}{\mathbb{N}} \DeclareDocumentCommand\Real{}{\mathbb{R}} @@ -680,366 +779,71 @@ english % \fi % % \phantomsection\addcontentsline{toc}{section} -% {\ref{listing:numbrsys:in}. Equivalent to \ref{listing:numbrsys:cmd}, with \cs{Ccool}} +% {\ref{listing:numbrsys:in}. Same as \ref{listing:numbrsys:cmd}, with \cs{Ccool}} % \iffalse %<*guardlisting> % \fi -\begin{listing}[ Equivalent to \ref{listing:numbrsys:cmd}, with \cs{Ccool}] +\begin{listing}[ Same as \ref{listing:numbrsys:cmd}, with \cs{Ccool} ] {label=listing:numbrsys:in, listing and text} - % ^^A---> + \begingroup \Ccool c{\mathbb{#1}}{ Nat = {N}, Real = {R} } Let~$\Nat$ and $\Real$~denote the natural and real numbers. - % ^^A<--- - \CcoolClear + \endgroup \end{listing} % \iffalse %</guardlisting> % \fi % % \phantomsection\addcontentsline{toc}{section} -% {\ref{listing:numbrsys:ex}. Equivalent to \ref{listing:numbrsys:in}, with expansion} +% {\ref{listing:numbrsys:ex}. Same as \ref{listing:numbrsys:in}, with expansion} % \iffalse %<*guardlisting> \fi -\begin{listing}[ Equivalent to \ref{listing:numbrsys:in}, with expansion] +\begin{listing}[ Same as \ref{listing:numbrsys:in}, with expansion] {label=listing:numbrsys:ex, listing and text} - % ^^A---> +\begingroup \Ccool[Let~] c{\mathbb{#1}}{ Nat = {N}, Real = {R} }* [~denote the natural and real numbers.]{} - % ^^A<--- - \CcoolClear +\endgroup \end{listing} % \iffalse %</guardlisting> % \fi -% +% +% \changes{v3.2} +% {2021/09/20} +% {\cs[no-index]{begingroup}~and~\cs[no-index]{endgroup}~inside~listings.} +% % \phantomsection\addcontentsline{toc}{section} -% {\ref{listing:numbrsys:pa}. Equivalent to \ref{listing:numbrsys:in}, parameterized (end of the tutorial)} +% {\ref{listing:numbrsys:pa}. Same as \ref{listing:numbrsys:in}, parameterized} % \iffalse %<*guardlisting> % \fi -\begin{listing}[ Equivalent to \ref{listing:numbrsys:in}, parameterized (end of the tutorial)] +\begin{listing}[ Same as \ref{listing:numbrsys:in}, parameterized] {label=listing:numbrsys:pa, listing and text} - % ^^A---> - \Ccool<Style>c{\mathbb{#1}}{ Nat = {N}, Real = {R} } - [Let $\Nat<Style>$ and $\Real<Style>$ denote the natural and real numbers.]{} - % ^^A<--- - \CcoolClear<Style> -\end{listing} -% \iffalse -%</guardlisting> -% \fi -% -% \phantomsection\addcontentsline{toc}{section} -% {\ref{listing:lang}. Language and mode} -%^^A \selectlanguage{afrikaans}\\ -%^^A \noindent\textbf{\languagename}{:}\\ -%^^A \CcoolOption[ Separ ] -%^^A \Ccool{ X = x, Y = y }* -%^^A \selectlanguage{basque}\\ -%^^A \noindent\textbf{\languagename}{:}\\ -%^^A \CcoolOption[ Separ ] -%^^A \Ccool{ X = x, Y = y }* -%^^A \selectlanguage{catalan}\\ -%^^A \noindent\textbf{\languagename}{:}\\ -%^^A \CcoolOption[ Separ ] -%^^A \Ccool{ X = x, Y = y }* -%^^A \selectlanguage{croatian}\\ -%^^A \noindent\textbf{\languagename}{:}\\ -%^^A \CcoolOption[ Separ ] -%^^A \Ccool{ X = x, Y = y }* -%^^A \selectlanguage{czech}\\ -%^^A \noindent\textbf{\languagename}{:}\\ -%^^A \CcoolOption[ Separ ] -%^^A \Ccool{ X = x, Y = y }* -%^^A \selectlanguage{danish}\\ -%^^A \noindent\textbf{\languagename}{:}\\ -%^^A \CcoolOption[ Separ ] -%^^A \Ccool{ X = x, Y = y }* -%^^A \selectlanguage{dutch}\\ -%^^A \noindent\textbf{\languagename}{:}\\ -%^^A \CcoolOption[ Separ ] -%^^A \Ccool{ X = x, Y = y }* -%^^A % ^^A esperanto, % ERROR -%^^A \selectlanguage{estonian}\\ -%^^A \noindent\textbf{\languagename}{:}\\ -%^^A \CcoolOption[ Separ ] -%^^A \Ccool{ X = x, Y = y }* -%^^A \selectlanguage{finnish}\\ -%^^A \noindent\textbf{\languagename}{:}\\ -%^^A \CcoolOption[ Separ ] -%^^A \Ccool{ X = x, Y = y }* -%^^A \selectlanguage{french}\\ -%^^A \noindent\textbf{\languagename}{:}\\ -%^^A \CcoolOption[ Separ ] -%^^A \Ccool{ X = x, Y = y }* -%^^A % ^^A galician, % ERROR -%^^A \selectlanguage{german}\\ -%^^A \noindent\textbf{\languagename}{:}\\ -%^^A \CcoolOption[ Separ ] -%^^A \Ccool{ X = x, Y = y }* -%^^A \selectlanguage{hungarian}\\ -%^^A \noindent\textbf{\languagename}{:}\\ -%^^A \CcoolOption[ Separ ] -%^^A \Ccool{ X = x, Y = y }* -%^^A \selectlanguage{icelandic}\\ -%^^A \noindent\textbf{\languagename}{:}\\ -%^^A \CcoolOption[ Separ ] -%^^A \Ccool{ X = x, Y = y }* -%^^A \selectlanguage{indonesian}\\ -%^^A \noindent\textbf{\languagename}{:}\\ -%^^A \CcoolOption[ Separ ] -%^^A \Ccool{ X = x, Y = y }* -%^^A \selectlanguage{irish}\\ -%^^A \noindent\textbf{\languagename}{:}\\ -%^^A \CcoolOption[ Separ ] -%^^A \Ccool{ X = x, Y = y }* -%^^A \selectlanguage{italian}\\ -%^^A \noindent\textbf{\languagename}{:}\\ -%^^A \CcoolOption[ Separ ] -%^^A \Ccool{ X = x, Y = y }* -%^^A % ^^A kurmanji, % ERROR -%^^A \selectlanguage{latin}\\ -%^^A \noindent\textbf{\languagename}{:}\\ -%^^A \CcoolOption[ Separ ] -%^^A \Ccool{ X = x, Y = y }* -%^^A % ^^A latvian, % ERROR -%^^A \selectlanguage{lithuanian}\\ -%^^A \noindent\textbf{\languagename}{:}\\ -%^^A \CcoolOption[ Separ ] -%^^A \Ccool{ X = x, Y = y }* -%^^A \selectlanguage{ngerman}\\ -%^^A \noindent\textbf{\languagename}{:}\\ -%^^A \CcoolOption[ Separ ] -%^^A \Ccool{ X = x, Y = y }* -%^^A \selectlanguage{polish}\\ -%^^A \noindent\textbf{\languagename}{:}\\ -%^^A \CcoolOption[ Separ ] -%^^A \Ccool{ X = x, Y = y }* -%^^A \selectlanguage{portuguese}\\ -%^^A \noindent\textbf{\languagename}{:}\\ -%^^A \CcoolOption[ Separ ] -%^^A \Ccool{ X = x, Y = y }* -%^^A \selectlanguage{romanian}\\ -%^^A \noindent\textbf{\languagename}{:}\\ -%^^A \CcoolOption[ Separ ] -%^^A \Ccool{ X = x, Y = y }* -%^^A \selectlanguage{slovak}\\ -%^^A \noindent\textbf{\languagename}{:}\\ -%^^A \CcoolOption[ Separ ] -%^^A \Ccool{ X = x, Y = y }* -%^^A \selectlanguage{spanish}\\ -%^^A \noindent\textbf{\languagename}{:}\\ -%^^A \CcoolOption[ Separ ] -%^^A \Ccool{ X = x, Y = y }* -%^^A \selectlanguage{swedish}\\ -%^^A \noindent\textbf{\languagename}{:}\\ -%^^A \CcoolOption[ Separ ] -%^^A \Ccool{ X = x, Y = y }* -%^^A \selectlanguage{swissgerman}\\ -%^^A \noindent\textbf{\languagename}{:}\\ -%^^A \CcoolOption[ Separ ] -%^^A \Ccool{ X = x, Y = y }* -%^^A \selectlanguage{turkish}\\ -%^^A \noindent\textbf{\languagename}{:}\\ -%^^A \CcoolOption[ Separ ] -%^^A \Ccool{ X = x, Y = y }* -%^^A \selectlanguage{turkmen}\\ -%^^A \noindent\textbf{\languagename}{:}\\ -%^^A \CcoolOption[ Separ ] -%^^A \Ccool{ X = x, Y = y }* -%^^A \selectlanguage{welsh} \\ -%^^A \noindent\textbf{\languagename}{:}\\ -%^^A \CcoolOption[ Separ ] -%^^A \Ccool{ X = x, Y = y }* -% \iffalse -%<*guardlisting> -% \fi -\begin{listing}[Language and mode] - {label=listing:lang} - % ^^A---> - \textbf{\languagename}{:}~\Ccool{ X = x, Y = y }* - \begin{otherlanguage}{spanish} - \CcoolOption[ Separ ]\\ - \textbf{\languagename}{:}~\Ccool{ X = x, Y = y }* - \end{otherlanguage}\\ - \textbf{\languagename}{:}~\Ccool{ X = x, Y = y }* - \\[1em] - \CcoolOption[ Outer = ####1 ] - \textbf{\languagename}{:}~\Ccool{ X = this, Y = that }* - \begin{otherlanguage}{spanish} - \CcoolOption[ Separ ]\\ - \textbf{\languagename}{:}~\Ccool{ X = esto, Y = aquello }* - \end{otherlanguage}\\ - \textbf{\languagename}{:}~\Ccool{ X = this, Y = that }* - \CcoolOption[ Separ ]\\ - % ^^A<--- - \CcoolOption -\end{listing} -% \iffalse -%</guardlisting> -% \fi -% -% \phantomsection\addcontentsline{toc}{section} -% {\ref{listing:se}. Separators} -% \iffalse -%<*guardlisting> -% \fi -\begin{listing}[Separators - % \NB{bug} - % {Removing the closing \CcoolOption subsequently causes inconsistent separators between text and math mode (case replicated in uncommented form in dtx) - % ^^A% \begin{listing}[Separators] - % ^^A% {label=listing:se} - % ^^A% % ^^A---> - % ^^A% \CcoolOption[ Separ={{\ \char`@\ }{\ \%\ }{\ \char`@\ }} ] - % ^^A% \Ccool{ X = x, Y = y }*[\\] - % ^^A% { X = x, Y = y }*s{{~\&~}}[\\] - % ^^A% { X = x, Y = y }*s{{,~}{~\&~}}[\\[1em]] - % ^^A% { X = x, Y = y, Z = z }*[\\] - % ^^A% { X = x, Y = y, Z = z }*s{{~\&~}}[\\] - % ^^A% { X = x, Y = y, Z = z }*s{{,~}{\&~}}[\\] - % ^^A% { X = x, Y = y, Z = z }*s{{~\&~}{,~}{,~\&~}}\\ - % ^^A%% ^^A<--- - % ^^A% \CcoolClear - % ^^A% \end{listing} - % ^^A% \begin{listing}[Controlling the mode] - % ^^A% {label=listing:mode} - % ^^A% \Ccool{ X = x, Y = y }*\\ - % ^^A% \Ccool{ X = x, Y = y, Z = z }*\\[1em] - % ^^A% \CcoolOption[ Outer = ####1 ] - % ^^A% \Ccool{ X = x, Y = y }*\\ - % ^^A% \Ccool{ X = x, Y = y, Z = z }*\\[1em] - % ^^A% \CcoolOption[ Outer ] - % ^^A% \Ccool{ X = x, Y = y }*\\ - % ^^A% \Ccool{ X = x, Y = y, Z = z }* - % ^^A% {Symptom:} Inconsistent separators - % ^^A% {Workaround:} Put \CcoolOption in listing:se - % ^^A% \end{listing} - % ^^A% } - % } - ] - {label=listing:se} - % ^^A---> - \CcoolOption[ Separ={{\ \char`@\ }{\ \%\ }{\ \char`@\ }} ] - \Ccool{ X = x, Y = y }*[\\] - { X = x, Y = y }*s{{~\&~}}[\\] - { X = x, Y = y }*s{{,~}{~\&~}}[\\[1em]] - { X = x, Y = y, Z = z }*[\\] - { X = x, Y = y, Z = z }*s{{~\&~}}[\\] - { X = x, Y = y, Z = z }*s{{,~}{\&~}}[\\] - { X = x, Y = y, Z = z }*s{{~\&~}{,~}{,~\&~}}\\ - % ^^A<--- - \CcoolOption - \CcoolClear -\end{listing} -% \iffalse -%</guardlisting> -% \fi -% -% \phantomsection\addcontentsline{toc}{section} -% {\ref{listing:hw:i}. Hello, world! (for testing's sake)} -% \iffalse -%<*guardlisting> -% \fi -\begin{listing}[Hello, world! (testing)] - {label=listing:hw:i} - \CcoolOption[ Write = \BooleanTrue ] - % ^^A---> - \CcoolOption[Separ = {{}{.}{.}}, Outer = {####1}] - \Ccool - <Test>{ KeyA = {.}, KeyB = {!}, KeyC = {\%} }[] - <Test>{ KeyD = {d}, KeyE = {\%} }[] - <Test>c{\{#1\}}{ KeyF = {H}, KeyG = {e}, KeyH = {l} }*[] - <Test>{ KeyI = {\%}, KeyJ = {\%}, KeyK = {\%} }[.\{l\}.\{o\}] - <Test>{ KeyL = {l}, KeyM = {\char`[}, KeyN = {\char`]} }[] - <Test>{ KeyO = {o}, KeyP = {\%}, KeyQ = {\%} }[{,\ }] - <Test>{ KeyR = {w}, KeyS = {o}, KeyT = {r} }* - s{{}{}{}}c{{\char`[}#1}[] - <Test>{ KeyU = {\%}, KeyV = {\%}, KeyW = {\%} }[] - <Test>{ KeyX = {\%}, KeyY = {\%}, KeyZ = {\KeyB<Test>} }\nobreak - \KeyL<Test>\KeyD<Test>\KeyZ<Test>\KeyN<Test>\\ - % ^^A<--- - \CcoolOption - \CcoolClear -\end{listing} -% \iffalse -%</guardlisting> -% \fi -% -% \phantomsection\addcontentsline{toc}{section} -% {\ref{listing:hw:ii}. \docreflist{hw:i} read from file} -% \iffalse -%<*guardlisting> -% \fi -\begin{listing}[\docreflist{hw:i} read from file] - {label=listing:hw:ii} - % ^^A---> - \CcoolRead - \KeyF<Test>\KeyA<Test>\nobreak - \KeyG<Test>\KeyA<Test>\nobreak - \KeyH<Test>\KeyA<Test>\nobreak - \KeyH<Test>\KeyA<Test>\nobreak - {\{}\nobreak\KeyO<Test>{\}},{\ }\nobreak - \KeyM<Test>\KeyR<Test>\nobreak - \KeyO<Test>\nobreak - \KeyT<Test>\nobreak - \KeyL<Test>\nobreak - \KeyD<Test>\nobreak - \KeyZ<Test>\nobreak - \KeyN<Test>\nobreak - % ^^A<--- - \CcoolClear -\end{listing} -% \iffalse -%</guardlisting> -% \fi -% -% \phantomsection\addcontentsline{toc}{section}{\ref{listing:proba:i}. Probability space} -% \iffalse -%<*guardlisting> -% \fi -\begin{listing}[Probability space] - {label=listing:proba:i} - \CcoolOption[ Write = \BooleanTrue ] - % ^^A---> - \Ccool[Let~] - { Space = \Omega, Field = \mathcal{F}, Meas = \mathcal{P} } - *s{{,}}c{$\{#1\}$} - [~denote the probability space, where~]{ PowerSet = { 2^{\Space} } } - [$\Field\subset \PowerSet$.] - {} - % ^^A<--- - \CcoolClear - \CcoolOption -\end{listing} -% \iffalse -%</guardlisting> -% \fi -% -% \phantomsection\addcontentsline{toc}{section}{\ref{listing:proba:ii}. \docreflist{proba:i} read from file} -% \iffalse -%<*guardlisting> -% \fi -\begin{listing}[\docreflist{proba:i} read from file] - {label=listing:proba:ii} - % ^^A---> - \CcoolRead \tab $\Omega$ $\Field$ $\Meas$ - % ^^A<--- - \CcoolClear +\begingroup + \Ccool<foo>c{\mathbb{#1}}{ Nat = {N}, Real = {R} } + [Let $\Nat<foo>$ and $\Real<foo>$ denote the natural and real numbers.]{} +\endgroup \end{listing} % \iffalse %</guardlisting> % \fi -% -% \phantomsection\addcontentsline{toc}{section}{\ref{listing:mvt:i}. Mittelwertsatz f\"ur \texorpdfstring{$n$} Variable. } +% \phantomsection\addcontentsline{toc}{section}{\textless} +% +% \changes{v3.2} +% {2021/09/20} +% {\cs[no-index]{texorpdfstring}~was~used~with~one~argument~instead~of~two~in~listing~titles,~so~removed~it.} +% +% \phantomsection\addcontentsline{toc}{section}{\ref{listing:mvt:i}. Mittelwertsatz f\"ur \texorpdfstring{$n$}{n} Variable. } % \iffalse %<*guardlisting> % \fi -\begin{listing}[{Mittelwertsatz f\"ur $n$ Variable\cite[17.3]{tcolbox}}] +\begin{listing}[{Mittelwertsatz f\"ur $n$ Variable\cite[17.3]{tcolorbox}}] {label=listing:mvt:i} + \begingroup \CcoolOption[ Write = \BooleanTrue ] - % ^^A---> \selectlanguage{german} \newtheorem{theorem}{Theorem} \AfterEndEnvironment{theorem}{\CcoolHook} @@ -1059,84 +863,65 @@ english \end{theorem}] {} (Check: $\N$, $\Punkt$) - % ^^A<--- - \CcoolClear - \CcoolOption + \endgroup +\CcoolOption \end{listing} % \iffalse %</guardlisting> % \fi % -% \phantomsection\addcontentsline{toc}{section}{\ref{listing:mvt:ii}. \docreflist{mvt:i} read from file} +% \phantomsection\addcontentsline{toc}{section}{\ref{listing:mvt:ii}. Listing~\ref{listing:mvt:i} read from file} % \iffalse %<*guardlisting> % \fi -\begin{listing}[\docreflist{mvt:i} read from file] +\begin{listing}[Listing~\ref{listing:mvt:i} read from file] {label=listing:mvt:ii} - % ^^A---> - \CcoolRead \tab $\N$ $\R$ $\OffMenge$ $\Ci$ $\Strecke$ - % ^^A<--- + \CcoolRead ~$\N$ $\R$ $\OffMenge$ $\Ci$ $\Strecke$ \CcoolClear \end{listing} % \iffalse %</guardlisting> % \fi -% -% \phantomsection\addcontentsline{toc}{section}{\ref{listing:poly:real:i}. Families of polynomial functions} +% +% \changes{v3.2} +% {2021/09/20} +% {Removed~listing~`Hello, world! (for testing's sake)'.~That~should~be~for~l3build} +% +% \phantomsection\addcontentsline{toc}{section}{\ref{listing:proba:i}. Probability space} % \iffalse %<*guardlisting> % \fi -\begin{listing}[Families of polynomial functions] - {label=listing:poly:real:i} - \CcoolOption[ Write = \BooleanTrue ] - % ^^A---> - \Ccool c{\mathbb{#1}}{ Nat = {N}, Real = {R} } - [Let~] - { PolyR = \CcoolLambda[o]{\Real\IfValueT{#1}{_#1}[X] } } - [$\PolyR[n]$ and $\PolyR$, denote the families of polynomial functions on $\Real$, of order $n$ et and their union over $n \in \Nat$, respectively. ] +\begin{listing}[Probability space] + {label=listing:proba:i} + \begingroup + \Ccool[Let~] + { Space = \Omega, Field = \mathcal{F}, Meas = \mathcal{P} } + *s{{,}}c{$\{#1\}$} + [~denote the probability space, where~]{ PowerSet = { 2^{\Space} } } + [$\Field\subset \PowerSet$.] {} - % ^^A<--- - \CcoolClear - \CcoolOption + \endgroup \end{listing} % \iffalse %</guardlisting> % \fi -% -% \phantomsection\addcontentsline{toc}{section}{\ref{listing:poly:real:ii}. \docreflist{poly:real:i} read from file} -% \iffalse -%<*guardlisting> -% \fi -\begin{listing}[\docreflist{poly:real:i} read from file] - {label=listing:poly:real:ii} - % ^^A---> - \CcoolRead \tab $\PolyR[n]$ et $\PolyR$ - % ^^A<--- - \CcoolClear -\end{listing} -% \iffalse -%</guardlisting> -% \fi -% -% \phantomsection\addcontentsline{toc}{section}{\ref{listing:poly:arb:i}. Same as \docreflist{poly:real:i}, but arbitrary number system} +% +% \changes{v3.2} +% {2021/09/20} +% {Updated~listings~with~\cs{LambdaX}~in~place~of~\cs{CcoolLambda}} +% +% \phantomsection\addcontentsline{toc}{section}{\ref{listing:poly:real:i}. Families of polynomial functions} % \iffalse %<*guardlisting> % \fi -\begin{listing}[Same as \docreflist{poly:real:i}, but arbitrary number system] - {label=listing:poly:arb:i} +\begin{listing}[Families of polynomial functions] + {label=listing:poly:real:i} \CcoolOption[ Write = \BooleanTrue ] - % ^^A---> - \selectlanguage{french} - \Ccool c{\mathbb{#1}}{ Corps = {K}, Nat = {N}, Reel = {R} } - [Soient~] - { - Poly = \CcoolLambda[om]{#2\IfValueT{#1}{_#1}[X] }, - PolyR = \CcoolLambda[o]{\Poly[#1]{\Reel}} - } - [$\Poly[n]{\Corps}$ et $\Poly{\Corps}$, les familles de polyn\^omes sur $\Corps$, de degr\'e $n$ et leur union pour $n \in \Nat$, respectivement. En particulier, - ils sont d\'enot\'es $\PolyR[n]$ et $\PolyR$, pour $\Corps=\Reel$.] + \Ccool c{\mathbb{#1}}{ Nat = {N}, Real = {R} } + [Let~] + { PolyR = \LambdaX[o]{\Real\IfValueT{#1}{_#1}[X] } } + [$\PolyR[n]$ and $\PolyR$, denote the families of polynomial functions on $\Real$, of order $n$ et and their union over $n \in \Nat$, respectively. ] {} - % ^^A<--- \CcoolClear \CcoolOption \end{listing} @@ -1144,33 +929,32 @@ english %</guardlisting> % \fi % -% \phantomsection\addcontentsline{toc}{section}{\ref{listing:poly:real:ii}. \docreflist{poly:arb:i} read from file} +% \phantomsection\addcontentsline{toc}{section}{\ref{listing:poly:real:ii}. Listing~\ref{listing:poly:real:i} read from file} % \iffalse %<*guardlisting> % \fi -\begin{listing}[\docreflist{poly:arb:i} read from file] - {label=listing:poly:arb:ii} - % ^^A---> - \CcoolRead \tab $\PolyR[n]$ et $\PolyR$ - % ^^A<--- - \CcoolClear +\begin{listing}[\ref{listing:poly:real:i} read from file] + {label=listing:poly:real:ii} + \begingroup + \CcoolRead $\PolyR[n]$ et $\PolyR$ + \endgroup \end{listing} % \iffalse %</guardlisting> % \fi -% -% \phantomsection\addcontentsline{toc}{section}{\ref{listing:fonc:i}. Fonction et fonctionelle} +% +% \changes{v3.2} +% {2021/09/20} +% {Updated~listing~`Fonction~et~fonctionelle',~with~use~of~parameter} % \iffalse %<*guardlisting> % \fi \begin{listing}[Fonction et fonctionelle] {label=listing:fonc:i} \CcoolOption[ Write = \BooleanTrue ] - % ^^A---> \selectlanguage{french} - \Ccool{ EvalAt = \CcoolLambda{(#1)}, ApplyOp = \CcoolLambda[mm]{#1[#2]} } - [Supposons une fonction $f\EvalAt{t}$, et \'etudions le probl\`eme o\`u la fonctionnelle $\ApplyOp{S}{f}$ est donn\'ee par\dots]{} - % ^^A<--- + \Ccool<eval>{ fun = \LambdaX{(#1)} }[]<op>{ fun = \LambdaX[mm]{#1[#2]} } + [Supposons une fonction $f\fun<eval>{t}$, et \'etudions le probl\`eme o\`u la fonctionnelle $\fun<op>{S}{f}$ est donn\'ee par\dots]{} \CcoolClear \CcoolOption \end{listing} @@ -1178,29 +962,27 @@ english %</guardlisting> % \fi % -% \phantomsection\addcontentsline{toc}{section}{\ref{listing:fonc:ii}. \docreflist{fonc:i} read from file} +% \phantomsection\addcontentsline{toc}{section}{\ref{listing:fonc:ii}. Listing~\ref{listing:fonc:i} read from file} % \iffalse %<*guardlisting> % \fi -\begin{listing}[\docreflist{fonc:i} read from file] +\begin{listing}[\ref{listing:fonc:i} read from file] {label=listing:fonc:ii} - % ^^A---> - \CcoolRead \tab $f\EvalAt{t}$, $\ApplyOp{S}{f}$ - % ^^A<--- + \CcoolRead $\fun<eval>{t}$, $\fun<op>{S}{f}$ \CcoolClear \end{listing} % \iffalse %</guardlisting> % \fi -% +% % \phantomsection\addcontentsline{toc}{section}{\ref{listing:cusum:i}. CUSUM statistic.} % \iffalse %<*guardlisting> % \fi -\begin{listing}[CUSUM statistic\cite{ccool-thesis}] +\begin{listing}[CUSUM statistic\cite{oh-2005}] {label=listing:cusum:i} + \begingroup \CcoolOption[ Write = \BooleanTrue ] - % ^^A---> \newtheorem{definition}{Definition} \AfterEndEnvironment{definition}{\CcoolHook} \Ccool{ @@ -1208,7 +990,7 @@ english Time = { t }, Process = { \xi }, StopT = { T }, - EvalAt = \CcoolLambda{(#1)} + EvalAt = \LambdaX{(#1)} } [The CUSUM statistic process and the corresponding one-sided CUSUM stopping time are defined as follows: \begin{definition}\label{the CUSUM statistic}. Let~] @@ -1242,425 +1024,49 @@ english \end{definition}\par]{} (Check: $\Scale$, $\CUSUM$) - % ^^A<--- - \CcoolClear + \endgroup \CcoolOption % \end{listing} % \iffalse %</guardlisting> % \fi % -% \phantomsection\addcontentsline{toc}{section}{\ref{listing:cusum:ii}. \docreflist{cusum:i} read from file} +% \phantomsection\addcontentsline{toc}{section}{\ref{listing:cusum:ii}. Listing~\ref{listing:cusum:i} read from file} % \iffalse %<*guardlisting> % \fi -\begin{listing}[\docreflist{cusum:i} read from file] +\begin{listing}[Listing~\ref{listing:cusum:i} read from file] {label=listing:cusum:ii} - % ^^A---> - \CcoolRead \tab $\Time $ $\Process$ $\Scale$ $\Real$ $\CUSUMthresh$ $\LogWald$ $\CUSUMst$ $\CUSUM$ $\LogWaldInf$ - % ^^A<--- - \CcoolClear + \begingroup + \CcoolRead $\Time$ $\Process$ $\Scale$ $\Real$ $\CUSUMthresh$ $\LogWald$ $\CUSUMst$ $\CUSUM$ $\LogWaldInf$ + \endgroup \end{listing} % \iffalse %</guardlisting> % \fi -% -% \clearpage -% \part{Other}\label{part:other} -% -% \section{Acknowledgment}\label{other:acknowl} -% -% This work has benefited from Q\&A's from the \LaTeX community\cite{user-erw}\cite{p158966}. -% Specific attributions are made throughout this document. -% -% \section{Genealogy}\label{other:geneal} -% -% \textquote -% [\pkg{cool}\cite{cool}] -% {Give commands the ability to contain the mathematical meaning while retaining the typesetting versatility}. -% The addition of `c', in \pkg{ccool}, is for \emph{custom}. With hinsdight it is restrictive to -% describe \pkg{ccool} as a tool for encoding mathematical convention. -% -% \section{Install}\label{other:install} -% \begin{enumerate}[label=\emph{\arabic*)}] -% \item Compile \file{ccool.dtx} (under Unix, \texttt{\$pdflatex ccool.dtx}) -% \item Put the generated \file{ccool.sty} in the search path of the \LaTeX engine -%^^A \NB{todo}{\pkg{l3buid} install} -% \end{enumerate} -% -% \section{Issue}\label{other:issue} -% -% Listed under: -% \begin{enumerate}[label={\emph{\alph*)}}] -% \item \env{NOTE} or \cs{NB}, tagged either \texttt{bug} or \texttt{fixed}, inside \jobname|.dtx| -% \end{enumerate} -% -% \section{Support}\label{other:support} -% -% This package is available from \url{https://www.ctan.org/pkg/ccool} and \url{https://github.com/rogard/ccool}. -% -% \section{Testing}\label{other:testing} -% -% \subsection{Technicality} -% Not possible to compile-check the expansion of a certain class of macros against predefined values\cite{a-534100}. -% Instead, one can -% \begin{enumerate}[label={\emph{\alph*)}}] -% \item Follow the steps in \autoref{other:install} on one's own machine to generate \jobname|.pdf| -% \item Visually check \autoref{part:listing}, against that \href{https://github.com/rogard/ccool}{of the repository}, for the same version. -% \end{enumerate} -% Also see: -% \begin{enumerate}[label={\emph{\alph*)}}] -% \setcounter{enumi}{2} -% \item Also see: \autoref{other:todo}~\ref{todo:regtest} -% \end{enumerate} -% -% \subsection{Platform} -% \begin{enumerate}[label=\emph{\roman*)}] -% \item -% ^^A uname -a -% \begin{Verbatim}[breaklines=true] -% Linux laptop 4.15.0-20-generic #21-Ubuntu SMP Tue Apr 24 06:16:15 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux -% \end{Verbatim} -% \label{plat:lin} -% \end{enumerate} -% -% \subsection{Engine} -% \begin{enumerate}[label=\emph{\alph*)}] -% \item -% \begin{Verbatim}[breaklines=true] -% pdfTeX 3.14159265-2.6-1.40.20 (TeX Live 2019) -% \end{Verbatim} -% \label{eng:tlxviiii:pdf} -% \item -% \begin{Verbatim}[breaklines=true] -% pdfTeX 3.14159265-2.6-1.40.21 (TeX Live 2020) -% \end{Verbatim} -% \label{eng:tlxx:pdf} -% \item -% \begin{Verbatim}[breaklines=true] -% LuaHBTeX, Version 1.12.0 (TeX Live 2020) -% \end{Verbatim} -% \label{eng:tlxx:lua} -% \item -% \begin{Verbatim}[breaklines=true] -% XeTeX 3.14159265-2.6-0.999992 (TeX Live 2020) -% \end{Verbatim} -% \label{eng:tlxx:xe} -% \end{enumerate} -% -% \subsection{Results} -% -% \begin{enumerate}[label=\emph{\arabic*)}] -% \item \pkg{ccool} \docvers{1}{8} compiles satisfactorily on platform \ref{plat:lin} and engine \ref{eng:tlxviiii:pdf} -% \item \pkg{ccool} \docvers{1}{8} compiles satisfactorily on platform \ref{plat:lin} and engine \ref{eng:tlxx:pdf} -% \item \pkg{ccool} \docvers{1}{9} compiles satisfactorily on platform \ref{plat:lin} and engines \ref{eng:tlxx:pdf} and \ref{eng:tlxx:lua} -% \item \pkg{ccool} \docvers{2}{0} compiles satisfactorily on platform \ref{plat:lin} and engines \ref{eng:tlxx:pdf}, \ref{eng:tlxx:lua}, and \ref{eng:tlxx:xe} -% \item \pkg{ccool} \docvers{2}{1} compiles satisfactorily on platform \ref{plat:lin} and engines \ref{eng:tlxx:pdf}, \ref{eng:tlxx:lua}, and \ref{eng:tlxx:xe} -% \item \pkg{ccool} \docvers{2}{3} compiles satisfactorily on platform \ref{plat:lin} and engines \ref{eng:tlxx:pdf}, \ref{eng:tlxx:lua}, and \ref{eng:tlxx:xe} -% \item \pkg{ccool} \docvers{2}{7} compiles satisfactorily on platform \ref{plat:lin} and engines \ref{eng:tlxx:pdf}, \ref{eng:tlxx:lua}, and \ref{eng:tlxx:xe} -% \item \pkg{ccool} \docvers{2}{8} compiles satisfactorily on platform \ref{plat:lin} and engines \ref{eng:tlxx:pdf}, \ref{eng:tlxx:lua}, and \ref{eng:tlxx:xe} -% \end{enumerate} -% -% \subsection{Other} -% Check \cite{ccool-thesis} for testing \pkg{ccool} with \cls{llncs} -% -% \section{To do}\label{other:todo} -% -% \begin{enumerate}[label=\emph{\alph*)}] -% \item Regression testing using \cite[Section 3.2—Specifying expectations]{l3build}. \label{todo:regtest} -% \end{enumerate} -% Also see: -% \begin{enumerate}[label=\emph{\alph*)}] -% \setcounter{enumi}{1} -% \item \env{NOTE} or \cs{NB} tagged \texttt{abandon\docpipe{}done\docpipe{}todo} inside \jobname|.dtx| -% \end{enumerate} -% -% \DocPhantomSection*{section}{References}{other:bib} -% \begin{thebibliography}{1} -% \bibitem{cool} Nick Setzer {\em The \pkg{cool} package}, 2005, \url{https://www.ctan.org/pkg/cool} -% \bibitem{interface3} The \LaTeX3 Project Team {\em The \LaTeX3 interfaces}, 2019, -% \url{http://ftp.math.purdue.edu/mirrors/ctan.org/macros/latex/contrib/l3kernel/interface3.pdf} -% \bibitem{l3build} The \LaTeX3 Project Team {\em The \pkg{l3build} package}, 2020, -% \url{http://mirror.utexas.edu/ctan/macros/latex/contrib/l3build/l3build.pdf} -% \bibitem{tcolbox} Thomas F. Sturm {\em The \pkg{tcolorbox} package}, 2019, -% \url{http://www.texdoc.net/texmf-dist/doc/latex/tcolorbox/tcolorbox.pdf} -% \bibitem{xparse} The \LaTeX3 Project Team {\em The \pkg{xparse} package}, 2020, -% \url{http://ftp.math.purdue.edu/mirrors/ctan.org/macros/latex/contrib/l3packages/xparse.pdf} -% \bibitem{ccool-thesis} Erwann Rogard and Olympia Hadjiliadis {\em Typesetting a math thesis with \pkg{ccool}}, 2020, -% \url{https://github.com/rogard/ccool/blob/master/thesis.pdf} -% \bibitem{user-erw} \url{https://tex.stackexchange.com/users/112708/erwann?tab=questions} -% \bibitem{a-534100} \href{https://tex.stackexchange.com/users/73/joseph-wright}{@{}joseph-wright}'s answer to -% ``Checking a function's expansion against a string'', \url{https://tex.stackexchange.com/a/534100} -% \bibitem{a-536597} \href{https://tex.stackexchange.com/users/73317/frougon}{@{}frougon}'s answer to ``Journaling calls to a function \textdel{taking inline code as argument}'', \url{https://tex.stackexchange.com/a/536620} -% \bibitem{p158966}\cs{Ccool}, extension à \LaTeX~à vocation mathématique, \url{http://forum.mathematex.net/latex-f6/ccool-extension-latex-a-vocation-mathematique-t17314.html} -% \bibitem{a-547018} \href{https://tex.stackexchange.com/users/5735/javier-bezos}{@{}Javier Bezos}'s answer to~\url{https://tex.stackexchange.com/a/547018/112708} -% \end{thebibliography} -% -% \changes{\docvers{1}{0}} -% {2020/03/08} -% {Initial version} -% \changes{\docvers{1}{1}} -% {2020/04/04} -% {Rearrange: much of the implementation} -% \changes{\docvers{1}{1}} -% {2020/04/04} -% {Replace: \Arg{kvl_{2}}~by~\docpard{\meta{kvl_{2}}}~given that option type \texttt{G} not recommended\cite{xparse}} -% \changes{\docvers{1}{1}} -% {2020/04/04} -% {Replace: \cs{OopsOptions}~by~\cs{OopsOption}} -% \changes{\docvers{1}{1}} -% {2020/04/04} -% {Replace: \docarg{GenericObject}~by~\docarg{Name}} -% \changes{\docvers{1}{1}} -% {2020/04/04} -% {Replace: \docarg{Separators}~by~\docarg{Separ}} -% \changes{\docvers{1}{1}} -% {2020/04/04} -% {Add:\cs{OopsTest}} -% \changes{\docvers{1}{1}} -% {2020/04/04} -% {Add:\cs{OopsRestore}} -% \changes{\docvers{1}{1}} -% {2020/04/04} -% {Add: \docarg{Save}} -% \changes{\docvers{1}{1}} -% {2020/04/04} -% {Delete: Listing 1-5 from \docvers{1}{0}} -% \changes{\docvers{1}{1}} -% {2020/04/04} -% {Add: Listing~1., 2., 3., 4., 6., and 9.} -% \changes{\docvers{1}{1}} -% {2020/04/04} -% {Fix: apparent anomaly in \docvers{1}{0}'s Listing~4, see \docreflist{hw:i}} -% \changes{\docvers{1}{2}} -% {2020/04/06} -% {Add: optional \pkgparex to \cs{OopsNew} as instruction to expand \pkgparkvl} -% \changes{\docvers{1}{2}} -% {2020/04/06} -% {Replace: \cs{OopsClear}\Arg{\pkgparpa} by \cs{OopsClear}\docparo{\meta{\doccceptkvl}}} -% \changes{\docvers{1}{2}} -% {2020/04/06} -% {Delete: \meta{kvl_{2}}~and~\meta{code_{2}}} -% \changes{\docvers{1}{2}} -% {2020/04/06} -% {Delete: \cs{OopsTest}} -% \changes{\docvers{1}{2}} -% {2020/04/06} -% {Delete: Listing~2-3 from \docvers{1}{1}.} -% \changes{\docvers{1}{2}} -% {2020/04/06} -% {Replace: \cs{Save} by \cs{Write}} -% \changes{\docvers{1}{2}} -% {2020/04/06} -% {Replace: \cs{Restore} by \cs{Read}} -% \changes{\docvers{1}{3}} -% {2020/04/06} -% {Replace: \cs{OopsNew} by \cs{Oops}} -% \changes{\docvers{1}{3}} -% {2020/04/06} -% {Replace: \Arg{\pkgparpa} and \docparo{\meta{\pkgparpa}} by \docpard{\meta{\pkgparpa}} } -% \changes{\docvers{1}{4}} -% {2020/04/10} -% {Replace: \docpare{s}{\Arg{\pkgparsi}\Arg{\pkgparsii}\Arg{\pkgparsiii}} -% by \docpare{s}{\Arg{\pkgparsi}\docpipe\Arg{\pkgparsi}\Arg{\pkgparsii}\docpipe\Arg{\pkgparsi}\Arg{\pkgparsii}\Arg{\pkgparsiii}}} -% \changes{\docvers{1}{4}} -% {2020/04/10} -% {Add:optional \pkgparap to \cs{OopsNew} to make side effects presist beyond local group} -% \changes{\docvers{1}{4}} -% {2020/04/10} -% {Add: \cs{OopsHook}} -% \changes{\docvers{1}{4}} -% {2020/04/10} -% {Delete: Listing~1., and 2. } -% \changes{\docvers{1}{4}} -% {2020/04/10} -% {Add: Listing~1., 2., and 3. } -% \changes{\docvers{1}{4}} -% {2020/04/10} -% {Add: \docarg{Expans} (for debugging' sake, but...) } -% \changes{\docvers{1}{4}} -% {2020/04/10} -% {Add: \autoref{usage:dosdont} } -% \changes{\docvers{1}{4}} -% {2020/04/10} -% {Add: \cs{OopsDebug} } -% \changes{\docvers{1}{5}} -% {2020/04/10} -% {Delete: dependence on \pkg{datetime} } -% \changes{\docvers{1}{5}} -% {2020/04/10} -% {Add: \pkgoptfi } -% \changes{\docvers{1}{6}} -% {2020/04/10} -% {Rename: \pkg{oops} to \pkg{ccool} (better describes the purpose) } -% \changes{\docvers{1}{6}} -% {2020/04/10} -% {Rename: \cs{Oops} to \cs{Ccool}} -% \changes{\docvers{1}{6}} -% {2020/04/10} -% {Rename: \cs{OopsClear} to \cs{CcoolClear}} -% \changes{\docvers{1}{6}} -% {2020/04/10} -% {Rename: \cs{OopsDebug} to \cs{CcoolDebug}} -% \changes{\docvers{1}{6}} -% {2020/04/10} -% {Rename: \cs{OopsHook} to \cs{CcoolHook}} -% \changes{\docvers{1}{6}} -% {2020/04/10} -% {Rename: \cs{OopsOption} to \cs{CcoolOption}} -% \changes{\docvers{1}{6}} -% {2020/04/10} -% {Rename: \cs{OopsRead} to \cs{CcoolRead}} -% \changes{\docvers{1}{6}} -% {2020/04/10} -% {Add: Listing showing part of the preamble } -% \changes{\docvers{1}{7}} -% {2020/04/11} -% {Add: \docreflist{cusum:i} (CUSUM) } -% \changes{\docvers{1}{7}} -% {2020/04/11} -% {Add: Legends to listings } -% \changes{\docvers{1}{7}} -% {2020/04/11} -% {Delete: \cs{CcoolDebug} } -% \changes{\docvers{1}{7}} -% {2020/04/11} -% {Delete: Listing~5 from \docvers{1}{6} } -% \changes{\docvers{1}{8}} -% {2020/04/12} -% {Add: \hyperref[usage:cs:lambda]{\cs{CcoolLambda}} } -% \changes{\docvers{1}{8}} -% {2020/04/12} -% {Add: \docreflist{fonc:i}, \docreflist{fonc:ii} } -% \changes{\docvers{1}{8}} -% {2020/04/12} -% {Add: \cs{CcoolVers} } -% \changes{\docvers{1}{8}} -% {2020/04/12} -% {Add: \docreflist{vers} } -% \changes{\docvers{1}{9}} -% {2020/04/14} -% {Add: support for \LuaTeX } -% \changes{\docvers{1}{9}} -% {2020/04/14} -% {Move: from \autoref{part:usage} to \autoref{part:impl}, what is now that part's \autoref{impl:frontend}} -% \changes{\docvers{2}{0}} -% {2020/04/15} -% {Delete: \pkgoptfi's dependency on \pkg{texosquery} and \cs{pdfcreationdate}} -% \changes{\docvers{2}{0}} -% {2020/04/15} -% {Add: support for \XeTeX} -% \changes{\docvers{2}{0}} -% {2020/04/15} -% {Update: \cs{RequirePackage}, \cs{NeedsTeXFormat}'s second argument / TeX Live 2020} -% \changes{\docvers{2}{1}} -% {2020/04/17} -% {Replace: \hyperref[usage:cs:lambda]{\cs{CcoolLambda}}'s optional integer argument (number of \texttt{m}'s) -% by a standard argument list} -% \changes{\docvers{2}{1}} -% {2020/04/17} -% {Replace: \hyperref[ccool:pa]{\meta{\pkgparpa}}'s position within \cs{Ccool}'s argument list, from first to second. Greater versatility } -% \changes{\docvers{2}{1}} -% {2020/04/17} -% {Replace: as~the~default~of~\pkgoptpa,~\docarg{Math}~by~\pkgoptpad} -% \changes{\docvers{2}{1}} -% {2020/04/17} -% {Replace: \docccept{\doccceptgopt}~\docarg{Name} by \nameref{usage:opt:pa} } -% \changes{\docvers{2}{1}} -% {2020/04/17} -% {Add:Listings 3, 4, 5, 6, 7, 8, and 9} -% \changes{\docvers{2}{2}} -% {2020/04/20} -% {Remove: \% from listings} -% \changes{\docvers{2}{2}} -% {2020/04/20} -% {Replace: part of the abstract's with more straighforward descriptions based on input from forum participtants} -% \changes{\docvers{2}{3}} -% {2020/05/16} -% {Replace: for \cs{Ccool}, \docpare{i}{} by \docpare{c}{}} -% \changes{\docvers{2}{3}} -% {2020/05/16} -% {Rearranged: \nameref{usage:cs:ccool}'s subsections. Previously, by argument. Now, by feature. } -% \changes{\docvers{2}{3}} -% {2020/05/16} -% {Replace: In \docstep{key}, the created command's implementation, from \cs{ProvideDocumentCommand} to \cs{DeclareDocumentCommand}} -% \changes{\docvers{2}{3}} -% {2020/05/16} -% {Complete: \docreflist{poly:real:i}} -% \changes{\docvers{2}{3}} -% {2020/05/16} -% {Add: \docreflist{poly:real:ii}, \docreflist{poly:arb:i}, and \docreflist{poly:arb:ii}} -% \changes{\docvers{2}{3}} -% {2020/05/16} -% {Remove: Listing showing part of the preamble } -% \changes{\docvers{2}{4}} -% {2020/05/16} -% {Fix: minor error in the listings (\cs{Real} rather than \cs{Reel}, hitherto unnoticed). } -% \changes{\docvers{2}{4}} -% {2020/05/16} -% {Remove: examples from \autoref{part:usage},~\nameref{usage:cs:ccool}, as redundant with \autoref{part:listing}~\docreflist{numbrsys:base}-\ref{listing:numbrsys:pa}} -% \changes{\docvers{2}{5}} -% {2020/05/21} -% {Modify: behavior of \autoref{part:usage}~\nameref{ccool:ex}, rely on \pkg{erw-l3}'s \cs{erw_seq_use:Nn} } -% -% \changes{\docvers{2}{5}} -% {2020/05/21} -% {Modify: \nameref{impl:opt:fi}, rely on \pkg{erw-l3}'s \cs{erw_jobnametimestamp:} } -% -% \changes{\docvers{2}{6}} -% {2020/05/22} -% {Modify: \nameref{impl:cs:lambda}, rely on \pkg{erw-l3}'s \cs{erw_lambda:nnn} } -% -% \changes{\docvers{2}{7}} -% {2020/05/28} -% {Add: \docccept{\doccceptgopt}~\nameref{usage:opt:an} } -% -% \changes{\docvers{2}{7}} -% {2020/05/28} -% {Add: \doclist{lang} } -% -% \changes{\docvers{2}{7}} -% {2020/05/28} -% {Modify: \nameref{usage:opt:se}'s default rely on \pkg{babel} and \pkg{amsmath}, if applicable} -% -% \changes{\docvers{2}{7}} -% {2020/05/28} -% {Modify: \nameref{usage:cs:option}'s \docxparsem by \docxparseo} -% -% \changes{\docvers{2}{8}} -% {2020/05/28} -% {Fix: conflict between \cs{usepackage}\docparo{spanish}\docparm{babel} and \nameref{ccool:pa} } -% -% \changes{\docvers{2}{9}} -% {2020/06/03} -% {Miscellaneous } % -% \changes{\docvers{3}{0}} -% {2020/06/04} -% {Miscellaneous } -% -% \changes{\docvers{3}{1}} -% {2020/10/10} -% {Replaced: \doclist{thisdeps}'s content, from exhaustive dependencies to those explicit with \cs{usepackage}} -% -% \PrintChanges -% \PrintIndex -% \clearpage -% \StopEventually{ -% ^^A \PrintChanges -% ^^A \PrintIndex +% \StopEventually{ +% \clearpage +% \PrintChanges +% \PrintIndex %^^A https://tex.stackexchange.com/q/610349/112708 % } -% \end{documentation} +% +%\end{documentation} % \begin{implementation} -% \selectlanguage{english} % \part{Implementation}\label{part:impl} -% % \section{Opening} % \begin{macrocode} %<*package> %<@@=ccool> \ExplSyntaxOn % \end{macrocode} +% \changes{v3.2} +% {2021/09/20} +% {Removed~dependence~on~\pkg{erw-l3}.} +% \changes{v3.2} +% {2021/09/20} +% {Added~dependence~on~\pkg{lambdax}.} +% % \section{\textsf{aux}} % \begin{macro}{\@@_aux_inner_set:n} % \begin{arguments} @@ -1786,18 +1192,22 @@ english } % \end{macrocode} % \end{macro} +% \begin{macrocode} +\cs_new:Nn\@@_aux_merge:nn{#1#2} +% \end{macrocode} % \section{\textsf{lang}} % \begin{macrocode} \prop_new:N \g@@_lang_and_prop % \end{macrocode} % \begin{macro}{\@@_lang_and_update:n} % \begin{macrocode} +% \changes{v3.2} +% {2021/09/20} +% {Replace~\cs[no-index]{erw_prop_keyval:Nn}~by~\cs[no-index]{prop_set_from_keyval:Nn}} \cs_new_protected:Nn \@@_lang_and_update:n { - \erw_prop_keyval_parse:NNNn + \prop_set_from_keyval:Nn \g@@_lang_and_prop - \erw_keyval_error:Nn - \prop_gput:Nnn { #1 } } \cs_generate_variant:Nn \@@_lang_and_update:n { e } @@ -1973,6 +1383,7 @@ english % \section{\textsf{make_ccool}} % \begin{macro}{\@@_make_ccool_exp:nnn} % \begin{macrocode} +% ^^A \erw_seq_use:Nn \cs_new_protected:Nn \@@_make_ccool_exp:nnn { \@@_aux_val:Nn \g@@_aux_key_seq {#1} @@ -1980,7 +1391,7 @@ english \@@_aux_outer:n { \exp_args:NNf - \erw_seq_use:Nn + \@@_seq_use:Nn \g@@_aux_val_seq {#2} } @@ -2251,6 +1662,44 @@ english } % \end{macrocode} % \end{macro} +% \section{\textsf{seq_use}} +% \begin{macro}{\@@_seq_from_prop:NNn} +% \begin{macrocode} +% \changes{v3.2} +% {2021/09/20} +% {Added~\cs[no-index]{__ccool_seq_use:Nn}~in~replacement~of~\cs[no-index][erw_seq_use:Nn]} +\msg_new:nnn{@@}{separ}{#1~expects~1~to~3~items,~#2} +\cs_new:Nn \@@_seq_use:Nn +{ + \exp_last_unbraced:NNf + \seq_use:Nnnn #1 + \@@_tl_separators:n{#2} +} +\cs_new:Nn \@@_tl_separators:n +{ \@@_tl_separators:en{ \tl_count:n{#1} }{#1} } +\cs_new:Nn \@@_tl_separators:nn +{ \int_case:nnTF {#1} + { {1} + { \prg_replicate:nn{ 3 }{#2} } + {2} + { + { \use_ii:nn #2 } + { \use_i:nn #2 } + { \use_i:nn #2 \use_ii:nn #2 } + } + {3}{#2} + } + { \c_empty_tl } + { + \msg_error:nnnn { @@ } + { separ } + { \@@_tl_separators:nn } + {#2} + } +} +\cs_generate_variant:Nn \@@_tl_separators:nn { e } +% \end{macrocode} +% \end{macro} % \section{Front-end}\label{impl:frontend} % \DocPhantomSection*{subsection}{\cs{CcoolClear}}{impl:cs:clear} % \begin{macro}{\CcoolClear} @@ -2272,10 +1721,10 @@ english % \begin{macro}{\CcoolLambda} % \NB{todo}{allow only m- or o-type arguments} % \begin{macrocode} +% \changes{v3.2} +% {2021/09/20}{\cs[CcoolLambda]'s~implementation~switched~from~\pkg{erw-l3}~to~\pkg{lambdax};~kept~only~for~backward~compat.} \ProvideDocumentCommand \CcoolLambda { O{m} m } -{ - \erw_lambda:nnn \DeclareDocumentCommand { #1 } { #2 } -} +{ \lambdax:nn{#1}{#2} } % \end{macrocode} % \end{macro} % \DocPhantomSection*{subsection}{\cs{CcoolOption}}{impl:cs:option} @@ -2294,50 +1743,50 @@ english \keys_define:nn { @@ } { % \end{macrocode} -% \DocPhantomSection*{subsubsection}{\pkgoptan}{impl:opt:an} -% \DescribeOption{\pkgoptan} % \begin{macrocode} And .code:n = { \@@_lang_and_update:e{ #1 } }, And .default:n = { \c@@_lang_and_tl }, And .initial:n = { \c@@_lang_and_tl }, % \end{macrocode} -% \DocPhantomSection*{subsubsection}{\pkgoptex}{impl:opt:ex} -% \DescribeOption{\pkgoptex} % \begin{macrocode} Expans .multichoices:nn = { eo, ee, ex, xo, xe, xx } { \tl_gset_eq:NN \g@@_option_expans_tl \l_keys_choice_tl }, Expans .default:n = { xo }, Expans .initial:n = { xo }, % \end{macrocode} -% \DocPhantomSection*{subsubsection}{\pkgoptfi}{impl:opt:fi} -% \DescribeOption{\pkgoptfi} % \begin{macrocode} -File .code:n = { - \tl_gset:Nx \g@@_log_file_tl{#1} -}, -File .default:n = { \erw_sys_jobnametimestamp: }, -File .initial:n = { \erw_sys_jobnametimestamp: }, +% \changes{v3.2} +% {2021/09/20} +% {Removed~module~key~File's~relianced~on~a~timestamp~(clumsy)} +File .code:n = { \tl_gset:Nx \g@@_log_file_tl{#1} } } +\cs_new_protected:Nn +\@@_keys_define_file:n +{\keys_define:nn { @@ } + {File .code:n = { \tl_gset:Nx \g@@_log_file_tl{#1} }, + File .default:n = { #1 }, + File .initial:n = { #1 } } } +\cs_generate_variant:Nn\@@_keys_define_file:n{e} +\@@_keys_define_file:e +{\exp_args:Ne\@@_aux_merge:nn{\c_sys_jobname_str}{_ccool_log}} % \end{macrocode} -% \DocPhantomSection*{subsubsection}{\pkgoptin}{impl:opt:in} -% \DescribeOption{\pkgoptin} % \begin{macrocode} -Inner .code:n={ - \@@_option_inner:n{#1} - \exp_last_unbraced:Nf - \@@_make_ccool:nnnn - { - { \g@@_option_param_tl } - { \g@@_option_inner_tl } - { \g@@_option_separ_tl } - { \g@@_option_outer_tl } - } -}, +\keys_define:nn { @@ } +{ + Inner .code:n={ + \@@_option_inner:n{#1} + \exp_last_unbraced:Nf + \@@_make_ccool:nnnn + { + { \g@@_option_param_tl } + { \g@@_option_inner_tl } + { \g@@_option_separ_tl } + { \g@@_option_outer_tl } + } + }, Inner .value_required:n = false, Inner .default:n = {####1}, Inner .initial:n = {####1}, % \end{macrocode} -% \DocPhantomSection*{subsubsection}{\pkgoptpa}{impl:opt:pa} -% \DescribeOption{\pkgoptpa} % \begin{macrocode} Param .code:n={ \@@_option_param:n{#1} @@ -2354,8 +1803,6 @@ Param .value_required:n = false, Param .default:n = { Default }, Param .initial:n = { Default }, % \end{macrocode} -% \DocPhantomSection*{subsubsection}{\pkgoptou}{impl:opt:ou} -% \DescribeOption{\pkgoptou} % \begin{macrocode} Outer .code:n={ \@@_option_outer:n{#1} @@ -2372,8 +1819,6 @@ Outer .value_required:n = false, Outer .default:n = { \ensuremath{####1} }, Outer .initial:n = { \ensuremath{####1} }, % \end{macrocode} -% \DocPhantomSection*{subsubsection}{\pkgoptse}{impl:opt:se} -% \DescribeOption{\pkgoptse} % \begin{macrocode} Separ .code:n={ \@@_option_separ:n{#1} @@ -2390,8 +1835,6 @@ Separ .value_required:n = false, Separ .default:n = { \c@@_option_separ_default_tl }, Separ .initial:n = { \c@@_option_separ_default_tl }, % \end{macrocode} -% \DocPhantomSection*{subsubsection}{\pkgoptwr}{impl:opt:wr} -% \DescribeOption{\pkgoptwr} % \begin{macrocode} Write .code:n = { \bool_if:nTF{#1} @@ -2405,7 +1848,6 @@ Write .initial:n = \BooleanFalse % \begin{macrocode} } % \end{macrocode} -% \DocPhantomSection*{subsection}{\cs{CcoolRead}}{impl:cs:read} % \begin{macro}{\CcoolRead} % \begin{macrocode} \NewDocumentCommand{\CcoolRead} @@ -2417,7 +1859,6 @@ Write .initial:n = \BooleanFalse } % \end{macrocode} % \end{macro} -% \DocPhantomSection*{subsection}{\cs{CcoolVers}}{impl:cs:vers} % \begin{macro}{\CcoolVers} % \begin{macrocode} \NewDocumentCommand{\CcoolVers} @@ -2426,13 +1867,10 @@ Write .initial:n = \BooleanFalse % \end{macrocode} % \end{macro} % \section{Closing} -% % \begin{macrocode} \ExplSyntaxOff %</package> % \end{macrocode} -% % \end{implementation} -% % \Finale \endinput
\ No newline at end of file diff --git a/macros/latex/contrib/ccool/ccool.ins b/macros/latex/contrib/ccool/ccool.ins new file mode 100644 index 0000000000..7b35314b55 --- /dev/null +++ b/macros/latex/contrib/ccool/ccool.ins @@ -0,0 +1,64 @@ +%% +%% This is file `ccool.ins', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% ccool.dtx (with options: `install') +%% ----------------------------------------------------------------------------- +%% ccool --- (Custom) COntext Oriented LaTeX +%% Released under the LaTeX Project Public License v1.3c or later +%% See http://www.latex-project.org/lppl.txt +%% ---------------------------------------------------------------------------- +%% +\input l3docstrip.tex +\keepsilent +\askforoverwritefalse +\preamble +----------------------------------------------------------------------------- +ccool --- (Custom) COntext Oriented LaTeX +Released under the LaTeX Project Public License v1.3c or later +See http://www.latex-project.org/lppl.txt +---------------------------------------------------------------------------- + +\endpreamble +\postamble + +Copyright (C) 2020-2021 by Erwann Rogard + +This work 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 option) any later +version. The latest version of this license is in the file: + +http://www.latex-project.org/lppl.txt + +This work is "maintained" (as per LPPL maintenance status) by +Erwann Rogard. + +This work consists of the file ccool.dtx and the derived files: +ccool.sty, and ccool.pdf. + +\endpostamble +\generate{ + \file{\jobname.sty}{\from{\jobname.dtx}{package}} +} + \endbatchfile +%% +%% Copyright (C) 2020-2021 by Erwann Rogard +%% +%% This work 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 option) any later +%% version. The latest version of this license is in the file: +%% +%% http://www.latex-project.org/lppl.txt +%% +%% This work is "maintained" (as per LPPL maintenance status) by +%% Erwann Rogard. +%% +%% This work consists of the file ccool.dtx and the derived files: +%% ccool.sty, and ccool.pdf. +%% +%% +%% End of file `ccool.ins'. diff --git a/macros/latex/contrib/ccool/ccool.pdf b/macros/latex/contrib/ccool/ccool.pdf Binary files differindex b5263ecc37..b9b0a13651 100644 --- a/macros/latex/contrib/ccool/ccool.pdf +++ b/macros/latex/contrib/ccool/ccool.pdf diff --git a/macros/latex/contrib/debate/DEPENDS.txt b/macros/latex/contrib/debate/DEPENDS.txt new file mode 100644 index 0000000000..a468679b1f --- /dev/null +++ b/macros/latex/contrib/debate/DEPENDS.txt @@ -0,0 +1,3 @@ +hard xcolor +hard tcolorbox +hard xkeyval diff --git a/macros/latex/contrib/debate/README.md b/macros/latex/contrib/debate/README.md new file mode 100644 index 0000000000..3d8d0294c0 --- /dev/null +++ b/macros/latex/contrib/debate/README.md @@ -0,0 +1,29 @@ +[](https://github.com/yegor256/debate/actions/workflows/latexmk.yml) +[](https://github.com/yegor256/debate/blob/master/LICENSE.txt) + +This LaTeX package helps you organize debates between a few reviewers +right inside the text of your document. + +First, [install it](https://en.wikibooks.org/wiki/LaTeX/Installing_Extra_Packages) +from [CTAN](https://ctan.org/pkg/debate) +and then use in the preamble: + +```tex +\documentclass{article} +\usepackage{debate} +\begin{document} +I think apples are tastier + \debate[jeff]{I don't think it's true!} + \debate[anna]{It is indeed true!} +than pears! +\end{document} +``` + +The full example and all commands are available in the +[`debate.tex`](https://github.com/yegor256/debate/blob/master/debate.tex) file. + +If you want to contribute yourself, make a fork, then create a branch, +then run `make` in the root directory. +It should compile everything without errors. If not, submit an issue and wait. +Otherwise, make your changes and then run `make` again. If the build is +still clean, submit a pull request. diff --git a/macros/latex/contrib/debate/debate.pdf b/macros/latex/contrib/debate/debate.pdf Binary files differnew file mode 100644 index 0000000000..07c667fe77 --- /dev/null +++ b/macros/latex/contrib/debate/debate.pdf diff --git a/macros/latex/contrib/debate/debate.sty b/macros/latex/contrib/debate/debate.sty new file mode 100644 index 0000000000..723168bc9a --- /dev/null +++ b/macros/latex/contrib/debate/debate.sty @@ -0,0 +1,52 @@ +% (The MIT License) +% +% Copyright (c) 2021 Yegor Bugayenko +% +% 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, including without limitation the rights +% to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +% copies of the Software, and to permit persons to whom the Software is +% furnished to do so, subject to the following conditions: +% +% The above copyright notice and this permission notice shall be included in all +% copies or substantial portions of the Software. +% +% THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +% IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +% FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +% AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +% LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +% OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +% SOFTWARE. + +\NeedsTeXFormat{LaTeX2e} +\ProvidesPackage{debate}[2021/09/24 0.1.0 Debates Between Reviewers] + +\RequirePackage{xcolor} +\RequirePackage[most]{tcolorbox} + +\RequirePackage{xkeyval} +\makeatletter +\newif\ifdebate@hide +\DeclareOptionX{hide}{\debate@hidetrue} +\ProcessOptionsX\relax +\makeatother + +\makeatletter\newcommand\debate[2][Author]{% + \ifdebate@hide% + #1% + \else% + {% + \begin{tcolorbox}[frame hidden,sharp corners,enhanced,borderline west={1pt}{0pt}{red},interior hidden,boxsep=0pt,left=0pt,right=0pt,top=0pt,bottom=0pt,beforeafter skip balanced=0pt] + \sffamily\color{gray}% + \raggedright% + \addtolength\leftskip{18pt}\setlength\parskip{0pt}\setlength\parindent{0pt}% + \textcolor{red}{\bfseries\scshape #1}: #2 + \end{tcolorbox} + \vspace{-\parskip} + }% + \fi% +}\makeatother + +\endinput diff --git a/macros/latex/contrib/debate/debate.tex b/macros/latex/contrib/debate/debate.tex new file mode 100644 index 0000000000..09474d184e --- /dev/null +++ b/macros/latex/contrib/debate/debate.tex @@ -0,0 +1,77 @@ +% (The MIT License) +% +% Copyright (c) 2021 Yegor Bugayenko +% +% 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, including without limitation the rights +% to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +% copies of the Software, and to permit persons to whom the Software is +% furnished to do so, subject to the following conditions: +% +% The above copyright notice and this permission notice shall be included in all +% copies or substantial portions of the Software. +% +% THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +% IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +% FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +% AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +% LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +% OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +% SOFTWARE. + +\documentclass[12pt]{article} +\usepackage[T1]{fontenc} +\usepackage[tt=false,type1=true]{libertine} +\usepackage{multicol} +\usepackage{debate} +\usepackage{ffcode} +\usepackage{xcolor} +\usepackage{microtype} +\title{\ff{debate}: \LaTeX{} Package \\ for Debates Between Reviewers} +\author{Yegor Bugayenko} +\date{0.1.0 2021/09/24} +\begin{document} +\pagenumbering{gobble} +\raggedbottom +\setlength{\parindent}{0pt} +\setlength{\columnsep}{32pt} +\setlength{\parskip}{6pt} +\maketitle + +This package helps you organize debates between a few people +right inside your documents: + +\begin{multicols}{2} +\scriptsize +\raggedcolumns +\begin{verbatim} +\documentclass{article} +\usepackage[T1]{fontenc} +\usepackage{debate} +\begin{document} +I think apples are tastier +\debate[Jeff]{I don't think it's true!} +\debate[Anna]{It is indeed true!} +than pears! + +And I don't want to argue with me. +\end{document} +\end{verbatim} + +\columnbreak + +I think apples are tastier +\debate[Jeff]{I don't think it's true!} +\debate[Anna]{It is indeed true!} +than pears! + +And I don't want to argue with me. +\end{multicols} + +You can hide them all using \ff{hide} package option. + +More details about this package you can find +in the \ff{yegor256/debate} GitHub repository. + +\end{document}
\ No newline at end of file |