我已经写完了我的报告,该报告约有 100 页,其中包含大量缩略词,但我在撰写报告时没有管理它们。
现在我想自定义要生成的首字母缩写词列表,因为我所做的约定如下LNR (latex nomenclature report)
是否有任何方法可以从我用于所有首字母缩略词的格式生成首字母缩略词列表
我不想为每个首字母缩略词手动做这样的事情:
\documentclass[10pt,a4paper]{report}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[french]{nomencl}
\makenomenclature
\begin{document}
\nomenclature{$Nmmm$}{le nombre d'éléments}
Supposons que $Nmmm$...
\printnomenclature
\end{document}
谢谢
答案1
您可以尝试类似
grep -Eo '[A-Z]{1,} \([A-Za-z0-9 ]*\)' test.tex > acrlist.txt
请注意,这有一些限制,主要限制是首字母缩略词及其定义必须在一行上。如果使用支持 PCRE 的程序,可以获得更好的结果。
现在每行有一个首字母缩略词,您可以将它们“包装”在您选择的 LaTeX 命令中,例如\nomenclature
,来自nomencl
包或\newacronym
来自glossaries
:
sed -e 's/\([A-Z]*\) (\(.*\))/\\nomenclature{$\1$}{\2}/' acrlist.txt > acrlist2.tex
.tex
然后,您可以使用将首字母缩写文件插入主文件中\input
。您还可以将grep
和连接sed
在一起,以避免创建中间文件。
注意事项:如上所述,上述正则表达式可能无法在所有情况下完美运行,请手动检查最终结果。如果您使用的是 Windows,则可能需要 MinGW 之类的东西来获取grep
和sed
。