\addcontentsline nicht definiert

Antwort erstellen


Diese Frage dient dazu, das automatisierte Versenden von Formularen durch Spam-Bots zu verhindern.
Smilies
:D :) :( :o :shock: :? 8) :lol: :-x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen:

BBCode ist eingeschaltet
[img] ist eingeschaltet
[flash] ist ausgeschaltet
[url] ist eingeschaltet
Smilies sind eingeschaltet

Die letzten Beiträge des Themas

Ich habe die Datenschutzerklärung gelesen und bin damit einverstanden.

   

Wenn du eine Datei oder mehrere Dateien anhängen möchtest, gib die Details unten ein.

Ansicht erweitern Die letzten Beiträge des Themas: \addcontentsline nicht definiert

von Gast » So 27. Mai 2018, 10:20

Wenn in Deiner .cls nur das steht, dann hast Du ganz andere Probleme: \normalsize ist nicht definiert, es gibt keinen Counter namens chapter, chaptermark ist unbekannt. Wenn das nicht Deine ganze Datei ist, dann solltest Du uns im Sinne eines Minimalbeispiel etwas mehr verraten.

Ulrike hat ja schon erklärt, dass \addcontentsline im LaTeX-Kern definiert ist, also eigentlich gar nicht undefiniert sein kann. Und sieht man sich die Fehlermeldung genauer an, sieht man, dass nicht \addcontentsline sondern \thepage undefiniert ist. Du müsstest in Deiner .cls-Datei irgendwo
\pagenumbering{arabic}
oder \pagenumbering{Roman} oder was immer Dein Herz begehrt haben, denn nur dann weiß TeX, wie es mit Seitenzahlen umgehen soll.

Die Definition von \chapter sieht teilweise recht abenteuerlich aus. Häufig müssen in TeX Zeilenenden mit % geschützt werden, um ungewollte Leerzeichen zu verhindern. Siehe https://texwelt.de/wissen/fragen/16/was ... der-zeilen Die Font-Encoding würde ich nicht mitten im Dokument einfach grundlos umstellen. Warum schreibst Du \fonseries{b} und nicht \bfseries? Warum nicht \huge (oder so) statt \fontsize{21pt}{21pt} (wo der Durchschuss wahrscheinlich zu klein ist, siehe z.B. https://texwelt.de/wissen/fragen/11577/ ... instellung bei TeXWelt)? Ferner kann das so definierte \chapter weder mit dem optionalen kurzen Kapitelnamen für das Inhaltsverzeichnis noch mit dem Stern für umnummerierte Ausgaben umgehen. Das mag für den Privatgebrauch alles egal sein, könnte aber problematisch werden, wenn andere die Klasse auch verwenden wollen und sie erwarten, dass diese Standardidiome funktionieren (und mit andere meine ich auch Dich in zwei Monaten).

Wer eine eigene Klasse schreiben möchte, sollte sich den [d]cslguide[/d] durchgelesen haben und für alle Fälle ruhig [d]source2e[/d] offen haben, um nachzuprüfen, was wie definiert ist. Es kommt natürlich immer auf das Level an, auf dem man seine eigene .cls bastelt. Wenn man einfach nur ein leichtes Kleid über eine Standardklasse, eine KOMA-Klasse oder memoir zieht, dann ist tiefe Kenntnis der Interna nicht notwendig, aber wenn man alles selbst machen möchte, dann sollte man schon etwas mehr über die Interna wissen. Es kann auch sinnvoll sein, denn Quellcode einer ähnlichen Klasse offen zu haben, um zu sehen, wie dort die Dinge definiert sind.

von TinTin82 » So 27. Mai 2018, 02:31

Hi Ulrike,

danke für die Info...

Okay, also die Fehlermeldung ist:
[1{d:/0000_Tools/02_Latech/00_TechLive/2018/texlive/texmf-var/fonts/map/pdftex/
updmap/pdftex.map}
! Undefined control sequence.
<write> ...entsline {section}{ Blablub }{\thepage
}}
l.34 \end{document}

?
Er kommt dann zustande wenn ich in meine class Datei
ein gekennzeichneten Eintrag mache:
%.............................
% Chapter       (Ebene 0)
% ............................
\newcommand\chapter[1]
{{                                          % Zwei Klammern (Gültigkeitsbereich
                                            % selectfont
    \refstepcounter{chapter}                % Chapter counter 
    \chaptermark{#1}                        % Textmarke setzen (siehe unten)
    %\addcontentsline{toc}{chapter}{ #1\hspace{4 mm}  \thechapter  }
    \addcontentsline{toc}{chapter}{ Blablub  } <======= Fehler wenn eingeüft
    \par
    \vspace{17 mm}
    \fontencoding{T1}
    \fontfamily{ppl}
    \fontseries{b}
    \fontshape{n}
    \fontsize{21 pt}{21 pt}
    \selectfont
    #1
    \hspace{5 mm}
    \thechapter
    \vspace{4 mm}
    \par
}}

von u_fischer » So 27. Mai 2018, 00:45

\addcontentsline wird im LaTeX-Kern definiert.

\addcontentsline nicht definiert

von TinTin82 » Sa 26. Mai 2018, 20:20

Hi,

ich schreibe mir gerade eine eigene Dokumentenklasse.

Jetzt würde ich gerne ein Inhaltsverzeichnis erstellen lassen.
Leider ist Latex aber der Befehl :

Code • Öffne in Overleaf


\addcontentsline{toc}{chapter}{ .... }



unbekannt. Wie kann ich denn \addcontentsline in meiner Dokumentenklasse verfügbar machen ??
Muss ich den Befehl komplett neu schreiben oder gibt es ein Interface ??


Viele Grüße,
TinTin

Nach oben