![使用 LaTeX 中的包词汇表在 \gls 中进行对齐?](https://linux22.com/image/282217/%E4%BD%BF%E7%94%A8%20LaTeX%20%E4%B8%AD%E7%9A%84%E5%8C%85%E8%AF%8D%E6%B1%87%E8%A1%A8%E5%9C%A8%20%5Cgls%20%E4%B8%AD%E8%BF%9B%E8%A1%8C%E5%AF%B9%E9%BD%90%EF%BC%9F.png)
我正在为glossaries
包裹苦苦挣扎了一段时间......
我想更改链接文本的\gls
。我使用了方程变量:
\documentclass{report}
\usepackage[colorlinks]{hyperref}
\usepackage{glossaries}
\makeglossaries
\newcommand{\mathgloss}[2]{
\newglossaryentry{#1}{name={#1},description={#2}}
\gls{#1} = #2
}
\begin{document}
Consider the equation
\begin{equation}
e = m * c^2
\end{equation}
in which\\
\mathgloss{e}{energy}\\
\mathgloss{m}{mass}\\
\mathgloss{c}{speed of light}
\printglossaries
\end{document}
..得到结果:
我想将所有描述的对齐方式改为更像表格。我尝试将代码放在常规表格中,但没有成功。
我也尝试了下面的代码,但问题是一样的。
\documentclass{article}
\usepackage[nopostdot,nonumberlist]{glossaries}
\makeglossary
\newglossaryentry{aaaaaa}{name=aaaaaa,description={speed of light},symbol={km/s}}
\newglossaryentry{b}{name=b,description={mass},symbol={kg}}
\renewcommand{\glstextformat}[1]{\small{#1}}
\renewcommand*{\glsentryfmt}{%
\glsgenentryfmt
\ifglsused{\glslabel}{}{\space -\space \glsentrydesc{\glslabel}}{,\space \glsentrysymbol{\glslabel}}%}
\begin{document}
\gls{aaaaaa} \\
\gls{b}
\printglossaries
\end{document}
你对如何做到这一点有什么建议吗?或者也许有一种不同的/更好的方法,在方程下方同时在词汇表中描述方程变量?
答案1
那么如何使用description
这种方式使用的环境呢(需要enumitem
):
\newcommand{\mathgloss}[2]{%
\newglossaryentry{#1}{name={#1},description={#2}}%
\begin{description}[labelwidth=3em]%
\item[\gls{#1}]#2%
\end{description}%
}
梅威瑟:
\documentclass{report}
\usepackage{enumitem}
\usepackage[colorlinks]{hyperref}
\usepackage{glossaries}
\makeglossaries
\newcommand{\mathgloss}[2]{%
\newglossaryentry{#1}{name={#1},description={#2}}%
\begin{description}[labelwidth=3em]%
\item[\gls{#1}]#2%
\end{description}%
}
\begin{document}
Consider the equation
\begin{equation}
e = m * c^2
\end{equation}
in which
\mathgloss{e}{energy}
\mathgloss{m}{mass}
\mathgloss{c}{speed of light}
\printglossaries
\end{document}
输出:
如果要调整项目之间的间距,可以对description
的参数topsep
和进行操作partopsep
。例如,使用配置partopsep=0pt,topsep=0pt
,您可以像在普通段落中一样设置间距
\newcommand{\mathgloss}[2]{%
\newglossaryentry{#1}{name={#1},description={#2}}%
\begin{description}[labelwidth=3em,partopsep=0pt,topsep=0pt]%
\item[\gls{#1}]#2%
\end{description}%
}
在我看来,无论如何,只有topsep=0pt
\newcommand{\mathgloss}[2]{%
\newglossaryentry{#1}{name={#1},description={#2}}%
\begin{description}[labelwidth=3em,topsep=0pt]%
\item[\gls{#1}]#2%
\end{description}%
}