更改词汇表标题的位置

更改词汇表标题的位置

我是 LaTeX 的初学者,我无法找到解决以下问题的方法。我有一个词汇表,我通过添加我在末尾包含的代码将其打印成两列。问题是词汇表的标题似乎包含在第一列中。我希望标题保留在外面,打印标题后开始两列格式。有没有简单的方法可以做到这一点?

非常感谢您的帮助!

\documentclass[10pt,a4paper]{book}
\usepackage[hyperfirst=true,acronym]{glossaries}
\usepackage{multicol}

\let\glsaltpl\glsuseri
\let\glsing\glsuserii

%%Formatos para la lista de acrónimos
\newglossarystyle{EstiloGlosario}{%
\glossarystyle{listgroup}% Estilo base
%Estilo de las entradas: Entrada en negrita, descripcion normal
\renewcommand*{\glossaryentryfield}[5]{%
\item[]{\bf{\glstarget{##1}{##2}}}\;\;\;\relax
\space{\footnotesize ##3}% Description,
{,}
{\footnotesize ##5}
% Page list
\vspace{-0.2mm}% end of row
}%
%Cabecera con regla debajo de la letra inicial
\renewcommand*{\glsgroupheading}[1]{\setlength{\itemsep}{0mm}\item[{\:}{\:}{\Large        \glsgetgrouptitle{##1}}]\setlength{\itemsep}{-2.5mm}
\item[\rule{3cm}{0.02 cm}]\setlength{\itemsep}{-0mm}}
}

\makeglossaries
\begin{document}
    \begin{multicols}{2}
    \printglossary[type=main,style=EstiloGlosario]
    \newpage
    \end{multicols}

    \newglossaryentry{ppm}{name=ppm,description={parts per million}} The units are expressed in \gls{ppm}.
\end{document}

答案1

\glossarysection您的示例代码会产生错误,因此我使用了一个简化的文档来说明该过程。您可以通过重新定义为使用 写入标题\chapter*,然后进入双列模式,然后\glossarypostamble返回单列模式来实现您想要的效果;类似以下代码:

\documentclass[10pt,a4paper]{book}
\usepackage[hyperfirst=true,acronym,section=chapter]{glossaries}
\usepackage{multicol}

\renewcommand*{\glossarysection}[2][]{%
  \begin{multicols}{2}[\chapter*{#2}]
  \setlength\glsdescwidth{0.6\linewidth}%
  \glossarymark{\glossarytoctitle}%
}
\renewcommand*{\glossarypostamble}{\end{multicols}}
\makeglossaries

\newglossarystyle{EstiloGlosario}{%
\glossarystyle{listgroup}}

\newglossaryentry{ppm}{name=ppm,description={parts per million}} 
\newglossaryentry{ppb}{name=ppb,description={parts per billion}} 

\begin{document}

The units are expressed in \gls{ppm}.
The units are expressed in \gls{ppb}.

\printglossary[type=main,style=EstiloGlosario]

\end{document}

最终的词汇表:

在此处输入图片描述

如果您对平衡列不感兴趣,您可以使用\twocolumn\onecolumn代替multicols环境:

\renewcommand*{\glossarysection}[2][]{%
  \twocolumn\chapter*{#2}
  \setlength\glsdescwidth{0.6\linewidth}%
  \glossarymark{\glossarytoctitle}%
}
\renewcommand*{\glossarypostamble}{\onecolumn}

相关内容