Seite 1 von 1

tocbasic Verzeichnis für Nicht-Gleitumgebungen

Verfasst: Mi 5. Mär 2014, 10:07
von Schlumpf
Ich möchte mit tocbasic ein Todo-Verzeichnis erstellen. Es gibt genug Beispiele die eine Erstellung von Verzeichnissen für Umgebungen beschreiben. Ich bräuchte aber ein Verzeichnis für mein neu definiertes Kommando
\todo{bla}
Was muss ich tun, um ein Verzeichnis für Nicht-Umgebungen anzulegen?

Verfasst: Mi 5. Mär 2014, 10:52
von Noch so einer
Wenn ich die Anleitung des Paket richtig verstehe:
\addtotoclist[todo]{DATEIENDUNG}
\newcommand*{\listofDATEIENDUNGname}{Verzeichnis der TODOs}
\newcomand*{\l@todo}{\l@figure}
Danach kannst Du mit
\addxcontentsline{DATEIENDUNG}{todo}[NUMMER]{Text}
Einträge in das Verzeichnis schreiben. Für nicht nummerierte Einträge lässt Du "[NUMMER]" (also einschl. eckige Klammern) einfach weg. Es ist natürlich sinnvoll DATEIENDUNG durch eine echte Endung, beispielsweise "tod" zu ersetzen. Wenn Du bei \addtotoclist als Besitzer float statt todo angibst, werden wohl die listof-Einstellungen der KOMA-Script-Klassen auch für Dein Verzeichnis verwendet.

Nähere zu den Anweisungen ist Abschnitt 15.2 der KOMA-Script-Anleitung zu entnehmen. Im Abschnitt 15.4 wird gezeigt, wie man das anwendet.

Noch einfacher geht es vermutlich mit \DeclareNewTOC:
\documentclass{article}
\usepackage{tocbasic}
\DeclareNewTOC[%
  type=todo,% bestimmt u. a. \listoftodos und zweites Argument von \addxcontentsline
  listname={Verzeichnis der TODOs}% Titel des Verzeichnisses
]{tod}
\usepackage{blindtext}
\begin{document}
\listoftodos
\blinddocument
\addxcontentsline{tod}{todo}{Ein Eintrag}
\end{document}
Ein Zähler für die todo-Einträge wird in diesem Fall nicht angelegt. Den gibt es nur, wenn Option float oder nonfloat verwendet wird. Wenn Du die todo-Einträge nummerieren willst,musst Du also ggf. selbst einen Zähler mit \newcounter anlegen.

Zu \DeclareNewTOC siehe Abschnitt 15.5 der KOMA-Script-Anleitung.

Verfasst: Mi 5. Mär 2014, 12:00
von Schlumpf
Vielen Dank!
Es funktioniert jetzt.
\newcounter{todocounter}

\DeclareNewTOC[
  owner=float,
  type=todo,
  listname={Verzeichnis der TODOs}
]{todo}

\newcommand{\todo}[1]{
	{\color{red}\emph{#1}}
	\stepcounter{todocounter}
	\addxcontentsline{todo}{todo}{\thetodocounter.~#1}
}

Verfasst: Mi 5. Mär 2014, 12:48
von Noch so einer
Schlumpf hat geschrieben:
\newcommand{\todo}[1]{
	{\color{red}\emph{#1}}
	\stepcounter{todocounter}
	\addxcontentsline{todo}{todo}{\thetodocounter.~#1}
}
Für Einträge mit Nummer solltest Du das optionale Argument von \addxcontentsline verwenden:
\newcommand{\todo}[1]{%
	{\color{red}\emph{#1}}%
	\stepcounter{todocounter}%
	\addxcontentsline{todo}{todo}[\thetodocounter.]{#1}%
}
Außerdem solltest Du eventuell vorsorglich auf Leerzeichen durch nicht auskommentierte Zeilenenden achten.

Verfasst: Mi 5. Mär 2014, 17:07
von Johannes_B
Vielleicht bist du auch am Paket todonotes interessiert