名词解释 参考章节编号

名词解释 参考章节编号

我正在写一篇包含许多类似符号的博士论文。因此,我想在命名法中列出每个符号最初使用的章节编号(因此在文本中定义)。我知道您可以列出页码,但我更喜欢章节编号。有办法吗?

这是我目前定义章节编号的最小示例,尽管这需要我手动检查每个引用是否正确:

\documentclass{report}
\usepackage{nomencl}

\makenomenclature

\begin{document}
    \printnomenclature

    \chapter{Structural Analysis} \label{sec:Structural Analysis}
    \section{Sectional Properties} \label{sec:Sectional Properties}
    The cross-sectional area is defined as
    \begin{equation} \label{eqn:Cross-sectional area}
        A = \int_{S} \: dS
    \end{equation}
    \nomenclature{$A$}{cross-sectional area, m$^{2}$ (\ref{sec:Sectional Properties})}
    \nomenclature{$S$}{arbitrary surface (\ref{sec:Sectional Properties})}

\end{document}

我尝试使用它\thesection作为参考,但正如预期的那样,这个值是在创建命名法时计算的,而不是在的位置\nomenclature

我想应该有一种方法可以通过编程来做到这一点,但还没有找到解决方案。

答案1

您可以利用在发出命令时已知部分编号这一事实\nomenclature

以下是使用新命令执行此操作的方法:

% arara: pdflatex
% arara: nomencl
% arara: pdflatex
% arara: pdflatex
\documentclass{report}
\usepackage{nomencl}

\makenomenclature

\newcommand{\mynomencl}[3][section]{%
  \begingroup\edef\x{\endgroup
  \unexpanded{\nomenclature{#2}}%
    {\unexpanded{#3} (\csname the#1\endcsname)}}\x}

\begin{document}
\printnomenclature

\chapter{Structural Analysis} \label{sec:Structural Analysis}
\section{Sectional Properties} \label{sec:Sectional Properties}

The cross-sectional area is defined as
\begin{equation} \label{eqn:Cross-sectional area}
  A = \int_{S} \, dS
\end{equation}
\mynomencl{$A$}{cross-sectional area, m$^{2}$}
\mynomencl{$S$}{arbitrary surface}

\chapter{Structural Analysis} \label{sec:Structural Analysis2}
\section{Sectional Properties} \label{sec:Sectional Properties2}
The cross-sectional area is defined as
\begin{equation} \label{eqn:Cross-sectional area2}
  A = \int_{S} \, dS
\end{equation}
\mynomencl[chapter]{$A2$}{cross-sectional area, m$^{2}$}
\mynomencl{$S2$}{arbitrary surface}

\end{document}

\mynomencl命令有一个可选参数,用于指定条目应引用的部分单位(默认section)。

它是如何工作的?命令\mynomencl存储在\x命令中\nomenclature{...}{... (<number>)},除了最后一部分(数字)之外不扩展任何内容。然后它执行 \x(使其也从记忆中消失)。

初始注释用于arara加速编译,无需记住生成命名法的命令行。它们当然是可选的。

在此处输入图片描述

相关内容