我创建了一个词汇表(名为“Symbolverzeichnis”),并使用 mcolalttree 将其分成两列。我的问题是左列开头有空行。有人知道如何去掉它吗?提前谢谢您 :)
这是我当前的代码:
\documentclass[12pt,doublesided,a4paper]{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\usepackage[onehalfspacing]{setspace}
\usepackage[nogroupskip,nopostdot,acronyms]{glossaries} %,toc
\usepackage{glossary-mcols}
\makenoidxglossaries
\newglossaryentry{B}{name={$B$},description={Magnetische Flussdichte}}
\newglossaryentry{M}{name={$M$},description={Magnetisierung}}
\newglossaryentry{T}{name={$T$},description={Temperatur}}
\newglossaryentry{g}{name={$g$},description={g-Faktor (Landé-Faktor)}}
\newglossaryentry{H}{name={$H$},description={Magnetische Feldstärke}}
\glssetwidest{M }
\begin{document}
\printnoidxglossary[type=main,style=mcolalttree,nonumberlist,title={Symbolverzeichnis}]
\newpage
\gls{B}, \gls{M}, \gls{T}, \gls{g}, \gls{H}
\end{document}
输出:
答案1
似乎这个空行被硬编码到mcolalttree
样式中了?如果您查看下面的代码,您会发现我已为mcolalttree
词汇表样式添加了定义,但已注释掉\mbox{}\par
,因此将样式重命名为sara
。
\documentclass[12pt,doublesided,a4paper]{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\usepackage[onehalfspacing]{setspace}
\usepackage[nogroupskip,nopostdot,acronyms]{glossaries} %,toc
\usepackage{glossary-mcols}
% ===================
\makeatletter
\newglossarystyle{sara}{%
\setglossarystyle{alttree}%
\renewenvironment{theglossary}%
{%
\begin{multicols}{2}%
\def\@gls@prevlevel{-1}%
% \mbox{}\par
}%
{\par\end{multicols}}%
}
\makeatother
% ===================
\makenoidxglossaries
\newglossaryentry{B}{name={$B$},description={Magnetische Flussdichte}}
\newglossaryentry{M}{name={$M$},description={Magnetisierung}}
\newglossaryentry{T}{name={$T$},description={Temperatur}}
\newglossaryentry{g}{name={$g$},description={g-Faktor (Landé-Faktor)}}
\newglossaryentry{H}{name={$H$},description={Magnetische Feldstärke}}
\glssetwidest{M }
\begin{document}
\printnoidxglossary[type=main,style=sara,nonumberlist,title={Symbolverzeichnis}]
\newpage
\gls{B}, \gls{M}, \gls{T}, \gls{g}, \gls{H}
\end{document}
结果是这样的:
答案2
这更像是一种肮脏的解决方法而不是解决方案,但它确实解决了问题:
\documentclass[]{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[nogroupskip,nopostdot,acronyms]{glossaries} %,toc
\usepackage{glossary-mcols}
\newlength{\myl}
\makenoidxglossaries
\newglossaryentry{B}{name={$B$},description={\settowidth{\myl}{$B$}\hspace{-\myl}\hspace{2em}Magnetische Flussdichte}}
\newglossaryentry{M}{name={$M$},description={\settowidth{\myl}{$M$}\hspace{-\myl}\hspace{2em}Magnetisierung}}
\newglossaryentry{T}{name={$T$},description={\settowidth{\myl}{$T$}\hspace{-\myl}\hspace{2em}Temperatur}}
\newglossaryentry{g}{name={$g$},description={\settowidth{\myl}{$g$}\hspace{-\myl}\hspace{2em}g-Faktor (Landé-Faktor)}}
\newglossaryentry{H}{name={$H$},description={\settowidth{\myl}{$H$}\hspace{-\myl}\hspace{2em}Magnetische Feldstärke}}
\begin{document}
\printnoidxglossary[type=main,style=mcoltree,nonumberlist,title={Symbolverzeichnis}]
\newpage
\gls{B}\gls{M}\gls{T}\gls{g}\gls{H}
\end{document}
如果您对此感到满意,您(或我)可以定义一个函数,使代码更简短、更易读。