Anzeige:
Ergebnis 1 bis 4 von 4

Thema: Seitenumbruch nach marginpar verhindern

  1. #1
    cbuilder
    Gast

    Seitenumbruch nach marginpar verhindern

    Ich versuche gerade, per \nopagebreak[4] zu verhindern, dass LaTeX nach einem \marginpar einen Seitenumbruch produziert.

    So sehen meine Makros aus:
    Code:
    \newcommand{\chapter@after}{}
    
    \let\chapter@old\chapter
    \newcommand{\chapter@my}[1]{\chapter@old{#1} \chapter@after \renewcommand{\chapter@after}{}}
    \newcommand{\chapter@mystar}[1]{\chapter@old*{#1} \chapter@after \renewcommand{\chapter@after}{}}
    \renewcommand{\chapter}{\@ifstar \chapter@mystar \chapter@my}
    
    \newcommand{\marginnote}[1]{\marginpar{\raggedright
      #1\par}}
    \newcommand{\lecture@title}[1]{
      \phantomsection
      \addcontentsline{lec}{lectures}{#1}
      \marginnote{\sffamily\footnotesize\color{blue} Vorlesung #1}
    }
    
    \newcommand{\lecture@after}[1]{\renewcommand{\chapter@after}{\lecture@title{#1}}}
    
    \newcommand{\lecture}[1]{
      \@ifnextchar\chapter
        {\lecture@after{#1}}
        {\lecture@title{#1}\nopagebreak[4]}
    }
    (\chapter habe ich umdefiniert, damit der marginpar erst danach erscheint)

    Am Anfang jeder LaTeX-Datei steht grundsätzlich \lecture{...}, dann geht der eigentliche Text los. Gibt es eine Möglichkeit, den Seitenumbruch ganz zu verhindern?

  2. #2
    Registrierter Benutzer
    Registriert seit
    19.05.2009
    Beiträge
    4.045
    \marginpar ist eine Float, eine Gleitumgebung, und provoziert eigentlich keine Seitenumbrüche. Abgesehen von sieht dein Code ziemlich wirr aus. Was z.B. soll das \@ifnextchar\chapter?

  3. #3
    cbuilder
    Gast
    Jede einzelne Datei beginnt mit \lecture{...}. Danach folgt i. d. R. eine Gliederungseinheit, z. B. section. Manchmal folgt aber chapter, welcher einen Seitenumbruch durchführt. Dann hätte man den \marginpar auf der vorherigen Seite, dann Seitenumbruch, dann die Kapitel-Überschrift. Also habe ich \chapter dahingehend umdefiniert, dass der \marginpar danach ausgegeben wird, wenn direkt vorher \lecture steht. Andernfalls soll der \marginpar dort ausgegeben werden, wo \lecture notiert wurde.

  4. #4
    cbuilder
    Gast
    Problem ist jetzt gelöst. Nach ewigem Probieren habe ich herausgefunden, dass \pagebreak[3] in Kombination mit \nopagebreak das gewünschte liefert.

Lesezeichen

Berechtigungen

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