我想使我在包\dotfill
中使用的点分隔glossaries
与我在包中获得的点分隔相匹配tocloft
。下图显示了顶部目录中的条目和底部词汇表中的条目:
根据这个答案,我可以创建一个名为的命令\Dotfill
,其间距与不同。以下是中点之间的空间\dotfill
的定义。\Dotfill
.33em
\makeatletter
\newcommand \Dotfill {\leavevmode \cleaders \hb@xt@ .33em{\hss .\hss }\hfill \kern \z@}
\makeatother
然后我可以\Dotfill
使用在描述后添加点在我的词汇表中:
renewcommand*\glspostdescription{\Dotfill}
我可以手动更改,.33em
直到点间距看起来匹配,但有没有更好的方法呢?根据tocloft 的文档,描述目录中点之间的空间的值由给出,\@dotsep
其默认值为 4.5。我不确定如何在上面给出的内容中利用它。
这是一个最小的工作示例:
\documentclass{report}
\makeatletter
\newcommand \Dotfill {\leavevmode \cleaders \hb@xt@ .33em{\hss .\hss }\hfill \kern \z@}
\makeatother
\usepackage{tocloft}
\renewcommand{\cftchapleader}{\cftdotfill{\cftsecdotsep}}
\usepackage[toc]{glossaries}
\makeglossaries
\renewcommand*\glspostdescription{\Dotfill}
\begin{document}
\newglossaryentry{Cab}{name={$C[a,b]$},sort=C,description={The space of continuous functions defined on $[a,b]$}}
\tableofcontents
\printglossary
\chapter{Chap 1}
\gls{Cab}
\end{document}
要进行编译,您必须makeglossaries
在调用之间运行latex
。
答案1
您不需要知道长度或明确给出它们(这肯定容易出错)。只需tocloft
在定义中使用设置即可\Dotfill
:
\documentclass{report}
\usepackage[toc]{glossaries}
\usepackage{tocloft}
\newcommand\Dotfill{\cftdotfill{\cftsecdotsep}}
\renewcommand{\cftchapleader}{\cftdotfill{\cftsecdotsep}}
\makeglossaries
\renewcommand*\glspostdescription{\Dotfill}
\begin{document}
\newglossaryentry{Cab}{name={$C[a,b]$},sort=C,description={The space of continuous functions defined on $[a,b]$}}
\tableofcontents
\printglossary
\chapter{Chap 1}
\gls{Cab}
\end{document}
您甚至可以不用该\Dotfill
命令:
\documentclass{report}
\usepackage[toc]{glossaries}
\usepackage{tocloft}
\renewcommand{\cftchapleader}{\cftdotfill{\cftsecdotsep}}
\makeglossaries
\renewcommand*\glspostdescription{\cftdotfill{\cftsecdotsep}}
\begin{document}
\newglossaryentry{Cab}{name={$C[a,b]$},sort=C,description={The space of continuous functions defined on $[a,b]$}}
\tableofcontents
\printglossary
\chapter{Chap 1}
\gls{Cab}
\end{document}
目录
词汇表中的条目:
答案2
您可以将值 4.5 转换为 em 以获得正确的数字。如文档中所述,4.5 为math units
。18
数学单位为1
em。
18 / 4.5 = 4,所以 4.5 个数学单位是 1/4 * 1 em = 0.25 em。
使用该值0.25 em
将为您提供 tocloft 使用的正确标准间距。