我知道已经发布了许多关于符号和缩写列表的问题,但我找不到一个能直接解决我的问题的答案。我找到了一个答案(https://tex.stackexchange.com/a/366282/211159)(方法 4) 与我的问题相关,但它需要加载外部文件。我使用 Overleaf 作为我的 tex 编辑器,所以我不太清楚如何做到这一点。
我正在考虑使用glossaries
acro
或nomencl
包。我认为nomencl
这是最直接的。
我想要的是:
.aux
在主文件中定义所有符号和/或缩写.bib
(如有必要,可以为符号和缩写分别创建一个单独的文件)- 当我在文档中输入并使用例如
\ac{NY}
缩写“NY”时,它会出现在我的文本中,并且该条目会从.bib
或.aux
文件中取出并添加到缩写列表中。 \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}