\gls
我正在使用词汇表包来获取缩写列表。当我第一次使用带有缩写的命令时,如果缩写位于行尾附近,就会出现问题。
因此,例如缩写Data-Mining (DM)
将出现Data-Mining
在第一行和(DM)
第二行。我想在Data-Mining
和之间设置一个受保护的空白(DM)
。我试过了\mbox
,但在这种情况下,我只得到了一个过满的水平盒子,因为文本打印在一行中。最好的断点是连字符。
答案1
如果您能提供最小示例但既然你没有,我会假设你正在做类似的事情:
\documentclass[a4paper]{article}
\usepackage{glossaries}
\makeglossaries
\setacronymstyle{long-short}
\newacronym{dm}{DM}{Data-Mining}
\begin{document}
\rule{0.8\textwidth}{1pt}\gls{dm}.
\printglossaries
\end{document}
这会产生不想要的换行符:
在这种情况下,修复方法非常简单。你只需要用样式替换long-short
首字母缩略词样式long-sp-short
。像这样:
\documentclass[a4paper]{article}
\usepackage{glossaries}
\makeglossaries
\setacronymstyle{long-sp-short}
\newacronym{dm}{DM}{Data-Mining}
\begin{document}
\rule{0.8\textwidth}{1pt}\gls{dm}.
\printglossaries
\end{document}
现在产生:
此样式使用长格式和短格式之间。如果小于 3em,\glsacspace{label}
此命令默认使用,否则使用。您可以重新定义它以始终使用不可中断的空格:~
(\firstacronymfont{\glsentryshort{label}})
\space
\renewcommand*{\glsacspace}[1]{~}