我为我的文章创建了一个简单的词汇表,但其中一个正在定义的术语(指南)被覆盖了其定义。这样就难以辨认了,如下面的屏幕截图所示:
我需要一种方法来阻止这种混乱并获得清晰易读的词汇表,但我不知道如何在 LaTeX 上做到这一点。有人可以建议我解决这个问题的可能方法吗?
欢迎使用与默认 HTML 描述列表渲染类似的渲染:
修复词汇表的第一个解决方案是让它像HTML 描述列表因为默认情况下,这些将描述放在被描述术语的下方,而不是正前方。这样,被定义的术语就永远无法触及它的定义。
下面我展示Mozilla 开发人员示例:如何默认呈现 HTML 描述列表:
这个解决方案(在定义的每个术语后插入换行符)足够令人满意。我只是不知道如何在 LaTeX(Overleaf)上做到这一点。
我使用了哪个 LaTeX 代码来制作这个损坏的词汇表?
这个:
\usepackage{glossaries}
\makeglossaries
\newglossaryentry{Guidelines}
{
name=\textsc{Guidelines},
description={The article ``Guidelines for performing Systematic Literature Reviews in Software Engineering"\cite{keele2007guidelines} that is used as the methodological basis for this entire review}
}
\newglossaryentry{SLR}
{
name=\textsc{SLR},
description={Systematic Literature Review}
}
\printglossary[title=Acronyms and Abbreviations, toctitle=List of acronyms and abbreviations]
答案1
总结:
\mbox{}
\\
允许在描述的开头插入换行符。- 这修复了最终的重叠,但如果您希望将所有定义放在新行上(就像 HTML
DL
默认的那样),那么这并不是最优雅的解决方案。 - 欢迎提出一个优雅的解决方案...但也许应该在 Stack Exchange 上提出一个专门的问题,以便更好地确定范围?我不确定。
解释:我发现Nicola Talbot 指出了以下技巧9年前:
\newglossaryentry{Test}{
name={Test},
description={\mbox{}\\* This is a Test}
}
正如他所写:
默认的词汇表样式 (
list
) 使用description
不喜欢在 后立即换行的环境\item
。您可以在换行符之前立即添加一个空框(这是样式
altlist
强制在项目下方的行上进行描述的方式)。