PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Eigene Documentclass, Probleme mit Inhaltsverzeichnis



rebecca2525
19-11-2007, 13:27
Hallo zusammen!

Ich versuche gerade, eine LaTeX Document Class an meine Beduerfnisse anzupassen. Dabei habe ich ein Problem mit dem Inhaltsverzeichnis. Ich nehme z.B. article.cls als Ausgangspunkt, da ist tableofcontents wie folgt definiert:

\newcommand\tableofcontents{%
\section*{\contentsname
\@mkboth{%
\MakeUppercase\contentsname}{\MakeUppercase\conten tsname}}%
\@starttoc{toc}%
}


Ich kann die Ueberschrift fuer das Inhaltsverzeichnis auch rausnehmen, kein Problem:

\newcommand\tableofcontents{%
\@starttoc{toc}%
}

Das hier geht auch:

\newcommand\tableofcontents{%
\section*{bla}
\@starttoc{toc}%
}


Wenn ich allerdings stattdessen per Hand was anderes ohne section einfuege, gibt's eine Fehlermeldung:

\newcommand\tableofcontents{%
Inhalt
\@starttoc{toc}%
}


! LaTeX Error: Something's wrong--perhaps a missing \item.

Ich habe mal versucht, an der Stelle Stueck fuer Stueck die enstprechenden TeX-Makros fuer eine section* nachzubauen, aber den Fehler habe ich nicht wegbekommen. Weiss jemand, wo das Problem liegt? Es tritt auf beim ersten Section-Eintrag beim Rendern des Inhaltsverzeichnisses. Der Eintrag ist dann ein wenig deplaziert, die nachfolgenden Eintraege machen keine Probleme mehr und werden korrekt dargestellt.

Leider habe ich keine vernuenftige Dokumentation zu den LaTeX-Interna und zum Schreiben eigener Klassen gefunden. Die ganzen LaTeX-Quellen sind ueberhaupt nicht dokumentiert und die Fehlermeldungen teilweise alles andere als hilfreich... :mad:

bischi
19-11-2007, 18:29
Ich denke nur mal laut nach: Anstatt selbst eine eigene Klasse zu schreiben, würde ich persönlich KOMA-Script verwenden und mit den Bordmitteln und noch etwas speziellen Zusatzpaketen mein Dokument erstellen. So sollte eigentlich nahezu alles erreichbar sein und man erspart sich viel Zeit und Kompatibilitätsprobleme mit anderen Paketen.

MfG Bischi

PS: Eventuell helfen auch die untersten beiden Links... Ich würde allerdings eher davon abraten... http://homepage.sunrise.ch/mysunrise/dominikbischoff/latex_dokus.html

sommerfee
19-11-2007, 19:36
Wenn ich allerdings stattdessen per Hand was anderes ohne section einfuege, gibt's eine Fehlermeldung:

Der Bug ist mehr-oder-weniger dokumentiert, siehe http://www.latex-project.org/cgi-bin/ltxbugs2html?pr=latex/1354 Eine Möglichkeit zur Abhilfe ist dort ebenso zu finden.



Leider habe ich keine vernuenftige Dokumentation zu den LaTeX-Interna und zum Schreiben eigener Klassen gefunden.


Da gibt es einiges, z.B.:

- "LaTeX2e for class and package writers" vom LaTeX3-Team (clsguide.dvi/pdf, sollte in jeder TeX-Distribution zu finden sein)

- Im Buch "Der LaTeX-Begleiter" steht (natürlich) so einiges darüber drin.

- http://www.tug.org/pracjourn/2006-4/flynn/flynn.pdf

- http://www.tex.ac.uk/cgi-bin/texfaq2html?label=writecls

...und vieles mehr.



Die ganzen LaTeX-Quellen sind ueberhaupt nicht dokumentiert

Die sind doch sogar sehr gut dokumentiert! :confused:

Jede dtx-Datei von LaTeX kann man übersetzen und man enthält eine Codedokumentation. Das ganze ist auch komplett als source2e.pdf zu bekommen, Heiko Oberdiek hat davon sogar mal eine Version mit hyperlinks etc. erstellt. (Ist auf CTAN zu finden, einfach mal unter www.dante.de "Suchen auf CTAN" anwählen und "source2e" eingeben.) Und dann gibt es für Klassen noch dies hier: http://tug.org/TUGboat/Articles/tb28-1/tb88flynn.pdf (An annotated version of article)



und die Fehlermeldungen teilweise alles andere als hilfreich... :mad:

Diese hier im speziellen schon, das stimmt. Ansonsten ist im LaTeX-Begleiter auch ein ganzes Kapitel über Fehler, deren Interpretation etc. zu finden.

Gruß,
Axel

rebecca2525
20-11-2007, 12:08
Der Bug ist mehr-oder-weniger dokumentiert, siehe http://www.latex-project.org/cgi-bin/ltxbugs2html?pr=latex/1354 Eine Möglichkeit zur Abhilfe ist dort ebenso zu finden.
Cool, danke. Das werde ich mir morgen mal in Ruhe zu Gemuete fuehren, mal sehen, was dabei herauskommt.




- http://www.tug.org/pracjourn/2006-4/flynn/flynn.pdf


Genial, das habe ich irgendwie nicht gefunden!


Anstatt selbst eine eigene Klasse zu schreiben, würde ich persönlich KOMA-Script verwenden und mit den Bordmitteln und noch etwas speziellen Zusatzpaketen mein Dokument erstellen. So sollte eigentlich nahezu alles erreichbar sein und man erspart sich viel Zeit und Kompatibilitätsprobleme mit anderen Paketen.
Erstens will ich das Layout schon sehr stark umkrempeln. Zweitens finde ich es auch mal ganz interessant, ein wenig hinter die Kulissen von LaTeX zu schauen, dabei habe ich schon einiges gelernt. Momentan ist es eher eine Spielerei, bei der ich mal ein wenig ausprobieren moechte und wo am Ende nicht unbedingt ein Ergebnis herauskommen muss.