Anzeige:
Ergebnis 1 bis 9 von 9

Thema: addtocontents-Eintrag ragt in den Seitenrand

  1. #1
    Registrierter Benutzer
    Registriert seit
    26.06.2008
    Beiträge
    23

    addtocontents-Eintrag ragt in den Seitenrand

    Ich habe meinem Inhaltsverzeichnis mit folgendem Befehl einen neuen (seitennummerlosen) Eintrag hinzugefügt:
    Code:
    \addtocontents{toc}{\centerline{\normalfont\scshape{%
    Eine eingefügte Zwischenüberschrift, die manchmal so lang ist,%
    dass sie über den Rand ragt}}\endgraf}
    Klappt prima, nur das längere Einträge nicht umgebrochen werden, sondern in den Seitenrand hineinragen. Ich will sie auch nicht manuell umbrechen (mal abgesehen davon, dass ich nicht weiß, wie das geht), sondern möchte, dass die Zeile so wie alle "normalen" Einträge automatisch umgebrochen wird, wenn sie zu lang ist. Hat jemand eine Idee?

    Hier noch das vollständige Listing:

    Code:
    \documentclass[a4paper,12pt]{book}
    \usepackage[utf8]{inputenc}
    
    \begin{document}
    \tableofcontents
    \chapter{blablabla}
    Hier kommt mein Text
    \chapter{blub}
    Noch mehr Text
    
    \addtocontents{toc}{\centerline{\normalfont\scshape{Eine eingefügte Zwischenüberschrift, die manchmal so lang ist, dass sie über den Rand ragt}}\endgraf}
    
    \section{Jetzt mal ne Section}
    Wieder ein bißchen Text.
    
    \section{Noch ne Section}
    Und so weier.
    \end{document}

  2. #2
    Registrierter Benutzer Avatar von Stefan_K
    Registriert seit
    05.04.2007
    Ort
    Hamburg
    Beiträge
    3.534

    Arrow \centering

    Hallo dielix,

    wenn du \centerline weglässt, wird automatisch umgebrochen. Statt \centerline kannst Du \centering verwenden:
    Code:
    \addtocontents{toc}{\protect\centering\normalfont\scshape{Text}\endgraf}
    Viele Grüße,

    Stefan

  3. #3
    Registrierter Benutzer
    Registriert seit
    26.06.2008
    Beiträge
    23
    Vielen Dank für die schnelle Antwort. Die Sache hat soweit zunächst erstmal geklappt, jedoch tritt nun ein blöder Effekt bei den Einträgen der Ebene \chapter (§ 1 ... ) auf. Bei diesen wird nun teilweise die erste Zeile eingerückt. Aber nicht immer. Ganz komisch. Zur Erläuterung habe ich zwei Bilder eingefügt.

    Meine manuell eingefügten Texte kommen im Inhaltsverzeichnis zwischen die Ebenen von \part und \chapter. Hat es vielleicht etwas mit
    Code:
    \endgraf
    zu tun? ich weiß gar nicht, wozu der Befehl da ist. Habe ihn gehirnlos irgendwo abgetippt.

    Übrigens: Die Einträge von \part (1. Teil ... ) habe ich nicht auf diese Weise eingefügt, auch wenn sie so aussehen. Das macht die Dokumentenklasse (jurabook) automatisch so.

    Besten Dank.




  4. #4
    Registrierter Benutzer Avatar von Stefan_K
    Registriert seit
    05.04.2007
    Ort
    Hamburg
    Beiträge
    3.534

    Arrow Gruppieren

    \endgraf erzeugt einen Absatzumbruch, in plain.tex und latex.ltx steht:
    Code:
    \let\endgraf=\par
    Bei mir tritt diese Einrückung nicht auf. Versuche geschweifte Klammern für die Begrenzung der Wirkung von \centering:
    Code:
    \addtocontents{toc}{{\protect\centering\normalfont\scshape Text\endgraf}}
    Wenn das noch nicht hilft, könntest Du \endgraph tatsächlich einmal durch \par ersetzen.

    Stefan

  5. #5
    Registrierter Benutzer
    Registriert seit
    26.06.2008
    Beiträge
    23
    Vielen Dank für die wertvolle Hilfe. Die zusätzlichen Klammern haben das Problem behoben.

    Übrigens: Sollen Beiträge hier - wie in anderen Foren üblich - auf [GELÖST] gesetzt werden?

    Bis zum nächsten mal herzliche Grüße von

    Dielix.

  6. #6
    Registrierter Benutzer
    Registriert seit
    26.06.2008
    Beiträge
    23

    Folgeproblem

    Leider hat sich beim Durchsehen noch ein kleines Folgeproblem ergeben. Ein bis zwei der manuell eingefügten Überschriften (Abschnitt ...) stehen als Schusterjungen als letzte Zeile auf einer Seite, sollten in diesen Fällen aber auf die nächste Seite rutschen. Zur Veranschaulichung:



    Bekommt man das hin?

  7. #7
    Registrierter Benutzer
    Registriert seit
    23.03.2006
    Ort
    Göppingen
    Beiträge
    1.004
    Zitat Zitat von dielix Beitrag anzeigen
    Leider hat sich beim Durchsehen noch ein kleines Folgeproblem ergeben. Ein bis zwei der manuell eingefügten Überschriften (Abschnitt ...) stehen als Schusterjungen als letzte Zeile auf einer Seite, sollten in diesen Fällen aber auf die nächste Seite rutschen. Zur Veranschaulichung:



    Bekommt man das hin?
    Füg deinem durch addcontents erstellten Eintrag zu Anfang ein \newpage hinzu, dann wird's auf die nächste Seite geschoben.

  8. #8
    Registrierter Benutzer
    Registriert seit
    26.06.2008
    Beiträge
    23
    Vielen Dank für den Tipp. An \newpage hatte ich auch schon gedacht. In Wirklichkeit ist die Sache aber komplizierter, weil ich für die ganze Zwischenüberschriftsgeschichte einen neuen Befehl definiert habe:
    Code:
    \newcommand{\abschnitt}[1]{
    		\cleardoublepage
    		\begin{center}
    			\large{\scshape #1}
    		\end{center}
    		\addtocontents{toc}{\vspace{0.4cm}}
    		\addtocontents{toc}{{\protect\centering\normalfont\scshape #1\endgraf}}
    		\addtocontents{ovw}{\vspace{0.4cm}}
    	        \addtocontents{ovw}{{\protect\centering\normalfont\scshape{#1}\endgraf}}}
    Wenn ich im Text eine neue Abschnittsüberschrift einfügen will, wähle ich
    Code:
    \abschnitt{Hier meine Abschnittsüberschrift}
    Ich hatte daran gedacht, dass man die Sache mit /newpage derart automatisieren kann, dass LaTeX weiß, wann es einen Umbruch einfügen soll und wann nicht. Ist wahrscheinlich nicht ganz so einfach zu realisieren. Kann ich in meinen Befehl eine Option einbauen um im Fall des Falles ein /newpage zu erzwingen?

  9. #9
    Registrierter Benutzer
    Registriert seit
    23.03.2006
    Ort
    Göppingen
    Beiträge
    1.004
    Zitat Zitat von dielix Beitrag anzeigen
    Vielen Dank für den Tipp. An \newpage hatte ich auch schon gedacht. In Wirklichkeit ist die Sache aber komplizierter, weil ich für die ganze Zwischenüberschriftsgeschichte einen neuen Befehl definiert habe:
    Code:
    \newcommand{\abschnitt}[1]{
    		\cleardoublepage
    		\begin{center}
    			\large{\scshape #1}
    		\end{center}
    		\addtocontents{toc}{\vspace{0.4cm}}
    		\addtocontents{toc}{{\protect\centering\normalfont\scshape #1\endgraf}}
    		\addtocontents{ovw}{\vspace{0.4cm}}
    	        \addtocontents{ovw}{{\protect\centering\normalfont\scshape{#1}\endgraf}}}
    Wenn ich im Text eine neue Abschnittsüberschrift einfügen will, wähle ich
    Code:
    \abschnitt{Hier meine Abschnittsüberschrift}
    Ich hatte daran gedacht, dass man die Sache mit /newpage derart automatisieren kann, dass LaTeX weiß, wann es einen Umbruch einfügen soll und wann nicht. Ist wahrscheinlich nicht ganz so einfach zu realisieren. Kann ich in meinen Befehl eine Option einbauen um im Fall des Falles ein /newpage zu erzwingen?
    Das müsste ja theoretisch mit einer If-Abfrage zu berwerkstelligen sein, aber damit hab ich noch nie was gemacht und kann dir daher nicht helfen.

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •