我对目录有一些小问题。
由于有多个图表和表格,我想将它们全部放在一个列表中并显示它们。-> 完成现在我想在目录中显示相应的列表/页面大小。目录的生成也已实现。
但是,正如您在添加的屏幕截图中看到的,toc 确实会显示每个列表两次。到目前为止,它与每个列表的长度无关。您还可以看到,任一列表的第一个实例都显示了完全错误的页码。但我找不到生成此实例的原因。
有时,我可以通过在 \addcontentsline 之前移动 \listofxxx 来仅获得一个显示列表,但这不是一个正确的解决方案,因为重新启动 TeXEditor 后问题又会出现。
我目前正在使用 Biber 和 LuaLaTeX 运行我的文件,并以 scrbook 作为文档类。
非常感谢你的想法和建议。非常感谢!
编译代码
\RequirePackage[l2tabu,orthodox]{nag}
\documentclass[headsepline,footsepline,footinclude=false,oneside,fontsize=11pt,paper=a4,listof=totoc,bibliography=totoc,DIV=12]{scrbook} % one-sided
\input{settings}
\begin{document}
\selectlanguage{english}
\frontmatter{}
\microtypesetup{protrusion=false}
\tableofcontents{}
\microtypesetup{protrusion=true}
\mainmatter{}
\chapter{chap1}
\lipsum
\chapter{chap2}
\lipsum
\begin{figure}
\centering
\begin{adjustbox}{width=0.75\linewidth}%
\includegraphics{example-image-duck}%
\end{adjustbox}%
\caption{Testfigure}
\label{fig:TestFigure}
\end{figure}
\begin{figure}
\centering
\begin{adjustbox}{width=0.75\linewidth}%
\includegraphics{example-image-duck}%
\end{adjustbox}%
\caption{TestFigure2}
\label{fig:Test}
\end{figure}
\microtypesetup{protrusion=false}
\microtypesetup{protrusion=true}
\begin{singlespace}
\printbibliography
\setcounter{lofdepth}{2}
\setcounter{lotdepth}{2}
\addcontentsline{toc}{chapter}{\protect List of Figures}
\listoffigures
\addcontentsline{toc}{chapter}{\protect List of Tables}
\listoftables
\end{singlespace}
\end{document}
设置文件
\PassOptionsToPackage{table,svgnames,dvipsnames}{xcolor}
\usepackage[sc]{mathpazo}
\usepackage{mathptmx}
\usepackage{mathtools}
\usepackage[ngerman,english]{babel} % english is the same as american or USenglish
\usepackage[autostyle]{csquotes}
\usepackage[%
backend=biber,
url=true,
style=chem-angew, % alphabetic, numeric
sorting=none, % default == nty, https://tex.stackexchange.com/questions/51434/biblatex-citation-order
maxnames=4,
minnames=3,
maxbibnames=99,
giveninits,
uniquename=init]{biblatex}
\addbibresource{bibliography.bib}
\setlength{\parindent}{0pt}
\usepackage{graphicx}
\usepackage{scrhack} % necessary for listings package
\usepackage{listings}
\usepackage{lstautogobble}
\usepackage{pgfplots}
\usepackage{pgfplotstable}
\usepackage{booktabs} % for better looking table creations, but bad with vertical lines by design (package creator despises vertical lines)
\usepackage[final]{microtype} %resize the text
\usepackage{caption}
\usepackage[hidelinks]{hyperref} % hidelinks removes colored boxes around references and links
\usepackage[capitalise]{cleveref} %referencing within
\usepackage{paralist} % for condensed enumerations or lists
\usepackage{subfig} % for having figures side by side
\usepackage{makecell} % allows nice manual configuration of cells with linebreaks in \thead and \makecell with alignments
\usepackage{adjustbox} % can center content wider than the \textwidth
\usepackage[vflt]{floatflt}
\usepackage[format=plain]{caption}
\usepackage{duckuments} %add random duck images
\usepackage{lipsum} %add lipsum text
\usepackage{fontspec}
\usepackage{setspace}
\doublespacing
% Add table of contents to PDF bookmarks
\BeforeTOCHead[toc]{{\cleardoublepage\pdfbookmark[0]{\contentsname}{toc}}}
% Settings for pgfplots
\pgfplotsset{compat=newest}
当前显示的目录
答案1
为了方便起见,仅给出一个代码示例:
- 最少:仅包含重现问题所需的包和行。
- 工作:可编译(或几乎可编译),不需要外部或本地文件。
现在,针对您的问题:
该documentclass
选项listof=totoc
已将scrbook
图表列表和表格列表添加到目录中。
然后在文档中,您可以\addcontentsline{toc}{chapter}{List of..}
再次添加它们。
解决方案:消除\addcontentsline
\documentclass[headsepline,footsepline,footinclude=false,oneside,fontsize=11pt,paper=a4,listof=totoc,bibliography=totoc,DIV=12]{scrbook} % one-sided
\usepackage{lipsum}
\begin{document}
\frontmatter
\tableofcontents
\mainmatter
\chapter{chap1}
\lipsum
\chapter{chap2}
\lipsum
% \addcontentsline{toc}{chapter}{\protect List of Figures}
\listoffigures
% \addcontentsline{toc}{chapter}{\protect List of Tables}
\listoftables
\end{document}