自定义命名法中的条目和子组名称的垂直空间

自定义命名法中的条目和子组名称的垂直空间

我想自定义最终条目(M1 big-M 参数)和子组名称(变量)之间的垂直间距(图中用红线标记),比如 20pt?我该如何实现?非常感谢。

在此处输入图片描述

以下是我生成命名法的 MWE,如图所示。

\documentclass[a4paper]{article}

\usepackage{amsmath}

\usepackage{etoolbox}

\usepackage[noprefix]{nomencl}

\makenomenclature

\renewcommand*{\nompreamble}{\vspace{10pt}}

\renewcommand{\nomgroup}[1]{%

\item[\textbf{%

\ifstrequal{#1}{M}{Parameters}{%

\ifstrequal{#1}{N}{Variables}{%

{}}}}]%

\hspace*{-\leftmargin}\vspace{20pt}}

\setlength{\nomitemsep}{1pt}

\begin{document}

Text% to produce a non-empty page
\\

\nomenclature[N]{$t$}{temperature}

\nomenclature[M]{M$_1$}{big-M parameters}

\printnomenclature[2cm]


\end{document}  

答案1

\nompreamble控制主命名法标题和命名法本身之间的内容。\nomgroup是一个单参数宏,控制每个子组开头的内容(第 4 和 5.1 节)nomencl 文档)。

举个例子:

\documentclass{article}
\usepackage[noprefix]{nomencl}
\usepackage{ifthen}

\renewcommand{\nompreamble}{\vspace{0.25in}} % code after main title
\renewcommand{\nomgroup}[1]{%
  \item[\textbf{%
    \ifthenelse{\equal{#1}{M}}{Parameters}{}%
    \ifthenelse{\equal{#1}{N}}{Variables}{}% add more groups as needed
    }]%
    \hspace*{-\leftmargin}\vspace{1in}%
}

\makenomenclature

\begin{document}

\nomenclature[M]{M$_1$}{big-M parameters}
\nomenclature[N]{$t$}{temperature}

\printnomenclature
\end{document}

产量

在此处输入图片描述

相对

在此处输入图片描述

默认情况下。

答案2

您可以通过重新排列来实现最后一个条目和以下子组名称之间的垂直空间\nomgroup\item\textbf语句必须位于 内\ifstrequal。 您可以在那里添加子组变量的垂直空间以增加垂直空间。

\renewcommand{\nomgroup}[1]{%
  \ifstrequal{#1}{M}{\item[\textbf{Parameters}]}{%
  \ifstrequal{#1}{N}{\vspace{20pt} \item[\textbf{Variables}]}{}}%
}

答案3

\renewcommand{\nomgroup}[1]{%
    \ifstrequal{#1}{A}{\item[\textbf{\Large{ Latin letters}}]}{%
            \ifstrequal{#1}{B}{\vspace{20pt} \item[\textbf{\Large{Greek letters}}]}{}}{%
                    \ifstrequal{#1}{C}{\vspace{20pt} \item[\textbf{\Large{Subscripts}}]}{}}{%
                            \ifstrequal{#1}{D}{\vspace{20pt} \item[\textbf{\Large{Abbreviations}}]}{}}%
}

相关内容