删除词汇表中的空行

删除词汇表中的空行

我创建了一个词汇表(名为“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}

在此处输入图片描述

如果您对此感到满意,您(或我)可以定义一个函数,使代码更简短、更易读。

相关内容