3

I'd like to create a list of appendices like the one shown here:

enter image description here

I know I can print the different lists with the listof* macros, but I have not the slightes clue how I would add the stand-alone entries for the glossary and the statement of authorship to the list.

Basically, what I'm trying to achive is to create a new list using

\newlistof{appendices}{apx}{\TitleOfAppendicesList}

and use calls like

\addcontentsfromlist{apx}{\listoffigures}
\addcontentsfromlist{apx}{\listoftables}
\addcontentsfromlist{apx}{\lstlistoflistings}
\addcontentsline{apx}{chapter}{\TitleOfGlossary}
\addcontentsline{apx}{chapter}{\TitleOfStatementOfAuthorship}

My approach so far can be seen here.

\documentclass[a4paper,english]{scrreprt}
\usepackage[utf8]{inputenc}
\usepackage{scrhack}
\usepackage{babel}
\usepackage{blindtext}
\usepackage{tocbibind}
\usepackage{appendix}
\usepackage{listings}
\usepackage[numberedsection]{glossaries}

\AtBeginDocument{%
  \renewcommand{\listoffigures}{\begingroup%
    \let\clearpage\relax
    \tocsection
    \tocfile{\listfigurename}{lof}
  \endgroup}
  \renewcommand{\listoftables}{\begingroup%
    \let\clearpage\relax
    \tocsection
    \tocfile{\listtablename}{lot}
  \endgroup}
  \renewcommand{\lstlistoflistings}{\begingroup%
    \let\clearpage\relax
    \tocsection
    \tocfile{\lstlistlistingname}{lol}
  \endgroup}
}

\newglossaryentry{Application Programming Interface (API)}{
  name=Application Programming Interface (API),
  description={is an interface exposed by some piece of software so that other software can use this particular piece of software.}
}

\makeglossaries

\begin{document}

\tableofcontents % adds to itself (first entry called "Contents") - not wanted

\clearpage
\blindtext

\begin{figure}[t]
\centering
Some figure content.
\caption{Figure description.}
\end{figure}

\blindtext

\begin{table}[t]
\centering
\begin{tabular}{|l|l|l|}
\hline \\
\textbf{A} & \textbf{B} & \textbf{C} \\ \hline
some & tabular & data \\ \hline
\end{tabular}
\caption{Table description.}
\label{tables:table1}
\end{table}

\clearpage
\begin{appendices}
\renewcommand{\appendixtocname}{List of appendices}
\renewcommand{\lstlistlistingname}{List of source code listings}
\providecommand\StatementOfAuthorshipTitle{Statement of authorship}

\chapter*{\appendixtocname}
\addcontentsline{toc}{chapter}{\appendixtocname}
\listoffigures % adds to the table of content - not wanted
\listoftables % same
\lstlistoflistings % same
% how to add glossary & other artefacts here?

% actual contents follow the list of appendices
% each content group shall get its own heading, followed by their contents
% those headings must not appear in the table of contents, but have to appear in the list of appendices

\clearpage
\chapter*{\lstlistlistingname}
\begin{lstlisting}[language=c++,caption={The Hello-World-Example, in C++},captionpos=b,frame=single]
#include <iostream>

int main(int argc, char *argv[])
{
  std::cout << "Hello World!" << std::endl;
  return 0;
}
\end{lstlisting}

\glsaddall
\printglossaries

\clearpage
\chapter*{\StatementOfAuthorshipTitle}
inclusion of the statement document (PDF file)
%\includepdf[pages=-]{artefacts/statement.pdf}

\end{appendices}
\end{document}
1
  • Welcome to TeX.SX. Apparently you're using the tocloft package . Please add to your post what you have done so far, not just a few lines of code. Are the figures/tables etc just the one from other appendices or from the whole document? – user31729 Apr 1 '16 at 22:18
4

Using tocbibind and appendix and the packages for glossaries, listings this not really a problem.

Just redefine the relevant \listof... commands and use \tocsection command in conjunction with the \tocfile{\listofsomethingname}{ext}.

For glossaries, the numberedsection package option is sufficient.

\documentclass{article}

\usepackage{blindtext}
\usepackage{listings}
\usepackage{tocbibind}
\usepackage[page]{appendix}
\usepackage[numberedsection]{glossaries}

\AtBeginDocument{%
\renewcommand{\listoffigures}{\begingroup%
  \tocsection
  \tocfile{\listfigurename}{lof}
\endgroup}

\renewcommand{\listoftables}{\begingroup%
  \tocsection
  \tocfile{\listtablename}{lot}
\endgroup}


\renewcommand{\lstlistoflistings}{\begingroup%
  \tocsection
  \tocfile{\lstlistlistingname}{lol}
\endgroup}

}


\newglossaryentry{foo}{%
  name={Foo},
  description={A foobar}
}

\makeglossaries


\setglossarysection{section}

\begin{document}

\glsaddall

\section{My first section}

\begin{figure}
\caption{Dummy figure}
\end{figure}

\blindtext[5]
\begin{table}
\caption{Dummy table}
\end{table}


\section{Another section}

\begin{lstlisting}[language=C,caption={The Hello-World-Example}]
#include<stdio.h>

int main(int argc,char **argv)
{
  printf("Hello World!\n");
  return(0);
}
\end{lstlisting}

\clearpage
\begin{appendices}

\listoffigures

\listoftables

\lstlistoflistings

\printglossaries
\end{appendices}



\end{document}

enter image description here

4
  • This is getting close to it. I'm using the KOMA script class scrreprt for my document so I get page breaks after every use of \listof*. Also, no content shall be printed inside the list of appendices, but in the pages after the list. The TOC is also getting filled. And how would I go about listing other artefacts like the statement of authorship? I've updated my question to provide my current approach. – Advanium Apr 2 '16 at 0:23
  • @Advanium: You added no working code, actually, only a few lines. And about KOMA, well, I find that classes weird – user31729 Apr 2 '16 at 0:32
  • I actually provided a link at the bottom of the post. I'm sorry I didn't state that clearly. I've updated the post to also provide the latest code. – Advanium Apr 2 '16 at 0:38
  • nottoc as an option to tocbibind cures the ToC appearance of the ToC itself. And tocloft etc. do not really go well with KOMA. I fear, I can't help here (I've dropped KOMA support about two years ago) – user31729 Apr 2 '16 at 0:46

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.