如何有选择地调整 SetLabelAlign 描述列表中的标签

如何有选择地调整 SetLabelAlign 描述列表中的标签

下面的代码

\documentclass{book}
\usepackage{lipsum}
\usepackage[lf]{electrum}
\usepackage{enumitem}
\usepackage{xcolor}

\begin{document}
\thispagestyle{empty}

\large
\SetLabelAlign{chron}{\raisebox{-.75ex}[0pt][0pt]{\makebox[0pt][r]{\textbf{#1 --- }}}}

\begin{description}[align=chron, itemindent=0pt, leftmargin=100pt, rightmargin=0cm, parsep=2ex]

\item[September 24, 2021] \lipsum[12]

\item[September 25, 2021] \lipsum[4]

\item[September 26, 2021] A short description.
\end{description}
\end{document}

产生输出

在此处输入图片描述

如您所见,第三个项目标签看起来有点不合适,因为描述非常短。对于这种类型的描述,我想将日期和破折号稍微抬高一点,这样它就不会显得悬在相邻的句子下面。我没能做到这一点,尽管这似乎是一件不太复杂的事情。

问题:如何修改 MWE 的代码,以便向上调整特定日期和破折号(例如 2021 年 9 月 26 日 ---)而不影响 中规定的细节\SetLabelAlign{chron}?(在本实际文档中,这种情况发生不止一次,所以我希望能够根据需要采用“快速修复”。)

谢谢。

答案1

一个快速的解决方案是将 raisebox 的偏移量放在宏中,然后在项目之间更改该宏的定义:

\documentclass{book}
\usepackage{lipsum}
\usepackage[lf]{electrum}
\usepackage{enumitem}
\usepackage{xcolor}

\begin{document}
\thispagestyle{empty}

\large
\def\raiseamount{-.75ex}
\SetLabelAlign{chron}{\raisebox{\raiseamount}[0pt][0pt]{\makebox[0pt][r]{\textbf{#1 --- }}}}

\begin{description}[align=chron, itemindent=0pt, leftmargin=100pt, rightmargin=0cm, parsep=2ex]

\item[September 24, 2021] \lipsum[12]

\def\raiseamount{0ex}
\item[September 26, 2021] A short description.

\def\raiseamount{-.75ex}
\item[September 25, 2021] \lipsum[4]
\end{description}
\end{document}

在此处输入图片描述

相关内容