将列标题添加到 nomentbl

将列标题添加到 nomentbl

我想使用 为我的命名法添加标题(“符号”、“描述”、“单位”)nomentbl。我已阅读了互联网上的几篇帖子,似乎可行,但我必须更改文件.ist。有人能为我提供进一步的帮助吗?

提前谢谢您!干杯!

序言如下:

\usepackage{nomentbl}
\usepackage{ifthen} 
\newcommand{\abk}{\nomenclature} 
\renewcommand{\nomname}{Nomenklatur} 
\renewcommand\nomgroup[1]{% 
   \ifx#1A\relax 
     \large \bfseries Abkürzungsverzeichnis 
   \fi 
   \ifx#1P\relax 
     \large \bfseries Physikalische Größen 
   \fi 
   } 
\makenomenclature

我使用以下代码添加新符号:

\abk[A]{$m$}{mass}{kg}{} 
\abk[P]{$\alpha$}{acceleration}{m/s$^2$}{}

编辑:感谢 Swann 先生,我最初的问题已经解决。但现在我对进一步定制我的命名法感兴趣。因此,我附上了两个文件,它们显示了当前的命名法和我想要实现的命名法。是否可以在我当前命名法的文件中做出我标记的更改?

当前的: 现行命名法 目标:

目标命名法

答案1

这不是很明显。正如您所暗示的,第一个想法是修改文件.ist,打印这些标题,但这与\nomgroup's 配合得不好:使用标准longtable设置意味着三个列标题位于标题之前\nomgroup,这看起来不太好。

相反,你可以将代码添加到 latex 文件中,并将\nomgroup命令编写为

\renewcommand\nomgroup[1]{%
   \ifx#1A\relax
   \large \bfseries Abkürzungsverzeichnis
   \fi
   \ifx#1P\relax
   \large \bfseries Physikalische Größen
   \fi
   \hfill \endgroup \\ \\
   Symbol&Beschreibung&Einheit \begingroup
   }

对当前版本的更改是添加最后两行代码。

示例输出

\documentclass[german]{article}

\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{babel}
\usepackage{nomentbl}

\newcommand{\abk}{\nomenclature}
\renewcommand{\nomname}{Nomenklatur}
\renewcommand\nomgroup[1]{%
   \ifx#1A\relax
   \large \bfseries Abkürzungsverzeichnis
   \fi
   \ifx#1P\relax
   \large \bfseries Physikalische Größen
   \fi
   \hfill \endgroup \\ \\
   Symbol&Beschreibung&Einheit \begingroup
   }
\makenomenclature

\begin{document}

Etwas\dots

\nomenclature[A]{$m$}{mass}{kg}{}
\nomenclature[P]{$\alpha$}{acceleration}{m/s$^2$}{}

\printnomenclature
\end{document}

这取决于.nls每个文件中写入的内容的详细信息\nomgroup。在那里你会发现

\multicolumn{3}{l}{\nomgroup{A}} \\
\nopagebreak\\*[\parskip]

上面的新\nomgroup代码在提供节格式后关闭该\multicolumn组,插入一些新行和三个列标题,最后重新打开一个组以匹配}原始调用结束时的剩余部分\multicolumn。这意味着实际调用的是

\multicolumn{3}{l}{ \large \bfseries Title \hfill } \\ \\
Symbol&Bechreibung&Einheit {} \\
\nopagebreak\\*[\parskip]

提供一个标题行,后面跟着三个列标题。这\hfill可以防止由几个单词组成的标题出现不必要的宽间距。

\nopagebreak如果您发现分页效果不好,您可能希望在插入行处添加换行符。

更新针对您的评论,如果您希望在小节中使用不同的标题,那么您可以将标题代码移到条件语句中,但接下来是额外的宏。这是一个合理的模块化方法:

示例输出

\documentclass[german]{scrbook}

\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{babel}
\usepackage{nomentbl}

\newcommand{\abk}{\nomenclature}
\renewcommand{\nomname}{Nomenklatur}
\newcommand{\nomgrouphead}[1]{\large\bfseries #1 \hfill}
\newcommand{\nomgroupX}[2]{\nomgrouphead{#1}\endgroup  \\ \\
#2 \begingroup}
\renewcommand\nomgroup[1]{%
   \ifx#1A\relax
   \nomgroupX{Abkürzungsverzeichnis}{Symbol&Beschreibung&Einheit}
   \fi
   \ifx#1P\relax
   \nomgroupX{Physikalische Größen}{Buchstaben&Namen&Einheit}
   \fi
   }
\makenomenclature

\begin{document}

Etwas\dots

\nomenclature[A]{$m$}{mass}{kg}{}
\nomenclature[P]{$\alpha$}{acceleration}{m/s$^2$}{}

\printnomenclature
\end{document}

相关内容