.png)
В моей диссертации есть несколько скриптов R в самом конце, как Приложение. Внутри самого приложения я хочу \lstlistoflistings
.
Это форматирует список как главу (так же, как и для оглавления).
Как мне отформатировать его как раздел? Я просто хочу избежать разрыва страницы после названия главы и иметь список сразу после него, шрифтом поменьше.
Вот минимальный рабочий пример
\documentclass{report}
\usepackage{listings}
\lstset{language=R}
\renewcommand{\lstlistlistingname}{List of R scripts}
\begin{document}
\tableofcontents
\chapter{the first chapter}
\section{section1}
some text
\chapter{the second chapter}
\addcontentsline{toc}{chapter}{Appendix A}
\chapter*{Appendix A}
\lstlistoflistings
\newpage
\begin{lstlisting}[caption=A script]
some code
\end{lstlisting}
\begin{lstlisting}[caption=Another script]
some more code
\end{lstlisting}
\end{document}
Спасибо!
решение1
Вы можете загрузить tocbasic
и scrhack
. Затем вы можете использовать \setuptoc{lol}{leveldown}
:
\documentclass{report}
\usepackage{scrhack}
\usepackage{tocbasic}
\setuptoc{lol}{leveldown}
\usepackage{listings}
\lstset{language=R}
\renewcommand{\lstlistlistingname}{List of R scripts}
\begin{document}
\tableofcontents
\chapter{the first chapter}
\section{section1}
some text
\chapter{the second chapter}
\chapter*{Appendix A}
\addcontentsline{toc}{chapter}{Appendix A}
\lstlistoflistings
\newpage
\begin{lstlisting}[caption=A script]
some code
\end{lstlisting}
\begin{lstlisting}[caption=Another script]
some more code
\end{lstlisting}
\end{document}
Я изменил порядок \chapter*
и , \addcontentsline
чтобы получить правильный номер страницы в оглавлении.
решение2
\lstlistoflistings
(какое легко запоминающееся имя ;-)) \tableofcontents
на самом деле используется внутри и \@starttoc
немного переопределяется для применения, но по-прежнему имеет \chapter*
заголовок \tableofcontents
.
С моей точки зрения, проще применить переопределение \lstlistoflistings
таким образом, чтобы оно имело тот же вид, что и \tableofcontents
.
\documentclass{report}
\usepackage{listings}
\lstset{language=R}
\renewcommand{\lstlistlistingname}{List of R scripts}
\makeatletter
\renewcommand{\lstlistoflistings}{%
\begingroup
\clearpage
\section*{\lstlistlistingname% Taken from `article.cls`....
\@mkboth{%
\MakeUppercase\lstlistlistingname}{\MakeUppercase
\lstlistlistingname}
}%
\@starttoc{lol}
\endgroup
}
\makeatother
\begin{document}
\tableofcontents
\chapter{the first chapter}
\section{section1}
some text
\chapter{the second chapter}
\addcontentsline{toc}{chapter}{Appendix A}
\chapter*{Appendix A}
\lstlistoflistings
\newpage
\begin{lstlisting}[caption=A script]
some code
\end{lstlisting}
\begin{lstlisting}[caption=Another script]
some more code
\end{lstlisting}
\end{document}