![以 minitoc 的样式显示 titletoc](https://linux22.com/image/395317/%E4%BB%A5%20minitoc%20%E7%9A%84%E6%A0%B7%E5%BC%8F%E6%98%BE%E7%A4%BA%20titletoc.png)
我正在写论文,为了便于阅读和结构,我使用该minitoc
包来显示目录每章。
但是当我看到附录时, 就\minitoc
不再起作用了(它什么都没显示,但也没有给出任何错误)。 它在\begin{appendices}
或之前工作正常\appendix
(即在常规章节中,如下所示)。
为了解决这个问题,我尝试使用该titletoc
包重新创建minitoc
附录的样式。我已经非常接近了,但还没有完成。
你能帮我完成吗?我觉得我还缺少:
- 增加左右边距
- 减小垂直行距
- 可选地,将水平线拉伸约 2 个像素。由于我之所以注意到它们只是因为我将它们并排放置,所以当我在最终文档中仅使用一条时,没有人会注意到。
平均能量损失
\documentclass[11pt]{report}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{float}
\usepackage[top=1in, bottom=1in, left=1in, right=1in]{geometry}
\usepackage{lipsum}
\usepackage{parskip}
\usepackage{titlesec}
\titleformat{\chapter}[display]{\normalfont\huge\bfseries}{\chaptertitlename\ \thechapter}{20pt}{\Huge}
\renewcommand{\familydefault}{\sfdefault} %Use sans-serif font.
\usepackage{minitoc}
\renewcommand{\mtctitle}{Inhoudsopgave}
\renewcommand{\mtifont}{\large\sffamily}
\renewcommand{\mtcfont}{\small\sffamily}
\renewcommand{\mtcSfont}{\small\sffamily}
\renewcommand{\mtcSSfont}{\small\sffamily}
\renewcommand{\mtcSSSfont}{\small\sffamily}
% Add MiniToC package.
% Translate 'Contents' to 'Inhoudsopgave'
% Change all fonts from default (serif) to sans serif - to equal the regular document font
\setcounter{minitocdepth}{2} %show subsec's (2) up to this level in minitoc's. Paragraphs ("3*sub"sections) and lower don't show up
\setcounter{secnumdepth}{3} %number subsubsec's (3) up to this level. paragraphs don't get a number.
\setcounter{tocdepth}{1} %show up to level 1 (sections), hide subsections (2) and lower in ToC. (used in combination with minitoc to show ToC's per chapter)
\usepackage{titletoc}
% What styling do I need here?
\begin{document}
\dominitoc
\tableofcontents
\chapter{Introduction}
\minitoc
% My Solution
\startcontents[sections] {\large Inhoudsopgave} \vspace{-15pt}\par
\noindent\hrulefill \vspace{-5pt}
{\small \printcontents[sections]{}{1}{\setcounter{tocdepth}{2}} }
\vspace{-10pt} \noindent\hrulefill
% My Solution
\section{One}
\lipsum[1]
\subsection{One One}
\subsection{One Two}
\section{Two}
\subsection{Two One}
\subsection{Two Two}
\section{Three}
\subsection{Three One}
\subsection{Three Two}
\subsection{Three Three}
% My Solution
\stopcontents[sections]
% My Solution
\end{document}
答案1
我发现原因\minitoc
在我的附录章节中不起作用:如果我在命令前包含章节,\printbibliography[heading=bibintoc, title=MyBibliography]
则不会出现任何问题。\minitoc
但是,在命令后包含章节会停止打印任何内容。
从minitoc 没有出现?\mtcaddchapter
我找到了在声明之后\chapter{Chapter Title}
(和之前)添加的解决方案\minitoc
。
笔记:该命令只能输入一次因为每次\minitoc
都会忘记一个章节。
摘录自https://wiki.lyx.org/Examples/Minitoc:
注意:有时 minitoc 没有注意到已添加新章节,因此它会将错误的 minitoc 写入错误的章节。例如, 和 就是这种情况
\addcontentsline
。\listoffigures
为了避免这种情况,您可以通过添加命令 来通知 minitoc 有关“新章节”的信息\mtcaddchapter
。
所以:
\documentclass[11pt]{report}
\usepackage[backend=biber, citestyle=apa, urldate=short, style=apa, sorting=none]{biblatex}
\addbibresource{sources.bib}
\usepackage{appendix}
\begin{document}
\dominitoc
%
% Insert document contents here
%
\printbibliography[heading=bibintoc, title=MyBibliography]
% \appendix % < = = Doesn't show "Appendix A: SomeAppendix" but "A: SomeAppendix", though offtopic.
\begin{appendices}
\chapter{SomeAppendix} \mtcaddchapter % < = = THIS COMMAND < = =
\minitoc
\section{About}
\chapter{DifferentAppendix} % < = = NOT REPEATED HERE
\minitoc
\section{Introduction}
\end{appendices}
\end{document}