以 minitoc 的样式显示 titletoc

以 minitoc 的样式显示 titletoc

我正在写论文,为了便于阅读和结构,我使用该minitoc包来显示目录每章。

但是当我看到附录时, 就\minitoc不再起作用了(它什么都没显示,但也没有给出任何错误)。 它在\begin{appendices}或之前工作正常\appendix(即在常规章节中,如下所示)。

为了解决这个问题,我尝试使用该titletoc包重新创建minitoc附录的样式。我已经非常接近了,但还没有完成。

你能帮我完成吗?我觉得我还缺少:

  • 增加左右边距
  • 减小垂直行距
  • 可选地,将水平线拉伸约 2 个像素。由于我之所以注意到它们只是因为我将它们并排放置,所以当我在最终文档中仅使用一条时,没有人会注意到。

MWE minitoc 与 titletoc

平均能量损失

    \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}

相关内容