summaryrefslogtreecommitdiff
path: root/macros/latex
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2024-02-03 03:02:06 +0000
committerNorbert Preining <norbert@preining.info>2024-02-03 03:02:06 +0000
commit8d5a9f6bbecb297f513b9ed16e574db1c1310228 (patch)
tree4d9e1be6863ce68eb23b545add6e000edff4817c /macros/latex
parentb5a938a222c59addea5ca0a22cd53b2bbf66e1fa (diff)
CTAN sync 202402030302
Diffstat (limited to 'macros/latex')
-rw-r--r--macros/latex/contrib/docshots/docshots.dtx14
-rw-r--r--macros/latex/contrib/docshots/docshots.pdfbin342450 -> 342675 bytes
-rw-r--r--macros/latex/contrib/hvqrurl/Changes1
-rw-r--r--macros/latex/contrib/hvqrurl/doc/hvqrurl.pdfbin113426 -> 113856 bytes
-rw-r--r--macros/latex/contrib/hvqrurl/doc/hvqrurl.tex29
-rw-r--r--macros/latex/contrib/hvqrurl/latex/hvqrurl.sty4
-rw-r--r--macros/latex/contrib/litetable/doc/litetable-cn.pdfbin0 -> 294196 bytes
-rw-r--r--macros/latex/contrib/litetable/doc/litetable-cn.tex (renamed from macros/latex/contrib/litetable/doc/litetable-doc-cn.tex)82
-rw-r--r--macros/latex/contrib/litetable/doc/litetable-demo.tex68
-rw-r--r--macros/latex/contrib/litetable/doc/litetable-demo1.pdf (renamed from macros/latex/contrib/litetable/doc/litetable-demo.pdf)bin46294 -> 45427 bytes
-rw-r--r--macros/latex/contrib/litetable/doc/litetable-demo1.tex66
-rw-r--r--macros/latex/contrib/litetable/doc/litetable-demo2.pdfbin0 -> 69163 bytes
-rw-r--r--macros/latex/contrib/litetable/doc/litetable-demo2.tex64
-rw-r--r--macros/latex/contrib/litetable/doc/litetable-doc-cn.pdfbin193124 -> 0 bytes
-rw-r--r--macros/latex/contrib/litetable/doc/litetable-doc-en.pdfbin103291 -> 0 bytes
-rw-r--r--macros/latex/contrib/litetable/doc/litetable-en.pdfbin0 -> 180356 bytes
-rw-r--r--macros/latex/contrib/litetable/doc/litetable-en.tex (renamed from macros/latex/contrib/litetable/doc/litetable-doc-en.tex)75
-rw-r--r--macros/latex/contrib/litetable/tex/litetable.cls147
-rw-r--r--macros/latex/contrib/morewrites/morewrites.dtx14
-rw-r--r--macros/latex/contrib/morewrites/morewrites.pdfbin748706 -> 749644 bytes
-rw-r--r--macros/latex/contrib/morewrites/primargs.dtx4
-rw-r--r--macros/latex/contrib/morewrites/primargs.pdfbin635774 -> 635299 bytes
22 files changed, 358 insertions, 210 deletions
diff --git a/macros/latex/contrib/docshots/docshots.dtx b/macros/latex/contrib/docshots/docshots.dtx
index 04a7402a2b..031708e286 100644
--- a/macros/latex/contrib/docshots/docshots.dtx
+++ b/macros/latex/contrib/docshots/docshots.dtx
@@ -50,7 +50,7 @@
%<package>\NeedsTeXFormat{LaTeX2e}
%<package>\ProvidesPackage{docshots}
%<*package>
-[2024-01-13 0.4.2 TeX Samples Next to Their PDF Snapshots in DTX]
+[2024-02-02 0.4.3 TeX Samples Next to Their PDF Snapshots in DTX]
%</package>
%<*driver>
\documentclass{ltxdoc}
@@ -660,8 +660,10 @@ Hello, world!
\begin{minipage}[t]{\docshots@right}%
\vspace{0pt}%
\ifdefined\docshots@lstinputlisting%
- \expandafter\lstinputlisting\expandafter[\docshots@opts]
- {\docshots@tmpdir/\jobname/\hash.tex}%
+ \ifdefined\docshots@opts%
+ \expandafter\lstset\expandafter{\docshots@opts}%
+ \fi%
+ \lstinputlisting{\docshots@tmpdir/\jobname/\hash.tex}%
\else\ifdefined\docshots@inputminted%
\expandafter\inputminted\expandafter[\docshots@opts]
{\docshots@inputminted}
@@ -679,7 +681,7 @@ Hello, world!
\fvset{fontsize=\scriptsize}%
\fi%
\ifdefined\docshots@opts%
- \fvset{\docshots@opts}%
+ \expandafter\fvset\expandafter{\docshots@opts}%
\fi%
\VerbatimInput{\docshots@tmpdir/\jobname/\hash.tex}%
\fi\fi%
@@ -733,6 +735,10 @@ Hello, world!
% \end{macrocode}
% \end{macro}
+% \begin{macrocode}
+\endinput
+% \end{macrocode}
+
% \Finale
%\clearpage
diff --git a/macros/latex/contrib/docshots/docshots.pdf b/macros/latex/contrib/docshots/docshots.pdf
index e24ef6c4f5..8f92d6f13c 100644
--- a/macros/latex/contrib/docshots/docshots.pdf
+++ b/macros/latex/contrib/docshots/docshots.pdf
Binary files differ
diff --git a/macros/latex/contrib/hvqrurl/Changes b/macros/latex/contrib/hvqrurl/Changes
index c4b25d48e5..a14d35f255 100644
--- a/macros/latex/contrib/hvqrurl/Changes
+++ b/macros/latex/contrib/hvqrurl/Changes
@@ -1,4 +1,5 @@
hvqrurl.sty:
+0.05a 2024-02-02 - modified documentation
0.05 2024-01-28 - added optional argument for alternative link text
0.04 2024-01-18 - fix for wrong text
0.03 2023-10-29 - fix for # in an url
diff --git a/macros/latex/contrib/hvqrurl/doc/hvqrurl.pdf b/macros/latex/contrib/hvqrurl/doc/hvqrurl.pdf
index 513df9f516..0ea564f2d7 100644
--- a/macros/latex/contrib/hvqrurl/doc/hvqrurl.pdf
+++ b/macros/latex/contrib/hvqrurl/doc/hvqrurl.pdf
Binary files differ
diff --git a/macros/latex/contrib/hvqrurl/doc/hvqrurl.tex b/macros/latex/contrib/hvqrurl/doc/hvqrurl.tex
index e60a7a2511..5b0e10dc06 100644
--- a/macros/latex/contrib/hvqrurl/doc/hvqrurl.tex
+++ b/macros/latex/contrib/hvqrurl/doc/hvqrurl.tex
@@ -1,4 +1,4 @@
-%% $Id: hvqrurl.tex 848 2024-01-28 11:57:35Z herbert $
+%% $Id: hvqrurl.tex 867 2024-02-02 09:03:16Z herbert $
\listfiles
\errorcontextlines=100
\documentclass[twoside=on,usegeometry]{scrartcl}
@@ -34,10 +34,11 @@
\usepackage{hvdoctools}
\usepackage{hyperref}
-\hypersetup{urlcolor=blue, linktocpage, colorlinks=true}%
+\hypersetup{%urlcolor=blue,
+linktocpage, colorlinks=true}%
\begin{document}
-\title{Package \texttt{hvqrurl}\\Creating a QR-code of an URL in the margin \\\small ver 0.04}
+\title{Package \texttt{hvqrurl}\\Creating a QR-code of an URL in the margin \\\small ver 0.05a}
\author{Herbert Voß\thanks{\protect\url{hvoss@tug.org}}}
\date{\today}
\maketitle
@@ -64,7 +65,10 @@ and
With the default macro \Lcs{hvqrurl} the URL is printed as as QR code into the margin and
in the the text as usual with the macro \Lcs{url}, for example \hvqrurl{https://mirror.ctan.org/pkg/hvqrurl}.
With \LPack{hyperref} you'll get the the same color for the QR code as for the URL link and, of course,
-is also a link. This example shows the default setting for a QR code.
+it is also a link. This example shows the output of the QR code with the default setting and
+an active \LPack{hyppref}.
+The star version of the command
+prints only the QR code but not the URL in the text.
With \Lcs{hvqrset} one can set the optional arguments globally. For example if one do not want all
QR codes not as a link when using \LPack{hyperref}:
@@ -78,6 +82,7 @@ QR codes not as a link when using \LPack{hyperref}:
\subsection{No link with \LPack{hyperref}}
+
\begin{lstlisting}
With qrlink=nolink the QR code is no link: \hvqrurl[qrlink=nolink]{https://mirror.ctan.org/pkg/hvqrurl}.
The default setting is qrlink=link.
@@ -88,8 +93,9 @@ has no meaning.
\subsection{Color of the QR code}
Without using \LPack{hyperref} the default color is \Lkeyval{black}. It can be changed by
-the optional argument \Lkeyword{qrcolor}. The package \LPack{xcolor}\hvqrurl*[qrlink=nolink,qrcolor=red!40!white]{https://mirror.ctan.org/pkg/xcolor}
- is loaded by default,
+the optional argument \Lkeyword{qrcolor}. The package
+\LPack{xcolor}\hvqrurl*[qrlink=nolink,qrcolor=red!40!white]{https://mirror.ctan.org/pkg/xcolor}
+is loaded by default,
the reason why an extended color definition is possible. For this example we used
\begin{lstlisting}
@@ -98,7 +104,7 @@ The package xcolor\hvqrurl*[qrcolor=red!40!white]{https://mirror.ctan.org/pkg/xc
\end{lstlisting}
\subsection{Vertical position of the QR code}
-By default the baseline of the QR code is nearly at the same height as the baseline of the textline.
+By default the baseline of the QR code is nearly at the same height as the baseline of the text.
However, when changing the size of the QR code it may be nessesary to move up or down the QR code.
The default value of \Lkeyword{qradjust} is \verb|-1.5\normalbaselineskip|. Setting the value
to 0pt the QR code
@@ -118,12 +124,12 @@ is moved down which is the default setting without a vertical adjustment.
By default the QR code is a square with height and width of 1cm.
it can be changed by setting \Lkeyword{qrheight} to another value, for example to 2cm:
\hvqrurl*[qrlink=nolink,qrheight=2cm]{https://identity.fu-berlin.de/idp-fub/profile/SAML2/Redirect/SSO;jsessionid=71C984647E3B8F2E716CA067CB13387E?execution=e1s1}
-This is an exetremely long url where it may make sense to use a larger QR code.
+This is an extremely long url where it may make sense to use a larger QR code.
\begin{lstlisting}
it can be changed by setting qrheight to another value, for example to 2cm:
\hvqrurl*[qrheight=2cm]{https://identity.fu-berlin.de/idp-fub/profile/SAML2/Redirect/SSO;jsessionid=71C984647E3B8F2E716CA067CB13387E?execution=e1s1}
-This is an exetremely long url where it may make sense to use a larger QR code.
+This is an extremely long url where it may make sense to use a larger QR code.
\end{lstlisting}
@@ -166,6 +172,7 @@ the long link for the qrcode, like
this one: \hvqrurl[linktext=https://www.uni-bonn.de]%
{https://www.uni-bonn.de/de/studium/studienangebot/studiengaenge-a-z/kunstgeschichte-bazf?set_language=de}.
+
\begin{lstlisting}
By default the QR code is set with the given text. If the link is too long, one
can use a short link with the optional argument \Lkeyword{linktext} for the text and
@@ -174,6 +181,10 @@ this one: \hvqrurl[linktext=https://www.uni-bonn.de]%
{https://www.uni-bonn.de/de/studium/studienangebot/studiengaenge-a-z/kunstgeschichte-bazf?set_language=de}.
\end{lstlisting}
+It makes no sense to use the star version \Lcs{hvqrurl*} together with the optional argument
+\Lkeyword{linktext}!
+
+
\printindex
diff --git a/macros/latex/contrib/hvqrurl/latex/hvqrurl.sty b/macros/latex/contrib/hvqrurl/latex/hvqrurl.sty
index 604a7ce87f..9786732d94 100644
--- a/macros/latex/contrib/hvqrurl/latex/hvqrurl.sty
+++ b/macros/latex/contrib/hvqrurl/latex/hvqrurl.sty
@@ -1,4 +1,4 @@
-%% $Id: hvqrurl.sty 848 2024-01-28 11:57:35Z herbert $
+%% $Id: hvqrurl.sty 867 2024-02-02 09:03:16Z herbert $
%%
%% This file is distributed under the terms of the LaTeX Project Public
%% License from CTAN archives in directory macros/latex/base/lppl.txt.
@@ -7,7 +7,7 @@
% Copyright 2019,21,23,24 Herbert Voss hvoss@tug.org
%%
\ProvidesPackage{hvqrurl}[%
- 2024/01/28 v.0.05 (Herbert Voss) Supports qr images into the margin (hv)]
+ 2024/02/02 v.0.05a (Herbert Voss) Supports qr images into the margin (hv)]
%
\NeedsTeXFormat{LaTeX2e}
\RequirePackage{url}
diff --git a/macros/latex/contrib/litetable/doc/litetable-cn.pdf b/macros/latex/contrib/litetable/doc/litetable-cn.pdf
new file mode 100644
index 0000000000..335b8be062
--- /dev/null
+++ b/macros/latex/contrib/litetable/doc/litetable-cn.pdf
Binary files differ
diff --git a/macros/latex/contrib/litetable/doc/litetable-doc-cn.tex b/macros/latex/contrib/litetable/doc/litetable-cn.tex
index 498167f8c3..8093dd8a92 100644
--- a/macros/latex/contrib/litetable/doc/litetable-doc-cn.tex
+++ b/macros/latex/contrib/litetable/doc/litetable-cn.tex
@@ -10,24 +10,27 @@
\PassOptionsToPackage{no-math}{fontspec}
\documentclass[11pt]{article}
\usepackage{geometry}
-\usepackage{indentfirst,setspace}
-\usepackage[toc]{multitoc}
-\setlength{\parindent}{2em}
-\setstretch{1.25}
\usepackage{pdfpages}
\usepackage[level]{datetime}
\usepackage{unicode-math,xeCJK}
\usepackage{authblk}
+\usepackage{indentfirst,setspace}
+\usepackage[toc]{multitoc}
+\setstretch{1.25}
\setmainfont{Libertinus Serif}
\setsansfont{Libertinus Sans}
-\setCJKmainfont{SimSong}[BoldFont=Chiron Sung HK, ItalicFont=Kaiti SC]
+\setCJKmainfont{Chiron Sung HK}
+[
+ BoldFont=Chiron Sung HK Bold,
+ ItalicFont=Kaiti SC
+]
\makeatletter
\usepackage{listings,dirtree}
\lstdefinestyle{TeX}{
language = [LaTeX]TeX,
texcsstyle = *\color{H7},
numbers = none,
- basicstyle = {\small\color{H6}\tt},
+ basicstyle = {\scriptsize\color{H6}\tt},
mathescape = false,
breaklines = true,
columns = fixed,
@@ -52,7 +55,6 @@
\definecolor{H7}{Hsb}{290,.8,.8}% 浪漫紫 (Hangzhou Metro 7 )
\hypersetup{colorlinks,urlcolor=H1,linkcolor=H2,filecolor=filecolor,pdfstartview=FitH,pdfview=FitH,pdfcreator=XeTeX output}
-\renewcommand*\l@subsection{\@dottedtocline{2}{1.5em}{2.1em}}
\def\pkg#1{\texorpdfstring{\textcolor{pkgcolor}{\textsf{#1}}}{“#1”}}
\def\mode#1{\texorpdfstring{\textcolor{moducolor}{\textsf{#1}}}{“#1”}}
\def\cmd#1{\texorpdfstring{\textcolor{cmdcolor}{\textsf{#1}}}{“#1”}}
@@ -66,7 +68,7 @@
\yyyymmdddate
\date{\today}
\affil[1]{\href{mailto:xiamyphys@gmail.com}{\texttt{xiamyphys@gmail.com}}}
-\date{\today\quad Version 2.2a\thanks{%
+\date{\today\quad Version 2.3a\thanks{%
\url{https://github.com/xiamyphys/litetable}}}
\begin{document}
\maketitle
@@ -89,7 +91,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} 宏基用于支持数组,\pkg{ctex}宏集用于支持中文语言,\pkg{fontawesome5} 宏集提供一系列精美的图标.
我强烈建议您使用终端机去执行以下命令,以将所有宏集更新到最新版本
\begin{verbatim}
@@ -97,26 +99,29 @@
tlmgr update --all
\end{verbatim}
-如果您所在的地区存在网路封锁,你可以选择合适的镜像网站或其他方法\footnote{请遵循当地的网路条例.}. 欲详细了解,请前往 \href{https://tex.stackexchange.com/questions/55437/how-do-i-update-my-tex-distribution}{How do I update my TEX distribution?}
+如果您所在的地区存在网路封锁(如GFW干扰),你可以选择合适的镜像网站或其他方法\footnote{请遵守当地的网路条例.}. 欲详细了解,请前往 \href{https://tex.stackexchange.com/questions/55437/how-do-i-update-my-tex-distribution}{How do I update my TEX distribution?}
-\subsection{载入 \pkg{LiteTable} 和其模式}
+\subsection{载入 \pkg{LiteTable} 和其选项}
将文件 \verb|litetable.cls| 保存至你的项目根目录,然后创立一个 \verb|.tex| 文件,只需在第一行输入命令 \verb|\documentclass{litetable}| 即可.
-本模板提供了三个模式:\mode{date},\mode{style} 和 \mode{font}. 只需将你想要使用的模式选项分别添加在你的 \verb|.tex| 文件中命令 \verb|\documentclass[options]{litetable}| 的方括号中即可.
+本模板提供了三个选项:\mode{date},\mode{style},\mode{direction} 和 \mode{font}. 只需将你要使用的选项模式分别添加在你的 \verb|.tex| 文件中命令 \verb|\documentclass[options]{litetable}| 的方括号中即可.
\newpage
-\section{\pkg{LiteTable} 的模式}
+\section{\pkg{LiteTable} 的全局选项}
\begin{verbatim}
\documentclass[options]{litetable}
\end{verbatim}
-\subsection{\mode{date} 模式}
-此模式有两个选项,\mode{en} 和 \mode{cn},可分别使工作日以英文或大陆简体显示,默认为英文.
+\subsection{\mode{date} 选项}
+此选项有两个模式,\mode{en} 和 \mode{cn},可分别使工作日以英文或大陆简体显示,默认为英文.
-\subsection{\mode{style} 模式}
-此模式有两个选项,\mode{round} 和 \mode{sharp},可分别使课程块圆角或直角显示,默认为直角.
+\subsection{\mode{style} 选项}
+此选项有两个模式,\mode{round} 和 \mode{sharp},可分别使课程块圆角或直角显示,默认为直角.
-\subsection{\mode{font} 模式}
-此模式有两个选项,\mode{times} 和 \mode{libertinus},可分别使字体为 ``Times New Roman'' 或 ``Libertinus'',默认为 ``Times New Roman''.\footnote{在使用 ``Libertinus'' 选项前请确保电脑中已安装该字体.}
+\subsection{\mode{direction} 选项}
+此选项有两个模式,\mode{portrait} 和 \mode{landscape}, 可分别使课程表以纵向或横向显示.
+
+\subsection{\mode{font} 选项}
+此选项有两个模式,\mode{times} 和 \mode{libertinus},可分别使字体为 ``Times New Roman'' 或 ``Libertinus'',默认为 ``Times New Roman''.\footnote{在使用 ``Libertinus'' 模式前请确保电脑中已安装该字体.}
\section{\pkg{LiteTable} 的命令}
@@ -129,19 +134,19 @@
\subsection{The \cmd{timelist} command}
\begin{verbatim}
- \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
- }
+ \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
+ }
\end{verbatim}
此命令可将时间添加至课程表的左侧,内容的第一行是每节课程开始时间,第二行是每节课程的结束时间,时间之间用逗号(\verb|,|)分隔,第一行与第二行之间用分号(\verb|;|)分隔.
-本课程表目前只支持每天12节课. 在后续更新中,将支持自定义每天的课程节数,敬请期待!
+课程表可根据你输入的时间组数自动生成相应的行数. 如上方代码共有12组时间,就会生成12行的课程表.
\subsection{\cmd{course} 命令}
\begin{verbatim}
- \course{H5}{3}{5}{AQM}{Building 6·225}{Yuan Li \& Mengnan Chen}{Week 1 -- 18}
+ \course{H5}{3}{5}{AQM}{Building 6·225}{Yuan Li \& Mn Chen}{Week 1 -- 18}
\end{verbatim}
此命令共有7个变量.
@@ -161,27 +166,31 @@
\begin{verbatim}
\more{·School Start: 04 / 03 / 2024 ·Summer Vacation: 05 / 07 / 2024}
\end{verbatim}
+
此命令可在课程表末尾添加备注信息.
\subsection{\cmd{sticker} 命令}
\begin{verbatim}
\sticker{favicon}
\end{verbatim}
+
在使用此命令后页面的右下方会添加一张贴纸.
-\newpage
\section{版本历史}
-课程表的设计源于杭电助手(\href{https://www.hdu.edu.cn}{杭州电子科技大学}\footnote{https://en.wikipedia.org/wiki/Hangzhou\_Dianzi\_University})学生课表页面\footnote{仅本校师生可访问.} 页面排版十分精美,于是本人使用\LaTeX{} 复刻出了课程表样式,并制作成模板分享给大家.
+课程表的设计源于杭电助手(\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 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| 文件中生成多张课表.
+\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| 文件中生成多张课表.
\textsf{\bfseries Version 2.1a} 于05/11/2023完成开发. 支持 libertinus 字体.
\textsf{\bfseries Version 2.2a} 于31/01/2024完成开发. 此版本修复了分辨率超出的bug,更改纸张类型为美国信纸并支持自定义课程起始和结束时间.
+\textsf{\bfseries Version 2.3a} 于02/02/2024完成开发. 此版本支持根据所输入的时间组数自动生成相应的行数,并支持课程表以纵向或横向显示.
+
+\setstretch{1}
\datechange{01/09/2023}{Version 2.0a}
\begin{itemize}
\item 支持课程块显示为圆角或直角.
@@ -199,12 +208,21 @@
\item 更改纸张类型为美国信纸.
\item 支持自定义课程起始和结束时间.
\item 支持在页面右下角添加一个你喜欢的小贴纸.
+ \item 提供简体中文说明文档.
\end{itemize}
-\newpage\setstretch{1}
+\datechange{2024/02/02}{Version 2.3a}
+\begin{itemize}
+ \item 支持根据所输入的时间组数自动生成相应的行数.
+ \item 课程表可纵向或横向显示.
+\end{itemize}
+
+
+\newpage\setstretch{1.5}
\appendix
\section{代码示例}
-\lstinputlisting[style=TeX]{litetable-demo.tex}
+\lstinputlisting[style=TeX]{litetable-demo2.tex}
-\includepdf[pages=last-1,nup=1x2,angle=90]{litetable-demo.pdf}
+\includepdf[pages=-]{litetable-demo2.pdf}
+\includepdf[pages=-,nup=1x2]{litetable-demo1.pdf}
\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/litetable/doc/litetable-demo.tex b/macros/latex/contrib/litetable/doc/litetable-demo.tex
deleted file mode 100644
index 33d6f53b41..0000000000
--- a/macros/latex/contrib/litetable/doc/litetable-demo.tex
+++ /dev/null
@@ -1,68 +0,0 @@
-\documentclass[libertinus]{litetable}
-\begin{document}
-
-\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}
-\sticker{favicon}
-
-\begin{tikzpicture}
- \makeframe{Axia\!\texttt{'}\!s Timetable -- Semester 5}% make title & background
- % Mon.
- \course{H1}{1}{2}{Badminton}{Badminton Court}{Yongsheng Yu}{Week 1 -- 18}
- \course{H7}{3}{5}{Lens Design Expt}{Building 6·South 402}{Hao Ying}{Week 5 -- 15}
- \newday % Tue.
- \course{H9}{3}{5}{Marx's Principles}{Building 6·320}{Yang Wang}{Week 1 -- 18}
- \course{H8}{6}{8}{Photoelectric Det}{Building 6·320}{Xuefeng Huang}{Week 1 -- 18}
- \newday % Wed.
- \course{H7}{3}{4}{Laster Tech}{Building 6·301}{Haidan Mao}{Week 1 -- 18}
- \course{H9}{6}{7}{Empt 3 | Situ 5}{Bldg 6·301 | Situ 6·208}{Mjh | Qxr}{Week 5 -- 14}
- \course{H5}{8}{9}{Computational Phys}{Building 6·215}{Wenjia Rao}{Week 1 -- 18}
- \course{H1}{10}{11}{Essay Writing}{Building 6·416}{Yueqin Shi}{Week 1 -- 18}
- \newday % Thu.
- \course{H6}{1}{2}{Sensing System}{Building 6·110}{Benxiao Cai}{Week 1 -- 18}
- \course{H5}{3}{5}{AQM}{Building 6·225}{Yuan Li \& Mengnan Chen}{Week 1 -- 18}
- \course{H3}{6}{8}{Modern Phys Expt 2}{Building 6·South}{Xiangxiang Chen}{Week 5 -- 16}
- \course{H8}{10}{12}{OE Info Expt 1}{Building 6·South 302}{Yu Zhou}{Week 5 -- 15}
- \newday % Fri.
- \course{H7}{1}{2}{Lens Design}{Building 6·422}{Hao Ying}{Week 1 -- 18}
- \course{H5}{3}{5}{Optoelectronics}{Building 6·202}{Ruixue Li \& Yuan Li}{Week 1 -- 18}
- \course{H8}{6}{7}{Innovative Practice 4}{Building 7·216B}{Qinglong Huang}{Week 5 -- 16}
- \course{H5}{8}{9}{Group Meeting}{Building 6·Middle}{Yuan Li}{Week 1 -- 18}
- \more{·School Starts: 11 / 09 / 2023 ·Winter Vacation: 26 / 01 / 2024 ·Hangzhou Asian Games: 23 / 09 / 2023 -- 08 / 10 / 2023}
-\end{tikzpicture}
-
-
-
-
-
-
-
-
-\begin{tikzpicture}
- \makeframe{Axia\!\texttt{'}\!s Timetable -- Semester 6}
-
- % Mon.
- \course{H5}{7}{8}{Introduction to Cond.}{Building 6·225}{Mn Chen}{Week 1 -- 16}
-
- \newday % Tue.
- \course{H1}{8}{9}{Group Theory}{Building 6·211}{Li Ge}{Week 1 -- 16}
- \course{H5}{10}{11}{Mesoscopic Physics}{Building 6·211}{Yuan Li \& Mn Chen}{Week 1 -- 16}
-
- \newday % Wed.
- \course{H6}{1}{2}{Engineering Drawing}{Building 7·3012}{Hc Wang}{Week 1 -- 16}
- \course{H9}{8}{9}{Situation \& Policy 6}{Building 6·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}{Week 1 -- 16}
- \course{H2}{3}{4}{Radio Direction}{Athletic Field}{Ys Yu}{Week 1 -- 16}
- \course{H5}{6}{8}{Solid State Physics}{Building 6·408}{Kw Sun}{Week 1 -- 16}
-
- \newday % Fri.
- \course{H8}{1}{2}{OE. Display}{Building 7·3012}{Wt Su}{Week 1 -- 16}
- \course{H3}{6}{8}{Group Meeting}{Building 6·Middle}{Yuan Li}{Week 1 -- 16}
-
- \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-demo.pdf b/macros/latex/contrib/litetable/doc/litetable-demo1.pdf
index 3ee841c94d..0a479ed801 100644
--- a/macros/latex/contrib/litetable/doc/litetable-demo.pdf
+++ b/macros/latex/contrib/litetable/doc/litetable-demo1.pdf
Binary files differ
diff --git a/macros/latex/contrib/litetable/doc/litetable-demo1.tex b/macros/latex/contrib/litetable/doc/litetable-demo1.tex
new file mode 100644
index 0000000000..8488c6453f
--- /dev/null
+++ b/macros/latex/contrib/litetable/doc/litetable-demo1.tex
@@ -0,0 +1,66 @@
+\documentclass[libertinus,en,sharp,landscape]{litetable}
+
+
+\begin{document}
+
+\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
+}
+\sticker{favicon}
+
+\begin{tikzpicture}
+ \makeframe{Axia\!\texttt{'}\!s Timetable -- Semester 5} % make title
+ % Mon.
+ \course{H1}{1}{2}{Badminton}{Badminton Court}{Yongsheng Yu}{Week 1 -- 18}
+ \course{H7}{3}{5}{Lens Design Experiment}{Building 6·South 402}{Hao Ying}{Week 5 -- 15}
+ \newday % Tue.
+ \course{H9}{3}{5}{Marx's Principles}{Building 6·320}{Yang Wang}{Week 1 -- 18}
+ \course{H8}{6}{8}{OE Detection Technology}{Building 6·320}{Xuefeng Huang}{Week 1 -- 18}
+ \newday % Wed.
+ \course{H7}{3}{4}{Laster Principle}{Building 6·301}{Haidan Mao}{Week 1 -- 18}
+ \course{H9}{6}{7}{Empl Guide 3 | Situ Policy 5}{Building 6·301 | Building 6·208}{MJH | QXR}{Week 5 -- 14}
+ \course{H5}{8}{9}{Computational Phys}{Building 6·215}{Wenjia Rao}{Week 1 -- 18}
+ \course{H1}{10}{11}{Essay Writing}{Building 6·416}{Yueqin Shi}{Week 1 -- 18}
+ \newday % Thu.
+ \course{H6}{1}{2}{Sensing System}{Building 6·110}{Benxiao Cai}{Week 1 -- 18}
+ \course{H5}{3}{5}{Quantum Mechanics$^\dagger$}{Building 6·225}{Mengnan Chen \& Yuan Li}{Week 1 -- 18}
+ \course{H3}{6}{8}{Modern Phys Experiment 2}{Building 6·South}{Xiangxiang Chen}{Week 5 -- 16}
+ \course{H8}{10}{12}{OE Info Experiment}{Building 6·South 302}{Yu Zhou}{Week 5 -- 15}
+ \newday % Fri.
+ \course{H7}{1}{2}{Optical Lens Design}{Building 6·422}{Hao Ying}{Week 1 -- 18}
+ \course{H5}{3}{5}{Optoelectronics}{Building 6·202}{Ruixue Li \& Yuan Li}{Week 1 -- 18}
+ \course{H8}{6}{7}{Innovative Practice 4}{Building 7·216B}{Qinglong Huang}{Week 5 -- 16}
+ \course{H5}{8}{9}{Group Meeting}{Building 6·Middle}{Yuan Li}{Week 1 -- 18}
+ \more{·School Starts: 11 / 09 / 2023 ·Winter Vacation: 26 / 01 / 2024
+ ·Hangzhou Asian Games: 23 / 09 / 2023 -- 08 / 10 / 2023}
+\end{tikzpicture}
+
+\begin{tikzpicture}
+ \makeframe{Axia\!\texttt{'}\!s Timetable -- Semester 6}
+
+ % Mon.
+ \course{H5}{7}{8}{Introduction to Cond.}{Building 6·225}{Mn Chen}{Week 1 -- 16}
+
+ \newday % Tue.
+ \course{H1}{8}{9}{Group Theory}{Building 6·211}{Li Ge}{Week 1 -- 16}
+ \course{H5}{10}{11}{Mesoscopic Physics}{Building 6·211}{Yuan Li \& Mn Chen}{Week 1 -- 16}
+
+ \newday % Wed.
+ \course{H6}{1}{2}{Engineering Drawing}{Building 7·3012}{Hc Wang}{Week 1 -- 16}
+ \course{H9}{8}{9}{Situation \& Policy 6}{Building 6·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}{Week 1 -- 16}
+ \course{H2}{3}{4}{Radio Direction}{Athletic Field}{Ys Yu}{Week 1 -- 16}
+ \course{H5}{6}{8}{Solid State Physics}{Building 6·408}{Kw Sun}{Week 1 -- 16}
+
+ \newday % Fri.
+ \course{H8}{1}{2}{OE. Display}{Building 7·3012}{Wt Su}{Week 1 -- 16}
+ \course{H3}{6}{8}{Group Meeting}{Building 6·Middle}{Yuan Li}{Week 1 -- 16}
+
+ \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-demo2.pdf b/macros/latex/contrib/litetable/doc/litetable-demo2.pdf
new file mode 100644
index 0000000000..007993c405
--- /dev/null
+++ b/macros/latex/contrib/litetable/doc/litetable-demo2.pdf
Binary files differ
diff --git a/macros/latex/contrib/litetable/doc/litetable-demo2.tex b/macros/latex/contrib/litetable/doc/litetable-demo2.tex
new file mode 100644
index 0000000000..8194fdbc63
--- /dev/null
+++ b/macros/latex/contrib/litetable/doc/litetable-demo2.tex
@@ -0,0 +1,64 @@
+\documentclass[libertinus,cn,sharp,portiait]{litetable}
+\setCJKfamilyfont{zhhei}{Chiron Hei HK}\renewcommand*\heiti{\CJKfamily{zhhei}}
+
+\begin{document}
+\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
+}
+\sticker{favicon}
+
+\begin{tikzpicture}
+ \makeframe{Axia\!\texttt{'}\!s Timetable -- Semester 5} % make title & background
+ % Mon.
+ \course{H1}{1}{2}{羽毛球}{羽毛球场}{Yongsheng Yu}{Week 1 -- 18}
+ \course{H7}{3}{5}{镜头设计实验}{第6教研楼南· 402}{Hao Ying}{Week 5 -- 15}
+ \newday % Tue.
+ \course{H9}{3}{5}{马克思主义原理}{第6教研楼北·320}{Yang Wang}{Week 1 -- 18}
+ \course{H8}{6}{8}{光电检测技术}{第6教研楼北·320}{Xuefeng Huang}{Week 1 -- 18}
+ \newday % Wed.
+ \course{H7}{3}{4}{激光原理}{第6教研楼中·301}{Haidan Mao}{Week 1 -- 18}
+ \course{H9}{6}{7}{就业3 | 形策5}{6教中301 | 6教北208}{MJH | QXR}{Week 5 -- 14}
+ \course{H5}{8}{9}{计算物理}{第6教研楼中·215}{Wenjia Rao}{Week 1 -- 18}
+ \course{H1}{10}{11}{论文写作指导}{第6教研楼北·416}{Yueqin Shi}{Week 1 -- 18}
+ \newday % Thu.
+ \course{H6}{1}{2}{智能传感系统}{第6教研楼北·110}{Benxiao Cai}{Week 1 -- 18}
+ \course{H5}{3}{5}{高等量子力学}{第6教研楼中·225}{Mengnan Chen \& Yuan Li}{Week 1 -- 18}
+ \course{H3}{6}{8}{近代物理实验2}{第6教研楼南}{Xiangxiang Chen}{Week 5 -- 16}
+ \course{H8}{10}{12}{光电信息技术实验}{第6教研楼南·302}{Yu Zhou}{Week 5 -- 15}
+ \newday % Fri.
+ \course{H7}{1}{2}{光学镜头设计}{第6教研楼北·422}{Hao Ying}{Week 1 -- 18}
+ \course{H5}{3}{5}{光电子学}{第6教研楼北·202}{Ruixue Li \& Yuan Li}{Week 1 -- 18}
+ \course{H8}{6}{7}{光电创新实践4}{第7教研楼北·216B}{Qinglong Huang}{Week 5 -- 16}
+ \course{H5}{8}{9}{研究生组会}{第6教研楼中}{Yuan Li}{Week 1 -- 18}
+ \more{·School Starts: 11 / 09 / 2023 ·Winter Vacation: 26 / 01 / 2024 ·Hangzhou Asian Games: 23 / 09 / 2023 -- 08 / 10 / 2023}
+\end{tikzpicture}
+
+\begin{tikzpicture}
+ \makeframe{Axia\!\texttt{'}\!s Timetable -- Semester 6}
+
+ % Mon.
+ \course{H5}{7}{8}{凝聚态物理导论}{第6教研楼中·225}{Mn Chen}{Week 1 -- 16}
+
+ \newday % Tue.
+ \course{H1}{8}{9}{群论}{第6教研楼中·211}{Li Ge}{Week 1 -- 16}
+ \course{H5}{10}{11}{介观物理}{第6教研楼中·211}{Yuan Li \& Mn Chen}{Week 1 -- 16}
+
+ \newday % Wed.
+ \course{H6}{1}{2}{工程制图}{第7教研楼中·3012}{Hc Wang}{Week 1 -- 16}
+ \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}{Week 1 -- 16}
+ \course{H2}{3}{4}{无线电测向}{田径场}{Ys Yu}{Week 1 -- 16}
+ \course{H5}{6}{8}{固体物理}{第6教研楼北·408}{Kw Sun}{Week 1 -- 16}
+
+ \newday % Fri.
+ \course{H8}{1}{2}{光电显示技术}{第7教研楼中·3012}{Wt Su}{Week 1 -- 16}
+ \course{H3}{6}{8}{研究生组会}{第6教研楼中}{Yuan Li}{Week 1 -- 16}
+
+ \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-doc-cn.pdf b/macros/latex/contrib/litetable/doc/litetable-doc-cn.pdf
deleted file mode 100644
index 67810c50cd..0000000000
--- a/macros/latex/contrib/litetable/doc/litetable-doc-cn.pdf
+++ /dev/null
Binary files differ
diff --git a/macros/latex/contrib/litetable/doc/litetable-doc-en.pdf b/macros/latex/contrib/litetable/doc/litetable-doc-en.pdf
deleted file mode 100644
index 1a201097da..0000000000
--- a/macros/latex/contrib/litetable/doc/litetable-doc-en.pdf
+++ /dev/null
Binary files differ
diff --git a/macros/latex/contrib/litetable/doc/litetable-en.pdf b/macros/latex/contrib/litetable/doc/litetable-en.pdf
new file mode 100644
index 0000000000..c8680a6aef
--- /dev/null
+++ b/macros/latex/contrib/litetable/doc/litetable-en.pdf
Binary files differ
diff --git a/macros/latex/contrib/litetable/doc/litetable-doc-en.tex b/macros/latex/contrib/litetable/doc/litetable-en.tex
index e799e32b6f..ba989d664f 100644
--- a/macros/latex/contrib/litetable/doc/litetable-doc-en.tex
+++ b/macros/latex/contrib/litetable/doc/litetable-en.tex
@@ -14,13 +14,15 @@
\usepackage[level]{datetime}
\usepackage{unicode-math,xeCJK}
\usepackage{authblk}
+\usepackage{indentfirst,setspace}
+% \usepackage[toc]{multitoc}
+% \setstretch{1.25}
\setmainfont{Libertinus Serif}
\setsansfont{Libertinus Sans}
-\setmonofont{NotoSansMono}[
- Scale=MatchLowercase,
- Extension=.ttf,
- UprightFont=*-Light,
- BoldFont=*-Medium
+\setCJKmainfont{Chiron Sung HK}
+[
+ BoldFont=Chiron Sung HK Bold,
+ ItalicFont=Kaiti SC
]
\makeatletter
\usepackage{listings,dirtree}
@@ -28,7 +30,7 @@
language = [LaTeX]TeX,
texcsstyle = *\color{H7},
numbers = none,
- basicstyle = {\small\color{H6}\tt},
+ basicstyle = {\footnotesize\color{H6}\tt},
mathescape = false,
breaklines = true,
columns = fixed,
@@ -53,7 +55,6 @@
\definecolor{H7}{Hsb}{290,.8,.8}% 浪漫紫 (Hangzhou Metro 7 )
\hypersetup{colorlinks,urlcolor=H1,linkcolor=H2,filecolor=filecolor,pdfstartview=FitH,pdfview=FitH,pdfcreator=XeTeX output}
-\renewcommand*\l@subsection{\@dottedtocline{2}{1.5em}{2.1em}}
\def\pkg#1{\texorpdfstring{\textcolor{pkgcolor}{\textsf{#1}}}{“#1”}}
\def\mode#1{\texorpdfstring{\textcolor{moducolor}{\textsf{#1}}}{“#1”}}
\def\cmd#1{\texorpdfstring{\textcolor{cmdcolor}{\textsf{#1}}}{“#1”}}
@@ -67,17 +68,18 @@
\yyyymmdddate
\date{\today}
\affil[1]{\href{mailto:xiamyphys@gmail.com}{\texttt{xiamyphys@gmail.com}}}
-\date{\today\quad Version 2.2a\thanks{%
+\date{\today\quad Version 2.3a\thanks{%
\url{https://github.com/xiamyphys/litetable}}}
\begin{document}
\maketitle
+\vspace{-2em}
\begin{abstract}
This is the document for \pkg{LiteTable} template, which provides a beautiful design of class schedule with colorful course blocks.
\end{abstract}
-\tableofcontents
+\tableofcontents\clearpage
\section{Introduction}
@@ -97,26 +99,29 @@ I strongly suggest that you should use cmd to implement the commands to update a
tlmgr update --all
\end{verbatim}
-If you are in some areas with awful Internet environment, 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?}
+If you are in some areas with awful Internet environment (such as GFWz), 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?}
-\subsection{Loading \pkg{LiteTable} and its modes}
+\subsection{Loading \pkg{LiteTable} and its options}
Save the file \verb|litetable.cls| to your project's root directory, and then create a \verb|.tex| file, just input the command \verb|\documentclass{litetable}| on the first line.
-The template provides three modes, \mode{date}, \mode{style} and \mode{font}. Just add the options of the modes you want separately in the square bracket of the command \verb|\documentclass[options]{litetable}| in your \verb|.tex| file.
+The template provides four options, \mode{date}, \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[options]{litetable}| in your \verb|.tex| file.
\newpage
-\section{Modes of \pkg{LiteTable}}
+\section{Global Options of \pkg{LiteTable}}
\begin{verbatim}
\documentclass[options]{litetable}
\end{verbatim}
-\subsection{The \mode{date} mode}
-This mode has two options, \mode{en} and \mode{cn}, which can make the weekdays display in English or 大陆简体, and the dafault option is English.
+\subsection{The \mode{date} option}
+This option has two modes, \mode{en} and \mode{cn}, which can make the weekdays display in English or 大陆简体, and the dafault mode is English.
-\subsection{The \mode{style} mode}
-This mode has two options, \mode{round} and \mode{sharp}, which can make the course block's corners be round or sharp, and the default option is sharp.
+\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{font} mode}
-This mode has two options, \mode{times} and \mode{libertinus}, which can make the font to be ``Times New Roman'' or ``Libertinus'', and the default option is ``Times New Roman''.\footnote{Please ensure that your computer has been already installed the font ``Libertinus'' when using this option.}
+\subsection{The \mode{direction} option}
+This option has two modes, \mode{portrait} and \mode{landscape}, which can make the timetable displayed portrait or horizontally.
+
+\subsection{The \mode{font} option}
+This option has two modes, \mode{times} and \mode{libertinus}, which can make the font to be ``Times New Roman'' or ``Libertinus'', and the default mode is ``Times New Roman''.\footnote{Please ensure that your computer has been already installed the font ``Libertinus'' when using this option.}
\section{Commands of \pkg{LiteTable}}
@@ -137,7 +142,7 @@ This command can create an empty class schedule with the title ``Timetable -- Se
This command can add time to the left side of the timetable, and the first line of the content is the start time of the class while the second line of the content is the end time of the class, each time separates with comma (\verb|,|), the first line and the second line separates with semicolon (\verb|;|).
-The timetable currently only supports 12 classes per day. In the future updates, customization of the number of courses per day will be supported.
+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.
\subsection{The \cmd{course} command}
\begin{verbatim}
@@ -169,42 +174,52 @@ 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.
-\newpage
\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} (Xiaoshan, Hangzhou) and \href{http://xhslink.com/od7Ycw}{Xiaohongshu}, where won the favor of many people.
+\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} (Xiaoshan, 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 have 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.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 have 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.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.
-\datechange{01/09/2023}{Version 2.0a}
+\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.
+
+\setstretch{.5}
+\datechange{2023/09/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.
\end{itemize}
-\datechange{05/11/2023}{Version 2.1a}
+\datechange{2023/11/05}{Version 2.1a}
\begin{itemize}
\item Supports the libertinus font.
\end{itemize}
-\datechange{31/01/2024}{Version 2.2a}
+\datechange{2024/01/31}{Version 2.2a}
\begin{itemize}
\item Fixed the bug of resolution exceeded.
\item Changed paper type to US letter.
\item Support custom course start time and end time.
\item Support add sticker as you like at the southeast of the page.
+ \item Provide simplified Chinese documentation.
\end{itemize}
-\newpage
+\datechange{2024/02/02}{Version 2.3a}
+\begin{itemize}
+ \item Supports automatically generate the corresponding number of rows based on the number of time groups you enter.
+ \item Timetable can be displayed portrait or horizontally as you like.
+\end{itemize}
+
+\newpage\setstretch{1}
\appendix
\section{Document Example}
-\lstinputlisting[style=TeX]{litetable-demo.tex}
+\lstinputlisting[style=TeX]{litetable-demo1.tex}
-\includepdf[pages=last-1,nup=1x2,angle=90]{litetable-demo.pdf}
+\includepdf[pages=-,nup=1x2]{litetable-demo1.pdf}
+\includepdf[pages=-]{litetable-demo2.pdf}
\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/litetable/tex/litetable.cls b/macros/latex/contrib/litetable/tex/litetable.cls
index 647d078520..a1862b985d 100644
--- a/macros/latex/contrib/litetable/tex/litetable.cls
+++ b/macros/latex/contrib/litetable/tex/litetable.cls
@@ -13,34 +13,39 @@
%% ************************************************************************************************************
\NeedsTeXFormat{LaTeX2e}
\PassOptionsToPackage{quiet}{xeCJK}
-\PassOptionsToPackage{quiet}{fontspec}
\PassOptionsToPackage{no-math}{fontspec}
-\ProvidesClass{litetable}[2024/01/31/ v2.2a LiteTable document class]
+\ProvidesClass{litetable}[2024/02/02/ v2.3a LiteTable document class]
% ---------- 全局选项 ---------- %
\RequirePackage{kvoptions}
\RequirePackage{etoolbox}
\SetupKeyvalOptions{family=LITE, prefix=LITE@, setkeys=\kvsetkeys}
-\newcommand{\ekv}[1]{\kvsetkeys{LITE}{#1}}
\DeclareStringOption[sharp]{style}
-\DeclareVoidOption{round}{\ekv{style=round}}
-\DeclareVoidOption{sharp}{\ekv{style=sharp}}
+\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}}
\DeclareStringOption[en]{date}
-\DeclareVoidOption{en}{\ekv{date=en}}
-\DeclareVoidOption{cn}{\ekv{date=cn}}
+\DeclareVoidOption{en}{\kvsetkeys{LITE}{date=en}}
+\DeclareVoidOption{cn}{\kvsetkeys{LITE}{date=cn}}
\DeclareStringOption[times]{font}
-\DeclareVoidOption{times}{\ekv{date=times}}
-\DeclareVoidOption{libertinuTs}{\ekv{date=libertinus}}
+\DeclareVoidOption{times}{\kvsetkeys{LITE}{date=times}}
+\DeclareVoidOption{libertinus}{\kvsetkeys{LITE}{date=libertinus}}
\DeclareDefaultOption{\PassOptionsToClass{\CurrentOption}{standalone}}
\ProcessKeyvalOptions*\relax
-\LoadClass[tikz,margin=6pt]{standalone}
+
+\LoadClass[tikz]{standalone}
% ---- 文本中的数字 & 字母设置 ---- %
-\RequirePackage{ctex}
+\RequirePackage{xeCJK}
+\setCJKfamilyfont{zhhei}{Heiti SC}
+\newcommand*\heiti{\CJKfamily{zhhei}}
\ifdefstring{\LITE@font}{libertinus}{
\setmainfont{Libertinus Serif}
\setsansfont{Libertinus Sans}
@@ -55,7 +60,6 @@
BoldItalicFont = *-bolditalic ,
Extension = .otf ,
Scale = 1.0]
-
\setsansfont{texgyreheros}[
UprightFont = *-regular ,
BoldFont = *-bold ,
@@ -70,35 +74,35 @@
}{\relax}
% ---------- 色彩组合 ---------- %
-\definecolor{darkgray}{HTML}{727477}% 时间颜色
-\definecolor{darkergray}{HTML}{F1F3F5}% 深色块
-\definecolor{lightergray}{HTML}{FCFDFE}% 浅色块
-\definecolor{blackgray}{HTML}{1A1D21}% 序号颜色
-\definecolor{H1}{HTML}{74A7A2}% 深绿
+\definecolor{darkgray}{HTML}{727477} % 时间颜色
+\definecolor{darkergray}{HTML}{F1F3F5} % 深色块
+\definecolor{lightergray}{HTML}{FCFDFE} % 浅色块
+\definecolor{blackgray}{HTML}{1A1D21} % 序号颜色
+\definecolor{H1}{HTML}{74A7A2} % 深绿
\definecolor{H1*}{HTML}{E9EEED}
\definecolor{H1**}{HTML}{009787}
-\definecolor{H2}{HTML}{50C9BD}% 浅绿
+\definecolor{H2}{HTML}{50C9BD} % 浅绿
\definecolor{H2*}{HTML}{E1F3F2}
\definecolor{H2**}{HTML}{009D8F}
-\definecolor{H3}{HTML}{86AFFE}% 深蓝
+\definecolor{H3}{HTML}{86AFFE} % 深蓝
\definecolor{H3*}{HTML}{DBE7FF}
\definecolor{H3**}{HTML}{1663F5}
-\definecolor{H4}{HTML}{6BC0EB}% 浅蓝
+\definecolor{H4}{HTML}{6BC0EB} % 浅蓝
\definecolor{H4*}{HTML}{D8EFFA}
\definecolor{H4**}{HTML}{0072B1}
-\definecolor{H5}{HTML}{D58DFB}% 深紫
+\definecolor{H5}{HTML}{D58DFB} % 深紫
\definecolor{H5*}{HTML}{F2E3FB}
\definecolor{H5**}{HTML}{A83FDF}
-\definecolor{H6}{HTML}{FF9393}% 浅紫
+\definecolor{H6}{HTML}{FF9393} % 浅紫
\definecolor{H6*}{HTML}{FFDEDE}
\definecolor{H6**}{HTML}{E73030}
-\definecolor{H7}{HTML}{FFA17D}% 深橙
+\definecolor{H7}{HTML}{FFA17D} % 深橙
\definecolor{H7*}{HTML}{F5E1DA}
\definecolor{H7**}{HTML}{E2612F}
-\definecolor{H8}{HTML}{F3C06A}% 浅橙
+\definecolor{H8}{HTML}{F3C06A} % 浅橙
\definecolor{H8*}{HTML}{F3EADB}
\definecolor{H8**}{HTML}{E09B14}
-\definecolor{H9}{HTML}{D09966}% 棕色
+\definecolor{H9}{HTML}{D09966} % 棕色
\definecolor{H9*}{HTML}{F2E0D0}
\definecolor{H9**}{HTML}{C96F1C}
\pagecolor{lightergray}
@@ -108,17 +112,33 @@
\definecolor{青碧}{HTML}{478384}
\definecolor{金色}{HTML}{E6B422}
-\def\pagewidth{8.5 in}
-\def\pageheight{-11 in}
\usetikzlibrary{calc}
-\ifdefstring{\LITE@style}{round}{\def\corners{round corners=6pt}}{\relax}
+\ifdefstring{\LITE@direction}{portiait}{
+ \def\pagewidth{8.5 in}
+ \def\pageheight{-11 in}
+ \def\rotatepage{
+ \def\pagewidth{11 in}
+ \def\pageheight{-8.5 in}
+ }
+}{\relax}
+\ifdefstring{\LITE@direction}{landscape}{
+ \def\pagewidth{11 in}
+ \def\pageheight{-8.5 in}
+ \def\rotatepage{
+ \def\pagewidth{8.5 in}
+ \def\pageheight{-11 in}
+ }
+}{\relax}
+
+\ifdefstring{\LITE@style}{round}{\def\corners{rounded corners}}{\relax}
\ifdefstring{\LITE@style}{sharp}{\def\corners{}}{\relax}
\ExplSyntaxOn % 二维数组
\seq_new:N \l_node_row_seq
\seq_new:N \l_node_tmp_seq
\cs_set:Npn \timelist #1 {
- \gdef\@timelist{#1} % 用于判断\@timelist是否存在
+ \gdef\@timelist{#1} % 判断\@timelist是否存在
+ \gdef\@classnum{\int_div_round:nn {\clist_count:n {#1}}{2}} % 计数模块
\seq_set_split:Nnn \l_node_row_seq {;} {#1}
\int_step_inline:nn{\seq_count:N \l_node_row_seq}
{
@@ -159,42 +179,47 @@
\RequirePackage{fontawesome5}
\newcounter{number}
\def\sticker{\gdef\@sticker}
-\newcommand{\makeframe}[1]{
- \draw [gray!75] (0,0) rectangle (8.5 in,-11 in);
- \fill [fill=darkergray,\corners] (0,0) rectangle (\pagewidth,1.5*\pageheight/27.5);% 顶部深灰色块
- \node at (.5*\pagewidth,.75*\pageheight/27.5) {\huge\bfseries\sffamily #1};
- \foreach \a in {2,4,...,12}
- \fill [fill=darkergray,yshift=2.5*\pageheight/27.5+2*(\a-2)*\pageheight/27.5,\corners] (0,0) rectangle (\pagewidth,2*\pageheight/27.5);% 中间深灰色块(循环)
- \fill [fill=darkergray,yshift=2.5*\pageheight/27.5+2*12*\pageheight/27.5,\corners] (0,0) rectangle (\pagewidth,\pageheight/27.5);% 底部深灰色块
- \foreach \a in {0,1,2,...,12}
- \draw [densely dashed,gray!75,yshift=2.5*\pageheight/27.5+2*\a*\pageheight/27.5,] (0,0)--(\pagewidth,0);% 分割虚线
+\def\makeframe#1{
+ \draw [gray!75] (0,0) rectangle (\pagewidth,\pageheight);
+ \fill [fill=darkergray,\corners] (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+1}
+ \fill [fill=darkergray,yshift=2.5*\pageheight/(2*\@classnum+3.5)+2*(\a-2)*\pageheight/(2*\@classnum+3.5),\corners] (0,0) rectangle (\pagewidth,{2*\pageheight/(2*\@classnum+3.5)}); % 中间深灰色块(循环)
+ \else
+ \foreach \a in {2,4,...,\@classnum}
+ \fill [fill=darkergray,yshift=2.5*\pageheight/(2*\@classnum+3.5)+2*(\a-2)*\pageheight/(2*\@classnum+3.5),\corners] (0,0) rectangle (\pagewidth,{2*\pageheight/(2*\@classnum+3.5)}); % 中间深灰色块(循环)
+ \fill [fill=darkergray,yshift=2.5*\pageheight/(2*\@classnum+3.5)+2*\@classnum*\pageheight/(2*\@classnum+3.5),\corners] (0,0) rectangle (\pagewidth,{\pageheight/(2*\@classnum+3.5)}); % 底部深灰色块
+ \fi
+ \foreach \a in {0,1,2,...,\@classnum}
+ \draw [densely dashed,gray!75,yshift=2.5*\pageheight/(2*\@classnum+3.5)+2*\a*\pageheight/(2*\@classnum+3.5),] (0,0)--(\pagewidth,0); % 分割虚线
% 时间标注
\setcounter{number}{0}
- \foreach \a in {1,2,...,12}
- \node [yshift=2.5*\pageheight/27.5+2*(\a-.8)*\pageheight/27.5] at (\pagewidth/32,0) {\bfseries\color{blackgray}\texttt{\refstepcounter{number}\thenumber}};
+ \foreach \a in {1,2,...,\@classnum}
+ \node [yshift=2.5*\pageheight/(2*\@classnum+3.5)+2*(\a-.8)*\pageheight/(2*\@classnum+3.5)] at (\pagewidth/32,0) {\bfseries\color{blackgray}\texttt{\refstepcounter{number}\thenumber}};
\ifcsname @timelist\endcsname % 若 `\@timelist == empty', 跳过该函数
- \foreach \x in {1,2,...,12}
+ \foreach \x in {1,2,...,\@classnum}
{
- \node[yshift=2.5*\pageheight/27.5+2*(\x-.475)*\pageheight/27.5] at (\pagewidth/32,0) {\color{darkgray}\texttt{\PrintTime[1][\x]}};
- \node[yshift=2.5*\pageheight/27.5+2*(\x-.2)*\pageheight/27.5] at (\pagewidth/32,0) {\color{darkgray}\texttt{\PrintTime[2][\x]}};
+ \node[yshift=2.5*\pageheight/(2*\@classnum+3.5)+2*(\x-.475)*\pageheight/(2*\@classnum+3.5)] at (\pagewidth/32,0) {\color{darkgray}\texttt{\PrintTime[1][\x]}};
+ \node[yshift=2.5*\pageheight/(2*\@classnum+3.5)+2*(\x-.2)*\pageheight/(2*\@classnum+3.5)] at (\pagewidth/32,0) {\color{darkgray}\texttt{\PrintTime[2][\x]}};
}\fi
% 星期标注
\ifdefstring{\LITE@date}{en}{
- \node [xshift=2.5*\pagewidth/16] at (0,2*\pageheight/27.5) {\color{丹色}\faIcon{moon}\;\bfseries\heiti{Monday}};
- \node [xshift=5.5*\pagewidth/16] at (0,2*\pageheight/27.5) {\color{紅緋}\faIcon{fire}\;\bfseries\heiti{Tuesday}};
- \node [xshift=8.5*\pagewidth/16] at (0,2*\pageheight/27.5) {\color{紺碧}\faIcon{water}\;\bfseries\heiti{Wednesday}};
- \node [xshift=11.5*\pagewidth/16] at (0,2*\pageheight/27.5) {\color{青碧}\faIcon{tree}\;\bfseries\heiti{Thursday}};
- \node [xshift=14.5*\pagewidth/16] at (0,2*\pageheight/27.5) {\color{金色}\faIcon{sun}\;\bfseries\heiti{Friday}};
+ \node [xshift=2.5*\pagewidth/16] at (0,{2*\pageheight/(2*\@classnum+3.5)}) {\color{丹色}\faIcon{moon}\;\bfseries\heiti{Monday}};
+ \node [xshift=5.5*\pagewidth/16] at (0,{2*\pageheight/(2*\@classnum+3.5)}) {\color{紅緋}\faIcon{fire}\;\bfseries\heiti{Tuesday}};
+ \node [xshift=8.5*\pagewidth/16] at (0,{2*\pageheight/(2*\@classnum+3.5)}) {\color{紺碧}\faIcon{water}\;\bfseries\heiti{Wednesday}};
+ \node [xshift=11.5*\pagewidth/16] at (0,{2*\pageheight/(2*\@classnum+3.5)}) {\color{青碧}\faIcon{tree}\;\bfseries\heiti{Thursday}};
+ \node [xshift=14.5*\pagewidth/16] at (0,{2*\pageheight/(2*\@classnum+3.5)}) {\color{金色}\faIcon{sun}\;\bfseries\heiti{Friday}};
}{\relax}
\ifdefstring{\LITE@date}{cn}{
- \node [xshift=2.5*\pagewidth/16] at (0,2*\pageheight/27.5) {\color{丹色}\faIcon{moon}\;\bfseries\heiti{星期一}};
- \node [xshift=5.5*\pagewidth/16] at (0,2*\pageheight/27.5) {\color{紅緋}\faIcon{fire}\;\bfseries\heiti{星期二}};
- \node [xshift=8.5*\pagewidth/16] at (0,2*\pageheight/27.5) {\color{紺碧}\faIcon{water}\;\bfseries\heiti{星期三}};
- \node [xshift=11.5*\pagewidth/16] at (0,2*\pageheight/27.5) {\color{青碧}\faIcon{tree}\;\bfseries\heiti{星期四}};
- \node [xshift=14.5*\pagewidth/16] at (0,2*\pageheight/27.5) {\color{金色}\faIcon{sun}\;\bfseries\heiti{星期五}};
+ \node [xshift=2.5*\pagewidth/16] at (0,{2*\pageheight/(2*\@classnum+3.5)}) {\color{丹色}\faIcon{moon}\;\bfseries\heiti{星期一}};
+ \node [xshift=5.5*\pagewidth/16] at (0,{2*\pageheight/(2*\@classnum+3.5)}) {\color{紅緋}\faIcon{fire}\;\bfseries\heiti{星期二}};
+ \node [xshift=8.5*\pagewidth/16] at (0,{2*\pageheight/(2*\@classnum+3.5)}) {\color{紺碧}\faIcon{water}\;\bfseries\heiti{星期三}};
+ \node [xshift=11.5*\pagewidth/16] at (0,{2*\pageheight/(2*\@classnum+3.5)}) {\color{青碧}\faIcon{tree}\;\bfseries\heiti{星期四}};
+ \node [xshift=14.5*\pagewidth/16] at (0,{2*\pageheight/(2*\@classnum+3.5)}) {\color{金色}\faIcon{sun}\;\bfseries\heiti{星期五}};
}{\relax}
\ifcsname @sticker\endcsname
- \node [opacity=.3,anchor=south east,yshift=1.5*\pageheight/27.5+2*12*\pageheight/27.5,inner sep=0pt,scale=3] at (\pagewidth,\pageheight/27.5) {\includegraphics[width=\dimeval{\pagewidth/16}]{\@sticker}};\fi
+ \node [opacity=.3,anchor=south east,yshift=1.5*\pageheight/(2*\@classnum+3.5)+2*\@classnum*\pageheight/(2*\@classnum+3.5),inner sep=0pt,scale=3] at (\pagewidth,{\pageheight/(2*\@classnum+3.5)}) {\includegraphics[width=\dimeval{\pagewidth/16}]{\@sticker}};\fi
}
\newcounter{weekday}
@@ -202,14 +227,14 @@
\AtEndEnvironment{tikzpicture}{\setcounter{weekday}{0}}
\newcommand{\course}[7]
{
- \fill [#1,\corners,yshift=2*(#2-1)*\pageheight/27.5,xshift=3*\theweekday*\pagewidth/16] (\pagewidth/16,2.5*\pageheight/27.5) rectangle ($({4*\pagewidth/16},{(4.5+2*(#3-#2))*\pageheight/27.5})$); % frame
- \fill [#1*,\corners,yshift=(2*(#2-1)+.5)*\pageheight/27.5,xshift=3*\theweekday*\pagewidth/16] (\pagewidth/16,2.5*\pageheight/27.5) rectangle ($({4*\pagewidth/16},{(4+2*(#3-#2))*\pageheight/27.5})$); % content
- \node [#1**,yshift=(#2+#3-1.25)*\pageheight/27.5,xshift=3*\theweekday*\pagewidth/16] at (2.5*\pagewidth/16,2.5*\pageheight/27.5) {\heiti\large\bfseries #4}; % course
- \node [#1**,anchor=south,yshift=(#2+#3-.2)*\pageheight/27.5,xshift=3*\theweekday*\pagewidth/16] at (2.5*\pagewidth/16,2.5*\pageheight/27.5) {\heiti\bfseries\small #5}; % location
- \node [#1**,anchor=north,yshift=(#2+#3-.2)*\pageheight/27.5,xshift=3*\theweekday*\pagewidth/16] at (2.5*\pagewidth/16,2.5*\pageheight/27.5) {\heiti\bfseries\small #6}; % teacher
- \node [#1**,anchor=south east,yshift=2*#3*\pageheight/27.5,xshift=3*\theweekday*\pagewidth/16] at (4*\pagewidth/16,2.5*\pageheight/27.5) {\heiti\footnotesize #7}; % weeks
+ \fill [#1,\corners,yshift=2*(#2-1)*\pageheight/(2*\@classnum+3.5),xshift=3*\theweekday*\pagewidth/16] (\pagewidth/16,{2.5*\pageheight/(2*\@classnum+3.5)}) rectangle (4*\pagewidth/16,{(4.5+2*(#3-#2))*\pageheight/(2*\@classnum+3.5)}); % frame
+ \fill [#1*,\corners,yshift=(2*(#2-1)+.5)*\pageheight/(2*\@classnum+3.5),xshift=3*\theweekday*\pagewidth/16] (\pagewidth/16,{2.5*\pageheight/(2*\@classnum+3.5)}) rectangle (4*\pagewidth/16,{(4+2*(#3-#2))*\pageheight/(2*\@classnum+3.5)}); % content
+ \node [#1**,yshift=(#2+#3-1.25)*\pageheight/(2*\@classnum+3.5),xshift=3*\theweekday*\pagewidth/16] at (2.5*\pagewidth/16,{2.5*\pageheight/(2*\@classnum+3.5)}) {\heiti\large\bfseries #4}; % course
+ \node [#1**,anchor=south,yshift=(#2+#3-.2)*\pageheight/(2*\@classnum+3.5),xshift=3*\theweekday*\pagewidth/16] at (2.5*\pagewidth/16,{2.5*\pageheight/(2*\@classnum+3.5)}) {\heiti\bfseries\small #5}; % location
+ \node [#1**,anchor=north,yshift=(#2+#3-.2)*\pageheight/(2*\@classnum+3.5),xshift=3*\theweekday*\pagewidth/16] at (2.5*\pagewidth/16,{2.5*\pageheight/(2*\@classnum+3.5)}) {\heiti\bfseries\small #6}; % teacher
+ \node [#1**,anchor=south east,yshift=2*#3*\pageheight/(2*\@classnum+3.5),xshift=3*\theweekday*\pagewidth/16] at (4*\pagewidth/16,{2.5*\pageheight/(2*\@classnum+3.5)}) {\heiti\footnotesize #7}; % weeks
}
\def\more#1{
- \node [xshift=-1em,yshift=2.5*\pageheight/27.5+2*12*\pageheight/27.5,anchor=east] at (\pagewidth,.5*\pageheight/27.5){\small\bfseries\color{darkgray}#1};
+ \node [xshift=-1em,yshift=2.5*\pageheight/(2*\@classnum+3.5)+2*\@classnum*\pageheight/(2*\@classnum+3.5),anchor=east] at (\pagewidth,{.5*\pageheight/(2*\@classnum+3.5)}){\small\bfseries\color{darkgray}#1};
} \ No newline at end of file
diff --git a/macros/latex/contrib/morewrites/morewrites.dtx b/macros/latex/contrib/morewrites/morewrites.dtx
index 1bd5e0f6b3..51d6003ca4 100644
--- a/macros/latex/contrib/morewrites/morewrites.dtx
+++ b/macros/latex/contrib/morewrites/morewrites.dtx
@@ -28,7 +28,7 @@
% \title{The \textsf{morewrites} package: \\
% Always room for a new \tn{write}}
% \author{Bruno Le Floch}
-% \date{2024/01/05}
+% \date{2024/02/02}
%
% \maketitle
% \tableofcontents
@@ -167,7 +167,7 @@
% \begin{macrocode}
\RequirePackage {primargs} [2024/01/05]
\ProvidesExplPackage
- {morewrites} {2024/01/05} {} {Always room for a new write}
+ {morewrites} {2024/02/02} {} {Always room for a new write}
% \end{macrocode}
%
% Quit early under \LuaTeX{}.
@@ -908,6 +908,16 @@
}
}
}
+\sys_if_engine_xetex:T
+ {
+ \cs_new_eq:NN \@@_openout_now_silent_aux:n \@@_openout_now_silent:n
+ \cs_gset_protected:Npn \@@_openout_now_silent:n #1
+ {
+ \tl_set:Nn \l_@@_internal_tl {#1}
+ \tl_remove_all:Nn \l_@@_internal_tl { " } % { " }
+ \exp_args:No \@@_openout_now_silent_aux:n \l_@@_internal_tl
+ }
+ }
% \end{macrocode}
% \end{macro}
%
diff --git a/macros/latex/contrib/morewrites/morewrites.pdf b/macros/latex/contrib/morewrites/morewrites.pdf
index 20632fc76d..2f2f530428 100644
--- a/macros/latex/contrib/morewrites/morewrites.pdf
+++ b/macros/latex/contrib/morewrites/morewrites.pdf
Binary files differ
diff --git a/macros/latex/contrib/morewrites/primargs.dtx b/macros/latex/contrib/morewrites/primargs.dtx
index 132b01e6b6..83414e8c08 100644
--- a/macros/latex/contrib/morewrites/primargs.dtx
+++ b/macros/latex/contrib/morewrites/primargs.dtx
@@ -25,7 +25,7 @@
% \title{The \textsf{primargs} package: \\
% Parsing arguments of primitives}
% \author{Bruno Le Floch}
-% \date{2024/01/05}
+% \date{2024/02/02}
%
% \maketitle
% \tableofcontents
@@ -253,7 +253,7 @@
%<*package>
% \begin{macrocode}
\ProvidesExplPackage
- {primargs} {2024/01/05} {} {Parsing arguments of primitives}
+ {primargs} {2024/02/02} {} {Parsing arguments of primitives}
% \end{macrocode}
%
% \begin{macrocode}
diff --git a/macros/latex/contrib/morewrites/primargs.pdf b/macros/latex/contrib/morewrites/primargs.pdf
index 0c3a84562a..62e1e7b8d8 100644
--- a/macros/latex/contrib/morewrites/primargs.pdf
+++ b/macros/latex/contrib/morewrites/primargs.pdf
Binary files differ