summaryrefslogtreecommitdiff
path: root/macros/latex
diff options
context:
space:
mode:
Diffstat (limited to 'macros/latex')
-rw-r--r--macros/latex/contrib/litetable/doc/litetable-cn.pdfbin303380 -> 299902 bytes
-rw-r--r--macros/latex/contrib/litetable/doc/litetable-cn.tex147
-rw-r--r--macros/latex/contrib/litetable/doc/litetable-demo.pdfbin96154 -> 87775 bytes
-rw-r--r--macros/latex/contrib/litetable/doc/litetable-demo.tex183
-rw-r--r--macros/latex/contrib/litetable/doc/litetable-en.pdfbin177468 -> 179002 bytes
-rw-r--r--macros/latex/contrib/litetable/doc/litetable-en.tex145
-rw-r--r--macros/latex/contrib/litetable/tex/litetable.cls196
-rw-r--r--macros/latex/contrib/metalogox/README.txt2
-rw-r--r--macros/latex/contrib/metalogox/metalogox.dtx6
-rw-r--r--macros/latex/contrib/metalogox/metalogox.pdfbin404029 -> 404214 bytes
-rw-r--r--macros/latex/contrib/minimalist/README.md2
-rw-r--r--macros/latex/contrib/minimalist/minimalist-classical.sty2
-rw-r--r--macros/latex/contrib/minimalist/minimalist-classicthesis.sty2
-rw-r--r--macros/latex/contrib/minimalist/minimalist-default.sty2
-rw-r--r--macros/latex/contrib/minimalist/minimalist-flow.sty2
-rw-r--r--macros/latex/contrib/minimalist/minimalist-plain.sty2
-rw-r--r--macros/latex/contrib/minimalist/minimalist-stream.sty2
-rw-r--r--macros/latex/contrib/minimalist/minimalist.sty2
-rw-r--r--macros/latex/contrib/minimalist/minimart.cls4
-rw-r--r--macros/latex/contrib/minimalist/minimbook.cls4
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/CHANGELOG.md6
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/README.md2
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/color-ltx.sty2
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/colorspace-patches-tmp-ltx.sty2
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/hyperref-generic.dtx43
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/hyperref-generic.pdfbin967216 -> 989061 bytes
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/l3backend-testphase.dtx14
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/l3backend-testphase.pdfbin693802 -> 694334 bytes
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/l3pdfannot.dtx4
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/l3pdfannot.pdfbin600974 -> 602767 bytes
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/l3pdfdict.dtx4
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/l3pdfdict.pdfbin513895 -> 515722 bytes
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/l3pdffield-action.dtx2
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/l3pdffield-action.pdfbin557427 -> 558678 bytes
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/l3pdffield-checkbox.dtx2
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/l3pdffield-checkbox.pdfbin540930 -> 541886 bytes
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/l3pdffield-choice.dtx2
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/l3pdffield-choice.pdfbin542196 -> 543339 bytes
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/l3pdffield-pushbutton.dtx2
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/l3pdffield-pushbutton.pdfbin536366 -> 538288 bytes
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/l3pdffield-radiobutton.dtx2
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/l3pdffield-radiobutton.pdfbin592919 -> 594366 bytes
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/l3pdffield-textfield.dtx2
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/l3pdffield-textfield.pdfbin515587 -> 516564 bytes
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/l3pdffield.dtx4
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/l3pdffield.pdfbin750635 -> 753675 bytes
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/l3pdffile.dtx10
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/l3pdffile.pdfbin565531 -> 568140 bytes
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/l3pdfmanagement.dtx4
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/l3pdfmanagement.pdfbin682518 -> 685724 bytes
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/l3pdfmeta.dtx4
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/l3pdfmeta.pdfbin831142 -> 838274 bytes
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/l3pdftools.dtx4
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/l3pdftools.pdfbin528830 -> 530392 bytes
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/l3pdfxform.dtx4
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/l3pdfxform.pdfbin426918 -> 427764 bytes
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/ltdocinit.dtx4
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/ltdocinit.pdfbin586583 -> 587555 bytes
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/pdfmanagement-firstaid.dtx4
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/pdfmanagement-firstaid.pdfbin448398 -> 450200 bytes
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/pdfmanagement-testphase.dtx6
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/pdfmanagement-testphase.pdfbin463315 -> 464420 bytes
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/xcolor-patches-tmp-ltx.sty2
-rw-r--r--macros/latex/contrib/projlib/ProjLib.dtx236
-rw-r--r--macros/latex/contrib/projlib/README.md32
-rw-r--r--macros/latex/contrib/ufrgscca/README.md11
-rw-r--r--macros/latex/contrib/ufrgscca/doc/ufrgscca.pdfbin592924 -> 593730 bytes
-rw-r--r--macros/latex/contrib/ufrgscca/doc/ufrgscca.tex16
-rw-r--r--macros/latex/contrib/ufrgscca/latex/ufrgscca-abnt.sty10
-rw-r--r--macros/latex/contrib/ufrgscca/latex/ufrgscca-base-en.def2
-rw-r--r--macros/latex/contrib/ufrgscca/latex/ufrgscca-base-ptBR.def2
-rw-r--r--macros/latex/contrib/ufrgscca/latex/ufrgscca-coord.sty159
-rw-r--r--macros/latex/contrib/ufrgscca/latex/ufrgscca-core.sty70
-rw-r--r--macros/latex/contrib/ufrgscca/latex/ufrgscca-cover-ptBR.tex2
-rw-r--r--macros/latex/contrib/ufrgscca/latex/ufrgscca-cover.sty10
-rw-r--r--macros/latex/contrib/ufrgscca/latex/ufrgscca-curr.sty10
-rw-r--r--macros/latex/contrib/ufrgscca/latex/ufrgscca-forms.sty32
-rw-r--r--macros/latex/contrib/ufrgscca/latex/ufrgscca-forms.tex41
-rw-r--r--macros/latex/contrib/ufrgscca/latex/ufrgscca-lists.sty10
-rw-r--r--macros/latex/contrib/ufrgscca/latex/ufrgscca-ppc.sty10
-rw-r--r--macros/latex/contrib/ufrgscca/latex/ufrgscca-terms-en.tex2
-rw-r--r--macros/latex/contrib/ufrgscca/latex/ufrgscca-terms-ptBR.tex2
-rw-r--r--macros/latex/contrib/ufrgscca/latex/ufrgscca.cls10
-rw-r--r--macros/latex/contrib/unbtex/README.md5
-rw-r--r--macros/latex/contrib/unbtex/unbtex-example.pdfbin581904 -> 581659 bytes
-rw-r--r--macros/latex/contrib/unbtex/unbtex-example.tex4
-rw-r--r--macros/latex/contrib/unbtex/unbtex-example/anexo-b.tex8
-rw-r--r--macros/latex/contrib/unbtex/unbtex-example/capitulo3.tex4
-rw-r--r--macros/latex/contrib/unbtex/unbtex.cls20
-rw-r--r--macros/latex/required/firstaid/changes.txt7
-rw-r--r--macros/latex/required/firstaid/latex2e-first-aid-for-external-files.dtx47
-rw-r--r--macros/latex/required/firstaid/latex2e-first-aid-for-external-files.pdfbin263670 -> 265925 bytes
92 files changed, 912 insertions, 688 deletions
diff --git a/macros/latex/contrib/litetable/doc/litetable-cn.pdf b/macros/latex/contrib/litetable/doc/litetable-cn.pdf
index 0ef5ca2aab..61c1752a5e 100644
--- a/macros/latex/contrib/litetable/doc/litetable-cn.pdf
+++ b/macros/latex/contrib/litetable/doc/litetable-cn.pdf
Binary files differ
diff --git a/macros/latex/contrib/litetable/doc/litetable-cn.tex b/macros/latex/contrib/litetable/doc/litetable-cn.tex
index b67605e03f..3843b12293 100644
--- a/macros/latex/contrib/litetable/doc/litetable-cn.tex
+++ b/macros/latex/contrib/litetable/doc/litetable-cn.tex
@@ -11,13 +11,13 @@
\usepackage{geometry,pdfpages,caption,indentfirst,setspace}
\captionsetup[table]{name={\textsc{Table}},labelsep=period}
\usepackage[level]{datetime}
-\usepackage{unicode-math,xeCJK,verbatim}
-\usepackage{authblk,xltxtra}
+\usepackage{unicode-math,xeCJK,fontawesome5}
+\usepackage{authblk,xltxtra,bigfoot,enumitem}
\usepackage{booktabs,diagbox,ragged2e,tabularx}
\renewcommand\tabularxcolumn[1]{>{\Centering}m{#1}}
\usepackage[toc]{multitoc}
\usepackage[mono=false]{libertine}
-\linespread{1.15}
+\setstretch{1.15}
\setCJKmainfont{Chiron Sung HK}
[BoldFont=Chiron Sung HK Bold,
ItalicFont=Kaiti SC]
@@ -34,6 +34,13 @@
\definecolor{H5}{Hsb}{188,.8,.8} % 青藍色 (Hangzhou MTR L 5 )
\definecolor{H6}{Hsb}{207,.8,.8} % 海洋蓝 (Hangzhou Metro 6 )
\definecolor{H7}{Hsb}{290,.8,.8} % 浪漫紫 (Hangzhou Metro 7 )
+\definecolor{W1}{HTML}{CCAD52}
+\definecolor{W2}{HTML}{8FCC52}
+\definecolor{W3}{HTML}{52CC70}
+\definecolor{W4}{HTML}{52CCCC}
+\definecolor{W5}{HTML}{5270CC}
+\definecolor{W6}{HTML}{8F52CC}
+\definecolor{W7}{HTML}{CC52AD}
\hypersetup{colorlinks,urlcolor=H6,linkcolor=H2,filecolor=filecolor,pdfstartview=FitH,pdfview=FitH,pdfcreator=XeTeX output}
\def\pkg#1{\texorpdfstring{\textcolor{pkgcolor}{\textsf{#1}}}{“#1”}}
@@ -49,7 +56,7 @@
\yyyymmdddate
\date{\today}
\affil{\href{mailto:xiamyphys@gmail.com}{\texttt{xiamyphys@gmail.com}}}
-\date{\today\quad Version 2.3a\thanks{%
+\date{\today\quad Version 2.4b\thanks{%
\url{https://github.com/xiamyphys/litetable}}}
\begin{document}
\maketitle
@@ -73,7 +80,7 @@
同样,你也可以加入我的\textsf\LaTeX{} 技術交流群 \href{https://qm.qq.com/q/OnHzbNvVAG}{QQ Group: 760570712} 与我交流,来获取模板的内测版本.
\subsection{所需宏集}
-本模板基于 \pkg{standalone} 文档类开发. 其需要 \pkg{tikz} 宏集去绘制图形,\pkg{kvoptions} 和 \pkg{etoolbox} 宏集用于提供全局模式,\pkg{expl3} 宏集用于支持数组,\pkg{ctex}宏集用于支持中文语言,\pkg{fontawesome5} 宏集提供一系列精美的图标.
+本模板基于 \pkg{standalone} 文档类开发. 其需要 \pkg{tikz} 宏集去绘制图形,\pkg{kvoptions} 和 \pkg{etoolbox} 宏集用于提供全局模式,\pkg{expl3}\footnote{请使用 2023/10/10 及以后版本的 \pkg{expl3} 宏集以支持 e-type 变量展开: \verb|\clist_count:e|} 宏集用于支持数组,\pkg{ctex}宏集用于支持中文语言,\pkg{fontawesome5} 宏集提供一系列精美的图标.
\subsection{安装并载入 \pkg{LiteTable} 模板}
免安装使用方法如下,从 \href{https://github.com/xiamyphys/LiteTable}{GitHub} 或 \href{https://ctan.org/pkg/litetable}{CTAN} 下载最新的 \verb|litetable.cls| 文件并将它保存至你的项目根目录. 这种安装方式是最便捷的,但是当模板更新后,你需要手动替换 \verb|.cls| 文件.
@@ -86,7 +93,7 @@
如果您所在的地区存在网路封锁(如 GFW 干扰),你可以选择合适的镜像网站或其他方法\footnote{请遵守当地的网路条例.}. 欲详细了解,请前往 \href{https://tex.stackexchange.com/questions/55437/how-do-i-update-my-tex-distribution}{How do I update my TEX distribution?}
-本模板提供了三个选项:\mode{style},\mode{direction} 和 \mode{font}. 只需将你要使用的选项模式分别添加在你的 \verb|.tex| 文件中命令 \verb|\documentclass[ ]{litetable}| 的方括号中即可.
+本模板提供了两个选项:\mode{direction} 和 \mode{font}. 只需将你要使用的选项模式分别添加在你的 \verb|.tex| 文件中命令 \verb|\documentclass[ ]{litetable}| 的方括号中即可.
\subsection{兼容性}
所使用的测试环境为 macOS + MacTeX 2023 / Overleaf,都可在 \XeLaTeX{} 编译方式下顺利运行, Windows, Linux 和 Unix 平台兼容性未知.
@@ -96,14 +103,11 @@
\documentclass[options]{litetable}
\end{verbatim}
-\subsection{\mode{style} 选项}
-此选项有两个模式,\mode{round} 和 \mode{sharp},可分别使课程块圆角或直角显示,默认为直角.
-
\subsection{\mode{direction} 选项}
-此选项有两个模式,\mode{portrait} 和 \mode{landscape}, 可分别使课程表以纵向或横向显示.
+此选项有两个模式,\mode{portrait} 和 \mode{landscape}, 可使课程表纵向或横向显示,默认为纵向.
\subsection{\mode{font} 选项}
-此选项有两个模式,\mode{times} 和 \mode{libertinus},可分别使字体为 ``Times New Roman'' 或 ``Libertinus'',默认为 ``Times New Roman''\footnote{在使用 ``Libertinus'' 模式前请确保电脑中已安装该字体.}.
+此选项有两个模式,\mode{times} 和 \mode{libertinus},可使字体为 ``Times New Roman'' 或 ``Libertinus'',默认为 ``Times New Roman''\footnote{在使用 ``Libertinus'' 模式前请确保电脑中已安装该字体.}.
\section{\pkg{LiteTable} 的命令}
@@ -121,53 +125,79 @@
\bfseries\textcolor{W2}{\faIcon{fire}~星期二},
\bfseries\textcolor{W3}{\faIcon{water}~星期三},
\bfseries\textcolor{W4}{\faIcon{tree}~星期四},
- \bfseries\textcolor{W5}{\faIcon{coins}~星期六}
+ \bfseries\textcolor{W5}{\faIcon{coins}~星期五},
+ \bfseries\textcolor{W6}{\faIcon{mountain}~星期六};
+ 0,.175,.35,.525,.7,.875,1
}
\end{verbatim}
-此命令可在课程表顶部添加工作日,你可以自由决定工作日的显示样式,如名称,颜色甚至是前面的 logo\footnote{由 \pkg{fontawesome5} 宏集支持.}.
+此命令可在课程表顶部添加工作日,你可以自由决定显示样式,包括前面的 logo\footnote{由 \pkg{fontawesome5} 宏集支持.}. 你可以自定义课程表中每一列的宽度,如上图所示.
+
+\begin{figure}[!ht]
+ \centering
+ \tikz
+{
+ \tikzset{every node/.style={font=\footnotesize}}
+ \draw [thick,->,>=stealth] ({-1/16*5.1 in},0) -- (5.1 in,0);
+ \draw ({-5.10 in/16},-.1) --++ (0,.2) node [above] {\verb|-1/15|};
+ \draw ({0.00*5.1 in},-.1) --++ (0,.2) node [above] {\verb|0|};
+ \draw ({.175*5.1 in},-.1) --++ (0,.2) node [above] {\verb|.175|};
+ \draw ({.350*5.1 in},-.1) --++ (0,.2) node [above] {\verb|.35|};
+ \draw ({.525*5.1 in},-.1) --++ (0,.2) node [above] {\verb|.525|};
+ \draw ({.700*5.1 in},-.1) --++ (0,.2) node [above] {\verb|.7|};
+ \draw ({.875*5.1 in},-.1) --++ (0,.2) node [above] {\verb|.875|};
+ \draw ({1.00*5.1 in},-.1) --++ (0,.2) node [above] {\verb|1|};
+ \node [above] at ({.0875*5.1 in},0) {\textcolor{W1}{\faIcon{moon}~星期一}};
+ \node [above] at ({.2625*5.1 in},0) {\textcolor{W2}{\faIcon{fire}~星期二}};
+ \node [above] at ({.4375*5.1 in},0) {\textcolor{W3}{\faIcon{water}~星期三}};
+ \node [above] at ({.6125*5.1 in},0) {\textcolor{W4}{\faIcon{tree}~星期四}};
+ \node [above] at ({.7875*5.1 in},0) {\textcolor{W5}{\faIcon{coins}~星期五}};
+ \node [above] at ({.9375*5.1 in},0) {\textcolor{W6}{\faIcon{mountain}~星期六}};
+}
+\caption*{命令 \cmd{weeklist} 中的第二行数组与坐标相对应.}
+\end{figure}
课程表可根据你输入的时间组数自动生成相应的列数. 如上方代码共有 5 个工作日,就会生成 5 列的课程表.
-\subsection{\cmd{timelist} \cmd{classnum} 命令}
+\subsection{\cmd{timelist} 命令}
\begin{verbatim}
- \timelist{
+ \timelist [13] {%
8:05,8:55,10:00,10:50,11:40,13:30,14:20,15:15,16:05,18:30,19:20,20:10;
8:50,9:40,10:45,11:35,12:25,14:15,15:05,16:00,16:50,19:15,20:05,20:55
}
-
- \classnum{14}
+ \timelist [13] {}
\end{verbatim}
-命令 \cmd{timelist} 可将时间添加至课程表的左侧,内容的第一行是每节课程开始时间,第二行是每节课程的结束时间,时间之间用逗号(\verb|,|)分隔,第一行与第二行之间用分号(\verb|;|)分隔.
+命令 \cmd{timelist} 有两个参数,第二个参数 \cmd{\ttfamily\{\#2\}} 可将时间添加至课程表的左侧,内容的第一行是每节课程开始时间,第二行是每节课程的结束时间,时间之间用逗号(\verb|,|)分隔,行之间用分号(\verb|;|)分隔.
课程表可根据你输入的时间组数自动生成相应的行数. 如上方代码共有 12 组时间,就会生成 12 行的课程表.
-命令 \cmd{classnum} 可直接指定课程表上你想要生成的行数并不会在课程表左侧添加时间,左侧只会有一列\emph{在每行竖直居中}的序号.
+第一个可选参数 \cmd{\ttfamily[\#1]} 可直接指定课程表上你想要生成的行数并不会在课程表左侧添加时间,左侧只会有一列\emph{在每行竖直居中}的序号.
-下面的表格整理了两个命令不同使用情况下的不同效果.
\begin{table}[!ht]
\centering
-\caption{命令 \cmd{timelist} and \cmd{classnum} 的使用情况.}
+\caption{两个参数的使用情况.}
\begin{tabularx}{\textwidth}{c >{\raggedright\arraybackslash}X >{\raggedright\arraybackslash}X}
\toprule
- \diagbox{\cmd{classnum}}{\cmd{timelist}} & \multicolumn{1}{c}{使用} & \multicolumn{1}{c}{不使用}\\
+ \diagbox{\cmd{\ttfamily[\#1]}}{\cmd{\ttfamily\{\#2\}}} & \multicolumn{1}{c}{使用} & \multicolumn{1}{c}{不使用}\\
\midrule
使用 &
- 效果和命令 \cmd{timelist} 描述相同\newline 但生成行数由 \cmd{classnum} 决定 &
- 效果和命令 \cmd{classnum} 描述相同\\
+ 效果和 \cmd{\ttfamily\{\#2\}} 描述相同,但生成行数由 \cmd{\ttfamily[\#1]} 决定 &
+ 效果和命令 \cmd{\ttfamily[\#1]} 描述相同\\
\midrule
不使用 &
- 效果和命令 \cmd{timelist} 描述相同 &
- 效果和命令 \cmd{timelist} 描述相同\newline\emph{并默认生成 12 行}.\\
+ 效果和命令 \cmd{\ttfamily\{\#2\}} 描述相同 &
+ 效果和命令 \cmd{\ttfamily[\#1]} 描述相同\newline\emph{并默认生成 12 行}.\\
\bottomrule
\end{tabularx}
\end{table}
+如果你要只使用第一个参数 \cmd{\ttfamily[\#1]},那么请不要在第二个参数 \cmd{\ttfamily\{\#2\}} 中添加任何东西.
+
\begin{itemize}
- \item 若命令 \cmd{timelist} 中有 12 组时间,命令 \cmd{classnum} 传递的数值为 14,那么课程表的左侧会只有 1 -- 12 行有时间标注,最后两行没有时间标注但最后两行的标号仍然偏上方,并不会竖直对齐.
- \item 若命令 \cmd{timelist} 中有 14 组时间,命令 \cmd{classnum} 传递的数值为 12,那么只会生成 12 行的课程表并且左侧均有时间标注,也就是在命令 \cmd{timelist} 中输入的最后两组时间无效.
+ \item 若参数 \cmd{\ttfamily\{\#2\}} 中有 12 组时间,参数 \cmd{\ttfamily[\#1]} 传递的数值为 14,那么课程表的左侧会只有 1 -- 12 行有时间标注,最后两行没有时间标注但最后两行的标号仍然偏上方,并不会竖直对齐.
+ \item 若命令 \cmd{\ttfamily\{\#2\}} 中有 14 组时间,参数 \cmd{\ttfamily[\#1]} 传递的数值为 12,那么只会生成 12 行的课程表并且左侧均有时间标注,也就是在参数 \cmd{\ttfamily\{\#2\}} 中输入的最后两组时间无效.
\end{itemize}
\subsection{\cmd{weeks} 命令}
@@ -185,12 +215,16 @@
此命令共有7个参数.
\begin{itemize}
\item 第 1 个为课程块的颜色,从 ``H1'' 到 ``H9'' 供选择,此参数是可选参数,默认为 ``H1''.
- \item 第 2 个和第 3 个为课程的起始节数和结束节数.
- \item 第 4, 5, 6 个分别为课程的名称,地址和教师的名字.
+ \item 第 2 -- 6 个为课程的起始节数和结束节数、名称,地址和教师的名字.
\item 第 7 个为课程的首末周,此参数是可选参数,默认值由命令 \cmd{weeks} 指定,若未指定则默认值为 ``Week 1 -- 12''.
\end{itemize}
+\subsection{\cmd{corner} 命令}
+\begin{verbatim}
+ \corner{6 pt}
+\end{verbatim}
+此命令可决定课程块的圆角半径.
\subsection{\cmd{newday} 命令}
此命令可切换当前日到第二天,此时课程块会右移一格.
@@ -207,52 +241,25 @@
\end{verbatim}
在使用此命令后页面的右下方会添加一张贴纸.
-\subsection{The \cmd{(re)rotatepage} command}
-\cmd{rotatepage}命令可临时更改课程表的方向,\cmd{rerotatepage} 命令可恢复课程表原来的方向.
-
-\section{已知问题:分辨率溢出}
-\begin{verbatim}
- Dimension too large. <recently read> \pgfmath@x
-\end{verbatim}
-
-当启用 \mode{landscape} 模式并添加 7 个及以上的工作日 (?虽然 `添加7 个以上工作日' 一般碳基生物做不出来这种事),便会给出该报错.
-
-这主要是因为 \emph{\textsf{\TeX} 没有内置的浮点数表示} (Reference: \cprotect{\href{https://tex.stackexchange.com/a/545416/299948}}{How to solve the error `Dimension too large. <recently read> \verb|\pgfmath@x|' while doing the calculations in the table}).
-
-如果你能通过优化算法或其他方式解决该问题,欢迎通过 GitHub: \url{https://github.com/xiamyphys/litetable} 提交你的代码,或通过邮件 \href{mail:xiamyphys@gmail.com}{\ttfamily xiamyphys@gmail.com} 联络我.
-
\section{版本历史}
-课程表的设计源于杭电助手(\href{https://www.hdu.edu.cn}{杭州电子科技大学})学生课表页面(仅本校师生可访问). 页面排版十分精美,于是本人使用\LaTeX{} 复刻出了课程表样式,并制作成模板分享给大家.
-
-\textsf{\bfseries Version 1.0} 于01/09/2023完成开发,并发布在\href{https://www.latexstudio.net/index/details/index/mid/3625.html}{\LaTeX{}工作室} (杭州萧山)和\href{http://xhslink.com/od7Ycw}{小红书}上,赢得了许多人的喜爱.
-
-\textsf{\bfseries Version 2.0a}于01/11/2023完成开发,并发布在\href{https://www.latexstudio.net/index/details/index/mid/3636.html}{\LaTeX{}工作室} (杭州萧山)和\href{http://xhslink.com/od7Ycw}{小红书}上. 此版本使用 \verb|.cls| 文件,使 \verb|main.tex| 文件更简洁. 同时,此版本添加了全局模式,可设置 ``课程块'' 显示为圆角或直角. 此版本也支持一个 \verb|.tex| 文件中生成多张课表.
+课程表的设计源于\href{https://www.hdu.edu.cn}{杭州电子科技大学}杭电助手学生课表页面(仅本校师生可访问). 页面排版十分精美,于是本人使用 \textsf{\LaTeX{}} 复刻出了课程表样式,并制作成模板分享给大家.
-\textsf{\bfseries Version 2.1a} 于05/11/2023完成开发. 支持 libertinus 字体.
+\textsf{\bfseries Version 1.0} 于01/09/2023完成开发,并发布在 \href{https://www.latexstudio.net/index/details/index/mid/3625.html}{\textsf{\LaTeX}工作室} (杭州萧山)上,赢得了许多人的喜爱.
-\textsf{\bfseries Version 2.2a} 于31/01/2024完成开发. 此版本修复了分辨率超出的 bug,更改纸张类型为美国信纸并支持自定义课程起始和结束时间.
-
-\textsf{\bfseries Version 2.3a} 于02/02/2024完成开发. 此版本支持根据所输入的时间组数自动生成相应的行数,并支持课程表以纵向或横向显示.
-
-\textsf{\bfseries Version 2.3b} 于03/02/2024完成开发. 此版本优化坐标计算,提升编译速度.
-
-\textsf{\bfseries Version 2.4a} 于24/02/2024完成开发. 元宵节快乐! 此版本支持自定义工作日显示样式,支持隐藏时间并仅显示竖直对齐课程序号,支持设置默认首末周.
-
-\clearpage
-
-\datechange{01/09/2023}{Version 2.0a}
+\setlist[itemize]{noitemsep, topsep=0pt}
+\datechange{2023/11/01}{Version 2.0a}
\begin{itemize}
\item 支持课程块显示为圆角或直角.
\item 支持一个 \verb|.tex| 文件中生成多张课表.
\end{itemize}
-\datechange{05/11/2023}{Version 2.1a}
+\datechange{2023/11/05}{Version 2.1a}
\begin{itemize}
\item 支持 libertinus 字体.
\end{itemize}
-\datechange{31/01/2024}{Version 2.2a}
+\datechange{2024/01/31}{Version 2.2a}
\begin{itemize}
\item 修复了分辨率超出的 bug.
\item 更改纸张类型为美国信纸.
@@ -272,20 +279,28 @@
\item 优化坐标计算,提升编译速度.
\end{itemize}
-\datechange{\today}{Version 2.4a}
+\datechange{2024/02/24}{Version 2.4a}
\begin{itemize}
\item 支持自定义工作日显示样式.
\item 支持隐藏时间,仅显示竖直对齐课程序号.
\item 支持设置默认首末周.
\end{itemize}
-\appendix
+\datechange{\today}{Version 2.4b}
+\begin{itemize}
+ \item 修复了在 \mode{landscape} 模式中添加超过 7 个工作日时 \emph{分辨率溢出}的错误.
+ \item 支持自定义课程表中每一列的宽度.
+ \item 优化圆角设计,支持自定义圆角半径.
+\end{itemize}
+
+感谢 @egreg 在 \TeX{} Exchange 上提供的 \href{https://tex.stackexchange.com/a/711657/299948}{输出数组中每一列元素个数} 的代码.
+\appendix
+\includepdf[pages={1,3}]{litetable-demo.pdf}
\includepdf[pages={2,4},nup=1x2,pagecommand={
\tikz[remember picture, overlay]
\node [rotate=90,below,yshift=-1em] at (current page.west) {\bfseries\LARGE Document Example: \texttt{litetable-demo.tex}};
}
]{litetable-demo.pdf}
-\includepdf[pages={1,3}]{litetable-demo.pdf}
\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/litetable/doc/litetable-demo.pdf b/macros/latex/contrib/litetable/doc/litetable-demo.pdf
index e2c8cf648c..154f6aa089 100644
--- a/macros/latex/contrib/litetable/doc/litetable-demo.pdf
+++ b/macros/latex/contrib/litetable/doc/litetable-demo.pdf
Binary files differ
diff --git a/macros/latex/contrib/litetable/doc/litetable-demo.tex b/macros/latex/contrib/litetable/doc/litetable-demo.tex
index 3423e6787c..86851122dc 100644
--- a/macros/latex/contrib/litetable/doc/litetable-demo.tex
+++ b/macros/latex/contrib/litetable/doc/litetable-demo.tex
@@ -1,23 +1,111 @@
-\documentclass[times,sharp]{litetable}
+\documentclass[times]{litetable}
+% \setCJKfamilyfont{zhhei}{Chiron Sung HK}
+% \renewcommand*{\heiti}{\CJKfamily{zhhei}}
+\corner{6 pt}
+\sticker{favicon}
\begin{document}
+
+\timelist[12]{%
+ 8:05,8:55,10:00,10:50,11:40,13:30,14:20,15:15,16:05,18:30,19:20;
+ 8:50,9:40,10:45,11:35,12:25,14:15,15:05,16:00,16:50,19:15,20:05
+}
+\weeklist{
+ \heiti\bfseries\textcolor{W1}{\faIcon{moon}~星期一},
+ \heiti\bfseries\textcolor{W2}{\faIcon{fire}~星期二},
+ \heiti\bfseries\textcolor{W3}{\faIcon{water}~星期三},
+ \heiti\bfseries\textcolor{W4}{\faIcon{tree}~星期四},
+ \heiti\bfseries\textcolor{W5}{\faIcon{coins}~星期五};
+ 0,.17,.34,.56,.78,1
+}
+\weeks{Week 1 -- 16}
+
+\begin{tikzpicture}
+ \makeframe{Axia\!\texttt{'}\!s Timetable -- Semester 6}
+
+ % Mon.
+ \course[H5]{7}{8}{凝聚态物理}{第6教研楼 · 中225}{Mn Chen}
+
+ \newday % Tue.
+ \course[H1]{8}{9}{群论}{第6教研楼 · 中211}{Li Ge}
+ \course[H5]{10}{11}{介观物理}{第6教研楼 · 中211}{Yuan Li \& Mn Chen}
+
+ \newday % Wed.
+ \course[H6]{1}{2}{工程制图}{第7教研楼 · 中3012}{Hc Wang}
+ \course[H9]{8}{9}{形势与政策6}{第6教研楼 · 北302}{Xr Qi}[Double Week 10 -- 16]
+ \course[H9]{10}{11}{高级创业运营仿真}{第4教研楼 · 411 -- 413}{Li Zhang}[Week 1 -- 8]
+
+ \newday % Thu.
+ \course[H4]{1}{2}{跨文化交际}{第3教研楼 · 422}{Cl Zuo}
+ \course[H2]{3}{4}{无线电测向}{东边田径场}{Ys Yu}
+ \course[H5]{6}{8}{固体物理}{第6教研楼 · 北408}{Kw Sun}
+
+ \newday % Fri.
+ \course[H8]{1}{2}{光电显示技术}{第7教研楼 · 中3012}{Wt Su}
+ \course[H3]{6}{8}{研究生组会}{第6教研楼 · 中}{Yuan Li}
+
+ \more{ · School Start: 04 / 03 / 2024 · Summer Vacation: 05 / 07 / 2024}
+\end{tikzpicture}
+
+\rotatepage
+
+\weeklist{
+ \bfseries\textcolor{W1}{\faIcon{moon}~Monday},
+ \bfseries\textcolor{W2}{\faIcon{fire}~Tuesday},
+ \bfseries\textcolor{W3}{\faIcon{water}~Wednesday},
+ \bfseries\textcolor{W4}{\faIcon{tree}~Thursday},
+ \bfseries\textcolor{W5}{\faIcon{coins}~Friday},
+ \bfseries\textcolor{W6}{\faIcon{mountain}~Saturday},
+ \bfseries\textcolor{W7}{\faIcon{sun}~Sunday};
+ 0,.16,.32,.48,.64,.8,.9,1
+}
+
+\begin{tikzpicture}
+ \makeframe{Axia\!\texttt{'}\!s Timetable -- Semester 6}
+
+ % Mon.
+ \course[H5]{7}{8}{Introduction to Cond.}{Building 6 · Middle 225}{Mn Chen}
+
+ \newday % Tue.
+ \course[H1]{8}{9}{Group Theory}{Building 6 · Middle 211}{Li Ge}
+ \course[H5]{10}{11}{Mesoscopic Physics}{Building 6 · Middle 211}{Yuan Li \& Mn Chen}
+
+ \newday % Wed.
+ \course[H6]{1}{2}{Engineering Drawing}{Building 7 · North 3012}{Hc Wang}
+ \course[H9]{8}{9}{Situation \& Policy 6}{Building 6 · North 302}{Xr Qi}[Double Week 10 -- 16]
+ \course[H9]{10}{11}{Operational Simu.}{Building 4 · 411 -- 413}{Li Zhang}[Week 1 -- 8]
+
+ \newday % Thu.
+ \course[H4]{1}{2}{Intercultural Comm.}{Building 3 · 422}{Cl Zuo}
+ \course[H2]{3}{4}{Radio Direction}{Athletic Field}{Ys Yu}
+ \course[H5]{6}{8}{Solid State Physics}{Building 6 · North 408}{Kw Sun}
+
+ \newday % Fri.
+ \course[H8]{1}{2}{OE. Display}{Building 7 · North 3012}{Wt Su}
+ \course[H3]{6}{8}{Group Meeting}{Building 6 · Middle}{Yuan Li}
+
+ \more{ · School Start: 04 / 03 / 2024 · Summer Vacation: 05 / 07 / 2024}
+\end{tikzpicture}
+
+\rerotatepage
+
\timelist{
8:05,8:55,10:00,10:50,11:40,13:30,14:20,15:15,16:05,18:30,19:20,20:10;
8:50,9:40,10:45,11:35,12:25,14:15,15:05,16:00,16:50,19:15,20:05,20:55
}
-% \classnum{14}
-\weeklist{
+
+\weeklist
+{
\heiti\bfseries\textcolor{W1}{\faIcon{moon}~星期一},
\heiti\bfseries\textcolor{W2}{\faIcon{fire}~星期二},
\heiti\bfseries\textcolor{W3}{\faIcon{water}~星期三},
\heiti\bfseries\textcolor{W4}{\faIcon{tree}~星期四},
\heiti\bfseries\textcolor{W5}{\faIcon{coins}~星期五},
- \heiti\bfseries\textcolor{W6}{\faIcon{mountain}~星期六},
+ \heiti\bfseries\textcolor{W6}{\faIcon{mountain}~星期六};
+ 0,.175,.35,.525,.7,.875,1
}
\weeks{Week 1 -- 18}
-\sticker{favicon}
-
\begin{tikzpicture}
\makeframe{Axia\!\texttt{'}\!s Timetable -- Semester 5} % make title & background
% Mon.
@@ -53,7 +141,8 @@
\bfseries\textcolor{W3}{\faIcon{water}~Wednesday},
\bfseries\textcolor{W4}{\faIcon{tree}~Thursday},
\bfseries\textcolor{W5}{\faIcon{coins}~Friday},
- \bfseries\textcolor{W6}{\faIcon{mountain}~Saturday},
+ \bfseries\textcolor{W6}{\faIcon{mountain}~Saturday};
+ 0,.175,.35,.525,.7,.875,1
}
\begin{tikzpicture}
@@ -83,84 +172,4 @@
· School Starts: 11 / 09 / 2023 · Winter Vacation: 26 / 01 / 2024 }
\end{tikzpicture}
-\rerotatepage
-
-\timelist{
- 8:05,8:55,10:00,10:50,11:40,13:30,14:20,15:15,16:05,18:30,19:20;
- 8:50,9:40,10:45,11:35,12:25,14:15,15:05,16:00,16:50,19:15,20:05,
-}
-\classnum{11}
-\weeklist{
- \heiti\bfseries\textcolor{W1}{\faIcon{moon}~星期一},
- \heiti\bfseries\textcolor{W2}{\faIcon{fire}~星期二},
- \heiti\bfseries\textcolor{W3}{\faIcon{water}~星期三},
- \heiti\bfseries\textcolor{W4}{\faIcon{tree}~星期四},
- \heiti\bfseries\textcolor{W5}{\faIcon{coins}~星期五},
-}
-\weeks{Week 1 -- 16}
-
-\begin{tikzpicture}
- \makeframe{Axia\!\texttt{'}\!s Timetable -- Semester 6}
-
- % Mon.
- \course[H5]{7}{8}{凝聚态物理导论}{第6教研楼 · 中225}{Mn Chen}
-
- \newday % Tue.
- \course[H1]{8}{9}{群论}{第6教研楼 · 中211}{Li Ge}
- \course[H5]{10}{11}{介观物理}{第6教研楼 · 中211}{Yuan Li \& Mn Chen}
-
- \newday % Wed.
- \course[H6]{1}{2}{工程制图}{第7教研楼 · 中3012}{Hc Wang}
- \course[H9]{8}{9}{形势与政策6}{第6教研楼 · 北302}{Xr Qi}[Double Week 10 -- 16]
- \course[H9]{10}{11}{高级创业运营仿真}{第4教研楼 · 411 -- 413}{Li Zhang}[Week 1 -- 8]
-
- \newday % Thu.
- \course[H4]{1}{2}{跨文化交际}{第3教研楼 · 422}{Cl Zuo}
- \course[H2]{3}{4}{无线电测向}{东边田径场}{Ys Yu}
- \course[H5]{6}{8}{固体物理}{第6教研楼 · 北408}{Kw Sun}
-
- \newday % Fri.
- \course[H8]{1}{2}{光电显示技术}{第7教研楼 · 中3012}{Wt Su}
- \course[H3]{6}{8}{研究生组会}{第6教研楼 · 中}{Yuan Li}
-
- \more{ · School Start: 04 / 03 / 2024 · Summer Vacation: 05 / 07 / 2024}
-\end{tikzpicture}
-
-\rotatepage
-
-\weeklist{
- \bfseries\textcolor{W1}{\faIcon{moon}~Monday},
- \bfseries\textcolor{W2}{\faIcon{fire}~Tuesday},
- \bfseries\textcolor{W3}{\faIcon{water}~Wednesday},
- \bfseries\textcolor{W4}{\faIcon{tree}~Thursday},
- \bfseries\textcolor{W5}{\faIcon{coins}~Friday},
-}
-
-\begin{tikzpicture}
- \makeframe{Axia\!\texttt{'}\!s Timetable -- Semester 6}
-
- % Mon.
- \course[H5]{7}{8}{Introduction to Cond.}{Building 6 · Middle 225}{Mn Chen}
-
- \newday % Tue.
- \course[H1]{8}{9}{Group Theory}{Building 6 · Middle 211}{Li Ge}
- \course[H5]{10}{11}{Mesoscopic Physics}{Building 6 · Middle 211}{Yuan Li \& Mn Chen}
-
- \newday % Wed.
- \course[H6]{1}{2}{Engineering Drawing}{Building 7 · North 3012}{Hc Wang}
- \course[H9]{8}{9}{Situation \& Policy 6}{Building 6 · North 302}{Xr Qi}[Double Week 10 -- 16]
- \course[H9]{10}{11}{Operational Simu.}{Building 4 · 411 -- 413}{Li Zhang}[Week 1 -- 8]
-
- \newday % Thu.
- \course[H4]{1}{2}{Intercultural Comm.}{Building 3 · 422}{Cl Zuo}
- \course[H2]{3}{4}{Radio Direction}{Athletic Field}{Ys Yu}
- \course[H5]{6}{8}{Solid State Physics}{Building 6 · North 408}{Kw Sun}
-
- \newday % Fri.
- \course[H8]{1}{2}{OE. Display}{Building 7 · North 3012}{Wt Su}
- \course[H3]{6}{8}{Group Meeting}{Building 6 · Middle}{Yuan Li}
-
- \more{ · School Start: 04 / 03 / 2024 · Summer Vacation: 05 / 07 / 2024}
-\end{tikzpicture}
-
\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/litetable/doc/litetable-en.pdf b/macros/latex/contrib/litetable/doc/litetable-en.pdf
index 1e72948243..ea04488807 100644
--- a/macros/latex/contrib/litetable/doc/litetable-en.pdf
+++ b/macros/latex/contrib/litetable/doc/litetable-en.pdf
Binary files differ
diff --git a/macros/latex/contrib/litetable/doc/litetable-en.tex b/macros/latex/contrib/litetable/doc/litetable-en.tex
index aa49231318..5ec75d33d1 100644
--- a/macros/latex/contrib/litetable/doc/litetable-en.tex
+++ b/macros/latex/contrib/litetable/doc/litetable-en.tex
@@ -11,13 +11,13 @@
\usepackage{geometry,pdfpages,caption,indentfirst,setspace}
\captionsetup[table]{name={\textsc{Table}},labelsep=period}
\usepackage[level]{datetime}
-\usepackage{unicode-math,xeCJK}
-\usepackage{authblk,xltxtra}
+\usepackage{unicode-math,xeCJK,fontawesome5}
+\usepackage{authblk,xltxtra,bigfoot,enumitem}
\usepackage{booktabs,diagbox,ragged2e,tabularx}
\renewcommand\tabularxcolumn[1]{>{\Centering}m{#1}}
\usepackage[toc]{multitoc}
\usepackage[mono=false]{libertine}
-% \setstretch{1.25}
+% \setstretch{1.15}
\setCJKmainfont{Chiron Sung HK}
[BoldFont=Chiron Sung HK Bold,
ItalicFont=Kaiti SC]
@@ -34,6 +34,13 @@
\definecolor{H5}{Hsb}{188,.8,.8} % 青藍色 (Hangzhou MTR L 5 )
\definecolor{H6}{Hsb}{207,.8,.8} % 海洋蓝 (Hangzhou Metro 6 )
\definecolor{H7}{Hsb}{290,.8,.8} % 浪漫紫 (Hangzhou Metro 7 )
+\definecolor{W1}{HTML}{CCAD52}
+\definecolor{W2}{HTML}{8FCC52}
+\definecolor{W3}{HTML}{52CC70}
+\definecolor{W4}{HTML}{52CCCC}
+\definecolor{W5}{HTML}{5270CC}
+\definecolor{W6}{HTML}{8F52CC}
+\definecolor{W7}{HTML}{CC52AD}
\hypersetup{colorlinks,urlcolor=H6,linkcolor=H2,filecolor=filecolor,pdfstartview=FitH,pdfview=FitH,pdfcreator=XeTeX output}
\def\pkg#1{\texorpdfstring{\textcolor{pkgcolor}{\textsf{#1}}}{“#1”}}
@@ -44,12 +51,12 @@
\noindent\makebox[0pt][r]{\makebox[-3em][r]{\small\textbf{\textcolor{H7}{#1}}}\;\;}{\sffamily Update: \ignorespaces#2}}
\makeatother
-\title{\bfseries The \pkg{LiteTable} Template}
+\title{\bfseries The \pkg{LiteTable} Template: Colorful Timetable}
\author{Xia Mingyu, \href{https://www.hdu.edu.cn}{Hangzhou Dianzi University}}
\yyyymmdddate
\date{\today}
\affil{\href{mailto:xiamyphys@gmail.com}{\ttfamily xiamyphys@gmail.com}}
-\date{\today\quad Version 2.4a\thanks{%
+\date{\today\quad Version 2.4b\thanks{%
\url{https://github.com/xiamyphys/litetable}}}
\begin{document}
\maketitle
@@ -73,7 +80,7 @@ If you meet bugs when using this template, or you have better suggestions or ide
Also, you can join my \textsf\LaTeX{} Template Discussion \href{https://qm.qq.com/q/OnHzbNvVAG}{QQ Group: 760570712} to communicate with me and get the insider preview edition of the template.
\subsection{Packages required}
-This template is based on the template \pkg{standalone}. And it requires \pkg{tikz} package to plot some graphics, \pkg{kvoptions} and \pkg{etoolbox} packages to provide global options, \pkg{expl3} package to support \cmd{timelist} array, \pkg{xeCJK} package to support the \textbf{Chinese, Simplified} language and \pkg{fontawesome5} package to provide a set of beautiful icons.
+This template is based on the template \pkg{standalone}. And it requires \pkg{tikz} package to plot some graphics, \pkg{kvoptions} and \pkg{etoolbox} packages to provide global options, \pkg{expl3}\footnote{Please use the \pkg{expl3} version after 2023/10/10 to support the e-type variants for expand: \verb|\clist_count:e|.} package to support \cmd{timelist} array, \pkg{xeCJK} package to support the \textbf{Chinese, Simplified} language and \pkg{fontawesome5} package to provide a set of beautiful icons.
\subsection{Installing \pkg{LiteTable} and loading it}
For portable version, simply download latest \verb|litetable.cls| file from \href{https://github.com/xiamyphys/LiteTable}{GitHub} or \href{https://ctan.org/pkg/litetable}{CTAN} and save it under your working directory. This way of installation is simple and convenient, but you have to manually update \verb|.cls| now and then.
@@ -86,19 +93,16 @@ However, I strongly suggest that you should use terminal/cmd to implement the co
If you are in some areas with awful Internet environment (such as GFW), you can choose proper mirror source or use other means\footnote{Please comply with local network regulations.}. To learn more, please refer to \href{https://tex.stackexchange.com/questions/55437/how-do-i-update-my-tex-distribution}{How do I update my \TeX{} distribution?}
-The template provides four options, \mode{style}, \mode{direction} and \mode{font}. Just add the modes of the options you want separately in the square bracket of the command \verb|\documentclass[ ]{litetable}| in your \verb|.tex| file.
+The template provides two options, \mode{direction} and \mode{font}. Just add the modes of the options you want separately in the square bracket of the command \verb|\documentclass[ ]{litetable}| in your \verb|.tex| file.
\subsection{Compatibility}
-The test environments are macOS + MacTeX 2023 / Overleaf and they all work fine for \XeLaTeX{} compiler, Windows, Linux and Unix platforms compatibility unknown.
+The test environments are macOS + Mac\TeX{} 2023 / Overleaf and they all work fine for \XeLaTeX{} compiler, Windows, Linux and Unix platforms compatibility unknown.
\section{Global Options of \pkg{LiteTable}}
\begin{verbatim}
\documentclass[options]{litetable}
\end{verbatim}
-\subsection{The \mode{style} option}
-This option has two modes, \mode{round} and \mode{sharp}, which can make the course block's corners be round or sharp, and the default mode is sharp.
-
\subsection{The \mode{direction} option}
This option has two modes, \mode{portrait} and \mode{landscape}, which can make the timetable displayed portrait or horizontally.
@@ -121,53 +125,79 @@ This command can create an empty class schedule with the title ``Timetable -- Se
\bfseries\textcolor{W2}{\faIcon{fire}~Tuesday},
\bfseries\textcolor{W3}{\faIcon{water}~Wednesday},
\bfseries\textcolor{W4}{\faIcon{tree}~Thursday},
- \bfseries\textcolor{W5}{\faIcon{coins}~Friday}
+ \bfseries\textcolor{W5}{\faIcon{coins}~Friday};
+ 0,.17,.34,.56,.78,1
}
\end{verbatim}
-This command can add workdays to the top side of the timetable, and you can also adjust the format that you like, such as name, color and even the logo\footnote{Supports by the \pkg{fontawesome5} package.} before it.
+
+This command can add workdays to the top side of the timetable, you can also adjust the format that you like, such as name, color and even the icon\footnote{Supports by the \pkg{fontawesome5} package.} before it.
+
+You can also custom every width of the columns in the timetable, just like the Figure above.
+
+\begin{figure}[!ht]
+ \centering
+ \tikz
+{
+ \tikzset{every node/.style={font=\small}}
+ \draw [thick,->,>=stealth] ({-1/16*5.1 in},0) -- (5.1 in,0);
+ \draw ({-5.1 in/16},-.1) --++ (0,.2) node [above] {\verb|-1/15|};
+ \draw ({0.0*5.1 in},-.1) --++ (0,.2) node [above] {\verb|0|};
+ \draw ({.17*5.1 in},-.1) --++ (0,.2) node [above] {\verb|.17|};
+ \draw ({.34*5.1 in},-.1) --++ (0,.2) node [above] {\verb|.34|};
+ \draw ({.56*5.1 in},-.1) --++ (0,.2) node [above] {\verb|.56|};
+ \draw ({.78*5.1 in},-.1) --++ (0,.2) node [above] {\verb|.78|};
+ \draw ({1.0*5.1 in},-.1) --++ (0,.2) node [above] {\verb|1|};
+ \node [above] at ({.085*5.1 in},0) {\sffamily\textcolor{W1}{\faIcon{moon}~Monday}};
+ \node [above] at ({.255*5.1 in},0) {\sffamily\textcolor{W2}{\faIcon{fire}~Tuesday}};
+ \node [above] at ({.45*5.1 in},0) {\sffamily\textcolor{W3}{\faIcon{water}~Wednesday}};
+ \node [above] at ({.67*5.1 in},0) {\sffamily\textcolor{W4}{\faIcon{tree}~Thursday}};
+ \node [above] at ({.89*5.1 in},0) {\sffamily\textcolor{W5}{\faIcon{coins}~Friday}};
+}
+\caption*{The second line of array in the \cmd{weeklist} command corresponds to the axis coordinates.}
+\end{figure}
The timetable can automatically generate the corresponding number of columns based on the number of workdays you enter. For example, the code above has 5 workdays, a 5-column timetable will be generated.
-\subsection{The \cmd{timelist} \cmd{classnum} command}
+\subsection{The \cmd{timelist} command}
\begin{verbatim}
- \timelist{
+ \timelist [13] {%
8:05,8:55,10:00,10:50,11:40,13:30,14:20,15:15,16:05,18:30,19:20,20:10;
8:50,9:40,10:45,11:35,12:25,14:15,15:05,16:00,16:50,19:15,20:05,20:55
}
-
- \classnum{14}
+ \timelist [13] {}
\end{verbatim}
-The command \cmd{timelist} can add time to the left side of the timetable, and the first line of the content is the start time of the classes while the second line of the content is the end time of the classes, each time separates with a comma (\verb|,|), the first line and the second line separates with a semicolon (\verb|;|).
+The command \cmd{timelist} has two variables while the second one \cmd{\ttfamily\{\#2\}} can add time to the left side of the timetable, and the first line of the content is the start time of the classes while the second line of the content is the end time of the classes, each time separates with a comma (\verb|,|), the first line and the second line separates with a semicolon (\verb|;|).
The timetable can automatically generate the corresponding number of rows based on the number of time groups you enter. For example, the code above has 12 groups of times, a 12-row timetable will be generated.
-The command \cmd{classnum} can directly assign the number of rows on the timetable you want without adding time to the left side of the timetable, and there will only be a series of numbers that \emph{aligned vertically to the center of every line}.
+The first optional variable \cmd{\ttfamily[\#1]} can directly assign the number of rows on the timetable you want without adding time to the left side of the timetable, and there will only be a series of numbers that \emph{aligned vertically to the center of every line}.
-The following table shows the effects brought about by the usage of the two commands.
\begin{table}[!ht]
\centering
-\caption{Usage of commands \cmd{timelist} and \cmd{classnum}.}
+\caption{Usage of the two variables.}
\begin{tabularx}{\textwidth}{c >{\raggedright\arraybackslash}X >{\raggedright\arraybackslash}X}
\toprule
- \diagbox{\cmd{classnum}}{\cmd{timelist}} & \multicolumn{1}{c}{To use} & \multicolumn{1}{c}{Not to use}\\
+ \diagbox{\cmd{\ttfamily[\#1]}}{\cmd{\ttfamily\{\#2\}}} & \multicolumn{1}{c}{To use} & \multicolumn{1}{c}{Not to use}\\
\midrule
To use &
- The effect is like the description of command \cmd{timelist}\newline But the number of rows will be assigned by \cmd{classnum} &
- The effect is like the description of command \cmd{classnum} before\\
+ The effect is the description of \cmd{\ttfamily\{\#2\}}, but number of rows assign by \cmd{\ttfamily[\#1]} &
+ The effect is the description of \cmd{\ttfamily[\#1]}\\
\midrule
Not to use &
- The effect is like the description of command \cmd{timelist} before &
- The effect is like the description of command \cmd{timelist} before with \emph{default format of 12 lines}\\
+ The effect is the description of \cmd{\ttfamily\{\#2\}} &
+ The effect is the description of \cmd{\ttfamily[\#1]} before with \emph{default format of 12 lines}\\
\bottomrule
\end{tabularx}
\end{table}
+If you want to use the first variable \cmd{\ttfamily[\#1]} only, not to add anything in the second variable.
+
\begin{itemize}
- \item Assume that \cmd{timelist} has 12 groups of times, and \cmd{classnum} passed a value of 14, then the left side of the timetable will have only 1 -- 12 rows with time while the last two rows without time the label of them is still upward, not vertically aligned in the center.
- \item Assume that \cmd{timelist} has 14 sets of times, and \cmd{classnum} passes a value of 12, then only 12 rows of timetables will be generated with time on the left side of each row, that is, the last two sets of data in \cmd{timelist} will be invalid.
+ \item Assume that \cmd{\ttfamily\{\#2\}} has 12 groups of times, and \cmd{\ttfamily[\#1]} passed a value of 14, then the left side of the timetable will have only 1 -- 12 rows with time while the last two rows without time the label of them is still upward, not vertically aligned in the center.
+ \item Assume that \cmd{\ttfamily\{\#2\}} has 14 sets of times, and \cmd{\ttfamily[\#1]} passes a value of 12, then only 12 rows of timetables will be generated with time on the left side of each row, that is, the last two sets of data in \cmd{\ttfamily\{\#2\}} will be invalid.
\end{itemize}
\subsection{The \cmd{weeks} command}
@@ -185,13 +215,17 @@ This command can assign the default value of the 7th variable of the command \cm
There are 7 variables in this command.
\begin{itemize}
\item The 1st one is the color of the class that you want, from ``H1'' to ``H9'', it's optional and the default value is ``H1''.
- \item The 2nd and 3rd ones is the starting number and ending number of the class.
- \item The 4th one is the name of the class.
- \item The 5th one is the address of the class.
- \item The 6th one is the name of the teacher(s).
+ \item The 2nd -- 6th ones is the starting number and ending number, name, address, teacher(s) of the class.
\item The last one is the start week and end week of the timetable, it's optional and the default value is the value that you've adjusted in the command \cmd{weeks} or it will be ``Week 1 -- 12''.
\end{itemize}
+\subsection{The \cmd{corner} command}
+\begin{verbatim}
+ \corner{6 pt}
+\end{verbatim}
+
+This command determines the corner radius of the course block.
+
\subsection{The \cmd{newday} command}
This command can switch the current weekday to the next day, then the course will move right one grid.
@@ -207,41 +241,14 @@ This command can add remark at the end of the class schedule.
\end{verbatim}
There will be a sticker on the southeast of the page after you add, otherwise it won't.
-\subsection{The \cmd{(re)rotatepage} command}
-The \cmd{rotatepage} command can change the direction of the timetable temporarily while the \cmd{rerotatepage} command can restore it.
-
-\section{Known Issue: Resolution exceed}
-\begin{verbatim}
- Dimension too large. <recently read> \pgfmath@x
-\end{verbatim}
-
-When you choose the \mode{landscape} mode and you've added 7 workdays or more (?although the `above' occasion will not occur), it will return this error.
-
-This is mainly caused by the reason that \emph{\textsf{\TeX} has no built-in floating number representation} (Reference: \cprotect{\href{https://tex.stackexchange.com/a/545416/299948}}{How to solve the error `Dimension too large. <recently read> \verb|\pgfmath@x|' while doing the calculations in the table}).
-
-If one can solve this problem through optimization algorithms or other means, welcome submit your code via GitHub: \url{https://github.com/xiamyphys/litetable}, or contact me via email \href{mail:xiamyphys@gmail.com}{\ttfamily xiamyphys@gmail.com}.
-
\section{Version History}
-The design of this course schedule originated from the student course schedule web page\footnote{Only those studying at or graduated from Hangzhou Dianzi University can have the permission of access.} of the \href{https://www.hduhelp.cn/}{HDUHelp} in \href{https://www.hdu.edu.cn}{Hangzhou Dianzi University}\footnote{https://en.wikipedia.org/wiki/Hangzhou\_Dianzi\_University}. The layout is very beautiful and then I used \LaTeX{} to imitate that style and made a class schedule template to share with everyone.
-
-\textsf{\bfseries Version 1.0} was finished on 1 September, 2023 and released on \href{https://www.latexstudio.net/index/details/index/mid/3625.html}{\LaTeX{} Studio} (Hangzhou) and \href{http://xhslink.com/od7Ycw}{Xiaohongshu}, where won the favor of many people.
-
-\textsf{\bfseries Version 2.0a} was finished developing on 1 November, 2023 and released on \href{https://www.latexstudio.net/index/details/index/mid/3636.html}{\LaTeX{} Studio} (Xiaoshan, Hangzhou) and \href{http://xhslink.com/od7Ycw}{Xiaohongshu}. This version used \verb|.cls| files to make the \verb|main.tex| file more concise. Also, this version has added a global option to choose whether the corners of the ``course Block'' to be round or sharp. And this version support adds multiply class schedules in one \verb|.tex| file.
-
-\textsf{\bfseries Version 2.1a} was finished developing on 5 November, 2023. Supports the libertinus font.
-
-\textsf{\bfseries Version 2.2a} was finished developing on 31 January, 2024. This version fixed the bug of resolution exceeded, changed paper type to US letter and support custom course start time and end time.
-
-\textsf{\bfseries Version 2.3a} was finished developing on 2 February, 2024. This version supports automatically generate the corresponding number of rows based on the number of time groups you enter, and in this version, timetable can be displayed horizontally or portrait as you like.
-
-\textsf{\bfseries Version 2.3b} was finished developing on 3 February, 2024. This version optimized coordinate calculation and improved compilation speed.
+The design of this course schedule originated from the student course schedule web page (only teachers and students of this school can access) of the \href{https://www.hduhelp.cn/}{HDUHelp} in \href{https://www.hdu.edu.cn}{Hangzhou Dianzi University}. The layout is very beautiful and then I used \textsf{\LaTeX} to imitate that style and made a class schedule template to share with everyone.
-\textsf{\bfseries Version 2.4a} was finished developing on 24 February, 2024. Happy Lantern Festival! This version supports custom workday display style, and supports hiding time and only showing course program number vertically aligned.
+\textsf{\bfseries Version 1.0} was finished on 2023/09/01 and released on \href{https://www.latexstudio.net}{\textsf{\LaTeX} Studio} (Hangzhou), where has won the favor of many people.
-\clearpage
-
-\datechange{2023/09/01}{Version 2.0a}
+\setlist[itemize]{noitemsep, topsep=0pt}
+\datechange{2023/11/01}{Version 2.0a}
\begin{itemize}
\item Supports the course block's corners be round or sharp.
\item Supports multiply class schedules in one \verb|.tex| file.
@@ -272,15 +279,23 @@ The design of this course schedule originated from the student course schedule w
\item Optimized coordinate calculation and improved compilation speed.
\end{itemize}
-\datechange{\today}{Version 2.4a}
+\datechange{2024/02/24}{Version 2.4a}
\begin{itemize}
\item Supports custom workday display style.
\item Supports hiding time and only showing course program number vertically aligned.
\item Supports setting default first and last week.
\end{itemize}
-\appendix
+\datechange{\today}{Version 2.4b}
+\begin{itemize}
+ \item Fixed the error of \emph{resolution exceed} in the \mode{landscape} mode and added over 7 workdays.
+ \item Supports custom every width of the columns in the timetable.
+ \item Optimized the design of round corners, supports custom the radius of corners.
+\end{itemize}
+
+\small Thanks for @egreg's code on \TeX{} Exchange for \href{https://tex.stackexchange.com/a/711657/299948}{print number of each rows' elements of an array}.
+\appendix
\includepdf[pages={2,4},nup=1x2,pagecommand={
\tikz[remember picture, overlay]
\node [rotate=90,below,yshift=-1em] at (current page.west) {\bfseries\LARGE Document Example: \texttt{litetable-demo.tex}};
diff --git a/macros/latex/contrib/litetable/tex/litetable.cls b/macros/latex/contrib/litetable/tex/litetable.cls
index 10d6882ff4..f965a8a69c 100644
--- a/macros/latex/contrib/litetable/tex/litetable.cls
+++ b/macros/latex/contrib/litetable/tex/litetable.cls
@@ -14,17 +14,13 @@
\NeedsTeXFormat{LaTeX2e}
\PassOptionsToPackage{quiet}{xeCJK}
\PassOptionsToPackage{no-math}{fontspec}
-\ProvidesClass{litetable}[2024/02/24/ v2.4a LiteTable document class]
+\ProvidesClass{litetable}[2024/02/24/ v2.4b LiteTable document class]
% ---------- 全局选项 ---------- %
\RequirePackage{kvoptions}
\RequirePackage{etoolbox}
\SetupKeyvalOptions{family=LITE, prefix=LITE@, setkeys=\kvsetkeys}
-\DeclareStringOption[sharp]{style}
-\DeclareVoidOption{round}{\kvsetkeys{LITE}{style=round}}
-\DeclareVoidOption{sharp}{\kvsetkeys{LITE}{style=sharp}}
-
\DeclareStringOption[portiait]{direction}
\DeclareVoidOption{portiait}{\kvsetkeys{LITE}{direction=portiait}}
\DeclareVoidOption{landscape}{\kvsetkeys{LITE}{direction=landscape}}
@@ -73,9 +69,7 @@
\definecolor{darkergray}{HTML}{F1F3F5} % 深色块
\definecolor{lightergray}{HTML}{FCFDFE} % 浅色块
\definecolor{blackgray}{HTML}{1A1D21} % 序号颜色
-
\pagecolor{lightergray}
-
\definecolor{H1}{HTML}{74A7A2} % 深绿
\definecolor{H1*}{HTML}{E9EEED}
\definecolor{H1**}{HTML}{009787}
@@ -103,7 +97,6 @@
\definecolor{H9}{HTML}{D09966} % 棕色
\definecolor{H9*}{HTML}{F2E0D0}
\definecolor{H9**}{HTML}{C96F1C}
-
\definecolor{W1}{HTML}{CCAD52}
\definecolor{W2}{HTML}{8FCC52}
\definecolor{W3}{HTML}{52CC70}
@@ -125,6 +118,7 @@
\def\pageheight{-11 in}
}
}{\relax}
+
\ifdefstring{\LITE@direction}{landscape}{
\def\pagewidth{11 in}
\def\pageheight{-8.5 in}
@@ -138,96 +132,84 @@
}
}{\relax}
-\ifdefstring{\LITE@style}{round}{\def\corners{rounded corners}}{\relax}
-\ifdefstring{\LITE@style}{sharp}{\def\corners{}}{\relax}
-
\ExplSyntaxOn % 数组
-\cs_set:Npn \timelist #1 {
- \gdef\@timelist{#1}
- \seq_set_split:Nnn \l_node_row_seq {;} {#1}
- \int_step_inline:nn{\seq_count:N \l_node_row_seq}
- {
- \seq_if_exist:cF {l_node_row_##1_seq}
- {
- \seq_new:c {l_node_row_##1_seq}
- }
- \exp_args:Ncx\seq_set_from_clist:Nn {l_node_row_##1_seq} {\seq_item:Nn \l_node_row_seq{##1}}
- }
-}
+% 1. Set up arrays
+\def\definearray#1#2
+ {
+ \seq_clear_new:c { l__litetable_array_#1_seq }
+ \seq_set_split:cnn { l__litetable_array_#1_seq } { ; } { #2 }
+ }
-\cs_set:Npn \PrintTime [#1][#2] {
- \tl_if_empty:nTF { #1 }
- {
- \tl_if_empty:nTF { #2 }
- {
- \seq_use:Nn \l_node_row_seq {,}
- }
- {
- \int_step_inline:nn{\seq_count:N \l_node_row_seq}
- {
- \seq_put_right:Nn \l_node_tmp_seq {\seq_item:cn {l_node_row_##1_seq}{#2}}
- }
- \seq_use:Nn \l_node_tmp_seq {,}
- }
- }
- {
- \tl_if_empty:nTF {#2}
- {
- \seq_use:cn {l_node_row_#1_seq}{,}
- }
- {
- \seq_item:cn {l_node_row_#1_seq}{#2}
- }
- }
-}
+\cs_generate_variant:Nn \seq_set_split:Nnn { c }
-\cs_set:Npn \weeklist #1 {
- \gdef\@weeklist{#1}
- \gdef\@weeknum{\clist_count:n {#1}} % 计数模块
- \seq_set_split:Nnn \r_node_row_seq {;} {#1}
- \int_step_inline:nn{\seq_count:N \r_node_row_seq}
- {
- \exp_args:Ncx\seq_set_from_clist:Nn {r_node_row_##1_seq} {\seq_item:Nn \r_node_row_seq{##1}}
- }
-}
+% 2. Define commands to work with arrays
+\NewExpandableDocumentCommand{\arraycount}{ o m }
+ {
+ \IfNoValueTF { #1 }
+ {
+ \litetable_array_count_full:n { #2 }
+ }
+ {
+ \litetable_array_count_item:nn { #2 } { #1 }
+ }
+ }
+
+\cs_new:Nn \litetable_array_count_item:nn
+ {
+ \clist_count:e { \seq_item:cn { l__litetable_array_#1_seq } { #2 } }
+ }
+
+\NewExpandableDocumentCommand{\arrayitem}{ m m m }
+ {
+ \clist_item:en { \seq_item:cn { l__litetable_array_#1_seq } { #2 } } { #3 }
+ }
-\cs_set:Npn \PrintWeek [#1] {
- \tl_if_empty:nTF {#1}
- {
- \seq_use:cn {r_node_row_1_seq}{,}
- }
- {
- \seq_item:cn {r_node_row_1_seq}{#1}
- }
-}
\ExplSyntaxOff
-\def\classnum#1{\gdef\@classnum{#1}}
-\ifcsname @classnum\endcsname % 判断`\@classnum'由`\timelist'计数赋值还是`\classnum'直接赋值
- \relax
- \else
- \ifcsname @timelist\endcsname
- \gdef\@classnum{\int_div_round:nn {\clist_count:n {\@timelist}}{2}} % 计数模块
+\NewDocumentCommand{\timelist}{ o m }
+{
+ \gdef\@timelist{#2}
+ \definearray{timelist}{#2}
+ \IfNoValueTF{#1}{
+ \ifnum \arraycount[2]{timelist}<\arraycount[1]{timelist}
+ \def\@classnum{\arraycount[1]{timelist}}
\else
- \def\@classnum{12}
+ \def\@classnum{\arraycount[2]{timelist}}
\fi
+ }{\def\@classnum{#1}}
+}
+\ifcsname @timelist\endcsname
+ \relax
+ \else
+ \def\@classnum{12}
\fi
+\def\weeklist#1{
+ \gdef\@weeklist{#1}
+ \definearray{weeklist}{#1}
+}
+\gdef\@weeknum{\arraycount[1]{weeklist}}
\RequirePackage{fontawesome5}
\newcounter{number}
\def\sticker#1{\gdef\@sticker{#1}}
+\def\corner#1{\gdef\@corner{#1}}
\def\makeframe#1{
+ \ifcsname @corner\endcsname
+ \tikzset{corner/.style={rounded corners=\@corner}}
+ \else
+ \tikzset{corner/.style={}}
+ \fi
\draw [darkergray] (0,0) rectangle (\pagewidth,\pageheight);
- \fill [fill=darkergray,\corners] (0,0) rectangle (\pagewidth,{1.5*\pageheight/(2*\@classnum+3.5)});% 顶部深灰色块
+ \fill [fill=darkergray,corner] (0,0) rectangle (\pagewidth,{1.5*\pageheight/(2*\@classnum+3.5)});% 顶部深灰色块
\node at (.5*\pagewidth,{.75*\pageheight/(2*\@classnum+3.5)}) {\huge\bfseries\sffamily #1}; % 标题
\ifodd\@classnum
\foreach \a in {2,4,...,\@classnum,\@classnum+2}
- \fill [fill=darkergray,yshift=(2*\a-1.5)*\pageheight/(2*\@classnum+3.5),\corners] (0,0) rectangle (\pagewidth,{2*\pageheight/(2*\@classnum+3.5)}); % 中间深灰色块(循环)
+ \fill [fill=darkergray,yshift=(2*\a-1.5)*\pageheight/(2*\@classnum+3.5),corner] (0,0) rectangle (\pagewidth,{2*\pageheight/(2*\@classnum+3.5)}); % 中间深灰色块(循环)
\else
\foreach \a in {2,4,...,\@classnum}
- \fill [fill=darkergray,yshift=(2*\a-1.5)*\pageheight/(2*\@classnum+3.5),\corners] (0,0) rectangle (\pagewidth,{2*\pageheight/(2*\@classnum+3.5)}); % 中间深灰色块(循环)
- \fill [fill=darkergray,yshift=(2.5+2*\@classnum)*\pageheight/(2*\@classnum+3.5),\corners] (0,0) rectangle (\pagewidth,{\pageheight/(2*\@classnum+3.5)}); % 底部深灰色块
+ \fill [fill=darkergray,yshift=(2*\a-1.5)*\pageheight/(2*\@classnum+3.5),corner] (0,0) rectangle (\pagewidth,{2*\pageheight/(2*\@classnum+3.5)}); % 中间深灰色块(循环)
+ \fill [fill=darkergray,yshift=(2.5+2*\@classnum)*\pageheight/(2*\@classnum+3.5),corner] (0,0) rectangle (\pagewidth,{\pageheight/(2*\@classnum+3.5)}); % 底部深灰色块
\fi
\foreach \a in {0,1,2,...,\@classnum}
@@ -235,27 +217,29 @@
% 时间标注
\setcounter{number}{0}
- \ifcsname @timelist\endcsname % 若 `\@timelist == empty', 跳过该函数
- \foreach \x in {1,2,...,\@classnum}
+ \ifcsempty{@timelist}{
+ \foreach \a in {1,2,...,\@classnum}
+ {
+ \node [yshift=(1.5+2*\a)*\pageheight/(2*\@classnum+3.5)] at(\pagewidth/32,0)
+ {\bfseries\large\color{blackgray}\texttt{\refstepcounter{number}\thenumber}};
+ }
+ }{
+ \foreach \x in {1,2,...,\@classnum}
{
\node [yshift=(2*\x+.9)*\pageheight/(2*\@classnum+3.5)] at (\pagewidth/32,0)
{\bfseries\color{blackgray}\texttt{\refstepcounter{number}\thenumber}};
\node[yshift=(2*\x+1.55)*\pageheight/(2*\@classnum+3.5)] at (\pagewidth/32,0)
- {\color{darkgray}\texttt{\PrintTime[1][\x]}};
+ {\color{darkgray}\texttt{\arrayitem{timelist}{1}{\x}}};
\node[yshift=(2*\x+2.1)*\pageheight/(2*\@classnum+3.5)] at (\pagewidth/32,0)
- {\color{darkgray}\texttt{\PrintTime[2][\x]}};
+ {\color{darkgray}\texttt{\arrayitem{timelist}{2}{\x}}};
}
- \else
- \foreach \a in {1,2,...,\@classnum}
- {
- \node [yshift=(1.5+2*\a)*\pageheight/(2*\@classnum+3.5)] at(\pagewidth/32,0)
- {\bfseries\large\color{blackgray}\texttt{\refstepcounter{number}\thenumber}};
}
- \fi
+
% 星期标注
\foreach \a in {1,2,...,\@weeknum}
- \node [xshift=3*\a*\pagewidth/16] at ({\pagewidth/16-\a*(15*\pagewidth/16*(1/5-1/\@weeknum))-7.5*\pagewidth/(16*\@weeknum)},{2*\pageheight/(2*\@classnum+3.5)})
- {\PrintWeek[\a]};
+ \node [xshift=\pagewidth/16] at ({.5*(\arrayitem{weeklist}{2}{\a}+\arrayitem{weeklist}{2}{\a+1})*15*\pagewidth/16},{2*\pageheight/(2*\@classnum+3.5)})
+ {\arrayitem{weeklist}{1}{\a}};
+
\ifcsname @sticker\endcsname
\node [opacity=.3,above left,yshift=(1.5+2*\@classnum)*\pageheight/(2*\@classnum+3.5),inner sep=0pt,outer sep=auto,scale=15] at (\pagewidth,{\pageheight/(2*\@classnum+3.5)}) {\includegraphics[width=\dimeval{\pagewidth/16/\@weeknum}]{\@sticker}};\fi
}
@@ -273,39 +257,41 @@
\NewDocumentCommand{\course}{O{H1} m m m m m O{\@weeks}}
{
- \fill [#1,\corners,
+ \fill [#1,corner,
yshift=(2*(#2-1))*\pageheight/(2*\@classnum+3.5),
- xshift=3*\theweekday*\pagewidth/16]
- ({\pagewidth/16-\theweekday*(15*\pagewidth/16*(1/5-1/\@weeknum))},{2.5*\pageheight/(2*\@classnum+3.5)}) rectangle ++
- ({15*\pagewidth/(16*\@weeknum)},{(2+2*(#3-#2))*\pageheight/(2*\@classnum+3.5)}); % frame
+ xshift=\pagewidth/16]
+ ({\arrayitem{weeklist}{2}{\theweekday+1}*15*\pagewidth/16},{2.5*\pageheight/(2*\@classnum+3.5)}) rectangle ++
+ ({(\arrayitem{weeklist}{2}{\theweekday+2}-\arrayitem{weeklist}{2}{\theweekday+1})*15*\pagewidth/16},{(2+2*(#3-#2))*\pageheight/(2*\@classnum+3.5)}); % frame
- \fill [#1*,\corners,
+ \fill [#1*,
yshift=(2*(#2-1)+.5)*\pageheight/(2*\@classnum+3.5),
- xshift=3*\theweekday*\pagewidth/16]
- ({\pagewidth/16-\theweekday*(15*\pagewidth/16*(1/5-1/\@weeknum))},{2.5*\pageheight/(2*\@classnum+3.5)}) rectangle ++
- ({15*\pagewidth/(16*\@weeknum)},{(1.5+2*(#3-#2))*\pageheight/(2*\@classnum+3.5)}); % content
+ xshift=\pagewidth/16]
+ ({\arrayitem{weeklist}{2}{\theweekday+1}*15*\pagewidth/16},{2.5*\pageheight/(2*\@classnum+3.5)}) --++
+ ({(\arrayitem{weeklist}{2}{\theweekday+2}-\arrayitem{weeklist}{2}{\theweekday+1})*15*\pagewidth/16},0)
+ { [corner] --++ (0,{(1.5+2*(#3-#2))*\pageheight/(2*\@classnum+3.5)}) --++
+ ({(-\arrayitem{weeklist}{2}{\theweekday+2}+\arrayitem{weeklist}{2}{\theweekday+1})*15*\pagewidth/16},0)} -- cycle; % content
\node [#1**,yshift=(#2+#3-1.25)*\pageheight/(2*\@classnum+3.5),
- xshift=3*\theweekday*\pagewidth/16] at
- ({\pagewidth/16-\theweekday*(15*\pagewidth/16*(1/5-1/\@weeknum))+7.5*\pagewidth/(16*\@weeknum)},{2.5*\pageheight/(2*\@classnum+3.5)})
+ xshift=\pagewidth/16] at
+ ({.5*(\arrayitem{weeklist}{2}{\theweekday+1}+\arrayitem{weeklist}{2}{\theweekday+2})*15*\pagewidth/16},{2.5*\pageheight/(2*\@classnum+3.5)})
{\heiti\large\bfseries #4}; % course
\node [#1**,above,
yshift=(#2+#3-.2)*\pageheight/(2*\@classnum+3.5),
- xshift=3*\theweekday*\pagewidth/16] at
- ({\pagewidth/16-\theweekday*(15*\pagewidth/16*(1/5-1/\@weeknum))+7.5*\pagewidth/(16*\@weeknum)},{2.5*\pageheight/(2*\@classnum+3.5)})
+ xshift=\pagewidth/16] at
+ ({.5*(\arrayitem{weeklist}{2}{\theweekday+1}+\arrayitem{weeklist}{2}{\theweekday+2})*15*\pagewidth/16},{2.5*\pageheight/(2*\@classnum+3.5)})
{\heiti\bfseries\small #5}; % location
\node [#1**,below,
yshift=(#2+#3-.2)*\pageheight/(2*\@classnum+3.5),
- xshift=3*\theweekday*\pagewidth/16] at
- ({\pagewidth/16-\theweekday*(15*\pagewidth/16*(1/5-1/\@weeknum))+7.5*\pagewidth/(16*\@weeknum)},{2.5*\pageheight/(2*\@classnum+3.5)})
+ xshift=\pagewidth/16] at
+ ({.5*(\arrayitem{weeklist}{2}{\theweekday+1}+\arrayitem{weeklist}{2}{\theweekday+2})*15*\pagewidth/16},{2.5*\pageheight/(2*\@classnum+3.5)})
{\heiti\bfseries\small #6}; % teacher
\node [#1**,above left,
yshift=2*#3*\pageheight/(2*\@classnum+3.5),
- xshift=3*\theweekday*\pagewidth/16] at
- ({\pagewidth/16-\theweekday*(15*\pagewidth/16*(1/5-1/\@weeknum))+15*\pagewidth/(16*\@weeknum)},{2.5*\pageheight/(2*\@classnum+3.5)})
+ xshift=\pagewidth/16] at
+ ({\arrayitem{weeklist}{2}{\theweekday+2}*15*\pagewidth/16},{2.5*\pageheight/(2*\@classnum+3.5)})
{\heiti\footnotesize #7}; % weeks
}
diff --git a/macros/latex/contrib/metalogox/README.txt b/macros/latex/contrib/metalogox/README.txt
index c89e1096e3..ab28df8636 100644
--- a/macros/latex/contrib/metalogox/README.txt
+++ b/macros/latex/contrib/metalogox/README.txt
@@ -1,7 +1,7 @@
The LaTeX metalogox package
Automatically adjusts the TeX logo and related, depending on the font.
-v1.04
+v1.05
Copyright 2019, 2023–2024 Brian Dunn — https://github.com/bdtc/metalogox
LaTeX Project Public License, version 1.3
diff --git a/macros/latex/contrib/metalogox/metalogox.dtx b/macros/latex/contrib/metalogox/metalogox.dtx
index 25b9bd3ba2..327659cc5b 100644
--- a/macros/latex/contrib/metalogox/metalogox.dtx
+++ b/macros/latex/contrib/metalogox/metalogox.dtx
@@ -16,7 +16,7 @@
% \iffalse
%<package>\NeedsTeXFormat{LaTeX2e}[1999/12/01]
%<package>\ProvidesPackage{metalogox}
-%<package> [2024/01/26 v1.04 Extends the metalogo package with font detection.]
+%<package> [2024/03/01 v1.05 Extends the metalogo package with font detection.]
%
%<*driver>
\documentclass{ltxdoc}
@@ -167,6 +167,7 @@ pageanchor=true,
% Eczar, Ibarra, Inria, Inter, MLModern, Nunito, Oswald.}
% \changes{v1.03}{2024/01/19}{2024/01/19}
% \changes{v1.04}{2024/01/26}{2024/01/26}
+% \changes{v1.05}{2024/03/01}{2024/03/01}
@@ -1261,6 +1262,7 @@ pageanchor=true,
%
% Seach a list of possibilities:
% \changes{v1.03}{2024/01/19}{Updated many fonts for changed family names.}
+% \changes{v1.05}{2024/03/01}{Fixed Erewhon.}
% \begin{macrocode}
\MLX@@detectone{AccanthisADFStdNoThree}{accanthis}{accanthis}%
\MLX@@detectone{AccanthisADFStdNo3}{accanthis}{accanthis}%
@@ -1330,7 +1332,7 @@ pageanchor=true,
\MLX@@detectone{EBGaramond12}{EB Garamond}{garamond}%
\MLX@@detectone{Eczar(0)}{Eczar}{times}%
\MLX@@detectone{erewhon}{erewhon}{utopia}%
-\MLX@@detectone{Erewhon-Regular}{erewhon}{utopia}%
+\MLX@@detectone{Erewhon}{erewhon}{utopia}%
\MLX@@detectone{fbb}{fbb}{baskerville}%
\MLX@@detectone{FiraSans}{Fira Sans}{helvetica}%
\MLX@@detectone{FiraSansBook}{Fira Sans}{helvetica}%
diff --git a/macros/latex/contrib/metalogox/metalogox.pdf b/macros/latex/contrib/metalogox/metalogox.pdf
index 4912b1c319..c0b5025fe5 100644
--- a/macros/latex/contrib/metalogox/metalogox.pdf
+++ b/macros/latex/contrib/metalogox/metalogox.pdf
Binary files differ
diff --git a/macros/latex/contrib/minimalist/README.md b/macros/latex/contrib/minimalist/README.md
index 4e46eb1e0a..a843b3dd93 100644
--- a/macros/latex/contrib/minimalist/README.md
+++ b/macros/latex/contrib/minimalist/README.md
@@ -8,6 +8,8 @@
`minimalist` is a collection of styles and classes that helps you to typeset articles and books with a simple and clear design.
+> Package dependencies: [`amsfonts`](https://ctan.org/pkg/amsfonts), [`amsthm`](https://ctan.org/pkg/amsthm), [`anyfontsize`](https://ctan.org/pkg/anyfontsize), [`bookmark`](https://ctan.org/pkg/bookmark), [`caption`](https://ctan.org/pkg/caption), [*`draftwatermark`*](https://ctan.org/pkg/draftwatermark), [`embrac`](https://ctan.org/pkg/embrac), [`enumitem`](https://ctan.org/pkg/enumitem), [`extramarks`](https://ctan.org/pkg/extramarks), [`fancyhdr`](https://ctan.org/pkg/fancyhdr), [`float`](https://ctan.org/pkg/float), [*`fontspec`*](https://ctan.org/pkg/fontspec), [`geometry`](https://ctan.org/pkg/geometry), [`graphicx`](https://ctan.org/pkg/graphicx), [`hyperref`](https://ctan.org/pkg/hyperref), [`imakeidx`](https://ctan.org/pkg/imakeidx), [`lineno`](https://ctan.org/pkg/lineno), [*`lua-widow-control`*](https://ctan.org/pkg/lua-widow-control), [`indentfirst`](https://ctan.org/pkg/indentfirst), [*`mathpazo`*](https://ctan.org/pkg/mathpazo), [`mathtools`](https://ctan.org/pkg/mathtools), [*`newpx`*](https://ctan.org/pkg/newpx), [*`nowidow`*](https://ctan.org/pkg/nowidow), [`parskip`](https://ctan.org/pkg/parskip), [`pgf`](https://ctan.org/pkg/pgf), [`projlib`](https://ctan.org/pkg/projlib), [`regexpatch`](https://ctan.org/pkg/regexpatch), [`relsize`](https://ctan.org/pkg/relsize), [`silence`](https://ctan.org/pkg/silence), [`tcolorbox`](https://ctan.org/pkg/tcolorbox), [`tikzpagenodes`](https://ctan.org/pkg/tikzpagenodes), [`titlesec`](https://ctan.org/pkg/titlesec), [`titletoc`](https://ctan.org/pkg/titletoc), [`wrapfig2`](https://ctan.org/pkg/wrapfig2), [`ulem`](https://ctan.org/pkg/ulem).
+
It mainly consists of two parts.
- Main part:
diff --git a/macros/latex/contrib/minimalist/minimalist-classical.sty b/macros/latex/contrib/minimalist/minimalist-classical.sty
index 908de05e44..8d5050e581 100644
--- a/macros/latex/contrib/minimalist/minimalist-classical.sty
+++ b/macros/latex/contrib/minimalist/minimalist-classical.sty
@@ -18,7 +18,7 @@
\NeedsTeXFormat{LaTeX2e}[2022-06-01]
\ProvidesExplPackage
{minimalist-classical}
- {2024/02/23} {}
+ {2024/03/01} {}
{The "classical" style of minimalist}
\IfPackageLoadedTF { minimalist } {}
diff --git a/macros/latex/contrib/minimalist/minimalist-classicthesis.sty b/macros/latex/contrib/minimalist/minimalist-classicthesis.sty
index f22987b5a2..b3c093acf4 100644
--- a/macros/latex/contrib/minimalist/minimalist-classicthesis.sty
+++ b/macros/latex/contrib/minimalist/minimalist-classicthesis.sty
@@ -18,7 +18,7 @@
\NeedsTeXFormat{LaTeX2e}[2022-06-01]
\ProvidesExplPackage
{minimalist-classicthesis}
- {2024/02/23} {}
+ {2024/03/01} {}
{The "classicthesis" style of minimalist}
\IfPackageLoadedTF { minimalist } {}
diff --git a/macros/latex/contrib/minimalist/minimalist-default.sty b/macros/latex/contrib/minimalist/minimalist-default.sty
index ea3aa22eb9..e90fbeb934 100644
--- a/macros/latex/contrib/minimalist/minimalist-default.sty
+++ b/macros/latex/contrib/minimalist/minimalist-default.sty
@@ -18,7 +18,7 @@
\NeedsTeXFormat{LaTeX2e}[2022-06-01]
\ProvidesExplPackage
{minimalist-default}
- {2024/02/23} {}
+ {2024/03/01} {}
{The default style of minimalist}
\IfPackageLoadedTF { minimalist } {}
diff --git a/macros/latex/contrib/minimalist/minimalist-flow.sty b/macros/latex/contrib/minimalist/minimalist-flow.sty
index 737d61eaa9..996869fe31 100644
--- a/macros/latex/contrib/minimalist/minimalist-flow.sty
+++ b/macros/latex/contrib/minimalist/minimalist-flow.sty
@@ -18,7 +18,7 @@
\NeedsTeXFormat{LaTeX2e}[2022-06-01]
\ProvidesExplPackage
{minimalist-flow}
- {2024/02/23} {}
+ {2024/03/01} {}
{The "flow" style of minimalist}
\IfPackageLoadedTF { minimalist } {}
diff --git a/macros/latex/contrib/minimalist/minimalist-plain.sty b/macros/latex/contrib/minimalist/minimalist-plain.sty
index 761cc4f258..a233f5347d 100644
--- a/macros/latex/contrib/minimalist/minimalist-plain.sty
+++ b/macros/latex/contrib/minimalist/minimalist-plain.sty
@@ -18,7 +18,7 @@
\NeedsTeXFormat{LaTeX2e}[2022-06-01]
\ProvidesExplPackage
{minimalist-plain}
- {2024/02/23} {}
+ {2024/03/01} {}
{The "plain" style of minimalist}
\IfPackageLoadedTF { minimalist } {}
diff --git a/macros/latex/contrib/minimalist/minimalist-stream.sty b/macros/latex/contrib/minimalist/minimalist-stream.sty
index 51acfcbb7f..e99f2c6446 100644
--- a/macros/latex/contrib/minimalist/minimalist-stream.sty
+++ b/macros/latex/contrib/minimalist/minimalist-stream.sty
@@ -18,7 +18,7 @@
\NeedsTeXFormat{LaTeX2e}[2022-06-01]
\ProvidesExplPackage
{minimalist-stream}
- {2024/02/23} {}
+ {2024/03/01} {}
{The "stream" style of minimalist}
\IfPackageLoadedTF { minimalist } {}
diff --git a/macros/latex/contrib/minimalist/minimalist.sty b/macros/latex/contrib/minimalist/minimalist.sty
index 034a9cc8c6..7d244fc261 100644
--- a/macros/latex/contrib/minimalist/minimalist.sty
+++ b/macros/latex/contrib/minimalist/minimalist.sty
@@ -18,7 +18,7 @@
\NeedsTeXFormat{LaTeX2e}[2022-06-01]
\ProvidesExplPackage
{minimalist}
- {2024/02/23} {}
+ {2024/03/01} {}
{A simple and clear style for articles and books}
\keys_define:nn { minimalist }
diff --git a/macros/latex/contrib/minimalist/minimart.cls b/macros/latex/contrib/minimalist/minimart.cls
index 67411f25a8..d95ee8b1ac 100644
--- a/macros/latex/contrib/minimalist/minimart.cls
+++ b/macros/latex/contrib/minimalist/minimart.cls
@@ -18,7 +18,7 @@
\NeedsTeXFormat{LaTeX2e}[2022-06-01]
\ProvidesExplClass
{minimart}
- {2024/02/23} {}
+ {2024/03/01} {}
{A simple and clear article style}
\tl_const:Nn \l__minimclass_base_class_tl { article }
@@ -225,7 +225,7 @@
%%================================
\RequirePackage { graphicx }
\graphicspath { { images/ } }
-\RequirePackage { wrapfig }
+\RequirePackage { wrapfig2 }
\RequirePackage { float }
\RequirePackage { caption }
\captionsetup { font = small }
diff --git a/macros/latex/contrib/minimalist/minimbook.cls b/macros/latex/contrib/minimalist/minimbook.cls
index 727572c73a..cffe40bc95 100644
--- a/macros/latex/contrib/minimalist/minimbook.cls
+++ b/macros/latex/contrib/minimalist/minimbook.cls
@@ -18,7 +18,7 @@
\NeedsTeXFormat{LaTeX2e}[2022-06-01]
\ProvidesExplClass
{minimbook}
- {2024/02/23} {}
+ {2024/03/01} {}
{A simple and clear book style}
\tl_const:Nn \l__minimclass_base_class_tl { book }
@@ -225,7 +225,7 @@
%%================================
\RequirePackage { graphicx }
\graphicspath { { images/ } }
-\RequirePackage { wrapfig }
+\RequirePackage { wrapfig2 }
\RequirePackage { float }
\RequirePackage { caption }
\captionsetup { font = small }
diff --git a/macros/latex/contrib/pdfmanagement-testphase/CHANGELOG.md b/macros/latex/contrib/pdfmanagement-testphase/CHANGELOG.md
index 44ce7a8c55..8d8df7e071 100644
--- a/macros/latex/contrib/pdfmanagement-testphase/CHANGELOG.md
+++ b/macros/latex/contrib/pdfmanagement-testphase/CHANGELOG.md
@@ -5,6 +5,12 @@ first release 0.95a, 2021-02-23 will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
this project uses date-based 'snapshot' version identifiers.
+## [2024-03-01]
+
+### Changed
+ - format of /F in filespec: use utf8/string for better compability with ZUGFeRD processor.
+ - added /Contents entry to URI and GoTo links for better UA support.
+
## [2024-02-22]
### Changed
diff --git a/macros/latex/contrib/pdfmanagement-testphase/README.md b/macros/latex/contrib/pdfmanagement-testphase/README.md
index 19c948dc5e..8bd1188f1f 100644
--- a/macros/latex/contrib/pdfmanagement-testphase/README.md
+++ b/macros/latex/contrib/pdfmanagement-testphase/README.md
@@ -1,6 +1,6 @@
# LaTeX PDF management testphase bundle
-Version: 0.96e, 2024-02-22
+Version: 0.96f, 2024-03-01
This package is used during a test phase to load the new PDF management code
of LaTeX.
diff --git a/macros/latex/contrib/pdfmanagement-testphase/color-ltx.sty b/macros/latex/contrib/pdfmanagement-testphase/color-ltx.sty
index 51437e01b0..fbb8fb6199 100644
--- a/macros/latex/contrib/pdfmanagement-testphase/color-ltx.sty
+++ b/macros/latex/contrib/pdfmanagement-testphase/color-ltx.sty
@@ -24,7 +24,7 @@
%% This file has the LPPL maintenance status "maintained".
%%
\NeedsTeXFormat{LaTeX2e}[1995/12/01]
-\ProvidesPackage{color-ltx}[2024-02-22 v0.96e
+\ProvidesPackage{color-ltx}[2024-03-01 v0.96f
Standard LaTeX Color (patched for l3color, part of pdfmanagement-testphase, original version 2022/01/06 v1.3d) (DPC)]
\edef\Gin@codes{%
\catcode`\noexpand\^^A\the\catcode`\^^A\relax
diff --git a/macros/latex/contrib/pdfmanagement-testphase/colorspace-patches-tmp-ltx.sty b/macros/latex/contrib/pdfmanagement-testphase/colorspace-patches-tmp-ltx.sty
index a18d10afd0..f7325a206f 100644
--- a/macros/latex/contrib/pdfmanagement-testphase/colorspace-patches-tmp-ltx.sty
+++ b/macros/latex/contrib/pdfmanagement-testphase/colorspace-patches-tmp-ltx.sty
@@ -19,7 +19,7 @@
%
% for those people who are interested.
\NeedsTeXFormat{LaTeX2e}[2020/10/01]
-\ProvidesExplPackage{colorspace-patches-tmp-ltx}{2024-02-22}{0.96e}
+\ProvidesExplPackage{colorspace-patches-tmp-ltx}{2024-03-01}{0.96f}
{temporay patches to for the colorspace package to test pdfresource management ... UF}
% colorspace can define more models, that l3color can't yet handle.
diff --git a/macros/latex/contrib/pdfmanagement-testphase/hyperref-generic.dtx b/macros/latex/contrib/pdfmanagement-testphase/hyperref-generic.dtx
index 95b10a0f43..8fbfda14ef 100644
--- a/macros/latex/contrib/pdfmanagement-testphase/hyperref-generic.dtx
+++ b/macros/latex/contrib/pdfmanagement-testphase/hyperref-generic.dtx
@@ -82,7 +82,7 @@
% }^^A
% }
%
-% \date{Version 0.96e, released 2024-02-22}
+% \date{Version 0.96f, released 2024-03-01}
%
% \maketitle
% \begin{documentation}
@@ -964,7 +964,7 @@
%<@@=hyp>
% \end{macrocode}
% \begin{macrocode}
-\ProvidesFile{hgeneric-testphase.def}[2024-02-22 v0.96e %
+\ProvidesFile{hgeneric-testphase.def}[2024-03-01 v0.96f %
generic Hyperref driver for the LaTeX PDF management testphase bundle]
\RequirePackage{etoolbox} %why?
@@ -1695,6 +1695,32 @@
\tl_set:Nn \l_@@_text_enc_para_print_tl {utf8/string}
% \end{macrocode}
% \end{variable}
+%
+% It is also unclear how the /Contents entry would look at best.
+% So we use sockets. The first argument is the target (url or destination),
+% For GoTo we also pass the text as argument.
+% The sockets should define \cs{l_@@_link_Contents_tl}
+% % \begin{macrocode}
+\tl_new:N\l_@@_link_Contents_tl
+\socket_new:nn {hyp/link/GoTo/Contents}{2}
+\socket_new:nn {hyp/link/URI/Contents}{1}
+\socket_new_plug:nnn {hyp/link/GoTo/Contents}{default}
+ {
+ \@@_text_pdfstring:eoN
+ { Go~to~destination~#1 }
+ { \l_@@_text_enc_info_print_tl }
+ \l_@@_link_Contents_tl
+ }
+\socket_new_plug:nnn {hyp/link/URI/Contents}{default}
+ {
+ \@@_text_pdfstring:eoN
+ { #1 }
+ { \l_@@_text_enc_info_print_tl }
+ \l_@@_link_Contents_tl
+ }
+\socket_assign_plug:nn{hyp/link/GoTo/Contents}{default}
+\socket_assign_plug:nn{hyp/link/URI/Contents}{default}
+% \end{macrocode}
% \begin{variable}{\l_@@_dest_pdfview_tl}
% This hold the destination instructions in a format suitable for
% \cs{pdf_destination:nn}. The special value |fitrbox| indicates a boxed destination.
@@ -2210,6 +2236,12 @@
\Hy@VerboseLinkStart{#1}{#2}
\group_begin:
\tl_set:Nn \l_hyp_current_dest_name_tl {#2}
+% \end{macrocode}
+% this socket defines \cs{l_@@_link_Contents_tl}
+% \begin{macrocode}
+ \socket_use:nnn{hyp/link/GoTo/Contents}{#2}{#3}
+ \pdfannot_dict_put:nne {link/GoTo}{Contents}
+ {\l_@@_link_Contents_tl}
\hook_use:n {hyp/link/#1}
\@@_link_goto_begin:nw {#2}#3\Hy@xspace@end
\@@_link_goto_end:
@@ -2284,11 +2316,16 @@
{
\pdfdict_put:nnn{l_hyp/annot/A/URI}{IsMap}{true}
}
+% \end{macrocode}
+% This socket defines \cs{l_@@_link_Contents_tl}
+% \begin{macrocode}
+ \socket_use:nn{hyp/link/URI/Contents}{#2}
+ \pdfannot_dict_put:nne {link/URI}{Contents}{\l_@@_link_Contents_tl}
\cs_set_eq:NN \# \c_hash_str
\cs_set_eq:NN \% \c_percent_str
\Hy@safe@activestrue
\mode_leave_vertical:
- \pdfannot_dict_put:nne {link/URI}{A}{<<\pdfdict_use:n {l_hyp/annot/A/URI}>>}
+ \pdfannot_dict_put:nne {link/URI}{A}{<<\pdfdict_use:n {l_hyp/annot/A/URI}>>}
\pdfannot_link:nen { URI }
{
}
diff --git a/macros/latex/contrib/pdfmanagement-testphase/hyperref-generic.pdf b/macros/latex/contrib/pdfmanagement-testphase/hyperref-generic.pdf
index 0450754ced..3ae39a6a57 100644
--- a/macros/latex/contrib/pdfmanagement-testphase/hyperref-generic.pdf
+++ b/macros/latex/contrib/pdfmanagement-testphase/hyperref-generic.pdf
Binary files differ
diff --git a/macros/latex/contrib/pdfmanagement-testphase/l3backend-testphase.dtx b/macros/latex/contrib/pdfmanagement-testphase/l3backend-testphase.dtx
index 0ec194a94e..e5a5c8eef4 100644
--- a/macros/latex/contrib/pdfmanagement-testphase/l3backend-testphase.dtx
+++ b/macros/latex/contrib/pdfmanagement-testphase/l3backend-testphase.dtx
@@ -45,7 +45,7 @@
% }^^A
% }
%
-% \date{Version 0.96e, released 2024-02-22}
+% \date{Version 0.96f, released 2024-03-01}
%
% \maketitle
%
@@ -56,27 +56,27 @@
% \begin{macrocode}
%<drivers>\ProvidesExplFile
%<*dvipdfmx>
- {l3backend-testphase-dvipdfmx.def}{2024-02-22}{}
+ {l3backend-testphase-dvipdfmx.def}{2024-03-01}{}
{LaTeX~PDF~management~testphase~bundle~backend~support: dvipdfmx}
%</dvipdfmx>
%<*dvips>
- {l3backend-testphase-dvips.def}{2024-02-22}{}
+ {l3backend-testphase-dvips.def}{2024-03-01}{}
{LaTeX~PDF~management~testphase~bundle~backend~support: dvips}
%</dvips>
%<*dvisvgm>
- {l3backend-testphase-dvisvgm.def}{2024-02-22}{}
+ {l3backend-testphase-dvisvgm.def}{2024-03-01}{}
{LaTeX~PDF~management~testphase~bundle~backend~support: dvisvgm}
%</dvisvgm>
%<*luatex>
- {l3backend-testphase-luatex.def}{2024-02-22}{}
+ {l3backend-testphase-luatex.def}{2024-03-01}{}
{LaTeX~PDF~management~testphase~bundle~backend~support: PDF output (LuaTeX)}
%</luatex>
%<*pdftex>
- {l3backend-testphase-pdftex.def}{2024-02-22}{}
+ {l3backend-testphase-pdftex.def}{2024-03-01}{}
{LaTeX~PDF~management~testphase~bundle~backend~support: PDF output (pdfTeX)}
%</pdftex>
%<*xdvipdfmx>
- {l3backend-testphase-xetex.def}{2024-02-22}{}
+ {l3backend-testphase-xetex.def}{2024-03-01}{}
{LaTeX~PDF~management~testphase~bundle~backend~support: XeTeX}
%</xdvipdfmx>
% \end{macrocode}
diff --git a/macros/latex/contrib/pdfmanagement-testphase/l3backend-testphase.pdf b/macros/latex/contrib/pdfmanagement-testphase/l3backend-testphase.pdf
index d63b4b9e56..4a45caba95 100644
--- a/macros/latex/contrib/pdfmanagement-testphase/l3backend-testphase.pdf
+++ b/macros/latex/contrib/pdfmanagement-testphase/l3backend-testphase.pdf
Binary files differ
diff --git a/macros/latex/contrib/pdfmanagement-testphase/l3pdfannot.dtx b/macros/latex/contrib/pdfmanagement-testphase/l3pdfannot.dtx
index 51eb9a656e..099640fdb9 100644
--- a/macros/latex/contrib/pdfmanagement-testphase/l3pdfannot.dtx
+++ b/macros/latex/contrib/pdfmanagement-testphase/l3pdfannot.dtx
@@ -48,7 +48,7 @@
% }^^A
% }
%
-% \date{Version 0.96e, released 2024-02-22}
+% \date{Version 0.96f, released 2024-03-01}
%
% \maketitle
% \begin{documentation}
@@ -432,7 +432,7 @@
% \begin{macrocode}
%<@@=pdfannot>
%<*header>
-\ProvidesExplPackage{l3pdfannot}{2024-02-22}{0.96e}
+\ProvidesExplPackage{l3pdfannot}{2024-03-01}{0.96f}
{PDF-annotations}
\RequirePackage{l3pdfdict}
%</header>
diff --git a/macros/latex/contrib/pdfmanagement-testphase/l3pdfannot.pdf b/macros/latex/contrib/pdfmanagement-testphase/l3pdfannot.pdf
index 3a49e6be75..3c2d3eca0b 100644
--- a/macros/latex/contrib/pdfmanagement-testphase/l3pdfannot.pdf
+++ b/macros/latex/contrib/pdfmanagement-testphase/l3pdfannot.pdf
Binary files differ
diff --git a/macros/latex/contrib/pdfmanagement-testphase/l3pdfdict.dtx b/macros/latex/contrib/pdfmanagement-testphase/l3pdfdict.dtx
index c7cb24371d..c9d51ef555 100644
--- a/macros/latex/contrib/pdfmanagement-testphase/l3pdfdict.dtx
+++ b/macros/latex/contrib/pdfmanagement-testphase/l3pdfdict.dtx
@@ -49,7 +49,7 @@
% }^^A
% }
%
-% \date{Version 0.96e, released 2024-02-22}
+% \date{Version 0.96f, released 2024-03-01}
%
% \maketitle
% \begin{documentation}
@@ -208,7 +208,7 @@
% \begin{macrocode}
%<@@=pdfdict>
%<*header>
-\ProvidesExplPackage{l3pdfdict}{2024-02-22}{0.96e}
+\ProvidesExplPackage{l3pdfdict}{2024-03-01}{0.96f}
{Tools for PDF dictionaries (LaTeX PDF management testphase bundle)}
%</header>
% \end{macrocode}
diff --git a/macros/latex/contrib/pdfmanagement-testphase/l3pdfdict.pdf b/macros/latex/contrib/pdfmanagement-testphase/l3pdfdict.pdf
index bd7ff5e3ff..3d5899d6fd 100644
--- a/macros/latex/contrib/pdfmanagement-testphase/l3pdfdict.pdf
+++ b/macros/latex/contrib/pdfmanagement-testphase/l3pdfdict.pdf
Binary files differ
diff --git a/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-action.dtx b/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-action.dtx
index 1bb30b3af5..60067dab63 100644
--- a/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-action.dtx
+++ b/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-action.dtx
@@ -49,7 +49,7 @@
% }^^A
% }
%
-% \date{Version 0.96e, released 2024-02-22}
+% \date{Version 0.96f, released 2024-03-01}
%
% \maketitle
% \begin{documentation}
diff --git a/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-action.pdf b/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-action.pdf
index a64b7de4e5..138ffd1059 100644
--- a/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-action.pdf
+++ b/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-action.pdf
Binary files differ
diff --git a/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-checkbox.dtx b/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-checkbox.dtx
index 42b9e91ba6..6b37d1db68 100644
--- a/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-checkbox.dtx
+++ b/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-checkbox.dtx
@@ -64,7 +64,7 @@
% }^^A
% }
%
-% \date{Version 0.96e, released 2024-02-22}
+% \date{Version 0.96f, released 2024-03-01}
%
% \maketitle
% \begin{documentation}
diff --git a/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-checkbox.pdf b/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-checkbox.pdf
index f7333e6d78..54292479cd 100644
--- a/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-checkbox.pdf
+++ b/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-checkbox.pdf
Binary files differ
diff --git a/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-choice.dtx b/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-choice.dtx
index e7478d06fd..f98e6c3f07 100644
--- a/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-choice.dtx
+++ b/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-choice.dtx
@@ -49,7 +49,7 @@
% }^^A
% }
%
-% \date{Version 0.96e, released 2024-02-22}
+% \date{Version 0.96f, released 2024-03-01}
%
% \maketitle
% \begin{documentation}
diff --git a/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-choice.pdf b/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-choice.pdf
index abbae8d2f8..3e38f90827 100644
--- a/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-choice.pdf
+++ b/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-choice.pdf
Binary files differ
diff --git a/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-pushbutton.dtx b/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-pushbutton.dtx
index 17e961996b..b76f385207 100644
--- a/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-pushbutton.dtx
+++ b/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-pushbutton.dtx
@@ -55,7 +55,7 @@
% }^^A
% }
%
-% \date{Version 0.96e, released 2024-02-22}
+% \date{Version 0.96f, released 2024-03-01}
%
% \maketitle
% \begin{documentation}
diff --git a/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-pushbutton.pdf b/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-pushbutton.pdf
index 0c5ad08e2d..379145a63a 100644
--- a/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-pushbutton.pdf
+++ b/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-pushbutton.pdf
Binary files differ
diff --git a/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-radiobutton.dtx b/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-radiobutton.dtx
index bf302f68ca..51bfce9347 100644
--- a/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-radiobutton.dtx
+++ b/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-radiobutton.dtx
@@ -83,7 +83,7 @@
% }^^A
% }
%
-% \date{Version 0.96e, released 2024-02-22}
+% \date{Version 0.96f, released 2024-03-01}
%
% \maketitle
% \begin{documentation}
diff --git a/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-radiobutton.pdf b/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-radiobutton.pdf
index 6ab354c51b..ef1ebfc0ee 100644
--- a/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-radiobutton.pdf
+++ b/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-radiobutton.pdf
Binary files differ
diff --git a/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-textfield.dtx b/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-textfield.dtx
index 6680441f39..876bcacb35 100644
--- a/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-textfield.dtx
+++ b/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-textfield.dtx
@@ -49,7 +49,7 @@
% }^^A
% }
%
-% \date{Version 0.96e, released 2024-02-22}
+% \date{Version 0.96f, released 2024-03-01}
%
% \maketitle
% \begin{documentation}
diff --git a/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-textfield.pdf b/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-textfield.pdf
index be651fd1af..10cbf0029a 100644
--- a/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-textfield.pdf
+++ b/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-textfield.pdf
Binary files differ
diff --git a/macros/latex/contrib/pdfmanagement-testphase/l3pdffield.dtx b/macros/latex/contrib/pdfmanagement-testphase/l3pdffield.dtx
index 7d1a693535..24b0591a27 100644
--- a/macros/latex/contrib/pdfmanagement-testphase/l3pdffield.dtx
+++ b/macros/latex/contrib/pdfmanagement-testphase/l3pdffield.dtx
@@ -69,7 +69,7 @@
% }^^A
% }
%
-% \date{Version 0.96e, released 2024-02-22}
+% \date{Version 0.96f, released 2024-03-01}
%
% \maketitle
% \begin{documentation}
@@ -972,7 +972,7 @@
%<*package>
%<@@=pdffield>
\NeedsTeXFormat{LaTeX2e}
-\ProvidesExplPackage{l3pdffield-testphase}{2024-02-22}{0.96e}%
+\ProvidesExplPackage{l3pdffield-testphase}{2024-03-01}{0.96f}%
{form fields}
% \end{macrocode}
% \subsection{hyperref specific command}
diff --git a/macros/latex/contrib/pdfmanagement-testphase/l3pdffield.pdf b/macros/latex/contrib/pdfmanagement-testphase/l3pdffield.pdf
index 4a2a565f21..18f43aa4f6 100644
--- a/macros/latex/contrib/pdfmanagement-testphase/l3pdffield.pdf
+++ b/macros/latex/contrib/pdfmanagement-testphase/l3pdffield.pdf
Binary files differ
diff --git a/macros/latex/contrib/pdfmanagement-testphase/l3pdffile.dtx b/macros/latex/contrib/pdfmanagement-testphase/l3pdffile.dtx
index 8ba40c54ed..a13a4598a1 100644
--- a/macros/latex/contrib/pdfmanagement-testphase/l3pdffile.dtx
+++ b/macros/latex/contrib/pdfmanagement-testphase/l3pdffile.dtx
@@ -49,7 +49,7 @@
% }^^A
% }
%
-% \date{Version 0.96e, released 2024-02-22}
+% \date{Version 0.96f, released 2024-03-01}
%
% \maketitle
% \begin{documentation}
@@ -398,7 +398,7 @@
%
% \begin{macrocode}
%<*header>
-\ProvidesExplPackage{l3pdffile}{2024-02-22}{0.96e}
+\ProvidesExplPackage{l3pdffile}{2024-03-01}{0.96f}
{embedding and referencing files in PDF---LaTeX PDF management testphase bundle}
\RequirePackage{l3pdftools} %temporarly!!
%</header>
@@ -645,8 +645,9 @@
}
{
\group_begin:
- \@@_filename_convert_to_print:nN { #2 } \l_@@_tmpa_str
+ \pdf_string_from_unicode:nnN {utf8/string}{#2}\l_@@_tmpa_str
\pdfdict_put:nne {l_pdffile/Filespec}{F} { \l_@@_tmpa_str }
+ \@@_filename_convert_to_print:nN { #2 } \l_@@_tmpa_str
\pdfdict_put:nne {l_pdffile/Filespec}{UF}{ \l_@@_tmpa_str }
\pdf_object_write:nne { #1 } { dict }
{
@@ -669,8 +670,9 @@
}
{
\group_begin:
- \@@_filename_convert_to_print:nN { #1 } \l_@@_tmpa_str
+ \pdf_string_from_unicode:nnN {utf8/string}{#1}\l__pdffile_tmpa_str
\pdfdict_put:nne {l_pdffile/Filespec}{F} { \l_@@_tmpa_str }
+ \@@_filename_convert_to_print:nN { #1 } \l_@@_tmpa_str
\pdfdict_put:nne {l_pdffile/Filespec}{UF}{ \l_@@_tmpa_str }
\pdf_object_unnamed_write:ne {dict}
{
diff --git a/macros/latex/contrib/pdfmanagement-testphase/l3pdffile.pdf b/macros/latex/contrib/pdfmanagement-testphase/l3pdffile.pdf
index 9700e9ab6c..91314688ee 100644
--- a/macros/latex/contrib/pdfmanagement-testphase/l3pdffile.pdf
+++ b/macros/latex/contrib/pdfmanagement-testphase/l3pdffile.pdf
Binary files differ
diff --git a/macros/latex/contrib/pdfmanagement-testphase/l3pdfmanagement.dtx b/macros/latex/contrib/pdfmanagement-testphase/l3pdfmanagement.dtx
index f7c8ec02d7..4d430bed91 100644
--- a/macros/latex/contrib/pdfmanagement-testphase/l3pdfmanagement.dtx
+++ b/macros/latex/contrib/pdfmanagement-testphase/l3pdfmanagement.dtx
@@ -57,7 +57,7 @@
% }^^A
% }
%
-% \date{Version 0.96e, released 2024-02-22}
+% \date{Version 0.96f, released 2024-03-01}
%
% \maketitle
% \begin{documentation}
@@ -632,7 +632,7 @@
%<@@=pdfmanagement>
%<*header>
%
-\ProvidesExplPackage{l3pdfmanagement}{2024-02-22}{0.96e}
+\ProvidesExplPackage{l3pdfmanagement}{2024-03-01}{0.96f}
{Management of core PDF dictionaries (LaTeX PDF management testphase bundle)}
%</header>
% \end{macrocode}
diff --git a/macros/latex/contrib/pdfmanagement-testphase/l3pdfmanagement.pdf b/macros/latex/contrib/pdfmanagement-testphase/l3pdfmanagement.pdf
index 0d8542561b..2f9176068b 100644
--- a/macros/latex/contrib/pdfmanagement-testphase/l3pdfmanagement.pdf
+++ b/macros/latex/contrib/pdfmanagement-testphase/l3pdfmanagement.pdf
Binary files differ
diff --git a/macros/latex/contrib/pdfmanagement-testphase/l3pdfmeta.dtx b/macros/latex/contrib/pdfmanagement-testphase/l3pdfmeta.dtx
index 63697bf0b3..a8f9fa8a24 100644
--- a/macros/latex/contrib/pdfmanagement-testphase/l3pdfmeta.dtx
+++ b/macros/latex/contrib/pdfmanagement-testphase/l3pdfmeta.dtx
@@ -49,7 +49,7 @@
% }^^A
% }
%
-% \date{Version 0.96e, released 2024-02-22}
+% \date{Version 0.96f, released 2024-03-01}
%
% \maketitle
% \begin{documentation}
@@ -618,7 +618,7 @@
% \begin{macrocode}
%<@@=pdfmeta>
%<*header>
-\ProvidesExplPackage{l3pdfmeta}{2024-02-22}{0.96e}
+\ProvidesExplPackage{l3pdfmeta}{2024-03-01}{0.96f}
{PDF-Standards---LaTeX PDF management testphase bundle}
%</header>
% \end{macrocode}
diff --git a/macros/latex/contrib/pdfmanagement-testphase/l3pdfmeta.pdf b/macros/latex/contrib/pdfmanagement-testphase/l3pdfmeta.pdf
index 47a827a16b..2e988a5912 100644
--- a/macros/latex/contrib/pdfmanagement-testphase/l3pdfmeta.pdf
+++ b/macros/latex/contrib/pdfmanagement-testphase/l3pdfmeta.pdf
Binary files differ
diff --git a/macros/latex/contrib/pdfmanagement-testphase/l3pdftools.dtx b/macros/latex/contrib/pdfmanagement-testphase/l3pdftools.dtx
index acea3f5149..d90a102980 100644
--- a/macros/latex/contrib/pdfmanagement-testphase/l3pdftools.dtx
+++ b/macros/latex/contrib/pdfmanagement-testphase/l3pdftools.dtx
@@ -49,7 +49,7 @@
% }^^A
% }
%
-% \date{Version 0.96e, released 2024-02-22}
+% \date{Version 0.96f, released 2024-03-01}
%
% \maketitle
% \begin{documentation}
@@ -231,7 +231,7 @@
%
% \begin{macrocode}
%<*header>
-\ProvidesExplPackage{l3pdftools}{2024-02-22}{0.96e}
+\ProvidesExplPackage{l3pdftools}{2024-03-01}{0.96f}
{candidate commands for l3pdf---LaTeX PDF management testphase bundle}
%</header>
% \end{macrocode}
diff --git a/macros/latex/contrib/pdfmanagement-testphase/l3pdftools.pdf b/macros/latex/contrib/pdfmanagement-testphase/l3pdftools.pdf
index aec25b5a8f..af2a4d4365 100644
--- a/macros/latex/contrib/pdfmanagement-testphase/l3pdftools.pdf
+++ b/macros/latex/contrib/pdfmanagement-testphase/l3pdftools.pdf
Binary files differ
diff --git a/macros/latex/contrib/pdfmanagement-testphase/l3pdfxform.dtx b/macros/latex/contrib/pdfmanagement-testphase/l3pdfxform.dtx
index 40ef83a7c7..80fbee142b 100644
--- a/macros/latex/contrib/pdfmanagement-testphase/l3pdfxform.dtx
+++ b/macros/latex/contrib/pdfmanagement-testphase/l3pdfxform.dtx
@@ -48,7 +48,7 @@
% }^^A
% }
%
-% \date{Version 0.96e, released 2024-02-22}
+% \date{Version 0.96f, released 2024-03-01}
%
% \maketitle
% \begin{documentation}
@@ -132,7 +132,7 @@
% \begin{macrocode}
%<@@=pdf>
%<*header>
-\ProvidesExplPackage{l3pdfxform}{2024-02-22}{0.96e}
+\ProvidesExplPackage{l3pdfxform}{2024-03-01}{0.96f}
{command to create xforms (beta)---LaTeX PDF management testphase bundle}
%</header>
% \end{macrocode}
diff --git a/macros/latex/contrib/pdfmanagement-testphase/l3pdfxform.pdf b/macros/latex/contrib/pdfmanagement-testphase/l3pdfxform.pdf
index 1b54f22122..0025fa9270 100644
--- a/macros/latex/contrib/pdfmanagement-testphase/l3pdfxform.pdf
+++ b/macros/latex/contrib/pdfmanagement-testphase/l3pdfxform.pdf
Binary files differ
diff --git a/macros/latex/contrib/pdfmanagement-testphase/ltdocinit.dtx b/macros/latex/contrib/pdfmanagement-testphase/ltdocinit.dtx
index 0116923ae2..799222500a 100644
--- a/macros/latex/contrib/pdfmanagement-testphase/ltdocinit.dtx
+++ b/macros/latex/contrib/pdfmanagement-testphase/ltdocinit.dtx
@@ -47,7 +47,7 @@
% }^^A
% }
%
-% \date{Version 0.96e, released 2024-02-22}
+% \date{Version 0.96f, released 2024-03-01}
%
% \maketitle
% \begin{documentation}
@@ -220,7 +220,7 @@
% \begin{macrocode}
%<@@=pdfmanagement>
%<*header>
-\ProvidesExplPackage{ltdocinit}{2024-02-22}{0.96e}
+\ProvidesExplPackage{ltdocinit}{2024-03-01}{0.96f}
{Initialize document metadata}
%</header>
% \end{macrocode}
diff --git a/macros/latex/contrib/pdfmanagement-testphase/ltdocinit.pdf b/macros/latex/contrib/pdfmanagement-testphase/ltdocinit.pdf
index a1cdd6fa05..0fe70bd6bd 100644
--- a/macros/latex/contrib/pdfmanagement-testphase/ltdocinit.pdf
+++ b/macros/latex/contrib/pdfmanagement-testphase/ltdocinit.pdf
Binary files differ
diff --git a/macros/latex/contrib/pdfmanagement-testphase/pdfmanagement-firstaid.dtx b/macros/latex/contrib/pdfmanagement-testphase/pdfmanagement-firstaid.dtx
index bd25244517..04bb26772e 100644
--- a/macros/latex/contrib/pdfmanagement-testphase/pdfmanagement-firstaid.dtx
+++ b/macros/latex/contrib/pdfmanagement-testphase/pdfmanagement-firstaid.dtx
@@ -47,7 +47,7 @@
% }^^A
% }
%
-% \date{Version 0.96e, released 2024-02-22}
+% \date{Version 0.96f, released 2024-03-01}
%
% \maketitle
% \begin{documentation}
@@ -63,7 +63,7 @@
% |debug={firstaidoff={name1,name2,...},...}|.
% \begin{macrocode}
%<*package>
-\ProvidesExplPackage{pdfmanagement-firstaid}{2024-02-22}{0.96e}
+\ProvidesExplPackage{pdfmanagement-firstaid}{2024-03-01}{0.96f}
{LaTeX PDF management testphase bundle / firstaid-patches}
%<@@=pdfmanagement>
diff --git a/macros/latex/contrib/pdfmanagement-testphase/pdfmanagement-firstaid.pdf b/macros/latex/contrib/pdfmanagement-testphase/pdfmanagement-firstaid.pdf
index e5bfb845c9..b07c412140 100644
--- a/macros/latex/contrib/pdfmanagement-testphase/pdfmanagement-firstaid.pdf
+++ b/macros/latex/contrib/pdfmanagement-testphase/pdfmanagement-firstaid.pdf
Binary files differ
diff --git a/macros/latex/contrib/pdfmanagement-testphase/pdfmanagement-testphase.dtx b/macros/latex/contrib/pdfmanagement-testphase/pdfmanagement-testphase.dtx
index 7d599fd3bd..b04d33035a 100644
--- a/macros/latex/contrib/pdfmanagement-testphase/pdfmanagement-testphase.dtx
+++ b/macros/latex/contrib/pdfmanagement-testphase/pdfmanagement-testphase.dtx
@@ -47,7 +47,7 @@
% }^^A
% }
%
-% \date{Version 0.96e, released 2024-02-22}
+% \date{Version 0.96f, released 2024-03-01}
%
% \maketitle
% \begin{documentation}
@@ -394,7 +394,7 @@
% \begin{macrocode}
%<@@=pdf>
%<*package>
-\ProvidesExplPackage{pdfmanagement-testphase}{2024-02-22}{0.96e}
+\ProvidesExplPackage{pdfmanagement-testphase}{2024-03-01}{0.96f}
{LaTeX PDF management testphase bundle}
\providecommand\IfFormatAtLeastTF{\@ifl@t@r\fmtversion}
\IfFormatAtLeastTF{2020-10-01}{}{
@@ -422,7 +422,7 @@
% to allow to set it in the document.
% \begin{macrocode}
%<*header>
-\ProvidesExplFile{pdfmanagement-testphase.ltx}{2024-02-22}{0.96e}
+\ProvidesExplFile{pdfmanagement-testphase.ltx}{2024-03-01}{0.96f}
{PDF~management~code~(testphase)}
% \end{macrocode}
% We define a boolean for the new delayed shipout. This is temporary. At some
diff --git a/macros/latex/contrib/pdfmanagement-testphase/pdfmanagement-testphase.pdf b/macros/latex/contrib/pdfmanagement-testphase/pdfmanagement-testphase.pdf
index 3b92f77bf0..56bc534e9c 100644
--- a/macros/latex/contrib/pdfmanagement-testphase/pdfmanagement-testphase.pdf
+++ b/macros/latex/contrib/pdfmanagement-testphase/pdfmanagement-testphase.pdf
Binary files differ
diff --git a/macros/latex/contrib/pdfmanagement-testphase/xcolor-patches-tmp-ltx.sty b/macros/latex/contrib/pdfmanagement-testphase/xcolor-patches-tmp-ltx.sty
index 7966d479e3..d96cdbca1d 100644
--- a/macros/latex/contrib/pdfmanagement-testphase/xcolor-patches-tmp-ltx.sty
+++ b/macros/latex/contrib/pdfmanagement-testphase/xcolor-patches-tmp-ltx.sty
@@ -1,6 +1,6 @@
%% LaTeX2e file `xcolor-patches-tmp-ltx.sty'
%%
-\ProvidesPackage{xcolor-patches-tmp-ltx}[2024-02-22 v0.96e patch xcolor for l3color]
+\ProvidesPackage{xcolor-patches-tmp-ltx}[2024-03-01 v0.96f patch xcolor for l3color]
\@ifundefined{color_set:nn}{\RequirePackage{l3color}}{}
\ExplSyntaxOn
diff --git a/macros/latex/contrib/projlib/ProjLib.dtx b/macros/latex/contrib/projlib/ProjLib.dtx
index d961221c89..50dc24d9fe 100644
--- a/macros/latex/contrib/projlib/ProjLib.dtx
+++ b/macros/latex/contrib/projlib/ProjLib.dtx
@@ -19,84 +19,84 @@
%<*ProjLib>
\ProvidesExplPackage
{ProjLib}
- {2024/02/24} {}
+ {2024/03/01} {}
{Collective interface of the ProjLib toolkit}
%</ProjLib>
%
%<*projlib-author>
\ProvidesExplPackage
{projlib-author}
- {2024/02/24} {}
+ {2024/03/01} {}
{Enhanced author information block}
%</projlib-author>
%
%<*projlib-datetime>
\ProvidesExplPackage
{projlib-datetime}
- {2024/02/24} {}
+ {2024/03/01} {}
{Convert numeric date-time string to natural language}
%</projlib-datetime>
%
%<*projlib-draft>
\ProvidesExplPackage
{projlib-draft}
- {2024/02/24} {}
+ {2024/03/01} {}
{Useful commands during draft stage}
%</projlib-draft>
%
%<*projlib-font>
\ProvidesExplPackage
{projlib-font}
- {2024/02/24} {}
+ {2024/03/01} {}
{Font selection and configuration}
%</projlib-font>
%
%<*projlib-language>
\ProvidesExplPackage
{projlib-language}
- {2024/02/24} {}
+ {2024/03/01} {}
{Multi-language configuration}
%</projlib-language>
%
%<*projlib-logo>
\ProvidesExplPackage
{projlib-logo}
- {2024/02/24} {}
+ {2024/03/01} {}
{The ProjLib logo}
%</projlib-logo>
%
%<*projlib-math>
\ProvidesExplPackage
{projlib-math}
- {2024/02/24} {}
+ {2024/03/01} {}
{Efficient math setup}
%</projlib-math>
%
%<*projlib-paper>
\ProvidesExplPackage
{projlib-paper}
- {2024/02/24} {}
+ {2024/03/01} {}
{Configuration of the paper style}
%</projlib-paper>
%
%<*projlib-text>
\ProvidesExplPackage
{projlib-text}
- {2024/02/24} {}
+ {2024/03/01} {}
{Text-related commands}
%</projlib-text>
%
%<*projlib-theorem>
\ProvidesExplPackage
{projlib-theorem}
- {2024/02/24} {}
+ {2024/03/01} {}
{Configuration of theorem-like environments}
%</projlib-theorem>
%
%<*projlib-titlepage>
\ProvidesExplPackage
{projlib-titlepage}
- {2024/02/24} {}
+ {2024/03/01} {}
{Interface for title page rendering}
%</projlib-titlepage>
@@ -476,27 +476,27 @@
}
}
- \tl_new:N \l_projlib_author_subjclassname_tl
- \tl_new:N \l_projlib_author_subjclass_tl
+ \tl_new:N \l__projlib_author_subjclassname_tl
+ \tl_new:N \l__projlib_author_subjclass_tl
\msg_new:nnn { projlib-author }
{ unknown-msc-edition }
{ Unknown~edition~(#1)~of~Mathematics~Subject~Classification;~using~'2020' }
\NewDocumentCommand \subjclass { O{2020} m }
{
- \tl_set:Nn \l_projlib_author_subjclass_tl { #2 }
+ \tl_set:Nn \l__projlib_author_subjclass_tl { #2 }
\tl_if_exist:cTF { subjclassname_#1 }
{
- \tl_set:Nn \l_projlib_author_subjclassname_tl { \tl_use:c { subjclassname_#1 } }
+ \tl_set:Nn \l__projlib_author_subjclassname_tl { \tl_use:c { subjclassname_#1 } }
}
{
\msg_warning:nnn { projlib-author } { unknown-msc-edition } { #1 }
- \tl_set:Nn \l_projlib_author_subjclassname_tl { \tl_use:c { subjclassname_2020 } }
+ \tl_set:Nn \l__projlib_author_subjclassname_tl { \tl_use:c { subjclassname_2020 } }
}
\projlib_author_pre_thanks:n
{
- \textit{ \l_projlib_author_subjclassname_tl \c_projlib_author_dot_tl }
+ \textit{ \l__projlib_author_subjclassname_tl \c_projlib_author_dot_tl }
\enspace
- \l_projlib_author_subjclass_tl .
+ \l__projlib_author_subjclass_tl .
}
}
\tl_const:cn { subjclassname_1991 } { \textup{1991}~Mathematics~Subject~Classification }
@@ -2199,7 +2199,7 @@
}\ULon { #1 }
}
- \bool_if:NTF \l__projlib_draft_fast_bool
+\bool_if:NTF \l__projlib_draft_fast_bool
{
\tl_const:Nn \l_projlib_draft_plain_box_begin_tl { [ }
\tl_const:Nn \l_projlib_draft_plain_box_after_tl { ] }
@@ -3978,9 +3978,15 @@
, complex-name .initial:n = { true }
, complex~name .bool_set:N = \l__projlib_theorem_complexname_bool
, complex name .bool_set:N = \l__projlib_theorem_complexname_bool
+ , complex-names .bool_set:N = \l__projlib_theorem_complexname_bool
+ , complex~names .bool_set:N = \l__projlib_theorem_complexname_bool
+ , complex names .bool_set:N = \l__projlib_theorem_complexname_bool
, simple-name .bool_set_inverse:N = \l__projlib_theorem_complexname_bool
, simple~name .bool_set_inverse:N = \l__projlib_theorem_complexname_bool
, simple name .bool_set_inverse:N = \l__projlib_theorem_complexname_bool
+ , simple-names .bool_set_inverse:N = \l__projlib_theorem_complexname_bool
+ , simple~names .bool_set_inverse:N = \l__projlib_theorem_complexname_bool
+ , simple names .bool_set_inverse:N = \l__projlib_theorem_complexname_bool
, no-preset-names .bool_set_inverse:N = \l__projlib_theorem_presetname_bool
, no-preset-names .initial:n = { false }
, no~preset~names .bool_set_inverse:N = \l__projlib_theorem_presetname_bool
@@ -4176,11 +4182,11 @@
\crthm_counter_alias:nn { theorem-with-name } { theorem }
% \crthm_counter_alias:nn { proof } { theorem }
-\tl_new:N \l_projlib_theorem_name_of_theorem_with_name_tl
+\tl_new:N \l__projlib_theorem_name_of_theorem_with_name_tl
\CreateTheorem { theorem-with-name_inner }
{
, name = {
- , heading = { \l_projlib_theorem_name_of_theorem_with_name_tl }
+ , heading = { \l__projlib_theorem_name_of_theorem_with_name_tl }
, crefname = {}{}
, Crefname = {}{}
}
@@ -4190,7 +4196,7 @@
\NewDocumentEnvironment { theorem-with-name } { m O{} }
{
- \tl_set:Nn \l_projlib_theorem_name_of_theorem_with_name_tl { #1 }
+ \tl_set:Nn \l__projlib_theorem_name_of_theorem_with_name_tl { #1 }
\begin { theorem-with-name_inner } [ #2 ]
}
{
@@ -4198,7 +4204,7 @@
}
\NewDocumentEnvironment { theorem-with-name* } { m O{} }
{
- \tl_set:Nn \l_projlib_theorem_name_of_theorem_with_name_tl { #1 }
+ \tl_set:Nn \l__projlib_theorem_name_of_theorem_with_name_tl { #1 }
\begin { theorem-with-name_inner* } [ #2 ]
}
{
@@ -4208,15 +4214,15 @@
\SetTheoremBinding { theorem-with-name } { theorem-with-name_inner }
\SetTheoremBinding { theorem-with-name* } { theorem-with-name_inner* }
-\tl_new:N \l_projlib_theorem_name_of_proof_tl
-\CreateTheorem { proof_inner } { name = { heading = { \l_projlib_theorem_name_of_proof_tl } }, create-starred-version, qed, shared-counter = proof }
+\tl_new:N \l__projlib_theorem_name_of_proof_tl
+\CreateTheorem { proof_inner } { name = { heading = { \l__projlib_theorem_name_of_proof_tl } }, create-starred-version, qed, shared-counter = proof }
\cs_undefine:c { proof }
\cs_undefine:c { endproof }
\NewDocumentEnvironment { proof } { O{\proofname} }
{
- \tl_set:Nn \l_projlib_theorem_name_of_proof_tl { #1 }
+ \tl_set:Nn \l__projlib_theorem_name_of_proof_tl { #1 }
\begin { proof_inner }
}
{
@@ -4224,7 +4230,7 @@
}
\NewDocumentEnvironment { proof* } { O{\proofname} }
{
- \tl_set:Nn \l_projlib_theorem_name_of_proof_tl { #1 }
+ \tl_set:Nn \l__projlib_theorem_name_of_proof_tl { #1 }
\begin { proof_inner* }
}
{
@@ -7097,19 +7103,19 @@
\usetikzlibrary { calc }
\ExplSyntaxOn
-\tl_new:N \l_projlib_titlepage_title_page_name_tl
-\tl_new:N \l_projlib_titlepage_license_page_name_tl
-\tl_set:Nn \l_projlib_titlepage_title_page_name_tl { Cover }
-\tl_set:Nn \l_projlib_titlepage_license_page_name_tl { License }
+\tl_new:N \l__projlib_titlepage_title_page_name_tl
+\tl_new:N \l__projlib_titlepage_license_page_name_tl
+\tl_set:Nn \l__projlib_titlepage_title_page_name_tl { Cover }
+\tl_set:Nn \l__projlib_titlepage_license_page_name_tl { License }
-\tl_new:N \l_projlib_titlepage_logo_tl
-\tl_new:N \l_projlib_titlepage_title_tl
-\tl_new:N \l_projlib_titlepage_subtitle_tl
-\tl_new:N \l_projlib_titlepage_author_tl
-\tl_new:N \l_projlib_titlepage_info_tl
-\tl_new:N \l_projlib_titlepage_license_tl
-\tl_new:N \l_projlib_titlepage_date_tl
-\tl_new:N \l_projlib_titlepage_style_tl
+\tl_new:N \l__projlib_titlepage_logo_tl
+\tl_new:N \l__projlib_titlepage_title_tl
+\tl_new:N \l__projlib_titlepage_subtitle_tl
+\tl_new:N \l__projlib_titlepage_author_tl
+\tl_new:N \l__projlib_titlepage_info_tl
+\tl_new:N \l__projlib_titlepage_license_tl
+\tl_new:N \l__projlib_titlepage_date_tl
+\tl_new:N \l__projlib_titlepage_style_tl
\NewDocumentCommand \ProjLibTitlePage { O{} m }
{
@@ -7128,23 +7134,23 @@
\keys_define:nn { projlib-titlepage-config }
{
- , logo .code:n = { \tl_set:Nn \l_projlib_titlepage_logo_tl { \tl_trim_spaces:n { #1 } } }
+ , logo .code:n = { \tl_set:Nn \l__projlib_titlepage_logo_tl { \tl_trim_spaces:n { #1 } } }
, logo .initial:n = { * }
- , title .code:n = { \tl_set:Nn \l_projlib_titlepage_title_tl { \tl_trim_spaces:n { #1 } } }
- , subtitle .code:n = { \tl_set:Nn \l_projlib_titlepage_subtitle_tl { \tl_trim_spaces:n { #1 } } }
- , author .code:n = { \tl_set:Nn \l_projlib_titlepage_author_tl { \tl_trim_spaces:n { #1 } } }
- , date .code:n = { \tl_set:Nn \l_projlib_titlepage_date_tl { \tl_trim_spaces:n { #1 } } }
- , title-page-name .code:n = { \tl_set:Nn \l_projlib_titlepage_title_page_name_tl { \tl_trim_spaces:n { #1 } } }
- , title~page~name .code:n = { \tl_set:Nn \l_projlib_titlepage_title_page_name_tl { \tl_trim_spaces:n { #1 } } }
- , title page name .code:n = { \tl_set:Nn \l_projlib_titlepage_title_page_name_tl { \tl_trim_spaces:n { #1 } } }
- , license-page-name .code:n = { \tl_set:Nn \l_projlib_titlepage_license_page_name_tl { \tl_trim_spaces:n { #1 } } }
- , license~page~name .code:n = { \tl_set:Nn \l_projlib_titlepage_license_page_name_tl { \tl_trim_spaces:n { #1 } } }
- , license page name .code:n = { \tl_set:Nn \l_projlib_titlepage_license_page_name_tl { \tl_trim_spaces:n { #1 } } }
- , info .code:n = { \tl_set:Nn \l_projlib_titlepage_info_tl { \tl_trim_spaces:n { #1 } } }
+ , title .code:n = { \tl_set:Nn \l__projlib_titlepage_title_tl { \tl_trim_spaces:n { #1 } } }
+ , subtitle .code:n = { \tl_set:Nn \l__projlib_titlepage_subtitle_tl { \tl_trim_spaces:n { #1 } } }
+ , author .code:n = { \tl_set:Nn \l__projlib_titlepage_author_tl { \tl_trim_spaces:n { #1 } } }
+ , date .code:n = { \tl_set:Nn \l__projlib_titlepage_date_tl { \tl_trim_spaces:n { #1 } } }
+ , title-page-name .code:n = { \tl_set:Nn \l__projlib_titlepage_title_page_name_tl { \tl_trim_spaces:n { #1 } } }
+ , title~page~name .code:n = { \tl_set:Nn \l__projlib_titlepage_title_page_name_tl { \tl_trim_spaces:n { #1 } } }
+ , title page name .code:n = { \tl_set:Nn \l__projlib_titlepage_title_page_name_tl { \tl_trim_spaces:n { #1 } } }
+ , license-page-name .code:n = { \tl_set:Nn \l__projlib_titlepage_license_page_name_tl { \tl_trim_spaces:n { #1 } } }
+ , license~page~name .code:n = { \tl_set:Nn \l__projlib_titlepage_license_page_name_tl { \tl_trim_spaces:n { #1 } } }
+ , license page name .code:n = { \tl_set:Nn \l__projlib_titlepage_license_page_name_tl { \tl_trim_spaces:n { #1 } } }
+ , info .code:n = { \tl_set:Nn \l__projlib_titlepage_info_tl { \tl_trim_spaces:n { #1 } } }
, info .initial:n = { }
- , license .code:n = { \tl_set:Nn \l_projlib_titlepage_license_tl { \tl_trim_spaces:n { #1 } } }
+ , license .code:n = { \tl_set:Nn \l__projlib_titlepage_license_tl { \tl_trim_spaces:n { #1 } } }
, license .initial:n = { }
- , style .tl_set:N = \l_projlib_titlepage_style_tl
+ , style .tl_set:N = \l__projlib_titlepage_style_tl
, style .initial:n = { default }
, color .code:n = {
\keyval_parse:nnn
@@ -7152,6 +7158,10 @@
{ \projlib_titlepage_set_color:nn }
{ #1 }
}
+ , author-info-on-the-right .bool_set:N = \l__projlib_titlepage_show_author_info_on_the_right_bool
+ , author-info-on-the-right .initial:n = { false }
+ , author~info~on~the~right .bool_set:N = \l__projlib_titlepage_show_author_info_on_the_right_bool
+ , author info on the right .bool_set:N = \l__projlib_titlepage_show_author_info_on_the_right_bool
, unknown .code:n = {}
}
@@ -7160,33 +7170,33 @@
\cs_new_protected:Nn \projlib_titlepage_show_logo:n
{
- \tl_if_eq:NnTF \l_projlib_titlepage_logo_tl { \tl_trim_spaces:n { * } }
+ \tl_if_eq:NnTF \l__projlib_titlepage_logo_tl { \tl_trim_spaces:n { * } }
{
#1
}
{
- \tl_use:N \l_projlib_titlepage_logo_tl
+ \tl_use:N \l__projlib_titlepage_logo_tl
}
}
\cs_new_protected:Nn \projlib_titlepage_render:n
{
\keys_set:nn { projlib-titlepage-config } { #1 }
- \tl_set_eq:NN \thepage \l_projlib_titlepage_title_page_name_tl
+ \tl_set_eq:NN \thepage \l__projlib_titlepage_title_page_name_tl
\begin { titlepage }
- \cs_if_exist_use:c { projlib_titlepage_render_with_style_ \l_projlib_titlepage_style_tl : }
+ \cs_if_exist_use:c { projlib_titlepage_render_with_style_ \l__projlib_titlepage_style_tl : }
\end { titlepage }
- \tl_set_eq:NN \thepage \l_projlib_titlepage_license_page_name_tl
+ \tl_set_eq:NN \thepage \l__projlib_titlepage_license_page_name_tl
\thispagestyle{empty}
\null\vfill
% \begin{flushleft}
\group_begin:
\noindent
- \tl_use:N \l_projlib_titlepage_info_tl
+ \tl_use:N \l__projlib_titlepage_info_tl
\group_end:
% \end{flushleft}
\group_begin:
- \tl_use:N \l_projlib_titlepage_license_tl
+ \tl_use:N \l__projlib_titlepage_license_tl
\group_end:
\cleardoublepage
\setcounter{page}{0}
@@ -7207,10 +7217,10 @@
at ($(current~page.north~west)+(.57\paperwidth,-.15\paperheight)$)
{
\sffamily
- \fontsize{24pt}{36pt}\selectfont
- \textsc{ \textbf{ \l_projlib_titlepage_title_tl } }\\[1.5em]
- \fontsize{18pt}{27pt}\selectfont
- \l_projlib_titlepage_subtitle_tl
+ \fontsize{28pt}{42pt}\selectfont
+ \textsc{ \textbf{ \l__projlib_titlepage_title_tl } }\\[1.5em]
+ \fontsize{20pt}{30pt}\selectfont
+ \l__projlib_titlepage_subtitle_tl
};
% \node[text~width=.5\paperwidth, text~height=.4\paperheight, align=flush~left]
% at ($(current~page.south)+(.135\paperwidth,.35\paperheight)$)
@@ -7220,9 +7230,9 @@
% \color{.!50}
% \begin{flushright}
\fontsize{16pt}{24pt}\selectfont
- \textsc{ \l_projlib_titlepage_author_tl }\\[1em]
+ \textsc{ \l__projlib_titlepage_author_tl }\\[1em]
\fontsize{12pt}{18pt}\selectfont
- \l_projlib_titlepage_date_tl
+ \l__projlib_titlepage_date_tl
% \end{flushright}
};
\end{tikzpicture}
@@ -7243,22 +7253,36 @@
{
\color{white}
\sffamily
- \fontsize{24pt}{36pt}\selectfont
- \textsc{ \l_projlib_titlepage_title_tl }\\[1.5em]
- \fontsize{18pt}{27pt}\selectfont
- \l_projlib_titlepage_subtitle_tl
+ \fontsize{28pt}{42pt}\selectfont
+ \textsc{ \l__projlib_titlepage_title_tl }\\[1.5em]
+ \fontsize{20pt}{30pt}\selectfont
+ \l__projlib_titlepage_subtitle_tl
};
- \node[text~width=.5\paperwidth, text~height=.4\paperheight, align=flush~left]
- at ($(current~page.south)+(.135\paperwidth,.35\paperheight)$)
- {
- \color{white}
- \begin{flushright}
+ \bool_if:NTF \l__projlib_titlepage_show_author_info_on_the_right_bool
+ {
+ \node[text~width=.5\paperwidth, text~height=.4\paperheight, align=flush~left]
+ at ($(current~page.south)+(.135\paperwidth,.4\paperheight)$)
+ {
+ \color{white}
+ \begin{flushright}
+ \fontsize{16pt}{24pt}\selectfont
+ \textsc{ \l__projlib_titlepage_author_tl }\\[1em]
+ \fontsize{12pt}{18pt}\selectfont
+ \l__projlib_titlepage_date_tl
+ \end{flushright}
+ };
+ }
+ {
+ \node[text~width=.5\paperwidth, text~height=.4\paperheight, align=flush~left]
+ at ($(current~page.south~west)+(.38\paperwidth,.4\paperheight)$)
+ {
+ \color{white}
\fontsize{16pt}{24pt}\selectfont
- \textsc{ \l_projlib_titlepage_author_tl }\\[1em]
+ \textsc{ \l__projlib_titlepage_author_tl }\\[1em]
\fontsize{12pt}{18pt}\selectfont
- \l_projlib_titlepage_date_tl
- \end{flushright}
- };
+ \l__projlib_titlepage_date_tl
+ };
+ }
\end{tikzpicture}
}
@@ -7277,19 +7301,19 @@
{
\color{titlepage-main}
\sffamily
- \fontsize{24pt}{36pt}\selectfont
- \textsc{ \l_projlib_titlepage_title_tl }\\[1.5em]
- \fontsize{18pt}{27pt}\selectfont
- \l_projlib_titlepage_subtitle_tl
+ \fontsize{28pt}{42pt}\selectfont
+ \textsc{ \l__projlib_titlepage_title_tl }\\[1.5em]
+ \fontsize{20pt}{30pt}\selectfont
+ \l__projlib_titlepage_subtitle_tl
};
\node[text~width=.5\paperwidth, text~height=.4\paperheight, align=flush~center]
at ($(current~page.south)+(0pt,.36\paperheight)$)
{
\color{white}
\fontsize{16pt}{24pt}\selectfont
- \textsc{ \l_projlib_titlepage_author_tl }\\[1em]
+ \textsc{ \l__projlib_titlepage_author_tl }\\[1em]
\fontsize{12pt}{18pt}\selectfont
- \l_projlib_titlepage_date_tl
+ \l__projlib_titlepage_date_tl
};
\end{tikzpicture}
}
@@ -7311,22 +7335,36 @@
{
\color{titlepage-back}
\sffamily
- \fontsize{24pt}{36pt}\selectfont
- \textsc{ \l_projlib_titlepage_title_tl }\\[1.5em]
- \fontsize{18pt}{27pt}\selectfont
- \l_projlib_titlepage_subtitle_tl
+ \fontsize{28pt}{42pt}\selectfont
+ \textsc{ \l__projlib_titlepage_title_tl }\\[1.5em]
+ \fontsize{20pt}{30pt}\selectfont
+ \l__projlib_titlepage_subtitle_tl
};
- \node[text~width=.5\paperwidth, text~height=.4\paperheight, align=flush~left]
- at ($(current~page.south)+(.135\paperwidth,.35\paperheight)$)
- {
- \color{titlepage-back}
- \begin{flushright}
+ \bool_if:NTF \l__projlib_titlepage_show_author_info_on_the_right_bool
+ {
+ \node[text~width=.5\paperwidth, text~height=.4\paperheight, align=flush~left]
+ at ($(current~page.south)+(.135\paperwidth,.4\paperheight)$)
+ {
+ \color{titlepage-back}
+ \begin{flushright}
+ \fontsize{16pt}{24pt}\selectfont
+ \textsc{ \l__projlib_titlepage_author_tl }\\[1em]
+ \fontsize{12pt}{18pt}\selectfont
+ \l__projlib_titlepage_date_tl
+ \end{flushright}
+ };
+ }
+ {
+ \node[text~width=.5\paperwidth, text~height=.4\paperheight, align=flush~left]
+ at ($(current~page.south~west)+(.433\paperwidth,.4\paperheight)$)
+ {
+ \color{titlepage-back}
\fontsize{16pt}{24pt}\selectfont
- \textsc{ \l_projlib_titlepage_author_tl }\\[1em]
+ \textsc{ \l__projlib_titlepage_author_tl }\\[1em]
\fontsize{12pt}{18pt}\selectfont
- \l_projlib_titlepage_date_tl
- \end{flushright}
- };
+ \l__projlib_titlepage_date_tl
+ };
+ }
\end{tikzpicture}
}
%</projlib-titlepage>
diff --git a/macros/latex/contrib/projlib/README.md b/macros/latex/contrib/projlib/README.md
index 207a68fe12..4ff60d3f87 100644
--- a/macros/latex/contrib/projlib/README.md
+++ b/macros/latex/contrib/projlib/README.md
@@ -5,7 +5,7 @@
# The `ProjLib` Toolkit
-> **This bundle is dated 2024/02/24.**
+> **This bundle is dated 2024/03/01.**
> **New documentations are still being written. For now, only the core code is included in TeX Live 2024 and MiKTeX (old documentations have been removed from the distribution).**
@@ -24,18 +24,18 @@ To get started, simply put this line in your preamble:
## The modules
-> Each module corresponds to a separate package, for example, the module `theorem` is `projlib-theorem.sty`.
+> Each module corresponds to a separate package, for example, the module `theorem` is `projlib-theorem.sty`. These modules are managed by the main package `ProjLib.sty`.
The modules include:
1. module `author` - *Enhanced author information block*
- - Offering `\address`, `\curraddr` and `\email`.
- - Write in the AMS fashion (with option `ams-fashion`):
- - Support `\dedicatory`, `\keywords` and `\subjclass`
+ - Offering `\address`, `\curraddr` and `\email`, etc.
+ - Allow writing in the AMS fashion (with option `ams-fashion`):
+ - support `\dedicatory`, `\keywords` and `\subjclass`;
- `\thanks` can be written outside `\author`;
- - The `abstract` environment can be placed before `\maketitle`.
+ - the `abstract` environment can be placed before `\maketitle`.
1. module `datetime` - *Convert numeric date-time string to natural language*
- `\TheDate` and `\Thedate` for converting numeric date-time string to natural language, with multi-language support (if the command names `\TheDate` or `\Thedate` are occupied, then one can switch to the longer version `\ProjLibDate` and `\ProjLibdate`).
- - `\ProjLibToday` and `\ProjLibToday` (with the module `language` enabled, `\today` is redefined into `\ProjLibToday`, and thus supports the arguments like `only-year-month`).
+ - `\ProjLibToday` and `\ProjLibToday` (with the module `language` enabled, `\today` is redefined into `\ProjLibToday`, and thus supports additional arguments like `only-year-month`).
- Multiple input and output format available.
1. module `draft` - *Useful commands during draft stage*
- `\DNF` for marking unfinished part. In addition, a report of all unfinished places shall be printed at the last of your document.
@@ -60,14 +60,28 @@ The modules include:
- Setting up theorem-like environments based on the package `create-theorem`
- `\CreateTheorem`, `\SetTheorem` and more...
- In particular, supporting the modes `name as is` and `name as context` for the referencing names.
- - Supporting the modes `simple name` and `complex name` for the referencing names.
+ - Offering two modes `complex names` (default) and `simple names` (better visual effect but less correct grammar) for the referencing names of those supported theorem-like environments.
- `\SwitchTheoremNumbering` and `\DisableTheoremNumbering` for manipulating the numbering.
- - Preset environments include: `application`, `assertion`, `assumption`, `axiom`, `claim`, `conclusion`, `conjecture`, `construction`, `convention`, `corollary`, `definition`, `definition-proposition`, `definition-theorem`, `example`, `exercise`, `fact`, `hypothesis`, `lemma`, `notation`, `observation`, `postulate`, `problem`, `property`, `proposition`, `question`, `recall`, `remark`, `theorem`, and the corresponding unnumbered version with an asterisk `*` in the name.
+ - Preset environments include: `application`, `assertion`, `assumption`, `axiom`, `claim`, `commentary`, `conclusion`, `conjecture`, `construction`, `convention`, `corollary`, `definition`, `definition-proposition`, `definition-theorem`, `example`, `exercise`, `fact`, `hypothesis`, `lemma`, `motivation`, `notation`, `observation`, `postulate`, `problem`, `property`, `proposition`, `question`, `recall`, `remark`, `theorem`, their plural version (among the most commonly used are `examples`, `facts` and `notations`), and the corresponding unnumbered version with an asterisk `*` in the name.
1. module `titlepage` - *Interface for title page rendering*
- Currently support four title page styles: `default`, `academic`, `simple` and `fancy`.
> Since the module `theorem` uses `cleveref`, it should be loaded after `varioref` and `hyperref` (same for the main package `ProjLib`).
+> Package dependencies:
+> - module `author`: [`regexpatch`](https://ctan.org/pkg/regexpatch), [`scontents`](https://ctan.org/pkg/scontents); it loads the module `language` internally.
+> - module `datetime`: [`relsize`](https://ctan.org/pkg/relsize).
+> - module `draft`: [`pgf`](https://ctan.org/pkg/pgf), [`ulem`](https://ctan.org/pkg/ulem); it loads the module `language` internally.
+> - module `font`: [`anyfontsize`](https://ctan.org/pkg/anyfontsize), [`microtype`](https://ctan.org/pkg/microtype), [`setspaceenhanced`](https://ctan.org/pkg/setspaceenhanced), and a number of font packages depending on the specified option.
+> - module `language`: [`babel`](https://ctan.org/pkg/babel), [`csquotes`](https://ctan.org/pkg/csquotes), [`setspaceenhanced`](https://ctan.org/pkg/setspaceenhanced), [`silence`](https://ctan.org/pkg/silence).
+> - module `logo`: [`pgf`](https://ctan.org/pkg/pgf).
+> - module `math`: [`amsfonts`](https://ctan.org/pkg/amsfonts), [`mathrsfs`](https://ctan.org/pkg/mathrsfs), [`mathtools`](https://ctan.org/pkg/mathtools).
+> - module `paper`: [`xcolor`](https://ctan.org/pkg/xcolor).
+> - module `text`: it loads the module `paper` internally.
+> - module `theorem`: [`amsthm`](https://ctan.org/pkg/amsthm), [`create-theorem`](https://ctan.org/pkg/create-theorem), [`mathtools`](https://ctan.org/pkg/mathtools), [`silence`](https://ctan.org/pkg/silence); it loads the module `language` internally.
+> - module `titlepage`: [`pgf`](https://ctan.org/pkg/pgf); it loads the modules `logo` and `paper` internally.
+
+
<!-- ## Regarding the files and the compilation of documentations -->
### How to get these files
diff --git a/macros/latex/contrib/ufrgscca/README.md b/macros/latex/contrib/ufrgscca/README.md
index 558ac6e182..dc63bf969a 100644
--- a/macros/latex/contrib/ufrgscca/README.md
+++ b/macros/latex/contrib/ufrgscca/README.md
@@ -107,11 +107,16 @@ The Current Maintainer of this work is Alceu Frigeri
## Changelog
-* Version 2.5 (this)
- - Added PDF bookmarcks to each and every Form/Report page.
+* Version 2.6 (this)
+ - Added other's case (student fate) for record keeping.
+ - Report adjustments (other's case).
+
+* Version 2.5
+ - Added PDF bookmarks to each and every Form/Report page.
- Added \studentReviewerSetCase (see manual)
+ - Some reports fine tuning.
-* Version 2.4/2.4a (this)
+* Version 2.4/2.4a
- a few typos (including [l3kernel prop check](https://github.com/latex3/latex3/issues/1460))
- extended \studentfate possible values (see documentation).
- \makeforms code cleanup. switching to \prop_get:NnNTF instead of \prop_item:Nn
diff --git a/macros/latex/contrib/ufrgscca/doc/ufrgscca.pdf b/macros/latex/contrib/ufrgscca/doc/ufrgscca.pdf
index 5ae4795d7f..b5c3f0418b 100644
--- a/macros/latex/contrib/ufrgscca/doc/ufrgscca.pdf
+++ b/macros/latex/contrib/ufrgscca/doc/ufrgscca.pdf
Binary files differ
diff --git a/macros/latex/contrib/ufrgscca/doc/ufrgscca.tex b/macros/latex/contrib/ufrgscca/doc/ufrgscca.tex
index 0d5cd7d7ad..3ce27a7913 100644
--- a/macros/latex/contrib/ufrgscca/doc/ufrgscca.tex
+++ b/macros/latex/contrib/ufrgscca/doc/ufrgscca.tex
@@ -15,7 +15,7 @@
%%
%% The Current Maintainer of this work is Alceu Frigeri
%%
-%% This is version {2.5} {2024/02/25}
+%% This is version {2.6} {2024/02/29}
%%
%% The list of files that compose this work can be found in the README.md file at
%% https://ctan.org/pkg/ufrgscca
@@ -541,6 +541,7 @@ All data is stored in two main \tsobj[pack]{starray} defined as follow:
flag-exam ,
flag-ff ,
flag-dismiss , %%% IF it was the 1st semester.
+ flag-other , %%% "other list", placeholder for 'none of the above' lists.
flag-newpage , %% if it should go in a new page (board)
flag-distinctboard , %% if advisor isn't in the board
flag-approved ,
@@ -624,11 +625,12 @@ Possible values for \tsobj[meta]{coord-field} are: \tsobj[option]{name,title,art
\subsection{Core Auxiliary Commands}
-\begin{codedescribe}[code,new=2023/11/18]{\studentselect}
+\begin{codedescribe}[code,new=2023/11/18]{\studentselect,\studentReviewerSelect}
\begin{codesyntax}%
\tsmacro{\studentselect}{student-hash}
+ \tsmacro{\studentReviewerSelect}{reviewer-hash}
\end{codesyntax}
-Select a student based on it's hash.
+Selects a student or reviewer based on theirs hash.
\end{codedescribe}
@@ -1052,12 +1054,12 @@ Those commands are only of use when using \tsobj[pkg]{ufrgscca-coord}. \tsmacro{
\end{codedescribe}
-\begin{codedescribe}[code,new=2023/11/18,update=2023/12/02,update=2024/01/15,update=2024/02/22]{\studentCase,\studentAdvCase,\studentCoadvCase,\studentDismissCase,\studentNewPageCase,\studentDistinctBoardCase,\studentReviewerCase,\studentReviewerSetCase}
+\begin{codedescribe}[code,new=2023/11/18,update=2023/12/02,update=2024/01/15,update=2024/02/22,update=2024/02/27]{\studentCase,\studentAdvCase,\studentCoadvCase,\studentDismissOtherCase,\studentNewPageCase,\studentDistinctBoardCase,\studentReviewerCase,\studentReviewerSetCase}
\begin{codesyntax}%
\tsmacro{\studentCase}{if-A-B-C,if-D,if-Exam-C,if-Exam-D,if-FF}
\tsmacro{\studentAdvCase}{if-more-than-one,if-not}
\tsmacro{\studentCoadvCase}{if-defined,if-not}
- \tsmacro{\studentDismissCase}{if-dismiss,if-not}
+ \tsmacro{\studentDismissOtherCase}{if-dismiss-other,if-not}
\tsmacro{\studentNewPageCase}{if-newpage,if-not}
\tsmacro{\studentDistinctBoardCase}{if-distinct,if-not}
\tsmacro{\studentReviewerCase}{rev-num,if-marked,if-not}
@@ -1177,11 +1179,11 @@ These are a set of auxiliary conditionals, for instance, \tsobj{\StudentCase} wi
%%%%
\paragraph{Student Specific Commands}\label{student-specific-commands}
-\begin{codedescribe}[code,update=2023/11/18,update=2024/02/15]{\studentfate}
+\begin{codedescribe}[code,update=2023/11/18,update=2024/02/15,update=2024/02/25]{\studentfate}
\begin{codesyntax}%
\tsmacro{\studentfate}[fate]{}
\end{codesyntax}
-This assigns the \tsobj[meta]{fate} of a student, for those cases that one cannot rely on the 'calculated one' (from examiners individual grades). \tsobj[meta]{fate} can be either \emph{exam} (if the student is in exam, but didn't got a grade yet) \emph{C} or \emph{D} (in case a student in exam got graded), \emph{FF} for those that haven't finished the work or \emph{dismiss} for those that, for whatever reason, got dismissed. The default is 'do nothing' (no \tsobj[meta]{fate} assigned)
+This assigns the \tsobj[meta]{fate} of a student, for those cases that one cannot rely on the 'calculated one' (from examiners individual grades). \tsobj[meta]{fate} can be either \emph{exam} (if the student is in exam, but didn't got a grade yet) \emph{C} or \emph{D} (in case a student in exam got graded), \emph{FF} for those that haven't finished the work, \emph{dismiss} for those that, for whatever reason, got dismissed and (finally, 2024/02/25) \emph{other} for all other cases (mainly record keeping). The default is 'do nothing' (no \tsobj[meta]{fate} assigned)
\end{codedescribe}
\begin{tsremark}
(2024/02/15) In case some other, odd, value is assigned, this command will record as if the student is in 'exam', with the given grade \tsobj[oarg]{fate} marked in bold red.
diff --git a/macros/latex/contrib/ufrgscca/latex/ufrgscca-abnt.sty b/macros/latex/contrib/ufrgscca/latex/ufrgscca-abnt.sty
index 9618258cc0..6e008fe159 100644
--- a/macros/latex/contrib/ufrgscca/latex/ufrgscca-abnt.sty
+++ b/macros/latex/contrib/ufrgscca/latex/ufrgscca-abnt.sty
@@ -12,7 +12,7 @@
%%
%% The Current Maintainer of this work is Alceu Frigeri
%%
-%% This is version {2.5} {2024/02/25}
+%% This is version {2.6} {2024/02/29}
%%
%% The list of files that compose this work can be found in the README.md file at
%% https://ctan.org/pkg/ufrgscca
@@ -27,8 +27,8 @@
\ProvidesExplPackage
{ufrgscca-abnt}
- {2024/02/25}
- {2.5}
+ {2024/02/29}
+ {2.6}
{UFRGS/CCA ABNT layout}
@@ -42,8 +42,8 @@
{
name .code:n = {ufrgscca-abnt} ,
prefix .code:n = {ufrgscca} ,
- date .code:n = {2024/02/25},
- version .code:n = {2.5} ,
+ date .code:n = {2024/02/29},
+ version .code:n = {2.6} ,
description .code:n = {UFRGS/CCA~ abnt~layout}
}
\cs_if_exist:NF \PkgInfo
diff --git a/macros/latex/contrib/ufrgscca/latex/ufrgscca-base-en.def b/macros/latex/contrib/ufrgscca/latex/ufrgscca-base-en.def
index 8bb7ff8ce7..3af375f915 100644
--- a/macros/latex/contrib/ufrgscca/latex/ufrgscca-base-en.def
+++ b/macros/latex/contrib/ufrgscca/latex/ufrgscca-base-en.def
@@ -12,7 +12,7 @@
%%
%% The Current Maintainer of this work is Alceu Frigeri
%%
-%% This is version {2.5} {2024/02/25}
+%% This is version {2.6} {2024/02/29}
%%
%% The list of files that compose this work can be found in the README.md file at
%% https://ctan.org/pkg/ufrgscca
diff --git a/macros/latex/contrib/ufrgscca/latex/ufrgscca-base-ptBR.def b/macros/latex/contrib/ufrgscca/latex/ufrgscca-base-ptBR.def
index 83bb0e06dc..7aba05c370 100644
--- a/macros/latex/contrib/ufrgscca/latex/ufrgscca-base-ptBR.def
+++ b/macros/latex/contrib/ufrgscca/latex/ufrgscca-base-ptBR.def
@@ -12,7 +12,7 @@
%%
%% The Current Maintainer of this work is Alceu Frigeri
%%
-%% This is version {2.5} {2024/02/25}
+%% This is version {2.6} {2024/02/29}
%%
%% The list of files that compose this work can be found in the README.md file at
%% https://ctan.org/pkg/ufrgscca
diff --git a/macros/latex/contrib/ufrgscca/latex/ufrgscca-coord.sty b/macros/latex/contrib/ufrgscca/latex/ufrgscca-coord.sty
index db572b8c15..e03a338b2f 100644
--- a/macros/latex/contrib/ufrgscca/latex/ufrgscca-coord.sty
+++ b/macros/latex/contrib/ufrgscca/latex/ufrgscca-coord.sty
@@ -12,7 +12,7 @@
%%
%% The Current Maintainer of this work is Alceu Frigeri
%%
-%% This is version {2.5} {2024/02/25}
+%% This is version {2.6} {2024/02/29}
%%
%% The list of files that compose this work can be found in the README.md file at
%% https://ctan.org/pkg/ufrgscca
@@ -27,8 +27,8 @@
\ProvidesExplPackage
{ufrgscca-coord}
- {2024/02/25}
- {2.5}
+ {2024/02/29}
+ {2.6}
{UFRGS/CCA coord commands}
@@ -42,8 +42,8 @@
{
name .code:n = {ufrgscca-coord} ,
prefix .code:n = {ufrgscca} ,
- date .code:n = {2024/02/25},
- version .code:n = {2.5} ,
+ date .code:n = {2024/02/29},
+ version .code:n = {2.6} ,
description .code:n = {UFRGS/CCA~ coordination~ report~ commands}
}
\cs_if_exist:NF \PkgInfo
@@ -274,6 +274,14 @@
flag-graded = \c_true_bool ,
}
}
+ {other}
+ {
+ \starray_gset_from_keyval:nn {student}
+ {
+ flag-other = \c_true_bool ,
+ flag-graded = \c_true_bool ,
+ }
+ }
}
{ %% in case of none of above...
\starray_gset_from_keyval:nn {student}
@@ -292,6 +300,7 @@
\tl_new:N \l__ufrgscca_tmpd_tl
\tl_new:N \l__ufrgscca_tmpe_tl
\prg_generate_conditional_variant:Nnn \str_case:nn {en}{T,F,TF}
+
\cs_new_protected:Npn \__ufrgscca_studentgrade:
{
\starray_term_syntax:n {student}
@@ -314,44 +323,52 @@
{
\tl_set:Ne \l__ufrgscca_tmpd_tl
{\fpeval{round(((\l__ufrgscca_tmpb_tl + \l__ufrgscca_tmpc_tl)/2),2,1)}}
+ \__ufrgscca_set_grade:n \l__ufrgscca_tmpd_tl
}
{2}
{
\tl_set:Ne \l__ufrgscca_tmpd_tl
{\fpeval{round(((\l__ufrgscca_tmpa_tl + \l__ufrgscca_tmpb_tl + \l__ufrgscca_tmpc_tl)/3),2,1)}}
+ \__ufrgscca_set_grade:n \l__ufrgscca_tmpd_tl
}
}
- { \tl_set:Nn \l__ufrgscca_tmpd_tl {7.99}
- \starray_gset_prop:nne {student}{reason}{\l__ufrgscca_tmpa_tl-\l__ufrgscca_tmpb_tl-\l__ufrgscca_tmpc_tl-\l__ufrgscca_tmpe_tl}
- }
-
- \starray_gset_prop:nne {student}{gradeavrg}{\l__ufrgscca_tmpd_tl}
- \fp_compare:nNnTF {\l__ufrgscca_tmpd_tl} < {\UseConst{NgradeC}}
- { % D
- \starray_gset_prop:nnn {student}{grade}{D}
- }
- {
- \fp_compare:nNnTF {\l__ufrgscca_tmpd_tl} < {\UseConst{NgradeB}}
- { % C
- \starray_gset_prop:nnn {student}{grade}{C}
- \starray_gset_prop:nnn {student}{flag-approved}{\c_true_bool}
- }
- {
- \fp_compare:nNnTF {\l__ufrgscca_tmpd_tl} < {\UseConst{NgradeA}}
- { % B
- \starray_gset_prop:nnn {student}{grade}{B}
- \starray_gset_prop:nnn {student}{flag-approved}{\c_true_bool}
- }
- { % A
- \starray_gset_prop:nnn {student}{grade}{A}
- \starray_gset_prop:nnn {student}{flag-approved}{\c_true_bool}
- }
- }
+ {
+ \starray_gset_prop:nne {student}{gradeavrg}{0}
+ \starray_gset_prop:nnn {student}{grade}{\color{red}D*}
}
}
\starray_gset_prop:nnn {student}{flag-graded}{\c_true_bool}
}
+
+\cs_new_protected:Npn \__ufrgscca_set_grade:n #1
+ {
+ \starray_gset_prop:nne {student}{gradeavrg}{#1}
+ \fp_compare:nNnTF {#1} < {\UseConst{NgradeC}}
+ { % D
+ \starray_gset_prop:nnn {student}{grade}{D}
+ }
+ {
+ \fp_compare:nNnTF {#1} < {\UseConst{NgradeB}}
+ { % C
+ \starray_gset_prop:nnn {student}{grade}{C}
+ \starray_gset_prop:nnn {student}{flag-approved}{\c_true_bool}
+ }
+ {
+ \fp_compare:nNnTF {#1} < {\UseConst{NgradeA}}
+ { % B
+ \starray_gset_prop:nnn {student}{grade}{B}
+ \starray_gset_prop:nnn {student}{flag-approved}{\c_true_bool}
+ }
+ { % A
+ \starray_gset_prop:nnn {student}{grade}{A}
+ \starray_gset_prop:nnn {student}{flag-approved}{\c_true_bool}
+ }
+ }
+ }
+ }
+
+
\cs_new_protected:Npn \__ufrgscca_set_timeslot:nnnnn #1#2#3#4#5
{
\starray_gset_from_keyval:nn {student}
@@ -448,63 +465,6 @@
-\NewDocumentCommand{\studentCase}{mmmmm}{
- \starray_term_syntax:n{student}
- \bool_case:nF
- {
- {\starray_parsed_get_prop:n{flag-ff}}
- {#5}
- {\starray_parsed_get_prop:n{flag-exam}}
- {
- \bool_if:nTF{\starray_parsed_get_prop:n{flag-approved}}
- {#3}
- {#4}
- }
- }
- {
- \bool_if:nTF{\starray_parsed_get_prop:n{flag-approved}}
- {#1}
- {#2}
- }
-}
-
-\NewDocumentCommand{\studentReviewerCase}{mmm}{
- \starray_term_syntax:n{student.reviewer[#1]}
- \bool_if:nTF {\starray_parsed_get_prop:n{flag-examreview}}
- {#2}
- {#3}
-}
-
-
-\NewDocumentCommand{\studentDismissCase}{mm}{
- \starray_term_syntax:n{student}
- \bool_if:nTF {\starray_parsed_get_prop:n{flag-dismiss}}
- {#1}
- {#2}
-}
-
-\NewDocumentCommand{\studentremark}{m}{
- \starray_gset_prop:nnn {student}{remarks}{#1}
-}
-
-
-
-\NewDocumentCommand{\studentNewPageCase}{mm}
- {
- \starray_term_syntax:n{student}
- \bool_if:nTF {\starray_parsed_get_prop:n{flag-newpage}}
- {#1}
- {#2}
- }
-
-\NewDocumentCommand{\studentnewpage}{O{}}{
- \tl_if_blank:nTF {#1}
- { \starray_gset_prop:nnn {student}{flag-newpage}{\c_true_bool} }
- { \starray_gset_prop:nnn {student[#1]}{flag-newpage}{\c_true_bool} }
-}%
-
-
-
\NewDocumentCommand{\boardtitle}{m}{%%
\SetTerms{%
board.title = {#1} ,
@@ -624,6 +584,7 @@
\seq_new:c {l__ufrgscca_#1_list_ff_seq}
\seq_new:c {l__ufrgscca_#1_list_dismiss_seq}
\seq_new:c {l__ufrgscca_#1_list_graded_seq}
+ \seq_new:c {l__ufrgscca_#1_list_other_seq}
\bool_new:c {l__ufrgscca_#1_classified_bool}
}
@@ -650,6 +611,7 @@
\seq_gclear_new:c {l__ufrgscca_#1_list_seq}
\seq_gclear_new:c {l__ufrgscca_#1_list_ff_seq}
\seq_gclear_new:c {l__ufrgscca_#1_list_dismiss_seq}
+ \seq_gclear_new:c {l__ufrgscca_#1_list_other_seq}
\seq_gclear_new:c {l__ufrgscca_#1_list_graded_seq}
\bool_if_exist:cF {l__ufrgscca_#1_classified_bool}
{ \bool_new:c {l__ufrgscca_#1_classified_bool} }
@@ -671,7 +633,10 @@
\starray_set_iter_from_hash:nn {student}{#1}
\starray_term_syntax:n {student}
\bool_if:nF {\starray_parsed_get_prop:n {flag-graded}}
- { \__ufrgscca_studentgrade: }
+ {
+ \emptytermifnone[3]{student.reviewer}[\starray_gset_prop:nnn {student}{flag-null}{\c_true_bool}]
+ \__ufrgscca_studentgrade:
+ }
}
@@ -683,6 +648,7 @@
{
{\starray_parsed_get_prop:n {flag-ff}}{\seq_gput_right:cn {l__ufrgscca_#1_list_ff_seq}{#2}}
{\starray_parsed_get_prop:n {flag-dismiss}}{\seq_gput_right:cn {l__ufrgscca_#1_list_dismiss_seq}{#2}}
+ {\starray_parsed_get_prop:n {flag-other}}{\seq_gput_right:cn {l__ufrgscca_#1_list_other_seq}{#2}}
}
{\seq_gput_right:cn {l__ufrgscca_#1_list_graded_seq}{#2}}
}
@@ -697,6 +663,7 @@
\seq_gset_eq:Nc \l__ufrgscca_baselist_seq {l__ufrgscca_#2_list_seq}
\seq_gset_eq:Nc \l__ufrgscca_baselist_ff_seq {l__ufrgscca_#2_list_ff_seq}
\seq_gset_eq:Nc \l__ufrgscca_baselist_dismiss_seq {l__ufrgscca_#2_list_dismiss_seq}
+ \seq_gset_eq:Nc \l__ufrgscca_baselist_other_seq {l__ufrgscca_#2_list_other_seq}
\seq_gset_eq:Nc \l__ufrgscca_baselist_graded_seq {l__ufrgscca_#2_list_graded_seq}
\bool_if:NT \l__ufrgscca_attendance_bool
@@ -728,13 +695,13 @@
}
\bool_if:NT \l__ufrgscca_referralI_bool
{
- \studentDismissCase
+ \studentDismissOtherCase
{}
{ \MakeForm{referral-I} }
}
\bool_if:NT \l__ufrgscca_revformsI_bool
{
- \SetReviewer{2}
+ \studentReviewerSelect{2}
\studentReviewerSetCase{2}
{
\eDataSet{student.reviewer}
@@ -744,7 +711,7 @@
\tl_set:Nn \ReviewerBookMarkTL {~-~2}
}
\MakeForm{examinersform-I}
- \SetReviewer{3}
+ \studentReviewerSelect{3}
\studentReviewerSetCase{3}
{
\eDataSet{student.reviewer}
@@ -758,13 +725,13 @@
}
\bool_if:NT \l__ufrgscca_referralII_bool
{
- \studentDismissCase
+ \studentDismissOtherCase
{}
{ \MakeForm{referral-II} }
}
\bool_if:NT \l__ufrgscca_revformsII_bool
{
- \SetReviewer{1}
+ \studentReviewerSelect{1}
\studentReviewerSetCase{1}
{
\eDataSet{student.reviewer}
@@ -775,7 +742,7 @@
}
\MakeForm{examinersform-II}
\MakeForm{correctionsform-II}
- \SetReviewer{2}
+ \studentReviewerSelect{2}
\studentReviewerSetCase{2}
{
\eDataSet{student.reviewer}
@@ -786,7 +753,7 @@
}
\MakeForm{examinersform-II}
\MakeForm{correctionsform-II}
- \SetReviewer{3}
+ \studentReviewerSelect{3}
\studentReviewerSetCase{3}
{
\eDataSet{student.reviewer}
diff --git a/macros/latex/contrib/ufrgscca/latex/ufrgscca-core.sty b/macros/latex/contrib/ufrgscca/latex/ufrgscca-core.sty
index d07c1e4670..7a7f360279 100644
--- a/macros/latex/contrib/ufrgscca/latex/ufrgscca-core.sty
+++ b/macros/latex/contrib/ufrgscca/latex/ufrgscca-core.sty
@@ -12,7 +12,7 @@
%%
%% The Current Maintainer of this work is Alceu Frigeri
%%
-%% This is version {2.5} {2024/02/25}
+%% This is version {2.6} {2024/02/29}
%%
%% The list of files that compose this work can be found in the README.md file at
%% https://ctan.org/pkg/ufrgscca
@@ -27,8 +27,8 @@
\ProvidesExplPackage
{ufrgscca-core}
- {2024/02/25}
- {2.5}
+ {2024/02/29}
+ {2.6}
{UFRGS/CCA core commands}
@@ -42,8 +42,8 @@
{
name .code:n = {ufrgscca-core} ,
prefix .code:n = {ufrgscca} ,
- date .code:n = {2024/02/25},
- version .code:n = {2.5} ,
+ date .code:n = {2024/02/29},
+ version .code:n = {2.6} ,
description .code:n = {UFRGS/CCA~core~commands/data}
}
\cs_if_exist:NF \PkgInfo
@@ -129,6 +129,7 @@
flag-exam = \c_false_bool ,
flag-ff = \c_false_bool ,
flag-dismiss = \c_false_bool , %%% IF it was the 1st semester.
+ flag-other = \c_false_bool , %%% "other list", placeholder for 'none of the above' lists.
flag-newpage = \c_false_bool , %% if it should go in a new page (board)
flag-distinctboard = \c_false_bool , %% if advisor isn't in the board
flag-approved = \c_false_bool ,
@@ -394,7 +395,8 @@
\NewDocumentCommand{\DataFields}{mm}{
\starray_get_prop:nn{#1}{#2}
}
-\NewDocumentCommand{\SetReviewer}{m}{
+
+\NewDocumentCommand{\studentReviewerSelect}{m}{
\starray_set_iter:nn {student.reviewer}{#1}
}
%
@@ -413,6 +415,10 @@
{#2}
}
+\NewDocumentCommand{\studentremark}{m}{
+ \starray_gset_prop:nnn {student}{remarks}{#1}
+}
+
\NewDocumentCommand{\distinctboard}{}{
\starray_gset_prop:nnn {student}{flag-distinctboard}{\c_true_bool}
@@ -433,6 +439,58 @@
{#3}
}
+
+
+\NewDocumentCommand{\studentCase}{mmmmm}{
+ \starray_term_syntax:n{student}
+ \bool_case:nF
+ {
+ {\starray_parsed_get_prop:n{flag-ff}}
+ {#5}
+ {\starray_parsed_get_prop:n{flag-exam}}
+ {
+ \bool_if:nTF{\starray_parsed_get_prop:n{flag-approved}}
+ {#3}
+ {#4}
+ }
+ }
+ {
+ \bool_if:nTF{\starray_parsed_get_prop:n{flag-approved}}
+ {#1}
+ {#2}
+ }
+}
+
+
+\NewDocumentCommand{\studentDismissOtherCase}{mm}{
+ \starray_term_syntax:n{student}
+ \bool_if:nTF {\starray_parsed_get_prop:n{flag-dismiss} || \starray_parsed_get_prop:n{flag-other}}
+ {#1}
+ {#2}
+}
+
+\NewDocumentCommand{\studentReviewerCase}{mmm}{
+ \starray_term_syntax:n{student.reviewer[#1]}
+ \bool_if:nTF {\starray_parsed_get_prop:n{flag-examreview}}
+ {#2}
+ {#3}
+}
+
+
+\NewDocumentCommand{\studentnewpage}{O{}}{
+ \tl_if_blank:nTF {#1}
+ { \starray_gset_prop:nnn {student}{flag-newpage}{\c_true_bool} }
+ { \starray_gset_prop:nnn {student[#1]}{flag-newpage}{\c_true_bool} }
+}%
+
+\NewDocumentCommand{\studentNewPageCase}{mm}
+ {
+ \starray_term_syntax:n{student}
+ \bool_if:nTF {\starray_parsed_get_prop:n{flag-newpage}}
+ {#1}
+ {#2}
+ }
+
\NewDocumentCommand{\studentiterate}{m}{
\starray_iterate_over:nn{student}{#1}
}
diff --git a/macros/latex/contrib/ufrgscca/latex/ufrgscca-cover-ptBR.tex b/macros/latex/contrib/ufrgscca/latex/ufrgscca-cover-ptBR.tex
index e661e6184d..e73a06aef2 100644
--- a/macros/latex/contrib/ufrgscca/latex/ufrgscca-cover-ptBR.tex
+++ b/macros/latex/contrib/ufrgscca/latex/ufrgscca-cover-ptBR.tex
@@ -12,7 +12,7 @@
%%
%% The Current Maintainer of this work is Alceu Frigeri
%%
-%% This is version {2.5} {2024/02/25}
+%% This is version {2.6} {2024/02/29}
%%
%% The list of files that compose this work can be found in the README.md file at
%% https://ctan.org/pkg/ufrgscca
diff --git a/macros/latex/contrib/ufrgscca/latex/ufrgscca-cover.sty b/macros/latex/contrib/ufrgscca/latex/ufrgscca-cover.sty
index 977fa2917f..0231265c6e 100644
--- a/macros/latex/contrib/ufrgscca/latex/ufrgscca-cover.sty
+++ b/macros/latex/contrib/ufrgscca/latex/ufrgscca-cover.sty
@@ -12,7 +12,7 @@
%%
%% The Current Maintainer of this work is Alceu Frigeri
%%
-%% This is version {2.5} {2024/02/25}
+%% This is version {2.6} {2024/02/29}
%%
%% The list of files that compose this work can be found in the README.md file at
%% https://ctan.org/pkg/ufrgscca
@@ -27,8 +27,8 @@
\ProvidesExplPackage
{ufrgscca-cover}
- {2024/02/25}
- {2.5}
+ {2024/02/29}
+ {2.6}
{UFRGS/CCA cover commands}
@@ -42,8 +42,8 @@
{
name .code:n = {ufrgscca-cover} ,
prefix .code:n = {ufrgscca} ,
- date .code:n = {2024/02/25},
- version .code:n = {2.5} ,
+ date .code:n = {2024/02/29},
+ version .code:n = {2.6} ,
description .code:n = {UFRGS/CCA~ cover~pages}
}
\cs_if_exist:NF \PkgInfo
diff --git a/macros/latex/contrib/ufrgscca/latex/ufrgscca-curr.sty b/macros/latex/contrib/ufrgscca/latex/ufrgscca-curr.sty
index 752ecfb740..afcdb1aabe 100644
--- a/macros/latex/contrib/ufrgscca/latex/ufrgscca-curr.sty
+++ b/macros/latex/contrib/ufrgscca/latex/ufrgscca-curr.sty
@@ -12,7 +12,7 @@
%%
%% The Current Maintainer of this work is Alceu Frigeri
%%
-%% This is version {2.5} {2024/02/25}
+%% This is version {2.6} {2024/02/29}
%%
%% The list of files that compose this work can be found in the README.md file at
%% https://ctan.org/pkg/ufrgscca
@@ -27,8 +27,8 @@
\ProvidesExplPackage
{ufrgscca-curr}
- {2024/02/25}
- {2.5}
+ {2024/02/29}
+ {2.6}
{UFRGS/CCA curricula commands}
%%%%%%%
@@ -41,8 +41,8 @@
{
name .code:n = {ufrgscca-curr} ,
prefix .code:n = {ufrgscca} ,
- date .code:n = {2024/02/25},
- version .code:n = {2.5} ,
+ date .code:n = {2024/02/29},
+ version .code:n = {2.6} ,
description .code:n = {UFRGS/CCA~ curricula~ commands}
}
\cs_if_exist:NF \PkgInfo
diff --git a/macros/latex/contrib/ufrgscca/latex/ufrgscca-forms.sty b/macros/latex/contrib/ufrgscca/latex/ufrgscca-forms.sty
index a20c73dd50..7d7916ba0f 100644
--- a/macros/latex/contrib/ufrgscca/latex/ufrgscca-forms.sty
+++ b/macros/latex/contrib/ufrgscca/latex/ufrgscca-forms.sty
@@ -12,7 +12,7 @@
%%
%% The Current Maintainer of this work is Alceu Frigeri
%%
-%% This is version {2.5} {2024/02/25}
+%% This is version {2.6} {2024/02/29}
%%
%% The list of files that compose this work can be found in the README.md file at
%% https://ctan.org/pkg/ufrgscca
@@ -27,8 +27,8 @@
\ProvidesExplPackage
{ufrgscca-forms}
- {2024/02/25}
- {2.5}
+ {2024/02/29}
+ {2.6}
{UFRGS/CCA forms commands}
@@ -42,8 +42,8 @@
{
name .code:n = {ufrgscca-forms} ,
prefix .code:n = {ufrgscca} ,
- date .code:n = {2024/02/25},
- version .code:n = {2.5} ,
+ date .code:n = {2024/02/29},
+ version .code:n = {2.6} ,
description .code:n = {UFRGS/CCA~ forms~commands}
}
\cs_if_exist:NF \PkgInfo
@@ -114,12 +114,12 @@
receipts-II.code = {
\bool_if:nTF \l__ufrgscca_emptyforms_bool
{
- \SetReviewer{1}
+ \studentReviewerSelect{1}
\tl_set:Nn \ReviewerBookMarkTL {}
\MakeForm{receipts-II}
}
{
- \SetReviewer{1}
+ \studentReviewerSelect{1}
\studentReviewerSetCase{1}
{
\eDataSet{student.reviewer}
@@ -135,12 +135,12 @@
examinersforms-I.code = {
\bool_if:nTF \l__ufrgscca_emptyforms_bool
{
- \SetReviewer{1}
+ \studentReviewerSelect{1}
\tl_set:Nn \ReviewerBookMarkTL {}
\MakeForm{examinersform-I}
}
{
- \SetReviewer{2}
+ \studentReviewerSelect{2}
\studentReviewerSetCase{2}
{
\eDataSet{student.reviewer}
@@ -150,7 +150,7 @@
\tl_set:Nn \ReviewerBookMarkTL {~-~2}
}
\MakeForm{examinersform-I}
- \SetReviewer{3}
+ \studentReviewerSelect{3}
\studentReviewerSetCase{3}
{
\eDataSet{student.reviewer}
@@ -166,14 +166,14 @@
examinersforms-II.code = {
\bool_if:nTF \l__ufrgscca_emptyforms_bool
{
- \SetReviewer{1}
+ \studentReviewerSelect{1}
\tl_set:Nn \ReviewerBookMarkTL {}
\MakeForm{receipts-II}
\MakeForm{examinersform-II}
\MakeForm{correctionsform-II}
}
{
- \SetReviewer{1}
+ \studentReviewerSelect{1}
\studentReviewerSetCase{1}
{
\eDataSet{student.reviewer}
@@ -185,7 +185,7 @@
\MakeForm{receipts-II}
\MakeForm{examinersform-II}
\MakeForm{correctionsform-II}
- \SetReviewer{2}
+ \studentReviewerSelect{2}
\studentReviewerSetCase{2}
{
\eDataSet{student.reviewer}
@@ -197,7 +197,7 @@
\MakeForm{receipts-II}
\MakeForm{examinersform-II}
\MakeForm{correctionsform-II}
- \SetReviewer{3}
+ \studentReviewerSelect{3}
\studentReviewerSetCase{3}
{
\eDataSet{student.reviewer}
@@ -292,7 +292,9 @@
%
\prop_get:NnNT \l__ufrgscca_forms_prop {#1.opening} \l_tmpa_tl
{
- \vfill
+ \prop_get:NnNTF \l__ufrgscca_forms_prop {#1.preopening} \l_tmpb_tl
+ {\l_tmpb_tl}
+ {\vfill}
\l_tmpa_tl
}
\prop_get:NnNT \l__ufrgscca_forms_prop {#1.body} \l_tmpa_tl
diff --git a/macros/latex/contrib/ufrgscca/latex/ufrgscca-forms.tex b/macros/latex/contrib/ufrgscca/latex/ufrgscca-forms.tex
index 22a74c03cc..8e225d5edf 100644
--- a/macros/latex/contrib/ufrgscca/latex/ufrgscca-forms.tex
+++ b/macros/latex/contrib/ufrgscca/latex/ufrgscca-forms.tex
@@ -12,7 +12,7 @@
%%
%% The Current Maintainer of this work is Alceu Frigeri
%%
-%% This is version {2.5} {2024/02/25}
+%% This is version {2.6} {2024/02/29}
%%
%% The list of files that compose this work can be found in the README.md file at
%% https://ctan.org/pkg/ufrgscca
@@ -105,7 +105,7 @@ Data de Início: {\bf \DataFields{student.internship}{start}}\hfill Previsão de
\begin{itemize}[tcc,nosep]
\item Grupo I - Aspectos Profissionais
\begin{enumerate}[tcc,nosep]
- \item \textbf{Qualidade do Trabalho}:\emptybox\\ {\footnotesize considerar a qualidade do trabalho tendo em vista o que seria desejável}
+ \item \textbf{Qualidade do Trabalho}:\emptybox\\ {\footnotesize considerar a qualidade do trabalho tendo em vista o que seria desejável.}
\item \textbf{Engenhosidade}:\emptybox\\ {\footnotesize capacidade de sugerir, projetar ou executar modificações ou inovações.}
\item \textbf{Conhecimentos}:\emptybox\\ {\footnotesize conhecimento demonstrado no desenvolvimento das atividades programadas.}
\item \textbf{Cumprimentos das Tarefas}:\emptybox\\ {\footnotesize considerar o volume de atividades cumpridas dentro de um padrão razoável.}
@@ -113,10 +113,10 @@ Data de Início: {\bf \DataFields{student.internship}{start}}\hfill Previsão de
\end{enumerate}
\item Grupo II - Aspectos Humanos
\begin{enumerate}[tcc,nosep]
- \item \textbf{Assiduidade}:\emptybox\\ {\footnotesize cumprimento do horário do estágio e ausência de falhas}
+ \item \textbf{Assiduidade}:\emptybox\\ {\footnotesize cumprimento do horário do estágio e ausência de falhas.}
\item \textbf{Disciplina}:\emptybox\\ {\footnotesize observância das normas e regulamentos internos da empresa.}
\item \textbf{Sociabilidade}:\emptybox\\ {\footnotesize facilidade de se integrar com colegas e ambiente de trabalho.}
-\item \textbf{Cooperação}:\emptybox\\ {\footnotesize disposição para cooperar com colegas e para atender a atividades..}
+\item \textbf{Cooperação}:\emptybox\\ {\footnotesize disposição para cooperar com colegas e para atender a atividades.}
\item \textbf{Senso de Responsabilidade}:\emptybox\\ {\footnotesize zelo pelo material, equipamentos e bens da empresa.}
\end{enumerate}
\end{itemize}
@@ -459,7 +459,7 @@ Nome do(a) Aluno(a) --- Email\\
\begin{enumerate}[tcc,nosep]
\item \emptybox\ \textbf{Enquadramento do Tema}. {\footnotesize(peso:2)}\\ {\footnotesize Quão bem o mesmo se enquadra no perfil de um formando em Eng. de Controle e Automação.}
\item \emptybox\ \textbf{Revisão Bibliográfica}. {\footnotesize(peso:2)}\\ {\footnotesize A revisão apresentada é adequada, suficiente, para o tema do trabalho?}
- \item \emptybox\ \textbf{Abordagem/Plano de Trabalho Proposto}. {\footnotesize(peso:2)}\\ {\footnotesize Considerar se a abordagem, plano de trabalho proposto, é adequada e factivel.}
+ \item \emptybox\ \textbf{Abordagem/Plano de Trabalho Proposto}. {\footnotesize(peso:2)}\\ {\footnotesize Considerar se a abordagem, plano de trabalho proposto, é adequada e factível.}
\item \emptybox\ \textbf{Redação}. {\footnotesize(peso:1)}\\ {\footnotesize Considerar a qualidade do trabalho escrito apresentado.}
\item { O Trabalho Submetido}
\begin{enumerate}[tcc,nosep]
@@ -470,7 +470,7 @@ Nome do(a) Aluno(a) --- Email\\
\end{enumerate}
\item[$\Box$ b)] Necessita ser revisto/re-escrito,\footnotemark[3] e:
\begin{enumerate}
- \item[$\Box$ b.1)] basta a revisão final do texto pelo orientador,
+ \item[$\Box$ b.1)] basta a revisão final do texto pelo orientador.
\item[$\Box$ b.2)] revisarei o trabalho depois de corrigido.
\end{enumerate}
\end{enumerate}
@@ -513,10 +513,10 @@ Outras considerações, parecer (se necessário): \BlankLines{5}
%%%
\SetForm{rectifyapproval-I}{closing}{
- \SetReviewer{2}
+ \studentReviewerSelect{2}
\ApprovalSignature{\DataFields{student.reviewer}{name}}\vfill
- \SetReviewer{3}
+ \studentReviewerSelect{3}
\ApprovalSignature{\DataFields{student.reviewer}{name}}\vfill
}
@@ -800,7 +800,7 @@ A nota (variando de zero a dez) atribuída por cada membro da banca examinadora
\item[$\Box$ a)] Está adequado,
\begin{enumerate}
\item[$\Box$ a.1)] dispensando correções do texto.
- \item[$\Box$ a.2)] sendo necessário correções, conforme a seguir (e anotações anexas).
+ \item[$\Box$ a.2)] sendo necessário correções, conforme a seguir (e anotações anexas):
\begin{tabular}{llp{2em}ll}
$\Box$ & Ortográfica & & $\Box$ & Regras de Escrita \\
$\Box$ & Resumo & & $\Box$ & Abstract \\
@@ -855,15 +855,15 @@ A nota (variando de zero a dez) atribuída por cada membro da banca examinadora
\SetForm{rectifyapproval-II}{closing}{
\studentDistinctBoardCase
{
- \SetReviewer{1}
+ \studentReviewerSelect{1}
\ApprovalSignature{\DataFields{student.reviewer}{name}}\vfill
}
{}
- \SetReviewer{2}
+ \studentReviewerSelect{2}
\ApprovalSignature{\DataFields{student.reviewer}{name}}\vfill
- \SetReviewer{3}
+ \studentReviewerSelect{3}
\ApprovalSignature{\DataFields{student.reviewer}{name}}\vfill
@@ -1134,13 +1134,18 @@ A nota (variando de zero a dez) atribuída por cada membro da banca examinadora
\__ufrgscca_miss_case:nnnnn
{7} {report.tabMult.#1}
{\l__ufrgscca_baselist_ff_seq}
- {Desistentes~ com~ conceito~ (2o ~ semestre)}
+ {Desistentes~ com~ conceito~FF~ (2o ~ semestre)}
{red}
\__ufrgscca_miss_case:nnnnn
{7} {report.tabMult.#1}
{\l__ufrgscca_baselist_dismiss_seq}
{Desistentes~ sem~ conceito~ (1o ~ semestre)}
{magenta}
+ \__ufrgscca_miss_case:nnnnn
+ {7} {report.tabMult.#1}
+ {\l__ufrgscca_baselist_other_seq}
+ {Outros~ (não~ matriculados)}
+ {teal}
\end{longtable}
}
@@ -1172,7 +1177,7 @@ A nota (variando de zero a dez) atribuída por cada membro da banca examinadora
\SetForm{report-I}{heading}{\vspace*{-5ex}\UseTerm{title.tccI}~ - ~\textbf{\UseTerm{semester}}\exp_args:Nee \pdfbookmark{\UseTerm{book.report-I}}{\UseTerm{book.report-I}}}
\ExplSyntaxOff
%\SetForm{report-I}{title}{}
-\SetForm{report-I}{opening}{}
+\SetForm{report-I}{preopening}{}
%%%
\SetForm{report-I}{opening}{ %
@@ -1182,7 +1187,7 @@ A nota (variando de zero a dez) atribuída por cada membro da banca examinadora
}
%%%
-\SetForm{report-I}{closing}{}
+%\SetForm{report-I}{closing}{}
%%%%%%%%%%%%%%%
@@ -1195,9 +1200,9 @@ A nota (variando de zero a dez) atribuída por cada membro da banca examinadora
%\SetForm{report-II}{heading}{\vspace*{-5ex}\UseTerm{title.tccII}~ - ~\textbf{\UseTerm{semester}}}
%\SetForm{report-II}{title}{Relatório Acompanhamento - \UseTerm{semester}}
%\SetForm{report-II}{title}{\vspace*{-2ex}\UseTerm{semester}}
-\SetForm{report-II}{opening}{}
-
+%\SetForm{report-II}{opening}{}
+\SetForm{report-II}{preopening}{} %
%%%
\SetForm{report-II}{opening}{ %
{ \vspace{-2ex}\tiny
@@ -1207,7 +1212,7 @@ A nota (variando de zero a dez) atribuída por cada membro da banca examinadora
%%%
-\SetForm{report-II}{closing}{}
+%\SetForm{report-II}{closing}{}
%%%%%%%%%%%%%%%
diff --git a/macros/latex/contrib/ufrgscca/latex/ufrgscca-lists.sty b/macros/latex/contrib/ufrgscca/latex/ufrgscca-lists.sty
index d09a23de34..600d25e920 100644
--- a/macros/latex/contrib/ufrgscca/latex/ufrgscca-lists.sty
+++ b/macros/latex/contrib/ufrgscca/latex/ufrgscca-lists.sty
@@ -12,7 +12,7 @@
%%
%% The Current Maintainer of this work is Alceu Frigeri
%%
-%% This is version {2.5} {2024/02/25}
+%% This is version {2.6} {2024/02/29}
%%
%% The list of files that compose this work can be found in the README.md file at
%% https://ctan.org/pkg/ufrgscca
@@ -27,8 +27,8 @@
\ProvidesExplPackage
{ufrgscca-lists}
- {2024/02/25}
- {2.5}
+ {2024/02/29}
+ {2.6}
{UFRGS/CCA auxiliary lists commands}
@@ -42,8 +42,8 @@
{
name .code:n = {ufrgscca-lists} ,
prefix .code:n = {ufrgscca} ,
- date .code:n = {2024/02/25} ,
- version .code:n = {2.5} ,
+ date .code:n = {2024/02/29} ,
+ version .code:n = {2.6} ,
description .code:n = {UFRGS/CCA~Auxiliary~ lists~ commands}
}
\cs_if_exist:NF \PkgInfo
diff --git a/macros/latex/contrib/ufrgscca/latex/ufrgscca-ppc.sty b/macros/latex/contrib/ufrgscca/latex/ufrgscca-ppc.sty
index e5ced4a331..eb8b23dcb0 100644
--- a/macros/latex/contrib/ufrgscca/latex/ufrgscca-ppc.sty
+++ b/macros/latex/contrib/ufrgscca/latex/ufrgscca-ppc.sty
@@ -12,7 +12,7 @@
%%
%% The Current Maintainer of this work is Alceu Frigeri
%%
-%% This is version {2.5} {2024/02/25}
+%% This is version {2.6} {2024/02/29}
%%
%% The list of files that compose this work can be found in the README.md file at
%% https://ctan.org/pkg/ufrgscca
@@ -27,8 +27,8 @@
\ProvidesExplPackage
{ufrgscca-ppc}
- {2024/02/25}
- {2.5}
+ {2024/02/29}
+ {2.6}
{UFRGS/CCA PPC commands}
%%%%%%%
@@ -41,8 +41,8 @@
{
name .code:n = {ufrgscca-ppc} ,
prefix .code:n = {ufrgscca} ,
- date .code:n = {2024/02/25},
- version .code:n = {2.5} ,
+ date .code:n = {2024/02/29},
+ version .code:n = {2.6} ,
description .code:n = {UFRGS/CCA~ auxiliary~ PPC-related~ (indicators)~ commands}
}
\cs_if_exist:NF \PkgInfo
diff --git a/macros/latex/contrib/ufrgscca/latex/ufrgscca-terms-en.tex b/macros/latex/contrib/ufrgscca/latex/ufrgscca-terms-en.tex
index fcec1b1b7d..8223ae33db 100644
--- a/macros/latex/contrib/ufrgscca/latex/ufrgscca-terms-en.tex
+++ b/macros/latex/contrib/ufrgscca/latex/ufrgscca-terms-en.tex
@@ -12,7 +12,7 @@
%%
%% The Current Maintainer of this work is Alceu Frigeri
%%
-%% This is version {2.5} {2024/02/25}
+%% This is version {2.6} {2024/02/29}
%%
%% The list of files that compose this work can be found in the README.md file at
%% https://ctan.org/pkg/ufrgscca
diff --git a/macros/latex/contrib/ufrgscca/latex/ufrgscca-terms-ptBR.tex b/macros/latex/contrib/ufrgscca/latex/ufrgscca-terms-ptBR.tex
index dc42415122..14d59b4505 100644
--- a/macros/latex/contrib/ufrgscca/latex/ufrgscca-terms-ptBR.tex
+++ b/macros/latex/contrib/ufrgscca/latex/ufrgscca-terms-ptBR.tex
@@ -12,7 +12,7 @@
%%
%% The Current Maintainer of this work is Alceu Frigeri
%%
-%% This is version {2.5} {2024/02/25}
+%% This is version {2.6} {2024/02/29}
%%
%% The list of files that compose this work can be found in the README.md file at
%% https://ctan.org/pkg/ufrgscca
diff --git a/macros/latex/contrib/ufrgscca/latex/ufrgscca.cls b/macros/latex/contrib/ufrgscca/latex/ufrgscca.cls
index 3b57ee521c..5a5af3cbbe 100644
--- a/macros/latex/contrib/ufrgscca/latex/ufrgscca.cls
+++ b/macros/latex/contrib/ufrgscca/latex/ufrgscca.cls
@@ -12,7 +12,7 @@
%%
%% The Current Maintainer of this work is Alceu Frigeri
%%
-%% This is version {2.5} {2024/02/25}
+%% This is version {2.6} {2024/02/29}
%%
%% The list of files that compose this work can be found in the README.md file at
%% https://ctan.org/pkg/ufrgscca
@@ -27,8 +27,8 @@
\ProvidesExplClass
{ufrgscca}
- {2024/02/25}
- {2.5}
+ {2024/02/29}
+ {2.6}
{UFRGS/CCA class}
@@ -42,8 +42,8 @@
{
name .code:n = {ufrgscca} ,
prefix .code:n = {ufrgscca} ,
- date .code:n = {2024/02/25},
- version .code:n = {2.5} ,
+ date .code:n = {2024/02/29},
+ version .code:n = {2.6} ,
description .code:n = {UFRGS/CCA~a~report~based~class~bundle}
}
\cs_if_exist:NF \PkgInfo
diff --git a/macros/latex/contrib/unbtex/README.md b/macros/latex/contrib/unbtex/README.md
index 64adbbad76..2293f91fe4 100644
--- a/macros/latex/contrib/unbtex/README.md
+++ b/macros/latex/contrib/unbtex/README.md
@@ -1,6 +1,6 @@
# UnBTeX: A class for bachelor, master, and doctoral thesis at the
# University of Brasilia (UnB), Brazil.
-# Version 1.5 2024/02/02
+# Version 1.5.1 2024/03/02
Copyright (C) 2021-2024 by Henrique C. Ferreira <hcferreira@unb.br>
@@ -106,6 +106,9 @@ Here is a history of changes:
length (and number of lines)
. Reorganization of the class source code and improvements in the comments
. The template text has been revised and improved
+ 1.5.1 (2024-03-02):
+ . The approval sheet (folha de aprovação) has been changed
+ . The bottom margin size has been corrected to be consistently adhered to
## Overleaf
diff --git a/macros/latex/contrib/unbtex/unbtex-example.pdf b/macros/latex/contrib/unbtex/unbtex-example.pdf
index eb6c3020ba..f1498c6985 100644
--- a/macros/latex/contrib/unbtex/unbtex-example.pdf
+++ b/macros/latex/contrib/unbtex/unbtex-example.pdf
Binary files differ
diff --git a/macros/latex/contrib/unbtex/unbtex-example.tex b/macros/latex/contrib/unbtex/unbtex-example.tex
index 0a973aab99..1ad0019003 100644
--- a/macros/latex/contrib/unbtex/unbtex-example.tex
+++ b/macros/latex/contrib/unbtex/unbtex-example.tex
@@ -1,7 +1,7 @@
%%
%% UnBTeX: A class for bachelor, master, and doctoral thesis at the
%% University of Brasilia (UnB), Brazil
-%% Version 1.5 2024/02/02
+%% Version 1.5.1 2024/03/02
%% Copyright (C) 2021-2024 by Henrique C. Ferreira <hcferreira@unb.br>
%%
%% This class file may be distributed and/or modified under the conditions
@@ -130,7 +130,7 @@
% ---
\local{Brasília}
\dia{2}
-\mes{fevereiro}
+\mes{março}
\ano{2024}
% ---
diff --git a/macros/latex/contrib/unbtex/unbtex-example/anexo-b.tex b/macros/latex/contrib/unbtex/unbtex-example/anexo-b.tex
index 9f2658e15a..63bad4c7b5 100644
--- a/macros/latex/contrib/unbtex/unbtex-example/anexo-b.tex
+++ b/macros/latex/contrib/unbtex/unbtex-example/anexo-b.tex
@@ -2,7 +2,9 @@
\chapter{Paleta de cores UnB}\label{anx:coresunb}
% ----------------------------------------------------------
-A \cpageref{marcaunb.1}, a seguir, foi extraída do \emph{manual de identidade visual}\footnote{Disponível em \url{http://marca.unb.br}} da UnB.
+A \cpageref{marcaunb.1} foi extraída do \emph{manual de identidade visual}\footnote{Disponível em \url{http://marca.unb.br}} da UnB.
+
+\cleardoublepage
\newcounter{includepdfpage} % para referenciar no texto páginas pdf incluídas
@@ -13,4 +15,6 @@ A \cpageref{marcaunb.1}, a seguir, foi extraída do \emph{manual de identidade v
\refstepcounter{includepdfpage} % conta a página incluída
\label{marcaunb.\theincludepdfpage} % marcaunb.n, n número da página
},
- ]{unbtex-example/figuras/coresunb} \cleardoublepage \ No newline at end of file
+ ]{unbtex-example/figuras/coresunb}
+
+\cleardoublepage \ No newline at end of file
diff --git a/macros/latex/contrib/unbtex/unbtex-example/capitulo3.tex b/macros/latex/contrib/unbtex/unbtex-example/capitulo3.tex
index 56d4b8c404..30514e0f81 100644
--- a/macros/latex/contrib/unbtex/unbtex-example/capitulo3.tex
+++ b/macros/latex/contrib/unbtex/unbtex-example/capitulo3.tex
@@ -70,13 +70,13 @@ CIC0090 & Estruturas de Dados & 30 & 30 & 0 & 0 & 60 & CIC0004 \\ \hline%
}
\end{table}
-Para alterar a cor de linhas e de células de tabelas, o pacote \textsf{colortbl} foi utilizado. Para mesclar linhas e colunas, como na \cref{tab:fluxo}, utilize o pacote \textsf{multirow}. O pacote \textsf{longtable} pode ser usado para construir tabelas que ocupam mais de uma página e o pacote \textsf{rotating} pode ser usado para rotacionar tabelas. No \cref{anx:tabs} há exemplos de tabelas que os utilizam. Embora poderosos para construir tabelas, os pacotes \textsf{tabularray} e \textsf{nicematrix} não foram utilizados neste documento devido ao elevado tempo necessário para processamento no Overleaf. Faça tabelas usando como base qualquer um dos exemplos apresentados neste documento ou outros que considerar mais adequados e que podem ser facilmente encontrados na internet.
+Para alterar a cor de linhas e de células de tabelas, o pacote \textsf{colortbl} foi utilizado. Para mesclar linhas e colunas, como na \cref{tab:fluxo}, utilize o pacote \textsf{multirow}. O pacote \textsf{longtable} pode ser usado para construir tabelas que ocupam mais de uma página e o pacote \textsf{rotating} pode ser usado para rotacionar tabelas. No \cref{anx:tabs} há exemplos de tabelas que os utilizam. Embora poderosos para construir tabelas, os pacotes \textsf{tabularray} e \textsf{nicematrix} não foram utilizados neste documento devido ao elevado tempo necessário para processamento no Overleaf. Muitos outros exemplos de tabelas feitas com \LaTeX\ podem ser facilmente encontrados na internet.
% ---
\section{Figuras}
% ---
-Se a figura que for incluída se tratar de um diagrama, um gráfico ou uma ilustração que você mesmo produza, priorize o uso de imagens vetoriais no formato \texttt{pdf}. Com isso, o tamanho do arquivo final do trabalho será menor, e as imagens terão uma apresentação melhor, uma vez que imagens vetoriais são perfeitamente escaláveis para qualquer dimensão. A \cref{fig:grafico} foi inserida no texto utilizando-se um arquivo no formato \texttt{pdf}.
+Se a figura que for incluída se tratar de um diagrama, um gráfico ou uma ilustração que você mesmo produza, priorize o uso de imagens vetoriais no formato \texttt{pdf}, como no caso da \cref{fig:grafico}. Assim, o tamanho do arquivo do trabalho será menor e as imagens terão uma apresentação melhor, uma vez que imagens vetoriais são escaláveis para qualquer dimensão.
\begin{figure}[htb]
\centering
diff --git a/macros/latex/contrib/unbtex/unbtex.cls b/macros/latex/contrib/unbtex/unbtex.cls
index 71f58cebba..39f277761d 100644
--- a/macros/latex/contrib/unbtex/unbtex.cls
+++ b/macros/latex/contrib/unbtex/unbtex.cls
@@ -1,7 +1,7 @@
%%
%% UnBTeX: A class for bachelor, master, and doctoral thesis at the
%% University of Brasilia (UnB), Brazil
-%% Version 1.5 2024/02/02
+%% Version 1.5.1 2024/03/02
%% Copyright (C) 2021-2024 by Henrique C. Ferreira <hcferreira@unb.br>
%%
%% This class file may be distributed and/or modified under the conditions
@@ -21,7 +21,7 @@
%%
\NeedsTeXFormat{LaTeX2e}
-\ProvidesClass{unbtex}[2024/02/02 v1.5 Modelo da Universidade de Brasília baseado em abnTeX2]
+\ProvidesClass{unbtex}[2024/03/02 v1.5.1 Modelo da Universidade de Brasília baseado em abnTeX2]
% ------------------------------------------------------------------------
% Opções para a classe
@@ -638,8 +638,10 @@
\imprimirlocal \\ \imprimirano\par}
\end{center}
\end{capa}
-\setlrmarginsandblock{3cm}{2cm}{*} % Reestabelece as margens
-\checkandfixthelayout[nearest]
+% Reestabelece as margens
+\setlrmarginsandblock{3cm}{2cm}{*}
+\setulmarginsandblock{3cm}{2cm}{*}
+\checkandfixthelayout[fixed]
\cleardoublepage
\hypersetup{pageanchor=true}
}
@@ -769,7 +771,7 @@
\end{minipage}%
\end{flushright}
}%
-\vspace{20pt}
+\vspace{24pt}
\raggedright{Trabalho aprovado. \imprimirlocal, \imprimirdia\ de \imprimirmes\ de \imprimirano:}
{%
@@ -779,10 +781,10 @@
\abntex@ifnotempty{\membrodabancaivnome}{\assinatura{\textbf{\membrodabancaivnome} \\ \membrodabancaivfuncaonome}}
\abntex@ifnotempty{\membrodabancavnome}{\assinatura{\textbf{\membrodabancavnome} \\ \membrodabancavfuncaonome}}
}
-\vfill
- \begin{center}
- {\sffamily\large\imprimirlocal \\ \imprimirano\par}
- \end{center}
+%\vfill
+% \begin{center}
+% {\sffamily\large\imprimirlocal \\ \imprimirano\par}
+% \end{center}
\end{center}
\end{folhadeaprovacao}
}
diff --git a/macros/latex/required/firstaid/changes.txt b/macros/latex/required/firstaid/changes.txt
index 8db6a5d0fd..6e53f7f010 100644
--- a/macros/latex/required/firstaid/changes.txt
+++ b/macros/latex/required/firstaid/changes.txt
@@ -1,3 +1,10 @@
+2024-02-29 Joseph Wright <Joseph.Wright@latex-project.org>
+
+ * latex2e-first-aid-for-external-files.dtx:
+ - add firstaid for acro to declare a temporary prop
+ - add firstaid for chemformula to load l3keys2e
+ - add chemnum for acro to declare a temporary prop
+
2023-09-20 Ulrike Fischer <Ulrike.Fischer@latex-project.org>
* latex2e-first-aid-for-external-files.dtx: add firstaid for underscore to
diff --git a/macros/latex/required/firstaid/latex2e-first-aid-for-external-files.dtx b/macros/latex/required/firstaid/latex2e-first-aid-for-external-files.dtx
index ed6c898d65..2317c05141 100644
--- a/macros/latex/required/firstaid/latex2e-first-aid-for-external-files.dtx
+++ b/macros/latex/required/firstaid/latex2e-first-aid-for-external-files.dtx
@@ -111,8 +111,8 @@
% \end{macrocode}
%
% \begin{macrocode}
-\def\LaTeXFirstAidDate{2023/09/20}
-\def\LaTeXFirstAidVersion{v1.1b}
+\def\LaTeXFirstAidDate{2024/02/29}
+\def\LaTeXFirstAidVersion{v1.1c}
% \end{macrocode}
%
% \begin{macrocode}
@@ -602,5 +602,48 @@
%</kernel>
% \end{macrocode}
%
+% \begin{macrocode}
+%<*kernel>
+% \end{macrocode}
+%
+% \subsection{The \pkg{acro} package first aid}
+%
+% The package does not declare a \texttt{prop}, which causes an issue with newer
+% routines in \pkg{expl3}.
+% \begin{macrocode}
+\AddToHook{package/acro/after}[firstaid]{%
+ \FirstAidNeededT{acro}{sty}{2022/04/01 v3.8 typeset acronyms and other abbreviations (CN)}
+ {\UseName{prop_new:c}{l__acro_tmpa_prop}}%
+}
+% \end{macrocode}
+%
+% \subsection{The \pkg{chemformula} package first aid}
+%
+% Package \pkg{chemformula} uses \pkg{l3keys2e} for option processing.
+% This used to be made available as \pkg{chemformula} also loads
+% \pkg{xfrac}, which loaded \pkg{l3keys2e}. However, \pkg{xfrac} has now
+% been updated to use the newer kernel method if available, so loading
+% \pkg{chemformula} fails.
+% \begin{macrocode}
+\AddToHook{package/chemformula/before}[firstaid]{%
+ \RequirePackage{l3keys2e}%
+}
+% \end{macrocode}
+%
+% \subsection{The \pkg{chemnum} package first aid}
+%
+% The package does not declare a \texttt{prop}, which causes an issue with newer
+% routines in \pkg{expl3}.
+% \begin{macrocode}
+\AddToHook{package/chemnum/after}[firstaid]{%
+ \FirstAidNeededT{chemnum}{sty}{2021/01/21 v1.3a a comprehensive approach for the numbering of chemical compounds (CN)}
+ {\UseName{prop_new:c}{l__chemnum_tmpa_prop}}%
+}
+% \end{macrocode}
+%
+% \begin{macrocode}
+%</kernel>
+% \end{macrocode}
+%
% \Finale
%
diff --git a/macros/latex/required/firstaid/latex2e-first-aid-for-external-files.pdf b/macros/latex/required/firstaid/latex2e-first-aid-for-external-files.pdf
index ffb97f276f..ab5db23f44 100644
--- a/macros/latex/required/firstaid/latex2e-first-aid-for-external-files.pdf
+++ b/macros/latex/required/firstaid/latex2e-first-aid-for-external-files.pdf
Binary files differ