summaryrefslogtreecommitdiff
path: root/macros/latex/contrib
diff options
context:
space:
mode:
Diffstat (limited to 'macros/latex/contrib')
-rw-r--r--macros/latex/contrib/easybook/doc/chapter1.tex155
-rw-r--r--macros/latex/contrib/easybook/doc/chapter2.tex165
-rw-r--r--macros/latex/contrib/easybook/doc/chapter3.tex17
-rw-r--r--macros/latex/contrib/easybook/doc/easybook-demo.pdfbin262460 -> 268601 bytes
-rw-r--r--macros/latex/contrib/easybook/doc/easybook-demo.tex12
-rw-r--r--macros/latex/contrib/easybook/doc/easybook.pdfbin449460 -> 454141 bytes
-rw-r--r--macros/latex/contrib/easybook/easybook.dtx105
-rw-r--r--macros/latex/contrib/fontsize/fontsize.dtx59
-rw-r--r--macros/latex/contrib/fontsize/fontsize.pdfbin404506 -> 405591 bytes
-rw-r--r--macros/latex/contrib/huawei/README.md29
-rw-r--r--macros/latex/contrib/huawei/huawei.cls311
-rw-r--r--macros/latex/contrib/huawei/huawei.pdfbin0 -> 362777 bytes
-rw-r--r--macros/latex/contrib/huawei/huawei.tex223
-rw-r--r--macros/latex/contrib/runcode/runcode.pdfbin169426 -> 170764 bytes
-rw-r--r--macros/latex/contrib/runcode/runcode.sty55
-rw-r--r--macros/latex/contrib/runcode/runcode.tex16
-rw-r--r--macros/latex/contrib/siunitx/2.80
-rw-r--r--macros/latex/contrib/siunitx/CHANGELOG.md6
-rw-r--r--macros/latex/contrib/siunitx/siunitx.dtx11
-rw-r--r--macros/latex/contrib/siunitx/siunitx.pdfbin641392 -> 641398 bytes
-rw-r--r--macros/latex/contrib/smflatex/README37
-rw-r--r--macros/latex/contrib/smflatex/smf-edoc.pdf (renamed from macros/latex/contrib/smflatex/e-doc.pdf)bin524328 -> 524468 bytes
-rw-r--r--macros/latex/contrib/smflatex/smf-edoc.tex (renamed from macros/latex/contrib/smflatex/e-doc.tex)0
-rw-r--r--macros/latex/contrib/smflatex/smf-fdoc.pdf (renamed from macros/latex/contrib/smflatex/f-doc.pdf)bin522585 -> 522659 bytes
-rw-r--r--macros/latex/contrib/smflatex/smf-fdoc.tex (renamed from macros/latex/contrib/smflatex/f-doc.tex)0
-rw-r--r--macros/latex/contrib/smflatex/smflatex.dtx134
-rw-r--r--macros/latex/contrib/smflatex/smflatex.ins44
27 files changed, 1035 insertions, 344 deletions
diff --git a/macros/latex/contrib/easybook/doc/chapter1.tex b/macros/latex/contrib/easybook/doc/chapter1.tex
index d6c964f4eb..99e06cc2d2 100644
--- a/macros/latex/contrib/easybook/doc/chapter1.tex
+++ b/macros/latex/contrib/easybook/doc/chapter1.tex
@@ -1,111 +1,70 @@
% Chapter 1
-\chapter{常用环境}
+\chapter{多彩盒子}
-\section{公式}
-\index{g@公式}
-\zhlipsum*[42][name = aspirin]
-\begin{equation}\label{eq:matrix}
- \bm{A} = \left[
- \begin{matrix}
- a_{11} & a_{12} & \cdots & a_{1n} \\
- a_{21} & a_{22} & \cdots & a_{2n} \\
- \vdots & \vdots & \ddots & \vdots \\
- a_{m1} & a_{m2} & \cdots & a_{mn} \\
- \end{matrix}
- \right] = \left[
- \begin{matrix}
- \bm{a}_1 & \bm{a}_2 & \cdots & \bm{a}_n
- \end{matrix}
- \right]
-\end{equation}
-可以通过添加标签在正文中引用公式,如带有中文括号的引用\ref{eq:matrix}。
+\begin{outline}
+\index{zhaiyao@摘要盒子}
+ \item 这是一个摘要盒子。
+ \item 它的标题是可选参数,默认标题是摘要。
+\end{outline}
-\zhlipsum*[56][name = aspirin]
-\begin{equation}
- \begin{split}
- \iint_{A}E\rho(\bm{v}\cdot\bm{n})\mathrm{d}A + \frac{\partial}{\partial t}\iiint_{V}E\rho \mathrm{d}V &= \frac{\delta Q}{\mathrm{d}t} - \frac{\delta W}{\mathrm{d}t}
- \\
- \iint_{A}\left(U + \frac{v^{2}}{2} + gz + \frac{P}{\rho}\right)\rho(\bm{v}\cdot\bm{n})\mathrm{d}A + \frac{\partial}{\partial t}\iiint_{V}E\rho\mathrm{d}V &= \frac{\delta Q}{\mathrm{d}t} - \frac{\delta W_{s}}{\mathrm{d}t}
- \end{split}
-\end{equation}
+\section{定理}
+\index{d@定理}
+\begin{theorem}[(中文定理\footnote{选自鲁迅的祝福\ref{theorem:gauss formula}。})]
+\label{theorem:gauss formula}
+\index{d@定理!g@中文定理}
+\zhlipsum*[31][name = zhufu]
+\end{theorem}
-\zhlipsum*[42][name = aspirin]
-\begin{subnumcases}{y =}
- C_1e^{r_1x} + C_2e^{r_2x} & \quad $p^2 - 4q > 0$
- \\
- \left(C_1 + C_2\right)e^{r_1x} & \quad $p^2 - 4q = 0$
- \\
- e^{\alpha x}\left(C_1\cos\beta x + C_2\sin\beta x\right) & \quad $p^2 - 4q < 0$
-\end{subnumcases}
+\begin{definition}[(English definition)]
+\index{d@定理!s@English definition}
+\lipsum*[19]
+\end{definition}
-\zhlipsum*[57][name = aspirin]
+\begin{lemma}
+这是一个引理。
+\end{lemma}
-\clearpage
-\section{插图}
-\index{c@插图}
-当我们需要排列一组子图共享标题的图片时,可以使用依赖于 \lstinline{caption} 宏包的 \lstinline{subcaption} 宏包的功能,效果见\ref{fig:example}。
-\begin{figure}[htbp]
- \centering
- \subcaptionbox{并排子图1}
- {\includegraphics[width = 0.4\textwidth]{example-image-4x3}}
- \hspace{1.2em}
- \subcaptionbox{并排子图2}
- {\includegraphics[width = 0.4\textwidth]{example-image-4x3}}
- \bicaption[使用 subcaption 排版子图]{使用 subcaption 宏包的 subcaptionbox 命令排版子图}[Use subcaption to typeset subgraphs]{Use the subcaptionbox command of the subcaption package to typeset sub-pictures}\label{fig:example}
-\end{figure}
+\begin{corollary}
+这是一个推论。
+\end{corollary}
-\section{表格}
-\index{b@表格}
-合并表格列使用 \lstinline{\multicolumn} 命令,合并行可以使用 \lstinline{multirow} 宏包的 \lstinline{\multirow} 命令。当插入的表格内容过长以至于一行放不下的情况可以使用 \lstinline{tabularx} 环境,文档类设置了\textsf{L、C和R}三个列对齐选项,一个例子如\ref{tab:example} 所示。
-\begin{table}[htbp]
- \centering
- \bicaption{使用 tabularx 创建内容过长表格}{Use tabularx to create a table with too long content}\label{tab:example}\small
- \begin{tabularx}{0.87\textwidth}{@{}llL@{}}
- \toprule
- Aliquam & Integer & Pellentesque tincidunt purus
- vel magna. \\
- \midrule
- viverra & \multirow[c]{3}*{metus} & Nulla malesuada porttitor diam. Vestibulum lectus. Proin mauris. Proin eu nunc eu urna hendrerit faucibus. \\
- semper & & Nullam elementum, urna vel imperdiet sodales, elit ipsum pharetra ligula, ac pretium ante justo a nulla. Curabitur tristique arcu eu metus. \\
- \multicolumn{2}{c}{\multirow{3}*[0ex]{convallis}} & Nunc elementum fermentum wisi. Aenean placerat. Ut imperdiet, enim sed gravida sollicitudin, felis odio placerat quam, ac pulvinar elit purus eget enim. \\
- \bottomrule
- \end{tabularx}
-\end{table}
+\begin{proposition}
+这是一个性质。
+\end{proposition}
\clearpage
-\section{列表}
-\index{l@列表}
+\begin{example}
+这是一个例。
+\end{example}
+
+\begin{remark}
+这是一个注。
+\end{remark}
+
+\begin{proof}
+这是一个证明,末尾自动添加证明结束符。
+\end{proof}
+
+\begin{easybox}[DarkCyan](An introduction to aspirin on Wikipedia)
+\index{z@自定义盒子}
+ \zhlipsum*[59][name = aspirin]
+ \tcblower
+ \zhlipsum*[59][name = aspirin]
+\end{easybox}
-\subsection{排序列表}
-\index{l@列表!p@排序列表}
-\begin{enumerate}
- \item \zhlipsum[41-42][name = aspirin]
- \begin{enumerate}
- \item \zhlipsum*[42][name = aspirin]
- \begin{enumerate}
- \item \zhlipsum*[42][name = aspirin]
- \end{enumerate}
- \end{enumerate}
-\end{enumerate}
+\begin{ebparbox}*[Teal](阿司匹林)
+ \zhlipsum*[59][name = aspirin]
+\end{ebparbox}
-\subsection{常规列表}
-\index{l@列表!c@常规列表}
-\begin{itemize}
- \item \zhlipsum[41-42][name = aspirin]
- \begin{itemize}
- \item \zhlipsum*[42][name = aspirin]
- \begin{itemize}
- \item \zhlipsum*[42][name = aspirin]
- \end{itemize}
- \end{itemize}
-\end{itemize}
+\begin{ebparbox}
+ \zhlipsum*[59][name = aspirin]
+\end{ebparbox}
-\subsection{主题列表}
-\index{l@列表!z@主题列表}
-\begin{description}
- \item[主题一] \zhlipsum*[42][name = aspirin]
- \begin{description}
- \item[主题二] \zhlipsum*[42][name = aspirin]
- \end{description}
-\end{description} \ No newline at end of file
+\begin{exercise}[LightYellow][1.](习题)
+\index{x@习题环境}
+ \item \zhlipsum*[20][name = zhufu]
+ \begin{tasks}
+ \task \zhlipsum*[20][name = zhufu]
+ \end{tasks}
+\end{exercise} \ No newline at end of file
diff --git a/macros/latex/contrib/easybook/doc/chapter2.tex b/macros/latex/contrib/easybook/doc/chapter2.tex
index d72ee6424a..a6bb1afb5d 100644
--- a/macros/latex/contrib/easybook/doc/chapter2.tex
+++ b/macros/latex/contrib/easybook/doc/chapter2.tex
@@ -1,80 +1,111 @@
% Chapter 2
-\chapter{定理盒子}
+\chapter{常用环境}
-\begin{outline}
-\index{zhaiyao@摘要盒子}
- \item 这是一个摘要盒子。
- \item 它的标题是可选参数,默认标题是摘要。
-\end{outline}
+\section{公式}
+\index{g@公式}
+\zhlipsum*[42][name = aspirin]
+\begin{equation}\label{eq:matrix}
+ \bm{A} = \left[
+ \begin{matrix}
+ a_{11} & a_{12} & \cdots & a_{1n} \\
+ a_{21} & a_{22} & \cdots & a_{2n} \\
+ \vdots & \vdots & \ddots & \vdots \\
+ a_{m1} & a_{m2} & \cdots & a_{mn} \\
+ \end{matrix}
+ \right] = \left[
+ \begin{matrix}
+ \bm{a}_1 & \bm{a}_2 & \cdots & \bm{a}_n
+ \end{matrix}
+ \right]
+\end{equation}
+可以通过添加标签在正文中引用公式,如带有中文括号的引用\ref{eq:matrix}。
-\section{定理}
-\index{d@定理}
-\begin{theorem}[(高斯公式\footnote{选自高等数学公式。})]
-\label{theorem:gauss formula}
-\index{d@定理!g@高斯公式}
-设空间闭区域$\Omega$是由分片光滑的闭曲面$\Sigma$围成,若函数$P(x,y,z)$,$Q(x,y,z)$,$R(x,y,z)$在$\Omega$上具有一节连续偏导数,则有
-\begin{align}
- \iiint_\Omega\left(\frac{\partial P}{\partial x} + \frac{\partial Q}{\partial y} + \frac{\partial R}{\partial x}\right)\mathrm{d}V & =\oiint_\Sigma P\mathrm{d}y\mathrm{d}z + Q\mathrm{d}z\mathrm{d}x + R\mathrm{d}x\mathrm{d}y
- \\
- & =\oiint_\Sigma \left(P\cos\alpha + Q\cos\beta + R\cos\gamma\right)\mathrm{d}S
-\end{align}
-这里$\Sigma$是整个边界曲面$\Omega$的外侧,$\cos\alpha,\cos\beta,\cos\gamma$是$\Sigma$在点$(x,y,z)$处的法向量的方向余弦。引用这个公式如\ref{theorem:gauss formula}。
-\end{theorem}
+\zhlipsum*[56][name = aspirin]
+\begin{equation}
+ \begin{split}
+ \iint_{A}E\rho(\bm{v}\cdot\bm{n})\mathrm{d}A + \frac{\partial}{\partial t}\iiint_{V}E\rho \mathrm{d}V &= \frac{\delta Q}{\mathrm{d}t} - \frac{\delta W}{\mathrm{d}t}
+ \\
+ \iint_{A}\left(U + \frac{v^{2}}{2} + gz + \frac{P}{\rho}\right)\rho(\bm{v}\cdot\bm{n})\mathrm{d}A + \frac{\partial}{\partial t}\iiint_{V}E\rho\mathrm{d}V &= \frac{\delta Q}{\mathrm{d}t} - \frac{\delta W_{s}}{\mathrm{d}t}
+ \end{split}
+\end{equation}
-\begin{definition}[(Stokes formula)]
-\index{d@定理!s@Stokes formula}
-Let $\Gamma$ be a piecewise smooth directed closed curve, $\Sigma$ is a piecewise smooth directed surface bounded by $\Gamma$, the side of $\Gamma$ and the positive direction of $\Sigma$ According to the right-hand rule, if the function $P(x,y,z)$, $Q(x,y,z)$, $R(x,y,z)$ has a first-order continuous deviation on the curve $\Sigma$ Derivative, then
-\begin{multline}
- \iint_\Sigma\left(\frac{\partial R}{\partial y} - \frac{\partial Q}{\partial z}\right)\mathrm{d}y\mathrm{d}z + \left(\frac{\partial P}{\partial z} - \frac{\partial R}{\partial x}\right)\mathrm{d}z\mathrm{d}x
+\zhlipsum*[42][name = aspirin]
+\begin{subnumcases}{y =}
+ C_1e^{r_1x} + C_2e^{r_2x} & \quad $p^2 - 4q > 0$
\\
- + \left(\frac{\partial Q}{\partial x} - \frac{\partial P}{\partial y}\right)\mathrm{d}x\mathrm{d}y = \oint_\Gamma P\mathrm{d}x + Q\mathrm{d}y + R\mathrm{d}z
-\end{multline}
-The Stokes formula is an extension of the basic calculus formula in the case of surface integration. It is also an extension of the Green formula. This formula gives the second type of surface integral on the surface block and the second type of curve on the boundary curve Link between points.
-\end{definition}
-
-\clearpage
-\begin{lemma}
-定理环境的边框和习题标题盒子可使用 \lstinline{thmbox = false} 关闭。
-\end{lemma}
+ \left(C_1 + C_2\right)e^{r_1x} & \quad $p^2 - 4q = 0$
+ \\
+ e^{\alpha x}\left(C_1\cos\beta x + C_2\sin\beta x\right) & \quad $p^2 - 4q < 0$
+\end{subnumcases}
-\begin{corollary}
-这是一个推论。
-\end{corollary}
+\zhlipsum*[57][name = aspirin]
-\begin{proposition}
-这是一个性质。
-\end{proposition}
+\clearpage
+\section{插图}
+\index{c@插图}
+当我们需要排列一组子图共享标题的图片时,可以使用依赖于 \lstinline{caption} 宏包的 \lstinline{subcaption} 宏包的功能,效果见\ref{fig:example}。
+\begin{figure}[htbp]
+ \centering
+ \subcaptionbox{并排子图1}
+ {\includegraphics[width = 0.4\textwidth]{example-image-4x3}}
+ \hspace{1.2em}
+ \subcaptionbox{并排子图2}
+ {\includegraphics[width = 0.4\textwidth]{example-image-4x3}}
+ \bicaption[使用 subcaption 排版子图]{使用 subcaption 宏包的 subcaptionbox 命令排版子图}[Use subcaption to typeset subgraphs]{Use the subcaptionbox command of the subcaption package to typeset sub-pictures}\label{fig:example}
+\end{figure}
-\begin{example}
-这是一个例。
-\end{example}
+\section{表格}
+\index{b@表格}
+合并表格列使用 \lstinline{\multicolumn} 命令,合并行可以使用 \lstinline{multirow} 宏包的 \lstinline{\multirow} 命令。当插入的表格内容过长以至于一行放不下的情况可以使用 \lstinline{tabularx} 环境,文档类设置了\textsf{L、C和R}三个列对齐选项,一个例子如\ref{tab:example} 所示。
+\begin{table}[htbp]
+ \centering
+ \bicaption{使用 tabularx 创建内容过长表格}{Use tabularx to create a table with too long content}\label{tab:example}\small
+ \begin{tabularx}{0.87\textwidth}{@{}llL@{}}
+ \toprule
+ Aliquam & Integer & Pellentesque tincidunt purus
+ vel magna. \\
+ \midrule
+ viverra & \multirow[c]{3}*{metus} & Nulla malesuada porttitor diam. Vestibulum lectus. Proin mauris. Proin eu nunc eu urna hendrerit faucibus. \\
+ semper & & Nullam elementum, urna vel imperdiet sodales, elit ipsum pharetra ligula, ac pretium ante justo a nulla. Curabitur tristique arcu eu metus. \\
+ \multicolumn{2}{c}{\multirow{3}*[0ex]{convallis}} & Nunc elementum fermentum wisi. Aenean placerat. Ut imperdiet, enim sed gravida sollicitudin, felis odio placerat quam, ac pulvinar elit purus eget enim. \\
+ \bottomrule
+ \end{tabularx}
+\end{table}
-\begin{remark}
-这是一个注。
-\end{remark}
+\clearpage
+\section{列表}
+\index{l@列表}
-\begin{proof}
-这是一个证明,末尾自动添加证明结束符。
-\end{proof}
+\subsection{排序列表}
+\index{l@列表!p@排序列表}
+\begin{enumerate}
+ \item \zhlipsum[41-42][name = aspirin]
+ \begin{enumerate}
+ \item \zhlipsum*[42][name = aspirin]
+ \begin{enumerate}
+ \item \zhlipsum*[42][name = aspirin]
+ \end{enumerate}
+ \end{enumerate}
+\end{enumerate}
-\begin{easybox}*[MintCream](Aspirin)
-\index{z@自定义盒子}
- \zhlipsum*[3][name = aspirin]
- \tcblower
- \zhlipsum*[8][name = aspirin]
-\end{easybox}
+\subsection{常规列表}
+\index{l@列表!c@常规列表}
+\begin{itemize}
+ \item \zhlipsum[41-42][name = aspirin]
+ \begin{itemize}
+ \item \zhlipsum*[42][name = aspirin]
+ \begin{itemize}
+ \item \zhlipsum*[42][name = aspirin]
+ \end{itemize}
+ \end{itemize}
+\end{itemize}
-\zhlipsum*[3][name = aspirin]
-\begin{exercise}[LightYellow][1.](习题)
-\index{x@习题环境}
- \item 设$w = f(x + y + z,xyz)$,$f$具有二阶连续偏导数,求$\dfrac{\partial w}{\partial x}$和$\dfrac{\partial ^2 w}{\partial x\partial z}$。
- \item 已知$y = y(x)$在任意点$x$处的增量$\Delta y = \dfrac{y\Delta x}{1 + x^2} + \alpha$,其中$\alpha$是$\Delta x$的高阶无穷小($\Delta x\to 0$时),$y(0) = \pi$,则$y(1) = \uline{\mbox{\hspace{2em}}}$。
- \item 设函数$f(x)$在$(-\infty,+\infty)$上有定义,则下述命题中正确的是 \mbox{(\hspace{1.5em})}
- \begin{tasks}
- \task 若$f(x)$在$(-\infty,+\infty)$上可导且单调增加,则对一切$x\in (-\infty,+\infty)$,都有$f'(x) > 0$。
- \task 若$f(x)$在点$x_0$处取得极值,则$f'(x_0) = 0$。
- \task 若$f''(x_0) = 0$,则$(x_0,f(x_0))$是曲线$y = f(x)$的拐点坐标。
- \task 若$f'(x_0) = 0$, $f''(x_0) = 0$,$f'''(x_0)\ne 0$,则$x_0$一定不是$f(x)$的极值点。
- \end{tasks}
-\end{exercise} \ No newline at end of file
+\subsection{主题列表}
+\index{l@列表!z@主题列表}
+\begin{description}
+ \item[主题一] \zhlipsum*[42][name = aspirin]
+ \begin{description}
+ \item[主题二] \zhlipsum*[42][name = aspirin]
+ \end{description}
+\end{description} \ No newline at end of file
diff --git a/macros/latex/contrib/easybook/doc/chapter3.tex b/macros/latex/contrib/easybook/doc/chapter3.tex
index 252551e7dc..d7630a59f4 100644
--- a/macros/latex/contrib/easybook/doc/chapter3.tex
+++ b/macros/latex/contrib/easybook/doc/chapter3.tex
@@ -9,13 +9,10 @@
\begin{lstlisting}[language = Python,caption = python 程序练习题]
#!/usr/bin/python
# -*- coding: UTF-8 -*-
-
-if __name__ == '__main__':
- ptr = []
- for i in range(5):
- num = int(raw_input('please input a number:\n'))
- ptr.append(num)
- print ptr
+
+i = ['a','b']
+l = [1,2]
+print dict([i,l])
\end{lstlisting}
\section{物理量}
@@ -47,8 +44,4 @@ if __name__ == '__main__':
\subsection{参考文献}
\index{y@引用!c@参考文献}
-这是一个参考文献引用的范例\cite{1979Prospect}。引用多个文献,将引用标号中的多个文献序号按升序排列,若其中有2个以上的连续序号,则改用范围序号,例如\cite{1979Prospect,1989The,2010An}。
-
-\section{行内盒子}
-\index{h@行内盒子}
-阿司匹林及其复方制剂都能有效治疗某几种头痛,但对另外几 \concise[Aqua]{concise}[fontupper = \rmfamily] 种则效果不明。因其他疾病或创伤导致的 \fuzzy[DarkSeaGreen]{fuzzy}[fontupper = \ttfamily,colupper = black] 继发性头痛需要及时在医疗机构接受治疗。 \ No newline at end of file
+这是一个参考文献引用的范例\cite{1979Prospect}。引用多个文献,将引用标号中的多个文献序号按升序排列,若其中有2个以上的连续序号,则改用范围序号,例如\cite{1979Prospect,1989The,2010An}。 \ No newline at end of file
diff --git a/macros/latex/contrib/easybook/doc/easybook-demo.pdf b/macros/latex/contrib/easybook/doc/easybook-demo.pdf
index 9d626ff452..4dd19a04ce 100644
--- a/macros/latex/contrib/easybook/doc/easybook-demo.pdf
+++ b/macros/latex/contrib/easybook/doc/easybook-demo.pdf
Binary files differ
diff --git a/macros/latex/contrib/easybook/doc/easybook-demo.tex b/macros/latex/contrib/easybook/doc/easybook-demo.tex
index 8940bd758d..a98428c288 100644
--- a/macros/latex/contrib/easybook/doc/easybook-demo.tex
+++ b/macros/latex/contrib/easybook/doc/easybook-demo.tex
@@ -24,7 +24,7 @@
link =
{
hyperlink = various,
- linkcolor = skyblue,
+ linkcolor = navyblue,
linktoc = all
},
spread =
@@ -63,9 +63,9 @@
% headrule = {},
head-foot =
{
- \easyhead[EC]{\color{SeaGreen}\kaishu\leftmark}
- \easyhead[OC]{\color{SeaGreen}\kaishu\rightmark}
- \easyhead[EL,OR]{\color{SeaGreen}\thepage}
+ \easyhead[EC]{\color{DarkOrchid}\kaishu\leftmark}
+ \easyhead[OC]{\color{DarkOrchid}\kaishu\rightmark}
+ \easyhead[EL,OR]{\color{DarkOrchid}\thepage}
}
},
tocset =
@@ -94,7 +94,7 @@
% tocdepth = 2
}
-\usepackage{zhlipsum,bicaption,tasks,tcolorbox,imakeidx}
+\usepackage{lipsum,zhlipsum,bicaption,tasks,tcolorbox,imakeidx}
\begin{document}
\title{\sffamily easybook 书籍文档类}
@@ -104,7 +104,7 @@
\url{https://latexstudio.net} \\
\url{https://gitee.com/texl3/easybook}\thanks{Gitee为项目的主要发布地址。}
}
-\date{2021/04/17\hskip\ccwd\relax v1.24m}
+\date{2021/04/18\hskip\ccwd\relax v1.24n}
\frontmatter[roman]
\maketitle
diff --git a/macros/latex/contrib/easybook/doc/easybook.pdf b/macros/latex/contrib/easybook/doc/easybook.pdf
index 07582b235b..e840fa99d3 100644
--- a/macros/latex/contrib/easybook/doc/easybook.pdf
+++ b/macros/latex/contrib/easybook/doc/easybook.pdf
Binary files differ
diff --git a/macros/latex/contrib/easybook/easybook.dtx b/macros/latex/contrib/easybook/easybook.dtx
index 09fa1194ae..e031600dbb 100644
--- a/macros/latex/contrib/easybook/easybook.dtx
+++ b/macros/latex/contrib/easybook/easybook.dtx
@@ -55,7 +55,7 @@ The latest version of this license is in
%
% \title{\sffamily easybook 书籍文档类}
% \author{瞿毅}
-% \date{2021/04/17\hskip\ccwd\relax v1.24m\thanks{\url{https://gitee.com/texl3/easybook}}}
+% \date{2021/04/18\hskip\ccwd\relax v1.24n\thanks{\url{https://gitee.com/texl3/easybook}}}
% \maketitle
% \begin{abstract}
% \cls{easybook} 是基于 \cls{ctexbook} 书籍文档类创建以极简为风格的模板,可以看作对 \cls{ctexbook} 的进一步包装。虽然\CTeX 文档类提供了较好的中文支持,但想实现个性化功能一般需要在其基础上载入更多宏包来定制。\cls{easybook} 考虑了一些细节并载入一些常用宏包实现一般的排版需求,它适用于排版中英文书籍或笔记,甚至可稍加调整成为学位论文模板。
@@ -174,7 +174,7 @@ The latest version of this license is in
% \end{syntax}
% \opt{multoc} 与 \opt{style/multoc} 选项具有相同的效果,但是具有优先性且可单独设置不同目录是否双栏排版。已经预置了中英文的目录标题,可以使用 \opt{title} 选项更改目录标题的名称。\opt{book} 选项使目录标题按照 \opt{chapter} 级别输出,\opt{article} 选项使目录标题按照 \opt{article} 级别输出,默认为 \opt{chapter} 级别。
% \changes{v1.23}{2021/03/15}{为几个目录增加键值列表的选项,可设置标题输出级别以及是否加入主目录。}
-% \changes{v1.24m}{2021/04/04}{目录命令的可选参数增加标题键值。}
+% \changes{v1.24n}{2021/04/04}{目录命令的可选参数增加标题键值。}
% \end{function}
%
% \section{接口选项}
@@ -255,17 +255,17 @@ The latest version of this license is in
%
% \subsection{超链接}
% \label{subsec:hyperlinks}
-% \begin{function}[EXP,added = 2021-01-05,updated = 2021-04-11]{hyperlink,linkcolor,linkcol-all,linktoc}
+% \begin{function}[EXP,added = 2021-01-05,updated = 2021-04-18]{hyperlink,linkcolor,linkcol-all,linktoc}
% \begin{syntax}
% hyperlink = <(edge)|various|none>
-% linkcolor = <(fresh)|cutepink|skyblue|crimson>
+% linkcolor = <fresh|cutepink|(navyblue)|crimson>
% linkcol-all = <HTML颜色代码>
% linktoc = <none|section|page|(all)>
% \end{syntax}
% \ding{229} 以上选项路径为 \opt{link/...} \\
% \opt{link} 将超链接选项(包括以上选项)交给 \pkg{hyperref} 处理,除了一些关于 pdf 书签的选项可能会失效,其它由键值选项命令 \tn{hypersetup} 支持的多数选项可用。
% \changes{v1.10}{2021/01/08}{修复了 \opt{linktopage} 选项关闭时目录中标题编号无超链接的问题。}
-% \changes{v1.24m}{2021/04/05}{增加 \pkg{hyperref} 超链接选项完整的支持。}
+% \changes{v1.24n}{2021/04/05}{增加 \pkg{hyperref} 超链接选项完整的支持。}
% \end{function}
%
% \begin{optdesc}
@@ -342,7 +342,7 @@ The latest version of this license is in
% \ding{229} 以上选项路径为 \opt{bibset/...}
% \changes{v1.21}{2021/01/11}{增加 \opt{bibset} 选项,可以使用 \hologo{BibTeX} 或 \hologo{biber} 编译参考文献。}
% \changes{v1.23}{2021/02/23}{使用 \opt{bibset} 选项时可设置标注风格。}
-% \changes{v1.24m}{2021/04/09}{可以不载入参考文献包手动配置参考文献格式。}
+% \changes{v1.24n}{2021/04/09}{可以不载入参考文献包手动配置参考文献格式。}
% \end{function}
%
% \begin{optdesc}
@@ -490,7 +490,7 @@ The latest version of this license is in
% \changes{v1.21}{2021/01/13}{增加配置页眉页脚的选项。}
% \changes{v1.23}{2021/03/08}{优化页眉页脚设置,增加 \opt{chap-mark} 和 \opt{sec-mark} 标志选项。}
% \changes{v1.23}{2021/03/14}{可以手动绘制页眉、页脚和脚注的横线。}
-% \changes{v1.24m}{2021/04/09}{增加 \opt{subsec-mark} 标志选项,仅在 \opt{article} 模式生效。}
+% \changes{v1.24n}{2021/04/09}{增加 \opt{subsec-mark} 标志选项,仅在 \opt{article} 模式生效。}
% \end{function}
%
% \begin{function}[added = 2021-01-13,updated = 2021-03-14]{\easyhead,\easyfoot}
@@ -560,8 +560,8 @@ The latest version of this license is in
% line-align = <(true)|false>
% \end{syntax}
% \opt{lolskip} 是代码目录中章之间的代码标题的距离,与\CTeX 的表格目录和图片目录中章之间的标题距离选项 \opt{lotskip} 和 \opt{lofskip} 类似,它们的值均默认0.8 pc,在 \opt{article} 模式中此选项失效。目录标签整体使用 \opt{tocline} 设置,也可使用小节 \ref{subsec:page margins} 的 \opt{list-labelsep} 选项只设置编号与标题的间距。在图表标签的参数中,\#1与\#2分别代表编号和标题,代码标签的编号和标题则是 \tn{thelstlisting} 和 \tn{lstcaption},标签中还可包含标签名称,默认标签名称与图、表和代码环境的标题名称一致。下面举个设置标签的例子
-% \changes{v1.24m}{2021/04/05}{可以设置图、表和代码目录的标签。}
-% \changes{v1.24m}{2021/04/06}{增加目录引导线右边对齐方式。}
+% \changes{v1.24n}{2021/04/05}{可以设置图、表和代码目录的标签。}
+% \changes{v1.24n}{2021/04/06}{增加目录引导线右边对齐方式。}
% \end{function}
%
% \begin{ctexexam}
@@ -594,7 +594,7 @@ The latest version of this license is in
% \tn{end}\marg{环境名}
% \end{syntax}
% \pkg{enumitem} 宏包为系统预置的列表环境 \env{enumerate}、\env{itemize}和 \env{description} 提供了更灵活的标签以及间距的控制,可使用 \tn{setlist} 命令设置原有的三种列表格式。已为三种列表预置了三个级别的格式可相互嵌套,默认标签与 \cls{book} 文档类相同,若自定义标签可例如
-% \changes{v1.24m}{2021/04/08}{重新优化列表环境的配置。}
+% \changes{v1.24n}{2021/04/08}{重新优化列表环境的配置。}
% \end{function}
%
% \begin{ctexexam}
@@ -667,7 +667,7 @@ The latest version of this license is in
%
% \subsection{盒子}
% \label{subsec:box}
-% 使用盒子以及小节 \ref{subsec:exercise} 中的 \env{exercise} 环境需要在导言区\textbf{手动载入} \pkg{tcolorbox} 宏包,它们的配置的选项同样由 \pkg{tcolorbox} 提供支持,具体选项可见宏包文档的 Option Keys 一节,可以进行边距、字体及背景颜色等各种个性化设置,一些配置会覆盖之前预置的设置。
+% 使用盒子以及小节 \ref{subsec:exercise} 中的 \env{exercise} 环境需要在导言区\textbf{手动载入} \pkg{tcolorbox} 宏包,它们的配置选项同样由 \pkg{tcolorbox} 提供支持,具体选项可见宏包文档的 Option Keys 一节,可以进行边距、字体及背景颜色等各种个性化设置,一些配置会覆盖之前预置的设置。
%
% \subsubsection{摘要盒子}
% \begin{function}[added = 2021-01-05,updated = 2021-03-19]{outline}
@@ -687,13 +687,13 @@ The latest version of this license is in
% \end{ctexexam}
%
% \subsubsection{段落盒子}
-% \begin{function}[added = 2021-01-05,updated = 2021-03-19]{easybox}
+% \begin{function}[added = 2021-01-05,updated = 2021-04-18]{easybox}
% \begin{syntax}
-% \tn{begin}\marg{easybox}\oarg{颜色名|(MintCream)}\parg{段落标题}\oarg{配置选项}
+% \tn{begin}\marg{easybox}*\oarg{颜色名|(DarkCyan)}\parg{段落标题}\oarg{配置选项}
% \ <盒子内容>
% \tn{end}\marg{easybox}
% \end{syntax}
-% 环境 \opt{easybox} 创建一个段落盒子,可以添加可选参数的标题,否则无标题框。当使用带有星号的环境时 \oarg{颜色名} 选项生效,可以自定义背景颜色,否则无背景颜色。
+% 环境 \env{easybox} 创建一个带有三个可选参数的扁平盒子。使用带有星号的环境时给盒子添加边框,\oarg{颜色名} 选项设置背景颜色,\parg{段落标题} 选项可以设置标题,默认无标题。
% \end{function}
%
% \begin{ctexexam}
@@ -704,6 +704,15 @@ The latest version of this license is in
% \end{easybox}
% \end{ctexexam}
%
+% \begin{function}[added = 2021-04-18]{ebparbox}
+% \begin{syntax}
+% \tn{begin}\marg{ebparbox}*\oarg{颜色名|(Purple)}\parg{段落标题}\oarg{配置选项}
+% \ <盒子内容>
+% \tn{end}\marg{ebparbox}
+% \end{syntax}
+% 环境 \env{ebparbox} 与 \env{easybox} 类似,同样带有三个可选参数。当使用带有星号的环境时盒子左边带有一条竖线,\oarg{颜色名} 选项可以自定义竖线颜色,使用不带有星号的环境则盒子带有竖线颜色的浅色背景。\parg{段落标题} 选项可以设置标题,默认无标题。
+% \end{function}
+%
% \subsubsection{行内盒子}
% \begin{function}[added = 2021-03-13]{\concise,\fuzzy}
% \begin{syntax}
@@ -760,7 +769,7 @@ The latest version of this license is in
% \tn{labelformat}\marg{计数器}\marg{标签引用格式}
% \end{syntax}
% 使用 \tn{ref} 命令进行引用将会自动检测环境并添加相应的前缀,\tn{labelformat} 可以设置标签引用格式,第二个参数中\#1代表 \tn{the}\meta{计数器},可以设置引用序号的前缀和后缀。
-% \changes{v1.24m}{2021/04/11}{取消载入 \pkg{cleveref} 宏包来交叉引用。}
+% \changes{v1.24n}{2021/04/11}{取消载入 \pkg{cleveref} 宏包来交叉引用。}
% \end{function}
%
% \subsubsection{索引}
@@ -870,7 +879,7 @@ The latest version of this license is in
%<*class>
\NeedsTeXFormat{LaTeX2e}[2020/10/01]
\RequirePackage{l3keys2e,etoolbox}
-\ProvidesExplClass{easybook}{2021/04/17}{1.24m}{beta}
+\ProvidesExplClass{easybook}{2021/04/18}{1.24n}{beta}
\cs_generate_variant:Nn \__ctex_define:nn {nx}
\cs_generate_variant:Nn \int_to_arabic:n {v}
@@ -1342,8 +1351,8 @@ The latest version of this license is in
\bool_if:NT \l__eb_draft_bool
{
\bool_if:NTF \l__eb_page_twoside_bool
- {\easyfoot[C]{\color{gray!60}\sffamily\today}}
- {\easyhead[C]{\color{gray!60}\sffamily\today}}
+ {\easyfoot[C]{\color{SlateGray}\sffamily\today}}
+ {\easyhead[C]{\color{SlateGray}\sffamily\today}}
\geometry{showframe}
}
}
@@ -1992,7 +2001,7 @@ The latest version of this license is in
enhanced~jigsaw,pad~at~break* = 3pt,
opacityback = 0,
colframe = ctex@emph,
- left = .2pc,right = .2pc,top = .5pc,bottom = .5pc,middle= .5pc,
+ left = 6pt,right = 6pt,top = 8pt,bottom = 8pt,middle= 8pt,
arc = 0pt
},
tc-outline/.style =
@@ -2004,21 +2013,20 @@ The latest version of this license is in
fonttitle = \large\sffamily,fontupper = \itshape,
boxed~title~style = {size = normal,opacityframe = 0,boxrule = 0pt},
attach~boxed~title~to~top~center = {yshift = -\tcboxedtitleheight/2},
- arc = 3pt,
+ arc = 3pt,boxsep = 5pt,
after~skip = 3ex,
- left = 1.5pc,right = 1.5pc,top = 1pc,bottom = 0.5pc,
- boxsep = 5pt
+ left = 1.5pc,right = 1.5pc,top = 1pc,bottom = 0.5pc
},
tc-exercise/.style =
{
enhanced,on~line,
- arc = 5pt,
fontupper = \sffamily\Large,
- boxrule = 1pt,boxsep = 0pt,
+ boxrule = 1pt,arc = 5pt,
left = 6pt,right = 6pt,top = 3.5pt,bottom = 3.5pt,
before~skip = 4ex,after~skip = 2.25ex
},
breakable,
+ boxsep = 0pt,
boxrule = \l__eb_rule_width_dim
}
\NewDocumentEnvironment{outline}{D(){\abstractname}o+b}
@@ -2065,20 +2073,44 @@ The latest version of this license is in
#6
\end{enumerate}
}{}
- \DeclareTColorBox{easybox}{sO{MintCream}d()O{}}
+ \DeclareTColorBox{easybox}{sO{DarkCyan}d()O{}}
{
enhanced~jigsaw,pad~at~break* = 3pt,
- IfBooleanTF = {#1}{colback = #2}{opacityback = 0,colframe = ctex@emph},
+ IfBooleanTF = {#1}
+ {toptitle = 8pt,top = 8pt}
+ {frame~hidden,boxrule = 0pt,toptitle = 8pt,top = 0pt},
IfValueT = {#3}{title = #3},
- coltitle = black,colbacktitle = white,
+ colback = #2!8!white,colbacktitle = #2!8!white,
+ coltitle = black,colframe = black,
fonttitle = \sffamily,
- left = .2pc,right = .2pc,top = .5pc,bottom = .5pc,middle= .5pc,
- arc = 0pt,
- toptitle = 2pt,bottomtitle = 2pt,
- beforeafter~skip=2ex,
+ left = 6pt,right = 6pt,bottom = 8pt,middle= 8pt,
+ bottomtitle = 8pt,arc = 0pt,
+ beforeafter~skip = 2ex,
halign~upper = left,halign~lower = left,
center~title,#4
}
+ \DeclareTColorBox{ebparbox}{sO{Purple}d()O{}}
+ {
+ frame~hidden,
+ enhanced~jigsaw,pad~at~break* = 3pt,
+ boxrule = 0pt,
+ borderline~west = {3pt}{0pt}{#2},
+ IfBooleanTF = {#1}
+ {
+ colback = white,
+ IfValueT = {#3}{title = #3},
+ top = 0pt,bottom = 0pt,toptitle = 0pt
+ }{
+ colback = #2!8!white,colbacktitle = #2!8!white,
+ IfValueTF = {#3}{title = #3,top = 0pt}{top = 8pt},
+ bottom = 8pt,toptitle = 8pt
+ },
+ left = 8pt,right = 8pt,middle= 8pt,
+ bottomtitle = 8pt,arc = 0pt,
+ beforeafter~skip = 1.5ex,
+ colframe = #2,coltitle = #2,
+ fonttitle = \sffamily,#4
+ }
\DeclareTotalTCBox{\fuzzy}{O{DarkSeaGreen}vO{}}
{
nobeforeafter,tcbox~raise~base,
@@ -2249,6 +2281,7 @@ The latest version of this license is in
}
\__eb_patch_cmd:Nnn \@makefnmark
{\normalfont}{\l__eb_font_footnote_tl}
+\cs_gset:Npn \thempfootnote{\int_to_alph:n {\c@mpfootnote}}
\lstdefinestyle{easy-lst-sty}
{
@@ -2285,7 +2318,7 @@ The latest version of this license is in
framesep = 3pt,
frame = single,
rulecolor = \color{ctex@frame},
- commentstyle = \color{gray},
+ commentstyle = \color{SlateGray},
emphstyle = \color{ctex@emph},
emph = {caption,multirow,subcaption,tabularx},
morekeywords =
@@ -2376,12 +2409,12 @@ The latest version of this license is in
{
{fresh, 62d71f,0000B2,005752},
{cutepink, ff69b4,9d5196,57b5e5},
- {skyblue, 0000ff,004986,eb6877},
+ {navyblue, 000080,004986,eb6877},
{crimson, dc143c,00c1c9,afcd20}
}
\__eb_linkcolor_set:n
- linkcolor .default:n = fresh,
- linkcolor .initial:n = fresh,
+ linkcolor .default:n = navyblue,
+ linkcolor .initial:n = navyblue,
linkcol-all .code:n = \__eb_define_linkcolor:n {\exp_not:n {#1}},
linktoc .choice:,
@@ -2406,7 +2439,7 @@ The latest version of this license is in
\clist_map_function:nN
{
{none, 000000,000000,000000},
- {seaside, 4682B4,004986,2E8B57},
+ {seaside, 4169e1,708090,9932cc},
{energy, f39800,00a0e9,893895},
{cyberpunk, 601986,eb6877,a4005b}
}
diff --git a/macros/latex/contrib/fontsize/fontsize.dtx b/macros/latex/contrib/fontsize/fontsize.dtx
index cde1960fad..9c9c7fdeb5 100644
--- a/macros/latex/contrib/fontsize/fontsize.dtx
+++ b/macros/latex/contrib/fontsize/fontsize.dtx
@@ -56,7 +56,7 @@ This work has the LPPL maintenance status "author-maintained".
%<package>\NeedsTeXFormat{LaTeX2e}[2005/12/01]
%<package>\ProvidesPackage{fontsize}
%<*package>
- [2021/04/17 v0.8.2 'fontsize' package. Set main font sizes (Ivan Valbusa)]
+ [2021/04/18 v0.8.3 'fontsize' package. Set main font sizes (Ivan Valbusa)]
%</package>
%<*driver>
\documentclass[12pt]{ltxdoc}
@@ -268,7 +268,7 @@ This work has the LPPL maintenance status "author-maintained".
%</driver>
% \fi
%
-% \CheckSum{3067}
+% \CheckSum{3068}
%
% \CharacterTable
% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
@@ -287,9 +287,11 @@ This work has the LPPL maintenance status "author-maintained".
% Right brace \} Tilde \~}
%
%
+% \changes{v0.8.3}{2021/04/18}{Corrected a bug in the \cmd{parindent} option.
+% Updated documentation.}
% \changes{v0.8.2}{2021/04/17}{New \cmd{parindent} option. Updated documentation.}
% \changes{v0.8.1}{2021/03/14}{New \cmd{sampletext} command.
- % Some lengths are now defined via \sty{xfp} package. Removed \cmd{headheight} definition. Updated documentation.}
+% Some lengths are now defined via \sty{xfp} package. Removed \cmd{headheight} definition. Updated documentation.}
% \changes{v0.8}{2021/03/04}{Corrected a bug occuring when the line spacing is grater than \SI{163.84}{pt}.}
% \changes{v0.7}{2021/02/10}{New font sizing commands \cmd{HUGE}, \cmd{HUGEr}, \cmd{HUGErr}, \cmd{HUGErrr}. Changed default name for the \file{.clo} file to \opt{fontsize}. Updated documentation.}
% \changes{v0.6}{2021/02/06}{New font sizing commands from \cmd{small} down. Updated documentation.}
@@ -451,14 +453,34 @@ This work has the LPPL maintenance status "author-maintained".
% You can use any unit recognized by \TeX\ and you can
% omit the unit as well (in which case it defaults to \texttt{pt}).
%
-%^^A \begin{footnotesize}
+% \begin{footnotesize}
%
-%^^A As \sty{fontsize} takes effect after the class is loaded, you should
-%^^A set a font size class option (if available) that comes close to the one
-%^^A loaded by the package. For example,
-%^^A if you set \opt{fontsize=12.2pt} you should load the class option \opt{12pt}.
+% Note that \sty{fontsize} does not redefine some commands of the standard
+% \textit{.clo} files such as those related to the page layout and few others.
+% For example the \opt{12pt} class option redefine \cmd{Huge} (via |\let\Huge=\huge|)
+% which is not redefined by \opt{fontsize=12pt}. For these reasons, if possible, you
+% should always set a font size class option that comes close to the one
+% loaded by the package. For example with \opt{fontsize=12.2pt}
+% you should load the \opt{12pt} class option.
%
-%^^A \end{footnotesize}
+% \end{footnotesize}
+%
+% \optitem[1.5\meta{fontsize}]{parindent}{\meta{dimen}}
+%
+% Sets the value of \cmd{parindent}. You can use any unit recognized by
+% \TeX\ but for consistency it is preferable to use a
+% font-dependent unit such as em.
+%
+% \begin{footnotesize}
+%
+% Note that the "em" is simply an arbitrary unit that comes with a particular font.
+% The value of \cmd{parindent} given in ems depends on both the font used and
+% on how or where it is set: whether before or after
+% |\begin{document}|. For this reason, don't expect \SI{1}{em} to always be equivalent
+% to the currently specified \meta{fontsize}. If you don't like this behavior,
+% use absolute units such as pt, cm or mm.
+%
+% \end{footnotesize}
%
% \optitem[fontsize]{cloname}{\meta{name}}
%
@@ -473,12 +495,6 @@ This work has the LPPL maintenance status "author-maintained".
%^^A \file{fontsize-std11pt.clo} or
%^^A \file{fontsize-std11pt.clo} will be used,
%
-% \optitem[1.5em]{parindent}{\meta{dimen}}
-%
-% Sets the value of \cmd{parindent}. You can use any unit recognized by
-% \TeX\ but for consistency it is preferable to use a
-% font-dependent unit such as em.
-%
% \end{optionlist*}
%
%^^A---------------------------------------------------------------------
@@ -607,7 +623,7 @@ This work has the LPPL maintenance status "author-maintained".
% \tcmd{HUGErrr} & \HUGErrr \fshw
% \end{tabular}
% }
-%\medskip
+%\bigskip
%
%\alert If you want these commands to work as expected, the font must be
% smoothly scalable.
@@ -754,13 +770,14 @@ This work has the LPPL maintenance status "author-maintained".
% while the \sty{xfp} package \parencite{xfp} provides the \cmd{fpeval} command
% to use instead of \cmd{dimexpr} for some size calculations.
% Only two new package options, called \opt{cloname} and \opt{parindent}
-% are defined.
+% are defined.
+%
% \baddition
% \begin{macrocode}
\@ifpackageloaded{xkeyval}{}{\RequirePackage{xkeyval}}
\@ifpackageloaded{xfp}{}{\RequirePackage{xfp}}
\DeclareOptionX{cloname}[fontsize]{\def\@fontsizefilebase{#1}}
-\DeclareOptionX{parindent}[1.5em]{\def\@fontsizeparindent{#1}}
+\DeclareOptionX{parindent}[1.5\@tempdimb]{\def\@fontsizeparindent{#1}}
% \end{macrocode}
% \eaddition
%
@@ -1270,11 +1287,7 @@ This work has the LPPL maintenance status "author-maintained".
% \end{macrocode}
% The KOMA files do not define \cmd{parindent} and other lengths that are
% are strictly linked to the font rather than to the dimensions of the page
-% and the text. So we first define \cmd{parindent}.
-% The value of \cmd{@fontsizeparindent} is controlled by the
-% \opt{parindent} option which defaults to
-% \SI{1.5}{em} and corresponds approximately to the values adopted
-% in the \file{bk*.clo} files for one-column documents:
+% and the text. So we first define \cmd{parindent} which defaults to 1.5\meta{fontsize}:
% \baddition
% \begin{macrocode}
\setlength\parindent{\@fontsizeparindent}%
diff --git a/macros/latex/contrib/fontsize/fontsize.pdf b/macros/latex/contrib/fontsize/fontsize.pdf
index 5afc85d3dc..7dd7a0d45b 100644
--- a/macros/latex/contrib/fontsize/fontsize.pdf
+++ b/macros/latex/contrib/fontsize/fontsize.pdf
Binary files differ
diff --git a/macros/latex/contrib/huawei/README.md b/macros/latex/contrib/huawei/README.md
new file mode 100644
index 0000000000..ddb9d7db34
--- /dev/null
+++ b/macros/latex/contrib/huawei/README.md
@@ -0,0 +1,29 @@
+Disclaimer: This is **NOT** a product of Huawei Technologies Co., Ltd.
+This package is created in order to help some people working
+with Huawei or inside Huawei to render some documents in LaTeX format.
+You are welcome to use it at your own risk.
+
+You can use this [`huawei.cls`](huawei.cls) LaTeX style just by copying it to some local
+directory and then mentioning it in the preamble of all your documents
+(on my laptop it's called `/code/huawei.cls`):
+
+```tex
+\documentclass[landscape]{/code/huawei}
+\author{Yegor Bugayenko}
+\title{An Interesting Document About Something}
+\begin{document}
+Hello, world!
+\end{document}
+```
+
+Find more examples in the [`samples/`](/samples) directory.
+
+If you need more formatting options,
+[submit an issue](https://github.com/cqfn/huawei-latex/issues),
+I'll implement them.
+
+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/huawei/huawei.cls b/macros/latex/contrib/huawei/huawei.cls
new file mode 100644
index 0000000000..7ea0170c9c
--- /dev/null
+++ b/macros/latex/contrib/huawei/huawei.cls
@@ -0,0 +1,311 @@
+% (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}
+\ProvidesClass{huawei}[17/4/2021 0.1.0 Template for Huawei documents]
+\newif\ifnosecurity
+\DeclareOption{nosecurity}{\nosecuritytrue}
+\newif\ifnobrand
+\DeclareOption{nobrand}{\nobrandtrue}
+\newif\ifnodate
+\DeclareOption{nodate}{\nodatetrue}
+\newif\ifnopaging
+\DeclareOption{nopaging}{\nopagingtrue}
+\newif\iflandscape
+\DeclareOption{landscape}{\landscapetrue}
+\newif\ifanonymous
+\DeclareOption{anonymous}{\anonymoustrue}
+\ProcessOptions\relax
+\LoadClass[12pt]{article}
+\RequirePackage{geometry}
+\iflandscape
+ \geometry{paperwidth=16in, paperheight=9in, left=4in, right=2in, top=1.5in, bottom=1.5in}
+\else
+ \geometry{a4paper, left=1.5in, right=1in, top=1.2in, bottom=1.2in}
+\fi
+\RequirePackage[T1]{fontenc}
+\RequirePackage[utf8]{inputenc}
+\RequirePackage{CJKutf8}
+\RequirePackage{tabularx}
+\RequirePackage{multicol}
+\RequirePackage[mmddyyyy,iso,hhmmss]{datetime}
+\RequirePackage[tt=false,type1=true]{libertine}
+\RequirePackage{paralist}
+\RequirePackage{makecell}
+\RequirePackage[para]{footmisc}
+ \setlength{\footnotemargin}{2pt}
+ \setlength{\footnotesep}{2pt}
+\RequirePackage{minted}
+ \setminted{breaklines}
+ \usemintedstyle{bw}
+ \renewcommand{\theFancyVerbLine}{\textcolor{gray}{\tiny\oldstylenums{\ttfamily\arabic{FancyVerbLine}}}}
+ \setminted{firstnumber=last,linenos,numbersep=2pt,framesep=6pt,framerule=1pt,rulecolor=gray,frame=leftline,escapeinside=||,mathescape,samepage}
+\RequirePackage{graphicx}
+\RequirePackage{array}
+\RequirePackage[abspath]{currfile}
+\RequirePackage{enumitem}
+ \setlist{nosep}
+\RequirePackage{microtype}
+\RequirePackage{wrapfig}
+\RequirePackage{lastpage}
+\RequirePackage{xfp} % for \setrelativestretch
+\RequirePackage{setspace}
+ \setstretch{1.08}
+ \newcommand{\setrelativestretch}[1]{%
+ \begingroup\edef\x{\endgroup%
+ \noexpand\setstretch{\fpeval{(#1)*(\baselinestretch)}}%
+ }\x%
+ }
+\RequirePackage[table]{xcolor}
+ \definecolor{huawei-red}{HTML}{CF0A2C}
+ \definecolor{huawei-black}{HTML}{232527}
+\RequirePackage{tikz}
+\RequirePackage{tabularx}
+\RequirePackage{titling}
+\RequirePackage{fancyhdr}
+ \pagestyle{empty}
+\RequirePackage{everypage}
+\RequirePackage{svg}
+\RequirePackage[normalem]{ulem}
+\RequirePackage[hidelinks]{hyperref}
+ \makeatletter\begingroup
+ \catcode`\$=6 %
+ \catcode`\#=12 %
+ \gdef\href@split$1#$2#$3\\$4{%
+ \hyper@@link{$1}{$2}{\uline{$4}}%
+ \endgroup
+ }%
+ \endgroup\makeatother
+\RequirePackage[absolute]{textpos}\TPGrid{16}{16}
+
+\newcommand\LeftHuaweiBar{%
+ \begin{textblock}{1}[0,0](0,0)%
+ \tikz \node[fill=huawei-red,minimum width=\TPHorizModule,minimum height=16\TPVertModule] {};%
+ \end{textblock}%
+}
+
+% Our custom commands to redefine:
+\renewcommand\title[1]{\renewcommand\thetitle{#1}}
+\newcommand\thetitle{Untitled}
+\newcommand*\thecompany{Huawei Technologies Co., Ltd.}
+\newcommand\thesubtitle{}
+\renewcommand\author[1]{\renewcommand\theauthor{#1}}
+\newcommand\theauthor{Unknown}
+\newcommand*\thesecurity{Confidential}
+\newcommand*\theid{}
+
+% Custom commands
+\newcommand\nospell[1]{#1}
+\newcommand\headers[1]{{\small\sffamily\color{gray}#1}}
+\newcommand\tbd[1]{{\color{red}#1}}
+\newcommand\crumb[2]{\begin{minipage}{\columnwidth}\raggedright\textsc{#1}:\\#2\end{minipage}\vspace{4pt}}
+\RequirePackage{tcolorbox}
+ \newtcbox{\codebox}{nobeforeafter,colframe=gray!80!white,colback=gray!5!white,boxrule=0.1pt,arc=1pt,
+ boxsep=1.2pt,left=0.5pt,right=0.5pt,top=0.2pt,bottom=0.2pt,tcbox raise base}
+\newcommand{\ff}[1]{\codebox{\vrule height 6pt depth 1pt width 0pt\texttt{#1}}}
+
+\AtBeginDocument{%
+ \raggedbottom%
+ \setlength{\topskip}{0mm}%
+ \setlength{\parindent}{0pt}%
+ \setlength{\parskip}{6pt}%
+ \setlength{\columnsep}{32pt}%
+ \def\arraystretch{1.5}%
+}
+
+\newcommand\PrintFirstPage[1]{
+ \LeftHuaweiBar{}
+ \def\param{#1}%
+ \ifx\param\empty
+ % nothing
+ \else
+ \includegraphics[height=2in]{#1}
+ \fi
+ \vspace*{0.5in}
+ \maketitle
+}
+
+\AddEverypageHook{%
+ \LeftHuaweiBar{}
+ \ifnobrand%
+ % nothing here
+ \else%
+ \begin{textblock}{8}[0,0](1.2,0.2)%
+ \begin{tikzpicture}[y=0.80pt, x=0.80pt, yscale=-1, inner sep=0pt, outer sep=0pt]
+ \begin{scope}[even odd rule,line width=0.800pt]
+ \begin{scope}[shift={(0,-0.00024)}]
+ \path[fill=huawei-black] (10.9375,30.2240) -- (10.9375,33.6097) .. controls (10.9375,34.5713) and (10.4603,35.0845) .. (9.5932,35.0845) .. controls (8.7212,35.0845) and (8.2411,34.5565) .. (8.2411,33.5686) -- (8.2411,30.2278) -- (7.0415,30.2278) -- (7.0415,33.6097) .. controls (7.0415,35.2737) and (7.9658,36.2272) .. (9.5774,36.2272) .. controls (11.2041,36.2272) and (12.1371,35.2554) .. (12.1371,33.5609) -- (12.1371,30.2240) -- (10.9375,30.2240) -- cycle;
+ \path[fill=huawei-black] (15.3511,30.2240) -- (12.7456,36.1351) -- (13.9702,36.1351) -- (14.4731,34.9903) -- (14.5091,34.9045) -- (17.2158,34.9045) -- (17.7467,36.1351) -- (19.0045,36.1351) -- (16.4233,30.2590) -- (16.4001,30.2240) -- cycle;
+ \path[fill=huawei-black] (22.4840,30.2240) -- (21.1414,34.2912) -- (19.8344,30.2271) -- (18.5578,30.2271) -- (20.6186,36.1388) -- (21.6120,36.1388) -- (22.9573,32.2553) -- (24.3016,36.1388) -- (25.3034,36.1388) -- (27.3592,30.2271) -- (26.1152,30.2271) -- (24.8055,34.2912) -- (23.4626,30.2240) -- cycle;
+ \path[fill=huawei-black] (34.2236,30.2240) -- (34.2236,36.1300) -- (35.4074,36.1300) -- (35.4074,30.2240) -- cycle;
+ \path[fill=huawei-black] (0.2686,30.2244) -- (0.2686,36.1384) -- (1.4686,36.1384) -- (1.4686,33.7365) -- (4.1780,33.7365) -- (4.1780,36.1384) -- (5.3783,36.1384) -- (5.3783,30.2244) -- (4.1780,30.2244) -- (4.1780,32.6102) -- (1.4686,32.6102) -- (1.4686,30.2244) -- cycle;
+ \path[fill=huawei-black] (28.3267,30.2284) -- (28.3267,36.1344) -- (32.7928,36.1344) -- (32.7928,35.0575) -- (29.5105,35.0575) -- (29.5105,33.5931) -- (31.6931,33.5931) -- (31.6931,32.5160) -- (29.5105,32.5160) -- (29.5105,31.3052) -- (32.6785,31.3052) -- (32.6785,30.2284) -- cycle;
+ \path[fill=white] (15.8594,31.7207) -- (16.7149,33.7008) -- (16.7119,33.7008) -- (16.7701,33.8374) -- (14.9552,33.8374) -- (15.0127,33.7008) -- (15.0117,33.7008) -- cycle;
+ \path[fill=huawei-red] (15.2113,0.0001) .. controls (14.7353,0.0422) and (13.4491,0.3349) .. (13.4491,0.3349) -- (13.4486,0.3349) .. controls (10.5495,1.0843) and (9.8643,3.7151) .. (9.8643,3.7151) .. controls (9.7227,4.1575) and (9.6584,4.6109) .. (9.6395,5.0380) -- (9.6395,5.6194) .. controls (9.6780,6.5176) and (9.8777,7.1883) .. (9.8777,7.1883) .. controls (10.8461,11.4823) and (15.6075,18.5379) .. (16.6308,20.0200) .. controls (16.7034,20.0920) and (16.7615,20.0660) .. (16.7615,20.0660) .. controls (16.8720,20.0355) and (16.8633,19.9296) .. (16.8633,19.9296) -- (16.8654,19.9301) .. controls (18.4416,4.1760) and (15.2113,0.0001) .. (15.2113,0.0001) -- (15.2113,0.0001) -- cycle;
+ \path[fill=huawei-red] (20.4192,0.0000) .. controls (20.4192,0.0000) and (17.1748,4.1782) .. (18.7521,19.9415) -- (18.7542,19.9415) .. controls (18.7664,20.0416) and (18.8374,20.0624) .. (18.8374,20.0624) .. controls (18.9430,20.1033) and (18.9971,20.0019) .. (18.9971,20.0019) -- (18.9976,20.0029) .. controls (20.0472,18.4829) and (24.7814,11.4657) .. (25.7455,7.1882) .. controls (25.7455,7.1882) and (26.2683,5.1179) .. (25.7636,3.7150) .. controls (25.7636,3.7150) and (25.0470,1.0434) .. (22.1442,0.3375) .. controls (22.1442,0.3375) and (21.3077,0.1251) .. (20.4193,0.0000) -- (20.4192,0.0000) -- cycle;
+ \path[fill=huawei-red] (5.4542,4.7294) .. controls (5.4542,4.7294) and (2.6920,7.3513) .. (2.5547,10.1307) -- (2.5558,10.1307) -- (2.5558,10.5519) .. controls (2.5579,10.5836) and (2.5595,10.6157) .. (2.5615,10.6480) .. controls (2.6804,12.8893) and (4.3665,14.2157) .. (4.3665,14.2157) .. controls (7.0831,16.8634) and (13.6611,20.2062) .. (15.1896,20.9647) .. controls (15.2110,20.9727) and (15.2900,20.9985) .. (15.3364,20.9399) .. controls (15.3364,20.9399) and (15.3605,20.9216) .. (15.3715,20.8887) -- (15.3715,20.8189) .. controls (15.3704,20.8149) and (15.3683,20.8109) .. (15.3663,20.8065) -- (15.3669,20.8065) .. controls (11.1809,11.6620) and (5.4543,4.7294) .. (5.4543,4.7294) -- (5.4542,4.7294) -- cycle;
+ \path[fill=huawei-red] (30.1695,4.7294) .. controls (30.1695,4.7294) and (24.4602,11.6403) .. (20.2761,20.7662) -- (20.2777,20.7657) .. controls (20.2777,20.7657) and (20.2283,20.8715) .. (20.3082,20.9399) .. controls (20.3082,20.9399) and (20.3320,20.9579) .. (20.3650,20.9652) -- (20.4229,20.9652) .. controls (20.4333,20.9622) and (20.4444,20.9582) .. (20.4554,20.9507) -- (20.4554,20.9517) .. controls (22.0255,20.1724) and (28.5525,16.8516) .. (31.2563,14.2162) .. controls (31.2563,14.2162) and (32.9686,12.8412) .. (33.0583,10.6334) .. controls (33.2560,7.5672) and (30.1696,4.7294) .. (30.1696,4.7294) -- (30.1695,4.7294) -- cycle;
+ \path[fill=huawei-red] (35.3082,13.8080) .. controls (35.3082,13.8080) and (26.0003,18.8031) .. (21.1876,22.0494) -- (21.1882,22.0499) -- (21.1893,22.0509) .. controls (21.1893,22.0509) and (21.1019,22.1081) .. (21.1324,22.2106) .. controls (21.1324,22.2106) and (21.1781,22.2933) .. (21.2446,22.2933) -- (21.2446,22.2938) .. controls (22.9684,22.2968) and (29.4914,22.3041) .. (29.6549,22.2736) .. controls (29.6549,22.2736) and (30.4983,22.2399) .. (31.5406,21.8395) .. controls (31.5406,21.8395) and (33.8608,21.1019) .. (35.0659,18.4677) .. controls (35.0659,18.4677) and (35.6166,17.3662) .. (35.6246,15.8187) -- (35.6246,15.7531) .. controls (35.6206,15.1563) and (35.5365,14.4957) .. (35.3083,13.8080) -- (35.3082,13.8080) -- cycle;
+ \path[fill=huawei-red] (0.3129,13.8313) .. controls (-0.5339,16.4531) and (0.6062,18.5656) .. (0.6080,18.5690) .. controls (1.7962,21.0795) and (4.0641,21.8401) .. (4.0641,21.8401) .. controls (5.1112,22.2703) and (6.1586,22.3000) .. (6.1586,22.3000) .. controls (6.3221,22.3300) and (12.6713,22.3030) .. (14.3725,22.2950) .. controls (14.4445,22.2945) and (14.4842,22.2221) .. (14.4842,22.2221) .. controls (14.4892,22.2142) and (14.4936,22.2062) .. (14.4955,22.1989) -- (14.4955,22.1333) .. controls (14.4814,22.0893) and (14.4439,22.0584) .. (14.4439,22.0584) -- (14.4450,22.0578) .. controls (9.6347,18.8126) and (0.3130,13.8315) .. (0.3130,13.8315) -- (0.3129,13.8313) -- cycle;
+ \path[fill=huawei-red] (14.1782,23.1010) -- (3.2285,23.4850) .. controls (4.4160,25.6018) and (6.4158,27.2469) .. (8.4990,26.7416) .. controls (9.9366,26.3822) and (13.1935,24.1105) .. (14.2687,23.3429) -- (14.2651,23.3399) .. controls (14.3487,23.2648) and (14.3188,23.2045) .. (14.3188,23.2045) .. controls (14.2913,23.1062) and (14.1783,23.1063) .. (14.1783,23.1063) -- (14.1782,23.1010) -- cycle;
+ \path[fill=huawei-red] (21.4305,23.1090) -- (21.4294,23.1130) .. controls (21.4294,23.1130) and (21.3333,23.1252) .. (21.3064,23.1972) .. controls (21.3064,23.1972) and (21.2831,23.2956) .. (21.3478,23.3445) -- (21.3467,23.3455) .. controls (22.3950,24.0973) and (25.5729,26.3191) .. (27.1039,26.7505) .. controls (27.1039,26.7505) and (27.3359,26.8294) .. (27.7246,26.8435) -- (27.9581,26.8435) .. controls (28.9839,26.8075) and (30.7708,26.2805) .. (32.3946,23.4907) -- (21.4305,23.1090) -- cycle;
+ \end{scope}%
+ \end{scope}%
+ \end{tikzpicture}%
+ \end{textblock}%
+ \fi%
+ \begin{textblock}{8}[1,0](15.8,0.2)%
+ \raggedleft\headers{%
+ \ifnosecurity%
+ % nothing here
+ \else%
+ \thesecurity
+ \fi%
+ }%
+ \end{textblock}%
+ \begin{textblock}{8}[0,1](1.2,15.8)%
+ \headers{%
+ \ifanonymous%
+ % nothing here
+ \else%
+ \theauthor%
+ \ifnosecurity%
+ % nothing here
+ \else,
+ \theid
+ \fi%
+ \ifnobrand%
+ % nothing here
+ \else%
+ \\[2pt]
+ \fi%
+ \fi%
+ \ifnobrand%
+ % nothing here
+ \else%
+ \thecompany{}
+ \fi%
+ }%
+ \end{textblock}%
+ \begin{textblock}{8}[1,1](15.8,15.8)%
+ \raggedleft\headers{%
+ \ifnopaging%
+ % nothing here
+ \else%
+ Page \#\thepage{} of \pageref*{LastPage}
+ \ifnodate%
+ % nothing here
+ \else%
+ \\[2pt]
+ \fi%
+ \fi%
+ \ifnodate%
+ % nothing here
+ \else%
+ \today{} \currenttime
+ \fi%
+ }%
+ \end{textblock}%
+}
+
+\renewcommand\maketitle{%
+\vspace*{18pt}
+{\bfseries{\Huge\thetitle}}
+\\[6pt]
+\ifx\thesubtitle\empty\else%
+ {\color{gray!50!black}\large\thesubtitle}
+\fi
+\\[18pt]
+\ifx\theauthor\empty\else%
+ {\scshape\theauthor}\\
+\fi
+\ifx\theauthor\empty\else%
+ {\theid}
+\fi
+\vspace{2em}
+}
+
+\newcommand\PrintThankYouPage{
+ \newpage
+ \vspace*{\fill}
+ \begin{center}
+ {\Huge\color{huawei-red}\textbf{Thank you!}}
+ \end{center}
+ \vspace*{\fill}
+}
+
+\newcommand\PrintDisclaimer{%
+ \vspace*{\fill}\setrelativestretch{0.55}{{\sffamily\scriptsize\color{gray!50!black}%
+ \textbf{Disclaimer}: The opinions expressed in this document are in good faith and
+ while every care has been taken in preparing it,
+ \ifnobrand%
+ the author%
+ \else%
+ \thecompany{}%
+ \fi
+ makes no representations and gives no warranties of whatever
+ nature in respect of these documents, including but not limited to the
+ accuracy or completeness of any information, facts and/or opinions contained therein.
+ \ifnobrand%
+ The author%
+ \else%
+ \thecompany{}%
+ \fi,
+ its subsidiaries, the directors, employees and agents
+ cannot be held liable for the use of and reliance of the opinions, estimates, forecasts and
+ findings in these documents.}}}
+
+\newcommand\PrintLastPage{
+ \newpage
+ \vspace*{1in}
+ \begin{center}
+ \begin{minipage}{0.6\columnwidth}\raggedright
+ \setlength{\parskip}{6pt}
+ {\Huge\color{huawei-red}\textbf{Thank you!}}
+
+ \vspace{0.5in}
+
+ \begin{CJK}{UTF8}{gbsn}
+ 把数字世界带入每个人、每个家庭、
每个组织,构建万物互联的智能世界。
+ \end{CJK}
+
+ Bring digital to every person, home and
+ organization for a fully connected,
+ intelligent world.
+
+ \textbf{Copyright \copyright{} \the\year{} \thecompany{}\\
+ All Rights Reserved.}
+
+ The information in this document may contain predictive
+ statements including, without limitation, statements regarding
+ the future financial and operating results, future product
+ portfolio, new technology, etc. There are a number of factors that
+ could cause actual results and developments to differ materially
+ from those expressed or implied in the predictive statements.
+ Therefore, such information is provided for reference purpose
+ only and constitutes neither an offer nor an acceptance. \thecompany{}
+ may change the information at any time without notice.
+ \end{minipage}
+ \end{center}%
+}
+
+\endinput \ No newline at end of file
diff --git a/macros/latex/contrib/huawei/huawei.pdf b/macros/latex/contrib/huawei/huawei.pdf
new file mode 100644
index 0000000000..d0341ad561
--- /dev/null
+++ b/macros/latex/contrib/huawei/huawei.pdf
Binary files differ
diff --git a/macros/latex/contrib/huawei/huawei.tex b/macros/latex/contrib/huawei/huawei.tex
new file mode 100644
index 0000000000..adacc3b092
--- /dev/null
+++ b/macros/latex/contrib/huawei/huawei.tex
@@ -0,0 +1,223 @@
+\documentclass[nobrand,nosecurity]{./huawei}
+\renewcommand*\thetitle{\LaTeX{} Class \ff{huawei}}
+\renewcommand*\thesubtitle{User's Guide}
+\renewcommand*\theauthor{\nospell{Yegor Bugayenko}}
+\begin{document}
+\maketitle
+
+\ff{Version 0.1.0}
+
+\section{Overview}
+
+The provided class \ff{huawei} helps you design your work
+documents and presentations keeping the code short and the
+style elegant enough both for management and technical
+papers. To use the class you simply mention its name
+in the preamble:
+
+\begin{minted}{text}
+\documentclass{huawei}
+\begin{document}
+Hello, world!
+\end{document}
+\end{minted}
+
+The document rendered from this \LaTeX{} code will look similar
+to the document you are reading now. We recommend you to use
+\ff{latexmk} to compile your \ff{.tex} files to \ff{.pdf}.
+The simplest setup will require a few files staying next to your
+\ff{.tex} file, in the same directory (``story'' is the name
+of your project here):
+
+\begin{minted}{text}
+story\
+ .latexmkrc
+ .gitignore
+ Makefile
+ story.tex
+\end{minted}
+
+The content of your \ff{.latexmkrc} file would be this:
+
+\begin{minted}{text}
+$pdflatex = 'pdflatex %O --shell-escape %S';
+\end{minted}
+
+Make sure the \ff{.gitignore} file lists all the files generated
+by \ff{pdflatex} during the compilation. You don't need to commit
+them to your repository, since they are temporary and will
+be generated again when you compile your document.
+
+The recommended content of the \ff{Makefile} would be this:
+
+\begin{minted}{text}
+TEXS=$(wildcard *.tex)
+PDFS=$(TEXS:.tex=.pdf)
+all: $(PDFS)
+%.pdf: %.tex
+ latexmk -pdf $<
+\end{minted}
+
+In order to compile the document, just say \ff{make} on the command line.
+
+\section{Layout Options}
+
+There are a few class options, provided in square brackets after the
+\ff{\textbackslash{}documentclass}, which can help you fine-tune
+the layout of your document:
+
+\ff{landscape}
+ makes the document in landscape format, also changing the size
+ of the paper to 16x9 inches (the default page size is
+ \href{https://en.wikipedia.org/wiki/Paper_size}{A4}),
+ making it perfect for presentations.
+
+\ff{anonymous}
+ removes the name of the author everywhere, including the bottom
+ of the page, where the author's name stays next to the name of the
+ company.
+
+\ff{nobrand}
+ avoid mentioning the brand of Huawei anywhere
+ in the document and removes the logo too.
+
+\ff{nosecurity}
+ avoids mentioning the level of security at the right top
+ corner of the document and also avoids showing the ID of the author
+ where it usually is visible.
+
+\ff{nodate}
+ don't show the date and time at the bottom of each page,
+ where they usually are rendered in ISO~8601 format.
+
+\ff{nopaging}
+ avoids page numbers at the bottom of each page.
+
+\section{Preamble}
+
+In the preamble you can specify meta information about the document,
+such as its title or author's name, here is how:
+
+\begin{minted}{text}
+\documentclass{huawei}
+\renewcommand*\thetitle{Making Compression 15% Faster}
+\renewcommand*\thesubtitle{Technical Report}
+\renewcommand*\theauthor{Yegor Bugayenko}
+\begin{document}
+\maketitle
+Hello, world!
+\end{document}
+\end{minted}
+
+It's recommended to use \ff{\textbackslash{}renewcommand*} instead of
+\ff{\textbackslash{}renewcommand} in order to let \LaTeX{} catch you
+if by mistake a new line gets into the content.
+
+The following meta commands are defined:
+
+\ff{\textbackslash{}thetitle} is the main title of the document
+ to be used in the text and in the properties of the PDF document.
+
+\ff{\textbackslash{}thesubtitle} is the subtitle to be
+ printed under the title.
+
+\ff{\textbackslash{}theauthor} is the author of the document
+ in ``first-name last-name'' format.
+
+\ff{\textbackslash{}theid} is the internal ID of the author, if
+ it's applicable.
+
+\ff{\textbackslash{}thesecurity} is the level of security of
+ the document, which is usually printed at the top right
+ corner of it; usual values are ``Internal,''
+ ''Confidential,'' or ``Secret.''
+
+Default values of all these commands are empty. If you don't
+renew them in your document, nothing will be printed.
+
+\section{Custom Commands}
+
+There is a number of supplementary commands for better text formatting,
+which we introduced:
+
+\ff{\textbackslash{}ff\{text\}}
+ makes the text fixed-font with a nice border around.
+
+\ff{\textbackslash{}tbd\{text\}}
+ highlights the text, which is expected to be improved later
+ (tbd stands for ``To Be Determined''), like \tbd{this one}.
+
+Inside the document body you can use these commands:
+
+\ff{\textbackslash{}PrintFirstPage\{front-image\}}
+ prints the first page of a project charter or a similar landscape documents,
+ placing the image \ff{front-image.pdf} on the front (the file should be present
+ in the current dir. If you don't have the front image file, just leave
+ the first argument empty.
+
+\ff{\textbackslash{}PrintLastPage\{\}}
+ prints the last page of a project charter or a similar landscape document.
+
+\ff{\textbackslash{}PrintThankYouPage\{\}}
+ prints the last page with a "Thank You" message in the center.
+
+\ff{\textbackslash{}PrintDisclaimer\{\}}
+ prints a paragraph at the bottom of the page with a standard disclaimer.
+
+\section{Best Practices}
+
+You are free to design your documents any way you want. However,
+it would be convenient for yourself and for your readers, if you follow
+the convention we have for business and technical documents.
+The \ff{samples} directory contains a number of sample documents, which
+we suggest you to use as templates when you start making new documents.
+
+The rule of thumb is simple: try \emph{not} to format your documents.
+Instead, let the class designed by us do this work for you. Just type
+the content without changing the layout, adding colors, changing fonts,
+etc. The less you modify the look-and-feel, the better your documents
+will be perceived by your readers.
+
+\subsection{Two Columns}
+
+In the landscape format it's recommended to use two columns, for better
+readability of the text. Here is how:
+
+\begin{minted}{text}
+\documentclass{huawei}
+\begin{document}
+\newpage
+\begin{multicols}{2}
+\section*{First}
+Here goes the first column content.
+\columnbreak
+\section*{Second}
+Here goes the second column content.
+\end{multicols}
+\end{document}
+\end{minted}
+
+A more complete example is in the\ff{samples/charter.tex}.
+
+\subsection{Crumbs}
+
+When you need to put many small information pieces into one page,
+we recommend you to use ``crumbs'':
+
+\begin{minted}{text}
+\documentclass{huawei}
+\begin{document}
+\newpage
+\section*{Project Details}
+\begin{multicols}{2}
+\raggedright
+\crumb{Budget}{\$100K}
+
+\crumb{Duration}{5 months}
+\end{multicols}
+\end{document}
+\end{minted}
+
+A more complete example is in the\ff{samples/charter.tex}.
+
+\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/runcode/runcode.pdf b/macros/latex/contrib/runcode/runcode.pdf
index 1a8d909f4c..13fcdea4da 100644
--- a/macros/latex/contrib/runcode/runcode.pdf
+++ b/macros/latex/contrib/runcode/runcode.pdf
Binary files differ
diff --git a/macros/latex/contrib/runcode/runcode.sty b/macros/latex/contrib/runcode/runcode.sty
index 0059a17b86..6737fd213f 100644
--- a/macros/latex/contrib/runcode/runcode.sty
+++ b/macros/latex/contrib/runcode/runcode.sty
@@ -14,6 +14,11 @@
\mintedtrue
\DeclareOption{nominted}{\mintedfalse}
+% Some editors terminate all child processes after LaTeX compiling such as Emacs with Auctex. For this case, use the nohup option. It set the variable notnohup to be false, and the server will not be terminated by the parent process.
+\newif\ifnotnohup
+\notnohuptrue
+\DeclareOption{nohup}{\notnohupfalse}
+
\DeclareOption{R}{
% create a configuration file for R server if it does not exist.
\IfFileExists{R.config}{}{
@@ -27,9 +32,11 @@
}
% Start the server. Need to run just once. Can comment out after the first
% compilation, but remember to terminate the server
- \immediate\write18{python3 -c 'from talk2stat.talk2stat import server,client; server("./","R") if not client("./","R","``` ```") else print("server is already running")'}
- % Some editors terminate all child processes after LaTeX compiling such as Emacs with Auctex. For this case, use the following line instead of the above line.
- % \immediate\write18{nohup python3 -c 'from talk2stat.talk2stat import server,client; server("./","R") if not client("./","R","``` ```") else print("server is already running")' &}
+ \ifnotnohup
+ {\immediate\write18{python3 -c 'from talk2stat.talk2stat import server,client; server("./","R") if not client("./","R","``` ```") else print("server is already running")'}}
+ \else
+ {\immediate\write18{nohup python3 -c 'from talk2stat.talk2stat import server,client; server("./","R") if not client("./","R","``` ```") else print("server is already running")' &}}
+ \fi
}
\DeclareOption{julia}{
@@ -45,8 +52,11 @@
}
% Start the server. Need to run just once. Can comment out after the first
% compilation, but remember to terminate the server
- \immediate\write18{python3 -c 'from talk2stat.talk2stat import server,client; server("./","julia") if not client("./","julia","``` ```") else print("server is already running")'}
- % \immediate\write18{nohup python3 -c 'from talk2stat.talk2stat import server,client; server("./","julia") if not client("./","julia","``` ```") else print("server is already running")' &}
+ \ifnotnohup
+ {\immediate\write18{python3 -c 'from talk2stat.talk2stat import server,client; server("./","julia") if not client("./","julia","``` ```") else print("server is already running")'}}
+ \else
+ {\immediate\write18{nohup python3 -c 'from talk2stat.talk2stat import server,client; server("./","julia") if not client("./","julia","``` ```") else print("server is already running")' &}}
+ \fi
}
\DeclareOption{matlab}{
@@ -62,8 +72,11 @@
}
% Start the server. Need to run just once. Can comment out after the first
% compilation, but remember to terminate the server
- \immediate\write18{python3 -c 'from talk2stat.talk2stat import server,client; server("./","matlab") if not client("./","matlab","``` ```") else print("server is already running")'}
- % \immediate\write18{nohup python3 -c 'from talk2stat.talk2stat import server,client; server("./","matlab") if not client("./","matlab","``` ```") else print("server is already running")' &}
+ \ifnotnohup
+ {\immediate\write18{python3 -c 'from talk2stat.talk2stat import server,client; server("./","matlab") if not client("./","matlab","``` ```") else print("server is already running")'}}
+ \else
+ {\immediate\write18{nohup python3 -c 'from talk2stat.talk2stat import server,client; server("./","matlab") if not client("./","matlab","``` ```") else print("server is already running")' &}}
+ \fi
}
\DeclareOption{stopserver}{
@@ -76,6 +89,7 @@
\ProcessOptions*
+\usepackage{morewrites} % allow more than 16 \write
\usepackage[many]{tcolorbox} % to put boxes around text
\usepackage{xcolor} % for highlighting
\usepackage[utf8x]{inputenc}
@@ -132,19 +146,24 @@
% Args #3 and #4 are the first and last line to show (optional).
\NewDocumentCommand{\showCode}{m m O{} O{}}{% \-\\
- \ifthenelse{\isempty{#3}}{
+ \IfFileExists{#2}{
+ \ifthenelse{\isempty{#3}}{
\ifminted
\inputminted[fontsize=\footnotesize,linenos, frame=single, bgcolor=bg, breaklines=true]{#1}{#2}
\else
- \VerbatimInput[fontsize=\footnotesize,frame=single,breaklines]{#2}
+ \VerbatimInput[fontsize=\footnotesize,linenos=true,frame=single,breaklines]{#2}
\fi
}{
\ifminted
\inputminted[fontsize=\footnotesize,linenos,frame=single, bgcolor=bg, breaklines=true, firstline=#3, lastline=#4, firstnumber=1]{#1}{#2}
\else
- \VerbatimInput[fontsize=\footnotesize,frame=single,breaklines, firstline=#3, lastline=#4, firstnumber=1]{#2}
+ \VerbatimInput[fontsize=\footnotesize,linenos=true,frame=single,breaklines, firstline=#3, lastline=#4, firstnumber=1]{#2}
\fi
+ }
+ }{
+ \textcolor{red}{\textbf{showCode: File #2 does not exist!}}
}
+
}
@@ -158,6 +177,7 @@
% to \runcode; run = force the code to run; cache or anything else =
% use cache)
\NewDocumentCommand{\runExtCode}{m m m O{}}{
+ \IfFileExists{#2}{
\stepcounter{codeOutput}
\ifthenelse{\isempty{#3}}
{ \setvalue{\tmpname}{tmp/\jobname_tmp\thecodeOutput.tex} }
@@ -170,6 +190,9 @@
}{
\ifstrequal{#4}{run}{\immediate\write18{#1 #2 > \tmpname }}{}
}
+ }{
+ \textcolor{red}{\textbf{runExtCode: File #2 does not exist!}}
+ }
}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -200,9 +223,15 @@
{\input{\tmpname}}}}
% if code execution disabled, and no cache:
{\begin{tcolorbox}
- Code execution disabled (cache not available).
+ \textbf{Output file \tmpname~ not found}. Check the file name (it may be that the file name was given with the suffix .tex. If so, remove it). If the file name is correct the problem may be because code execution is disabled and no cache is available. If so, force the code to run again (using the [run] option).
\end{tcolorbox}}}
+
+\NewDocumentCommand{\checkZeroBytes}{m}{
+ \immediate\write18{python3 -c 'import os; print("ZERO BYTES IN OUTPUT", file=open("#1", "a")) if os.path.getsize("#1") == 0 else True'}
+}
+
+
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% \inln{Arg #1}{Arg #2}[Arg #3] is used to execute short source code
% and embed resulting output.
@@ -223,7 +252,7 @@
\immediate\write18{#1 \tmpname.txt > \tmpname.tex}\unskip
\fi}
\IfFileExists{\tmpname.tex}
- {\unskip
+ {\checkZeroBytes{\tmpname.tex}\unskip
\ifstrequal{#3}{vbox}
{\begin{tcolorbox}[breakable,colback=red!5!white,colframe=red!75!black]
\ifminted\unskip
@@ -233,7 +262,7 @@
\fi
\end{tcolorbox}}
{\unskip\input{\tmpname.tex}\unskip}}
- {\textcolor{red}{notrun}}}
+ {\textcolor{red}{\textbf{Output file \tmpname~ not found}}}}
\NewDocumentCommand{\runR}{O{python3 -c 'from talk2stat.talk2stat import client; client("./","R","#2")'} m m O{}}
{
diff --git a/macros/latex/contrib/runcode/runcode.tex b/macros/latex/contrib/runcode/runcode.tex
index 5d99475739..977a41bc24 100644
--- a/macros/latex/contrib/runcode/runcode.tex
+++ b/macros/latex/contrib/runcode/runcode.tex
@@ -1,6 +1,6 @@
- % LaTeX Package: runcode v1.0 2020/10/04
+ % LaTeX Package: runcode v1.1 2021/04/17
%
- % Copyright (C) 2020 by Haim Bar and HaiYing Wang
+ % Copyright (C) 2021 by Haim Bar and HaiYing Wang
%
% This file may be distributed and/or modified under the
% conditions of the LaTeX Project Public License, either
@@ -15,9 +15,9 @@
\documentclass{ltxdoc}
\usepackage[hyphens]{url}
%\usepackage{runcode}
-\ProvidesPackage{runcode}[2020/10/04 runcode v1.0]
+\ProvidesPackage{runcode}[2021/04/17 runcode v1.1]
\begin{document}
- \title{The \textsf{runcode} package\thanks{This document corresponds to \textsf{runcode}~v1.0, dated~2020/10/04.}}
+ \title{The \textsf{runcode} package\thanks{This document corresponds to \textsf{runcode}~v1.1, dated~2021/04/17.}}
\author{Haim Bar and HaiYing Wang \\ \texttt{haim.bar@uconn.edu}, \texttt{haiying.wang@uconn.edu}}
\maketitle
@@ -25,7 +25,7 @@
It is recommended to use this package in the server-mode together with the Python talk2stat package. Currently, the server-mode supports Julia, MatLab, Python, and R. More languages will be added.
-For more details and usage examples, refer to the package's github repository, at
+For more details and usage examples and troubleshooting, refer to the package's github repository, at
\url{https://github.com/Ossifragus/runcode}.
}
@@ -49,6 +49,7 @@ Available options are:
\item \texttt{run}: run source code, and store results in cache files.
\item \texttt{cache}: use cached results.
\item \texttt{stopserver}: stop the \textit{talk2stat} server(s) when the pdf compilation is done.
+\item \texttt{nohup}: when using the server-mode, some editors terminate all child processes after LaTeX compiling such as Emacs with Auctex. For this case, use the nohup option. It set the variable notnohup to be false, and the server will not be terminated by the parent process.
\item \texttt{nominted}: use the \textit{fvextra} package [\url{https://ctan.org/pkg/fvextra}] instead of the \textit{minted} package [\url{https://ctan.org/pkg/minted}] to show code (\textit{fvextra} does not require Python's pygments package [\url{https://pygments.org/}], but it does not provide syntax highlights).
\end{itemize}
* Requires the Python package \textit{talk2stat} to be installed.
@@ -140,6 +141,11 @@ Available options are:
\end{itemize}
+\section{Revisions}
+\begin{itemize}
+\item v1.1, April 17, 2021: Added a nohup option; improved error handling (missing code files, zero bytes in output files.)
+\end{itemize}
+
%
\section{Contributing}
We welcome your contributions to this package by opening issues on GitHub and/or making a pull request. We also appreciate more example documents written using \textsf{runcode}.
diff --git a/macros/latex/contrib/siunitx/2.8 b/macros/latex/contrib/siunitx/2.8
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/macros/latex/contrib/siunitx/2.8
diff --git a/macros/latex/contrib/siunitx/CHANGELOG.md b/macros/latex/contrib/siunitx/CHANGELOG.md
index 32afac61f6..356f70b030 100644
--- a/macros/latex/contrib/siunitx/CHANGELOG.md
+++ b/macros/latex/contrib/siunitx/CHANGELOG.md
@@ -7,6 +7,12 @@ Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to
## [Unreleased]
+## [v2.8e] - 2021-04-17
+
+### Fixed
+
+- Missing setting in emulation of v1 option `repeatunits`
+
## [v2.8d] - 2021-04-09
### Changed
diff --git a/macros/latex/contrib/siunitx/siunitx.dtx b/macros/latex/contrib/siunitx/siunitx.dtx
index b909fbd219..0125c29569 100644
--- a/macros/latex/contrib/siunitx/siunitx.dtx
+++ b/macros/latex/contrib/siunitx/siunitx.dtx
@@ -5225,7 +5225,7 @@ This work consists of the file siunitx.dtx
%
% The usual preliminaries.
% \begin{macrocode}
-\ProvidesExplPackage {siunitx} {2021-04-09} {2.8d}
+\ProvidesExplPackage {siunitx} {2021-04-17} {2.8e}
{A comprehensive (SI) units package}
% \end{macrocode}
%
@@ -16682,7 +16682,7 @@ This work consists of the file siunitx.dtx
% \end{macrocode}
%
% \begin{macrocode}
-\ProvidesExplFile {siunitx-version-1.cfg} {2021-04-09} {2.8d}
+\ProvidesExplFile {siunitx-version-1.cfg} {2021-04-17} {2.8e}
{siunitx: Version 1 settings}
% \end{macrocode}
%
@@ -17057,18 +17057,21 @@ This work consists of the file siunitx.dtx
{
multi-part-units = single,
product-units = single,
+ range-units = single
},
repeatunits /
power .meta:n =
{
multi-part-units = repeat,
product-units = power,
+ range-units = repeat
},
repeatunits /
true .meta:n =
{
multi-part-units = repeat,
product-units = repeat,
+ range-units = repeat
},
repeatunits .default:n = { true },
retainplus .meta:n = { retain-explicit-plus = #1 },
@@ -17624,7 +17627,7 @@ This work consists of the file siunitx.dtx
% \end{macrocode}
%
% \begin{macrocode}
-\ProvidesExplFile {siunitx-abbreviations.cfg} {2021-04-09} {2.8d}
+\ProvidesExplFile {siunitx-abbreviations.cfg} {2021-04-17} {2.8e}
{siunitx: Abbreviated units}
% \end{macrocode}
%
@@ -17808,7 +17811,7 @@ This work consists of the file siunitx.dtx
% \end{macrocode}
%
% \begin{macrocode}
-\ProvidesExplFile {siunitx-binary.cfg} {2021-04-09} {2.8d}
+\ProvidesExplFile {siunitx-binary.cfg} {2021-04-17} {2.8e}
{siunitx: Binary units}
% \end{macrocode}
%
diff --git a/macros/latex/contrib/siunitx/siunitx.pdf b/macros/latex/contrib/siunitx/siunitx.pdf
index 44f8a6c5f8..84e23eb006 100644
--- a/macros/latex/contrib/siunitx/siunitx.pdf
+++ b/macros/latex/contrib/siunitx/siunitx.pdf
Binary files differ
diff --git a/macros/latex/contrib/smflatex/README b/macros/latex/contrib/smflatex/README
index d6a6f94e27..be2435f9ba 100644
--- a/macros/latex/contrib/smflatex/README
+++ b/macros/latex/contrib/smflatex/README
@@ -1,3 +1,9 @@
+********************************************************************************
+* smflatex package version 1.6-20210418
+* Copyright (c) Société mathématique de France, 1999-2021
+* LaTeX Project Public License (version 1.3c).
+********************************************************************************
+
The Société mathématique de France provides
a set of classes, packages and bibtex styles
that are used in its publications.
@@ -11,21 +17,29 @@ in two languages (altabstract, alttitle, altkeywords)
3. if necessary, use of babel (option french) and desactivation
of some features of french.
-The following files are included.
+The following files are provided in the package (once unpacked)
smfart.cls
- smfbook.cls classes for articles and books
+ smfbook.cls classes for articles and books
- smfenum.sty package for new alignment style of enumerations
- smfthm.sty package for simplified definition of theorems
+ smfenum.sty package for new alignment style of enumerations
+ smfthm.sty package for simplified definition of theorems
smfplain.bst
- smfalpha.bst BibTeX styles
+ smfalpha.bst BibTeX styles
+
+Are also included:
+
+ smf-edoc.tex documentation and advices (in english)
+ smf-edoc.pdf
+ smf-fdoc.tex documentation et conseils (in french)
+ smf-fdoc.pdf
- e-doc.tex documentation and advices (in english)
- f-doc.tex documentation et conseils (in french)
+The present distribution is version 1.6-20210418
+It consists in minor updates of the 1.5 version and in modifications
+of the file names (systematic addition of a smf- prefix)
+in order to be fullfill the requirements of the TeXLive distribution.
-The present distribution is version 1.5
The documentation files are slightly outdated.
INSTALLATION :
@@ -35,13 +49,16 @@ INSTALLATION :
move .bst files to $TEXMF/bibtex/bst/smflatex
move .tex and .pdf files to $TEXMF/doc/latex/smflatex
+Some additional classes, reserved for internal use of SMF, can be
+installed as well, by manually setting \smftrue in smflatex.ins
+
This work is subject to the LaTeX Project Public License (version 1.3c).
+Maintainer : Antoine Chambert-Loir <antoine.chambert-loir@u-paris.fr>
--
Société mathématique de France
Institut Henri Poincaré
11 rue Pierre et Marie Curie, F-75231 Paris cedex 05
-
-Email : revues@smf.ens.fr
+Email : revues@smf.emath.fr
Url : http://smf.emath.fr
diff --git a/macros/latex/contrib/smflatex/e-doc.pdf b/macros/latex/contrib/smflatex/smf-edoc.pdf
index 8d62465e98..ef375ac5a1 100644
--- a/macros/latex/contrib/smflatex/e-doc.pdf
+++ b/macros/latex/contrib/smflatex/smf-edoc.pdf
Binary files differ
diff --git a/macros/latex/contrib/smflatex/e-doc.tex b/macros/latex/contrib/smflatex/smf-edoc.tex
index af18072a6b..af18072a6b 100644
--- a/macros/latex/contrib/smflatex/e-doc.tex
+++ b/macros/latex/contrib/smflatex/smf-edoc.tex
diff --git a/macros/latex/contrib/smflatex/f-doc.pdf b/macros/latex/contrib/smflatex/smf-fdoc.pdf
index 50539b7413..0135ab15ff 100644
--- a/macros/latex/contrib/smflatex/f-doc.pdf
+++ b/macros/latex/contrib/smflatex/smf-fdoc.pdf
Binary files differ
diff --git a/macros/latex/contrib/smflatex/f-doc.tex b/macros/latex/contrib/smflatex/smf-fdoc.tex
index 25b5e85ae4..25b5e85ae4 100644
--- a/macros/latex/contrib/smflatex/f-doc.tex
+++ b/macros/latex/contrib/smflatex/smf-fdoc.tex
diff --git a/macros/latex/contrib/smflatex/smflatex.dtx b/macros/latex/contrib/smflatex/smflatex.dtx
index b75c6db84c..855de2b4c6 100644
--- a/macros/latex/contrib/smflatex/smflatex.dtx
+++ b/macros/latex/contrib/smflatex/smflatex.dtx
@@ -1,6 +1,7 @@
% \iffalse meta-comment
%
-% Copyright (c) 1999-2015 Societe mathematique de France
+% smflatex package version 1.6-20210418
+% Copyright (c) 1999-2021 Societe mathematique de France
%
% Ce fichier contient classes, paquetages et documentation pour
% les publications de la Societe mathematique de France (SMF).
@@ -12,13 +13,7 @@
% la classe.
%
% \fi
-% \CheckSum{11820}
-%%
-%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%% %% Classes, paquetages pour les publications de la SMF %%
-%% %% (c) 1999-2014 Societe mathematique de France %%
-%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%%
+% \CheckSum{11858}
%% \CharacterTable
%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
@@ -70,6 +65,12 @@
% \changes{v1.5a}{2012/09/29}{Modifications supplémentaires en lien avec hyperref}
% \changes{v1.5b}{2014/01/11}{Réparation d'un bug ayant fait disparaître les titres de sections dans les titres courants}
% \changes{v1.5c}{2015/09/02}{Réparation d'un petit bug dans les environnements de théorèmes}
+% \changes{v1.5d}{2018/05/30}{Ajout de option 14pt}
+% \changes{v1.5e}{2019/07/11}{Ajout de appendixname (détecté par @KpanRambles)}
+% \changes{v1.5f}{2020/11/05}{Remplacement de latin1 par utf8 et réparation de GetFileInfo}
+% \changes{v1.6}[2021/03/28]{Ajout de préfixes smf aux noms de fichiers}
+% \changes{v1.6}[2021/03/28]{Incorporation de upitparen dans smfgen}
+% \changes{v1.6}[2021/04/18]{Correction de smfhyperref (backref)}
%
%
% \DoNotIndex{\@,\@@par,\@beginparpenalty,\@empty}
@@ -128,12 +129,13 @@
% \begin{macrocode}
%<*doc>
\NeedsTeXFormat{LaTeX2e}
-\ProvidesFile{smfdoc.tex}[2012/09/26 v1.4
+\ProvidesFile{smfdoc.tex}[2020/11/05 v1.5f
Documentation LaTeX pour les classes et styles SMF]
\documentclass{ltxdoc}
+\GetFileInfo{smfdoc.tex}
\usepackage{amssymb,amstext}
\usepackage[T1]{fontenc}
-\usepackage[latin1]{inputenc}
+\usepackage[utf8]{inputenc}
\usepackage[frenchb]{babel}
% \end{macrocode}
% On veut un index avec les num\'eros de ligne
@@ -160,7 +162,6 @@ les endroits o\`u l'entr\'ee est utilis\'ee.}
% \end{macrocode}
%</doc>
% \fi
-% % \GetFileInfo{smflatex.dtx}
%
% \title{Classes \LaTeXe\ pour les publications de la SMF}
% \author{A.\ Chambert-Loir \&\ SMF}
@@ -243,12 +244,12 @@ les endroits o\`u l'entr\'ee est utilis\'ee.}
% \begin{macrocode}
%<article|book>\NeedsTeXFormat{LaTeX2e}
%<*article>
-\ProvidesClass{smfart}[2015/09/02 v1.5c
+\ProvidesClass{smfart}[2021/03/28 v1.6
Classe LaTeX pour les articles publies par la SMF]
\def\@classname{smfart}
%</article>
%<*book>
-\ProvidesClass{smfbook}[2015/09/02 v1.5c
+\ProvidesClass{smfbook}[2021/03/28 v1.6
Classe LaTeX pour les monographies editees par la SMF]
\def\@classname{smfbook}
%</book>
@@ -735,8 +736,9 @@ les endroits o\`u l'entr\'ee est utilis\'ee.}
% \subsection{Options de tailles de caract\`eres}
% Pour l'instant, l'option par d\'efaut est d'imprimer en 10 points mais il
% est possible de revenir \`a 11 ou 12 points, voire de laisser le choix
-% \`a l'auteur.
+% \`a l'auteur. Il y a aussi une option 14 points.
% \begin{macrocode}
+\def\@xxxpt{29.86}
\DeclareOption{10pt}{\def\@mainsize{10}\def\@ptsize{0}%
\normaltopskip=10pt \relax
\def\@typesizes{%
@@ -761,7 +763,16 @@ les endroits o\`u l'entr\'ee est utilis\'ee.}
\or{7}{8}\or{8}{10}\or{9}{11}\or{10}{12}\or{\@xipt}{13}%
\or{\@xiipt}{14}% normalsize
\or{\@xivpt}{17}\or{\@xviipt}{20}\or{\@xxpt}{24}%
- \or{\@xxvpt}{30}\or{\@xxvpt}{30}}%
+ \or{\@xxvpt}{30}\or{\@xxxpt}{36}}%
+ \normalsize \linespacing=\baselineskip }
+
+\DeclareOption{14pt}{\def\@mainsize{14}\def\@ptsize{3}%
+ \normaltopskip=14pt \relax
+ \def\@typesizes{%
+ \or{8}{10}\or{9}{11}\or{10}{12}\or{\@xipt}{13}%
+ \or{\@xiipt}{14}\or{\@xivpt}{17}% normalsize
+ \or{\@xviipt}{20}\or{\@xxpt}{24}%
+ \or{\@xxvpt}{30}\or{\@xxxpt}{36}\or{\@xxxpt}{36}}%
\normalsize \linespacing=\baselineskip }
\DeclareOption{8pt}{\def\@mainsize{8}\def\@ptsize{8}%
@@ -2009,14 +2020,14 @@ les endroits o\`u l'entr\'ee est utilis\'ee.}
% apr\`es\dots
% \begin{macrocode}
\AtBeginDocument{%
- \@for\@tempa:=-1,0,1,2,3,4,5\do{%
+ \@for\@tempa:=-1,0,1,2,3,4,5,10000\do{%
\@ifundefined{r@tocindent\@tempa}{%
\@xp\gdef\csname r@tocindent\@tempa\endcsname{0pt}}{}%
}%
}
\def\@writetocindents{%
\begingroup
- \@for\@tempa:=-1,0,1,2,3,4,5\do{%
+ \@for\@tempa:=-1,0,1,2,3,4,5,10000\do{%
\immediate\write\@auxout{%
\string\newlabel{tocindent\@tempa}{%
\csname r@tocindent\@tempa\endcsname}}%
@@ -2415,7 +2426,7 @@ les endroits o\`u l'entr\'ee est utilis\'ee.}
% et modifier l'environnement |\@trivlist| pour qu'il s'en serve.
% \begin{macrocode}
\newif\ifsmf@thmnewline
-\def\thmnewline{\newline\indent\global\smf@thmnewlinetrue}
+\def\thmnewline{\newline\global\smf@thmnewlinetrue}
\def\@begintheorem#1#2[#3]{%
\global\smf@thmnewlinefalse
\def\@theoremhead{\the\thm@headfont \thm@indent
@@ -2430,7 +2441,7 @@ les endroits o\`u l'entr\'ee est utilis\'ee.}
\ifsmf@skippt\else
{\thm@headpunct{.}\sbox\@labels{\@theoremhead}%
\ifdim\wd\@labels>.7\linewidth\skippointrait\fi}\fi
- \ifsmf@skippt\def\thmheadnl{\thmnewline\indent}\fi
+ \ifsmf@skippt\def\thmheadnl{\newline\indent\global\smf@thmnewlinetrue}\fi
\deferred@thm@head{\@theoremhead}%
\ignorespaces}
% \end{macrocode}
@@ -2457,7 +2468,9 @@ les endroits o\`u l'entr\'ee est utilis\'ee.}
\renewenvironment{proof}[1][\proofname]{\par
\ifx@pushQED \pushQED{\qed}\fi
\normalfont
- \topsep6\p@\@plus6\p@ \trivlist \itemindent\z@ %% \normalparindent
+% \topsep6\p@\@plus6\p@
+ \topsep0pt
+ \trivlist \itemindent\z@ %% \normalparindent
\def\@proofhead{\normalfont\itshape #1}%
\sbox\@tempboxa{\@proofhead}%
\ifdim\wd\@tempboxa>0.7\linewidth \smf@skippttrue\fi
@@ -2475,6 +2488,7 @@ les endroits o\`u l'entr\'ee est utilis\'ee.}
\MakeQed
\endtrivlist
\@endpefalse
+ \medskip
}
\def\MakeQed{\ifsmf@qed
\ifx@pushQED\popQED\else\qed\fi
@@ -2488,7 +2502,7 @@ les endroits o\`u l'entr\'ee est utilis\'ee.}
\let\thm@indent\noindent
\thm@headfont{\bfseries\smf@boldmath\itshape}%
\thm@notefont{\bfseries\smf@boldmath\upshape}%
- \thm@preskip.5\linespacing \@plus .5\linespacing
+ \thm@preskip 0pt %% was: .5\linespacing \@plus .5\linespacing
\thm@postskip\thm@preskip
\thm@headpunct{\MakePointrait}
\itshape }
@@ -2511,6 +2525,7 @@ les endroits o\`u l'entr\'ee est utilis\'ee.}
\def\bibname{Bibliography}%
\def\indexname{Index}%
\def\altabstractname{R\'esum\'e}%
+ \def\appendixname{Appendix}%
\def\tablename{Table}%
\def\listtableename{List of tables}%
\def\figurename{Figure}%
@@ -2690,7 +2705,7 @@ les endroits o\`u l'entr\'ee est utilis\'ee.}
% \section{Pour qu'\texttt{hyperref} fonctionne}
%<*hyperref>
% \begin{macrocode}
-\ProvidesPackage{smfhyperref}[2012/09/29 v1.0
+\ProvidesPackage{smfhyperref}[2021/04/18 v1.6
Adaptations pour faire cohabiter hyperref et les classes smf]
% \end{macrocode}
% Redéfinition des macros d'index.
@@ -2769,24 +2784,6 @@ les endroits o\`u l'entr\'ee est utilis\'ee.}
\ignorespaces
}%
}{}
-\@ifpackageloaded{backref}{%
-\def\BR@@lbibitem[#1]#2#3\par{%
- \smf@lbibitem[#1]{#2}#3
- \newblock
- \backref{\csname br@#2\endcsname}%
- \par
-}%
-\def\BR@@bibitem#1#2\par{%
- \smf@bibitem{#1}#2
- \newblock
- \backref{\csname br@#1\endcsname}%
- \par
-}
-\def\thebibliography{%
- % \@starttoc{brf}{}%
- \BRorg@thebibliography
-}%
-}
% \end{macrocode}
%</hyperref>
% \section{Package de th\'eor\`emes}
@@ -3127,7 +3124,38 @@ les endroits o\`u l'entr\'ee est utilis\'ee.}
% Cela a une cons\'equence sur les |\catcode| et on doit y faire attention
% plus tard au chargement de~\paquet{xy}.
% \begin{macrocode}
- \ifsmf@upitparen \RequirePackage{upitparen}\fi
+ \ifsmf@upitparen
+\declare@shorthand{french}{;}{%
+ \ifhmode
+ \ifdim\lastskip>\z@\unskip\penalty\@M\thinspace\else\FDP@thinspace\fi
+ \fi
+ \ifmmode\string;\else\textup{\string;}\fi}
+\declare@shorthand{french}{!}{%
+ \ifhmode
+ \ifdim\lastskip>\z@\unskip\penalty\@M\thinspace\else\FDP@thinspace\fi
+ \fi
+ \ifmmode\string!\else\textup{\string!}\fi}
+\declare@shorthand{french}{?}{%
+ \ifhmode
+ \ifdim\lastskip>\z@\unskip\penalty\@M\thinspace\else\FDP@thinspace\fi
+ \fi
+ \ifmmode\string?\else \textup{\string?}\fi}
+\declare@shorthand{french}{:}{%
+ \ifhmode
+ \ifdim\lastskip>\z@\unskip\penalty\@M\Fcolonspace\else\FDP@colonspace\fi
+ \fi
+ \ifmmode\string:\else\textup{\string:}\fi}
+\initiate@active@char{(}
+\initiate@active@char{)}
+\declare@shorthand{french}{(}{%
+ \ifmmode\string(\else\textup{\string(}\penalty\@M\fi}
+\declare@shorthand{french}{)}{%
+ \ifmmode\string)\else\penalty\@M\textup{\string)}\fi}
+\declare@shorthand{system}{(}{\string(}
+\declare@shorthand{system}{)}{\string)}
+\addto\extrasfrench{\bbl@activate{(}\bbl@activate{)}}
+\addto\noextrasfrench{\bbl@deactivate{(}\bbl@deactivate{)}}
+ \fi
% \end{macrocode}
% On charge enfin plus ou moins automatiquement \paquet{xy}.
% Normalement, la red\'efinition de |\xymatrixcompile| permet de compiler
@@ -3758,7 +3786,7 @@ editorial board of the SMF or from the web site of the SMF.}
% \subsection{Ast\'erisque}
% \begin{macrocode}
%<*asterisque>
-\ProvidesPackage{asterisque}[2001/01/05 v1.4
+\ProvidesPackage{smfasterisque}[2001/01/05 v1.4
Fichier additionnel pour Asterisque]
\RequirePackageWithOptions{smfgen}
\def\smf@plaintitre{asterisque}
@@ -3829,7 +3857,7 @@ topic, chosen, in principle, from the whole spectrum of mathematics.}
% \subsection{Bulletin de la SMF}
% \begin{macrocode}
%<*bulletin>
-\ProvidesPackage{bulletin}[2002/02/07 v1.6b
+\ProvidesPackage{smfbulletin}[2002/02/07 v1.6b
Fichier additionnel pour le Bulletin de la SMF]
\DeclareOption*{\PassOptionsToPackage{\CurrentOption}{smfgen}}
\DeclareOption{master}{\PassOptionsToPackage{master}{smfmulti}}
@@ -4279,7 +4307,7 @@ editorial board of the SMF or from the web site of the SMF.}
% \subsection{Bulletin (fichier pour les auteurs)}
% \begin{macrocode}
%<*bull>
-\ProvidesPackage{bull}[2001/10/17 v1.0c
+\ProvidesPackage{smfbull}[2001/10/17 v1.0c
Fichier additionnel pour la soumission des articles au Bulletin]
\let\ps@copyright\ps@empty
@@ -4377,7 +4405,7 @@ editorial board of the SMF or from the web site of the SMF.}
% \subsection{Cours Sp\'ecialis\'es}
% \begin{macrocode}
%<*courspe>
-\ProvidesPackage{courspe}[2002/09/01 v1.4
+\ProvidesPackage{smfcourspe}[2002/09/01 v1.4
Fichier additionnel pour les Cours Specialises]
\RequirePackageWithOptions{smfgen}
\RequirePackage[courspe]{smfvar}
@@ -4588,7 +4616,7 @@ usually rely on lectures given in a graduate course.}
% \subsection{M\'emoires de la SMF}
% \begin{macrocode}
%<*memoires>
-\ProvidesPackage{memoires}[2003/08/28 v1.4
+\ProvidesPackage{smfmemoires}[2003/08/28 v1.4
Fichier additionnel pour les Memoires de la SMF]
\RequirePackageWithOptions{smfgen}
\def\smf@plaintitre{memoires}
@@ -4652,7 +4680,7 @@ approximately 100-150 pages long.}
% \subsection{Cours Sp\'ecialis\'es (version EDP Sciences)}
% \begin{macrocode}
%<*courspeedp>
-\ProvidesPackage{courspeedp}[2000/02/27 v1.3
+\ProvidesPackage{smfcourspeedp}[2000/02/27 v1.3
Fichier additionnel pour les Cours Specialises (EDP Sciences)]
\PassOptionsToPackage{ptmbf}{smfgen}
\RequirePackageWithOptions{smfgen}
@@ -4800,7 +4828,7 @@ usually rely on lectures given in a graduate course.}
% \subsection{Documents math\'ematiques}
% \begin{macrocode}
%<*documents>
-\ProvidesPackage{documents}[2000/10/12 v1.3b
+\ProvidesPackage{smfdocuments}[2000/10/12 v1.3b
Fichier additionnel pour Documents]
\RequirePackageWithOptions{smfgen}
\def\smf@plaintitre{documents}
@@ -4921,7 +4949,7 @@ usually rely on lectures given in a graduate course.}
% \subsection{S\'eminaires et congr\`es}
% \begin{macrocode}
%<*seminaires>
-\ProvidesPackage{seminaires}[2000/10/12 v1.3b
+\ProvidesPackage{smfseminaires}[2000/10/12 v1.3b
Fichier additionnel pour Seminaires et Congres]
\RequirePackageWithOptions{smfgen}
\def\smf@plaintitre{seminaires}
@@ -4986,7 +5014,7 @@ not make up more than one third of the volume.}
% \subsection{Panoramas et synth\`ese}
% \begin{macrocode}
%<*panoramas>
-\ProvidesPackage{panoramas}[2000/10/13 v1.3b
+\ProvidesPackage{smfpanoramas}[2000/10/13 v1.3b
Fichier additionnel pour Panoramas et Syntheses]
\RequirePackageWithOptions{smfgen}
\def\smf@plaintitre{panoramas}
@@ -5582,7 +5610,7 @@ should be accessible to graduate students.}
% \end{macrocode}
% Ent\^ete.
% \begin{macrocode}
-\ProvidesClass{bourbaki}
+\ProvidesClass{smfbourbaki}
[2003/02/21 v2.1c
Classe LaTeX pour les seminaires Bourbaki
(Asterisque ou Brochure)]
@@ -6151,7 +6179,7 @@ J'ignore l'option brochure.}%
\addto\noextrasfrench{\bbl@deactivate{(}\bbl@deactivate{)}}
% \end{macrocode}
%</upitparen>
-% \section{Style \BibTeX alphabétique}
+% \section{Style \BibTeX\ alphabétique}
%<*smfalpha>
% \begin{macrocode}
%% @BibTeX-style-file{"smfalpha.bst"
@@ -7403,7 +7431,7 @@ FUNCTION {end.bib}
EXECUTE {end.bib}
% \end{macrocode}
%</smfalpha>
-% \section{Style \BibTeX numérique}
+% \section{Style \BibTeX\ numérique}
%<*smfplain>
% \begin{macrocode}
%% @BibTeX-style-file{"smfplain.bst"
diff --git a/macros/latex/contrib/smflatex/smflatex.ins b/macros/latex/contrib/smflatex/smflatex.ins
index 433556c0a8..e3ecc4d02c 100644
--- a/macros/latex/contrib/smflatex/smflatex.ins
+++ b/macros/latex/contrib/smflatex/smflatex.ins
@@ -1,19 +1,25 @@
\NeedsTeXFormat{LaTeX2e}% LaTeX June 94 or later required
\def\batchfile{smflatex.ins}
-\def\smffileversion{v1.5d}
-\def\smffiledate{2018/05/30}
+\def\smffileversion{v1.6}
+\def\smffiledate{2021/05/01}
%%
%% This is the installation file for the smflatex bundle
%% Run LaTeX on this file
%%
-%% (c) 1999-2018 Societe mathematique de France
+%% (c) 1999-2021 Societe mathematique de France
%%
\input docstrip.tex
+%%
+%% The package contains some files
+%% which are only intendedfor internal use of SMF
+%% To unpack them as well, replace \smffalse with \smftrue
+\newif\ifsmf \smffalse
+
\preamble
- This is smflatex \smffileversion (\smffiledate)
+ This is smflatex \smffileversion (released \smffiledate)
LaTeX bundle for the SMF publications
- (c) 1999-2018 Societe mathematique de France
+ (c) 1999-2021 Société mathématique de France
\endpreamble
\declarepreamble\bstfilepreamble
@@ -39,24 +45,28 @@ BibTeX style for the smflatex bundle, version \smffileversion
\dofile{smfhyperref.sty}{hyperref}
% Package de theoremes
\dofile{smfthm.sty}{smfthm}
-% Package pour la ponctuation haute
+\ifsmf
+% Package pour la ponctuation haute incorpore dans smfgen
\dofile{upitparen.sty}{upitparen}
+\fi
% Package de listes
\dofile{smfenum.sty}{smfenum}
% Fichiers de configuration SMF
\dofile{smfgen.sty}{smfgen}
% Fichiers pour les revues
- \dofile{asterisque.sty}{asterisque}
- \dofile{bulletin.sty}{bulletin}
- \dofile{bull.sty}{bull}
- \dofile{courspe.sty}{courspe}
- \dofile{courspeedp.sty}{courspeedp}
- \dofile{documents.sty}{documents}
- \dofile{memoires.sty}{memoires}
- \dofile{panoramas.sty}{panoramas}
- \dofile{seminaires.sty}{seminaires}
-% Bourbaki (Brochure/Astrisque)
- \dofile{bourbaki.cls}{asterki}
+ \dofile{smfbull.sty}{bull}
+\ifsmf
+ \dofile{smfaster.sty}{asterisque}
+ \dofile{smfbulletin.sty}{bulletin}
+ \dofile{smfcourspe.sty}{courspe}
+ \dofile{smfcourspeedp.sty}{courspeedp}
+ \dofile{smfdocuments.sty}{documents}
+ \dofile{smfmemoires.sty}{memoires}
+ \dofile{smfpanoramas.sty}{panoramas}
+ \dofile{smfseminaires.sty}{seminaires}
+% Bourbaki (Brochure/Astérisque)
+ \dofile{smfbourbaki.cls}{asterki}
+\fi
% Package multi
\dofile{smfmulti.sty}{multi}
% Package smfbib