为 \printglossary 创建自定义

为 \printglossary 创建自定义

我几乎已经完成了文档设置,但缺少自定义首字母缩略词表。在社区的帮助下,我为我的符号/单位列表找到了一种很好的样式:

\documentclass{article} \usepackage{lipsum} \usepackage{siunitx}

\usepackage[acronym,toc]{glossaries}              % use glossaries-package \setlength{\glsdescwidth}{12cm} \usepackage{glossary-longbooktabs}

\newglossary[slg]{unitlist}{syi}{syg}{Verzeichnis der Kurzzeichen} % create add. symbolslist \glsaddkey{unit}{\glsentrytext{\glslabel}}{\glsentryunit}{\GLsentryunit}{\glsunit}{\Glsunit}{\GLSunit} \makeglossaries                                   % activate glossaries-package

%=================================================================== %Einträge Einheitenverzeichnis %===================================================================

   \newglossaryentry{m}{name=\ensuremath{m},
    description={Meter},
    unit={\si{m}},
    type=unitlist}

    \newglossaryentry{symb:Pi}{name=\ensuremath{\pi},
    description={Geometrischer Wert},
    unit={},
    type=unitlist}

    \newglossaryentry{energyconsump}{
    name=\ensuremath{P},
    description={Leistung},
    unit={\si{kW}},
    type=unitlist}

\glsnoexpandfields  \newglossaryentry{sqkm}{
    name=\ensuremath{A},
    description=Quadratkilometer Quadratkilometer Quadratkilometer Quadratkilometer Quadratkilometer,
    unit=\si{\square\kilo\metre},
    type=unitlist}

%=================================================================== %Stilvorlage %===================================================================

\newglossarystyle{3colger}{%
    \setglossarystyle{longragged3col}% base this style on the list style
    \renewenvironment{theglossary}{% Change the table type --> 3 columns
     % compute the description width
        \settowidth{\dimen0}{\bfseries Zeichen}%
        \settowidth{\dimen1}{\bfseries Einheit}%
        \glsdescwidth=\dimexpr\linewidth-\dimen0-\dimen1-6\tabcolsep\relax
        \begin{longtable}{l l p{\glsdescwidth}}}%
        {\end{longtable}}%
    %
    \renewcommand*{\glossaryheader}{%  Change the table header
        \bfseries Zeichen & \bfseries Einheit & \bfseries Beschreibung \\
        %       \hline
        \vspace{0.05cm}
        \endhead}
    \renewcommand*{\glossentry}[2]{%  Change the displayed items
        \glstarget{##1}{\glossentryname{##1}} %
        & \glsunit{##1}
        &  \glossentrydesc{##1}  \tabularnewline
    } }

\begin{document}
    \lipsum[2-4] \glsaddall \printglossary[type=unitlist,style=3colger]  \end{document}

我现在需要我的首字母缩略词表(Verzeichnis der Abkürzungen)匹配这个间距,但我不知道如何生成可以使用的自定义样式

\printglossary[type=\acronymtype,title=Verzeichnis der Abkürzungen] 

它基本上应该是一个没有页面引用和标题的 2 列表。\acronymtype 没有标题,我需要调整第一列的宽度,以便第二列与我的符号/单位列表的第二列齐平 (Verzeichnis der Kurzzeichen)

我也尝试使用\printglossary[type=unitlist,style=2colacro]colacro 风格:

\renewcommand*{\glossaryheader}{%  Change the table header
\bfseries Zeichen & \bfseries Einheit & \bfseries Beschreibung \\
\vspace{0.05cm}
    \endhead}
    \renewcommand*{\glossentry}[2]{%  Change the displayed items
        \glstarget{##1}{\glossentryname{##1}} %
        & \glsunit{##1}
        &  \glossentrydesc{##1}  \tabularnewline
    }
}

但是,来自符号/单位词汇表的所有条目也都包括在内。使用其他类型似乎也不起作用......有什么想法吗?

答案1

弄清楚了:

在序言中使用了这个:

    \usepackage[acronym,toc]{glossaries}
                 % use glossaries-package
    \setlength{\glsdescwidth}{12cm}
    \usepackage{glossary-longbooktabs}

    \newglossary[slg]{unitlist}{syi}{syg}{Verzeichnis der Kurzzeichen}
    %\newglossary[alg]{acronym}{acr}{acn}{Verzeichnis der Abkürzungen} % create add. symbolslist
    \glsaddkey{unit}{\glsentrytext{\glslabel}}{\glsentryunit}{\GLsentryunit}{\glsunit}{\Glsunit}{\GLSunit}

\makeglossaries                                   % activate glossaries-package

这是我对单位和首字母缩略词的测试条目:

  \newglossaryentry{m}{name=\ensuremath{m},
        description={Meter},
        unit={\si{m}},
        type=unitlist}

        \newglossaryentry{symb:Pi}{name=\ensuremath{\pi},
        description={Geometrischer Wert},
        unit={},
        type=unitlist}

        \newglossaryentry{energyconsump}{
        name=\ensuremath{P},
        description={Leistung},
        unit={\si{kW}},
        type=unitlist}

     \newglossaryentry{cd}{
        name=CD,
        description=Quadratkilometer Quadratkilometer Quadratkilometer Quadratkilometer Quadratkilometer,
        unit=,
        type=acronym}

    \newacronym{bzw}{bzw.}{Beziehungsweise}

这是我的符号/单位和首字母缩略词的两种风格:

\newglossarystyle{3colger}{%
    \setglossarystyle{longragged3col}% base this style on the list style
    \renewenvironment{theglossary}{% Change the table type --> 3 columns
        \settowidth{\dimen0}{\bfseries Zeichen}%
        \settowidth{\dimen1}{\bfseries Einheit}%
        \glsdescwidth=\dimexpr\linewidth-\dimen0-\dimen1-4\tabcolsep\relax
        \begin{longtable}{@{}l l p{\glsdescwidth}@{}}}%
        {\end{longtable}}%
    %
    \renewcommand*{\glossaryheader}{%  Change the table header
        \bfseries Zeichen & \bfseries Einheit & \bfseries Beschreibung \\
        %       \hline
        \vspace{0.05cm}
        \endhead}
    \renewcommand*{\glossentry}[2]{%  Change the displayed items
        \glstarget{##1}{\glossentryname{##1}} %
        & \glsunit{##1}
        &  \glossentrydesc{##1}  \tabularnewline
    }
}


\newglossarystyle{2colacro}{%
    \setglossarystyle{longragged}% base this style on the list style
    \renewenvironment{theglossary}{% Change the table type --> 3 columns
        \settowidth{\dimen0}{\bfseries Abkürzung}%
%       \settowidth{\dimen1}{\bfseries Beschreibung}%
        \glsdescwidth=\dimexpr\linewidth-\dimen0-\dimen1-4\tabcolsep\relax
        \begin{longtable}{@{}l p{\glsdescwidth}@{}}}%
        {\end{longtable}}%
    %
    \renewcommand*{\glossaryheader}{%  Change the table header
        \bfseries Abkürzung & \bfseries Beschreibung \\
        %       \hline
        \vspace{0.05cm}
        \endhead}
    \renewcommand*{\glossentry}[2]{%  Change the displayed items
        \glstarget{##1}{\glossentryname{##1}} %
        &  \glossentrydesc{##1}  \tabularnewline
    }
}

最后如何打印它们:

\printglossary[type=unitlist,style=3colger]
\printglossary[type=acronym,style=2colacro,title=Verzeichnis der Abkürzungen]

相关内容