我正在尝试在报告中使用该nomencl
包来生成符号列表。该nomencl
包有一个选项,允许目录打印命名法条目。
我还使用了 KOMA 类,传递了一个选项toc=indentunnumbered
,使我能够添加未编号的章节,这些章节的缩进就像是缩进(使用\addchap
。这里的问题是,当我使用时\printnomenclature
,它不遵循传递给KOMA 的选项。
问:如何才能使目录中的命名法条目像编号一样缩进,以便与目录中的其余条目很好地契合?
平均能量损失
\documentclass{scrreprt}
\usepackage[intoc]{nomencl}
\makenomenclature
\KOMAoptions{toc = indentunnumbered}
\begin{document}
\tableofcontents
\printnomenclature
\addchap{Using \texttt{addchap}}
Test
\chapter{Normal chapter}
Test
\nomenclature{$c$}{speed}
\end{document}
答案1
一个简单的解决方案是将 的使用替换\addxcontentsline
为:\addcontentsline
nomencl.sty
\documentclass{scrreprt}
\usepackage[intoc]{nomencl}
\makenomenclature
\usepackage{xpatch}
\xpatchcmd{\thenomenclature}{\addcontentsline}{\addxcontentsline}{}{}
\xpatchcmd{\thenomenclature}{\addcontentsline}{\addxcontentsline}{}{}
\KOMAoptions{toc=indentunnumbered}
\begin{document}
\tableofcontents
\printnomenclature
\addchap{Using \texttt{addchap}}
Test
\chapter{Normal chapter}
Test
\nomenclature{$c$}{speed}
\end{document}
如上所示,需要两次修补。结果如下:
更复杂的解决方案是修补nomencl.sty
以使用\addchap
(如果可用)而不是\chapter*
和\addcontentsline
。
一个非常简单的解决方案将提供KOMA 脚本 v3.23。 自从KOMA-Script 预发布版 v3.23.2615加载包就足够了,scrhack
不仅可以解决问题,还可以自动运行头并添加几个tocbasic
功能nomencl
:
\documentclass{scrreprt}
\usepackage[intoc]{nomencl}
\makenomenclature
\usepackage{scrhack}[2017/03/31]
\KOMAoptions{toc=indentunnumbered}
%\setuptoc{nls}{numbered}% you may try this as tocbasic feature example
%\pagestyle{headings}% you may try this to see the running head
\usepackage{lipsum}
\begin{document}
\tableofcontents
\printnomenclature
\lipsum
\addchap{Using \texttt{addchap}}
Test
\chapter{Normal chapter}
Test
\nomenclature{$c$}{speed}
\lipsum
\end{document}