带有词汇表包的符号列表:符号和描述之间的空格

带有词汇表包的符号列表:符号和描述之间的空格

我正在使用该glossaries包制作符号列表。有没有简单的方法来操纵符号和描述之间的空间?

\documentclass{scrreprt}

\usepackage{glossaries}
\usepackage{glossary-mcols}
\newglossary[slg]{symbolslist}{syi}{syg}{List of Symbols}
\makeglossaries
\renewcommand*{\glspostdescription}{}

\newglossaryentry{symb:band_energy}{
name=\ensuremath{\epsilon_k},
description={Band energy in momentum space.},
type=symbolslist
}

\begin{document}

We will refer to the band structure as \gls{symb:band_energy}.

\printglossary[type=symbolslist, nonumberlist]

\end{document}


\epsilon_k我喜欢增加和描述 之间的空间。

答案1

一种方法是定义一个新的词汇表样式并使用它来代替您正在使用的预定义样式(list)。

list因此你可以根据以下方式定义一种新样式:

\newglossarystyle{mystyle}{%
  \glossarystyle{list}%
  \renewcommand*{\glossaryentryfield}[5]{%
    \item[\glsentryitem{##1}\glstarget{##1}{##2}]%
       \hspace{1cm}##3\glspostdescription\space ##5}%
}

注意\hspace{1cm}:更改该值可以修改间距。

在打印时,现在您必须使用

\printglossary[style=mystyle,type=symbolslist, nonumberlist]

因此,修改你的 MWE 为

\documentclass{scrreprt}

\usepackage{glossaries}
\usepackage{glossary-mcols}
\newglossary[slg]{symbolslist}{syi}{syg}{List of Symbols}

\renewcommand*{\glspostdescription}{}

\newglossarystyle{mystyle}{%
  \glossarystyle{list}%
  \renewcommand*{\glossaryentryfield}[5]{%
    \item[\glsentryitem{##1}\glstarget{##1}{##2}]%
       \hspace{1cm}##3\glspostdescription\space ##5}%
}

\makeglossaries


\newglossaryentry{symb:band_energy}{
name=\ensuremath{\epsilon_k},
description={Band energy in momentum space.},
type=symbolslist
}

\begin{document}

We will refer to the band structure as \gls{symb:band_energy}.

\printglossary[style=mystyle,type=symbolslist, nonumberlist]

\end{document} 

会给:

在此处输入图片描述


评论

如果\glspostdescription只需要将新定义的样式留空,则可以\renewcommand*{\glspostdescription}{}在新的样式定义中合并:

\newglossarystyle{mystyle}{%
  \glossarystyle{list}%
  \renewcommand*{\glspostdescription}{}%
  \renewcommand*{\glossaryentryfield}[5]{%
    \item[\glsentryitem{##1}\glstarget{##1}{##2}]%
       \hspace{1cm}##3\glspostdescription\space ##5}%
}

或者更好的是,由于我们正在重新定义,因此从其定义中\glossaryentryfield完全删除:\glspostdescription

\newglossarystyle{mystyle}{%
  \glossarystyle{list}%
  \renewcommand*{\glossaryentryfield}[5]{%
    \item[\glsentryitem{##1}\glstarget{##1}{##2}]%
       \hspace{1cm}##3\space ##5}%
}

相关内容