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