使用 .bib 或 .aux 文件的缩写主列表

使用 .bib 或 .aux 文件的缩写主列表

我知道已经发布了许多关于符号和缩写列表的问题,但我找不到一个能直接解决我的问题的答案。我找到了一个答案(https://tex.stackexchange.com/a/366282/211159)(方法 4) 与我的问题相关,但它需要加载外部文件。我使用 Overleaf 作为我的 tex 编辑器,所以我不太清楚如何做到这一点。

我正在考虑使用glossaries acronomencl包。我认为nomencl这是最直接的。

我想要的是:

  1. .aux在主文件中定义所有符号和/或缩写.bib(如有必要,可以为符号和缩写分别创建一个单独的文件)
  2. 当我在文档中输入并使用例如\ac{NY}缩写“NY”时,它会出现在我的文本中,并且该条目会从.bib.aux文件中取出并添加到缩写列表中。
  3. \input{ListofSymb}在我希望列表出现的地方使用代码。

我对我的序言和参考书目做了类似的事情,即我有一个包含所有项目的主列表,我只需使用它来调用文件即可\input

梅威瑟:

前言:

\usepackage{glossaries}

主文件

\documentclass [a4paper,12pt]{report}

\input{1.mypreamble}

\begin{document}

\input{ListofSymb}

This is a test paragraph where I will use some of the entries in the "ListofSymb" file. The entries I use are the only one I want to appear in the printed List of Symbols i.e. Not all symbols in the master list must appear the List of Symbols. I want symbols; $\gls{a}$, $\gls{t}$ and
$\gls{F}$ to appear. Additionally, they should appear in alphabetical order.

\end{document}

符号列表

@entry{x,
 name={\ensuremath{x}},
 description={position}
}
@entry{v,
 name={\ensuremath{v}},
 description={velocity}
}
@entry{a,
 name={\ensuremath{a}},
 description={acceleration}
}
@entry{t,
 name={\ensuremath{t}},
 description={time}
}
@entry{F,
 name={\ensuremath{F}},
 description={force}
}

输出:

在此处输入图片描述

我不确定本例中使用的包和代码是否正确,但这是我能找到的最接近的。我从许多不同的答案中选取了例子,所以可能有点混乱。

答案1

经过一番搜索,我找到了一个合适的答案。虽然它不是我所希望的主列表,但我对目前的结果感到满意,所以我将这个答案发布给遇到同样问题的人。

我利用了这个standalone包裹以及这个nomencl包裹。

我在序言中添加了以下内容:

\usepackage{standalone}
\usepackage{nomencl}
\makenomenclature

\renewcommand{\nomname}{List of Abbreviations and Symbols}

\renewcommand{\nomgroup}[1]{\bigskip
\ifthenelse{\equal{#1}{S}}{\item[\textbf{\large{Symbols}}]}{%
\ifthenelse{\equal{#1}{A}}{\item[\textbf{\large{Abbreviations}}]}{}}}

然后我创建了一个.tex名为的文件,abb.tex其代码如下:

\documentclass[preview]{standalone}
\usepackage{nomencl}
\makenomenclature
\renewcommand{\nomname}{List of Abbreviations and Symbols}

\renewcommand{\nomgroup}[1]{\bigskip
\ifthenelse{\equal{#1}{S}}{\item[\textbf{\large{Symbols}}]}{%
\ifthenelse{\equal{#1}{A}}{\item[\textbf{\large{Abbreviations}}]}{}}}

\begin{document}
\printnomenclature[3cm]
\nomenclature[A]{ABAQUS/CAE}{Complete Abaqus Environment}
\nomenclature[A]{ASTM}{American Society for Testing and Materials}
\nomenclature[A]{CDM}{Continuum Damage Mechanics}
\nomenclature[A]{CLT}{Cross-Laminated Timber}
\nomenclature[A]{FRP}{Fibre Reinforced Polymer}
\nomenclature[A]{FEM}{Finite Element Modelling}
\nomenclature[A]{FEA}{Finite Element Analysis}
\nomenclature[A]{Glulam}{Glue-Laminated Timber}
\nomenclature[A]{MoR}{Modulus of Rupture}
\nomenclature[A]{MoE}{Modulus of Elasticity}
\nomenclature[A]{NDT}{Non-destructive Tests}
\nomenclature[A]{SA}{South Africa(n)}
\nomenclature[A]{UMAT}{User-defined material model}
\nomenclature[A]{USDFLD}{User-defined field}
\nomenclature[S]{$G$}{Modulus of Rigidity}
\nomenclature[S]{$I_k$}{Moment of inertia of all knots within 15cm of the critical cross section}
\nomenclature[S]{$I_g$}{Gross moment of inertia}

\end{document}

{standalone}允许[preview]文件abb.tex自行编译,然后\input{abb}在主文本文件中使用命令时abb.tex,文件的前言将被忽略,并且不会与主文档中现有的前言发生冲突。

因此我的主要文档MWE如下:

\documentclass [a4paper,12pt]{report}
\input{1.mypreamble}
\begin{document}

Some text

\newpage
\input{abb}
\newpage

Some text 

\end{document}

在此处输入图片描述

相关内容