手动列出简单的缩写

手动列出简单的缩写

我编写了整个文档,没有使用任何类似的包nomenclacronym因为在我的情况下这不是必需的,这意味着我只有几个缩写,应该很容易放在一页上。

我想手动完成,也就是说在表格(或者可能是长表?)环境中手动完成。问题是,我无法修复左侧的缩写列,同时增加与右侧列的距离。如果可能的话,我想用 填充距离cdot

因此,列表应由两列组成,左列固定,与右列的距离可变/可改变。

这是我的 MWE tabularx。如果你编译,你会看到问题:如果距离太小(在本例中为 3 厘米),每个单词都会填充 2 行,而不是 1 行。

\documentclass[a4paper, 12pt, headsepline, smallheadings]{scrreprt}
\usepackage{tabularx}
\begin{document}
\begin{tabularx}{3cm}{XX}
US  & United States \\
EU & European Union \\
Gvmt & Government \\
\end{tabularx}
\end{document}

请告诉我。如果不可能的话,我可能不得不使用上述某个软件包。但我认为这不是我最有效的方法。

编辑:这似乎是一个更好的 MWE,但我仍然不确定在这种情况下哪种环境最好以及哪种列最好。

\documentclass[a4paper, 12pt, headsepline, smallheadings]{scrreprt}
\usepackage{tabularx}
\begin{document}
\begin{tabular}{p{4cm}p{12cm}}
US  & United States \\
EU & European Union \\
Gvmt & Government \\
\end{tabular}
\end{document}

我发现了这一点:通过手动输入创建缩写列表但它无法添加cdots,并且不适用于较长的缩写,因为列之间的距离太小。我想控制距离。

谢谢。

答案1

创建自己的“缩写”环境。例如

\documentclass{article}
\newcommand{\abbrlabel}[1]{\makebox[3cm][l]{\textbf{#1}\ \dotfill}}
\newenvironment{abbreviations}{\begin{list}{}{\renewcommand{\makelabel}{\abbrlabel}}}{\end{list}}
\begin{document}
\begin{abbreviations}
\item[US] United States
\item[EU] European Union
\item[Gvmt] Government
\end{abbreviations}
\end{document}

调整大小makebox以适合您的条目。如果您不喜欢这些点,请删除该\dotfill命令。

在此处输入图片描述

如果你想让它看起来更像目录,那么我们必须制作另一个稍微复杂的命令来执行点而不是普通的 TeX \dotfill

\makeatletter
\newcommand{\tocfill}{\cleaders\hbox{$\m@th \mkern\@dotsep mu . \mkern\@dotsep mu$}\hfill}
\makeatother
\newcommand{\abbrlabel}[1]{\makebox[3cm][l]{\textbf{#1}\ \tocfill}}

这使用 LaTeX 参数\@dotsep来控制目录中点的间距。通过\abbrlabel定义\tocfill我们得到了这个。

在此处输入图片描述

为了控制垂直的间距,我们需要调整\itemsep添加到每个项目之间的跳过的标准列表维度。作为环境定义的一部分,我们可以将其设置为我们想要的任何值。有了这些额外的功能,示例如下所示:

\documentclass{article}
\makeatletter
\newcommand{\tocfill}{\cleaders\hbox{$\m@th \mkern\@dotsep mu . \mkern\@dotsep mu$}\hfill}
\makeatother
\newcommand{\abbrlabel}[1]{\makebox[3cm][l]{\textbf{#1}\ \tocfill}}
\newenvironment{abbreviations}{\begin{list}{}{\renewcommand{\makelabel}{\abbrlabel}%
                                              \setlength{\itemsep}{0pt}}}{\end{list}}
\begin{document}
\begin{abbreviations}
\item[US] United States
\item[EU] European Union
\item[Gvmt] Government
\end{abbreviations}
\end{document}

并生成了这个稍微更严格的列表。

在此处输入图片描述

剩下的唯一问题是确保新环境与周围环境完美契合,并处理异常长的缩写解释。这需要对列表环境的边距进行一些额外的调整,就像这样。

\documentclass{article}
\usepackage{calc}
\usepackage{lipsum}
\makeatletter
\newcommand{\tocfill}{\cleaders\hbox{$\m@th \mkern\@dotsep mu . \mkern\@dotsep mu$}\hfill}
\makeatother
\newcommand{\abbrlabel}[1]{\makebox[3cm][l]{\textbf{#1}\ \tocfill}}
\newenvironment{abbreviations}{\begin{list}{}{\renewcommand{\makelabel}{\abbrlabel}%
        \setlength{\labelwidth}{3cm}\setlength{\leftmargin}{\labelwidth+\labelsep}%
                                              \setlength{\itemsep}{0pt}}}{\end{list}}
\begin{document}
\noindent\lipsum[1]
\begin{abbreviations}
\item[US] United States
\item[EU] European Union
\item[Gvmt] Government. \lipsum[2]
\end{abbreviations} 
\lipsum[3]
\end{document}

这里我们添加了lipsum填充文本的包,并calc允许我们使用+符号来设置\leftmargin长度。

在此处输入图片描述

对于此类定制,乳胶伴侣是不可或缺的参考资料。

答案2

另一个解决方案是使用水平点对齐列

它基于enumitemetoolbox包:

\documentclass[12pt, a4paper, oneside, fleqn]{report}
\usepackage[utf8]{inputenc}

\usepackage{enumitem}

\usepackage[showframe, top=2.5cm, left=3.5cm, bottom=2.5cm, right=2.5cm, includehead]{geometry}
\usepackage{etoolbox}

\newlist{mydescription}{description}{1}
\setlist[mydescription, 1]{style = standard, labelwidth=2.5cm, leftmargin = 2.5cm, labelsep = 0pt, itemsep = 1pt}%
\AtBeginEnvironment{mydescription}{%
\let\olditem\item
\renewcommand\item[1][]{\olditem[#1~\dotfill\,]}
}%

\begin{document}
Text text text
\begin{mydescription}
  \item[$l_i$] vzdálenost od manometru kústí vté trubice
  \item[$r_1$] poloměr $ i $-té trubice
  \item[$ Δ p_i$] úbitek statického tleku mezi manometrem a ústim trubice
\end{mydescription}

\end{document} 

在此处输入图片描述

答案3

一个极简主义的解决方案。如果您想要更多点,请将更多点放在\dots里面@{$\dots\dots$}

\documentclass[a4paper, 12pt]{scrreprt}
\begin{document}
\begin{tabular}{l@{$\dots\dots$}p{12cm}}
US\dotfill  & United States \\
EU\dotfill & European Union \\
Gvmt\dotfill & Government \\
\end{tabular}
\end{document}

在此处输入图片描述

相关内容