Seitenzahlen/Kapitel mit Vertikalen Linien

Layout von Seiten, Rändern, Fusszeilen, usw, modifizieren


Venezia

Seitenzahlen/Kapitel mit Vertikalen Linien

Beitrag von Venezia »

Hallo,

ich bin grade (wie so viele hier) in der Endphase meiner Thesis und würde jetzt gern das Layout ansprechend gestalten. Ich nutze ein einseitiges scrreprt als Basis.
Ich würde gerne meine Seitenzahlen und Kapitel so aussehen lassen, wie hier gezeigt: http://www.kfiles.de/latex.php#Seitenlayout, also mit einem vertikalen Strich vor der Zahl. Der auf der Seite angegebene Codefunktioniert bei mir leider nicht (ich denke, es liegt daran dass das Beispiel zweiseitig ausgelegt ist und ich nur einseitig schreibe) und ich werde auch nicht wirklich schlau daraus.

Ich hab mir schon die Koma-Script Dokumentation durchgelesen, das was ich brauche steht aber nicht drin, es wird wohl im obigen Beispiel irgendwie mit boxes gemacht(?). :oops:

Dass die Kapitel so angezeigt werden, ist mir nicht so wichtig (wäre schön aber kein Muss - die Thesis ist recht kurz), aber die Seitenzahl würde ich gerne so hinkriegen - wenn mir jemand helfen könnte würde ich mich sehr freuen :)

Liebe Grüße

esdd
Forum-Meister
Forum-Meister
Beiträge: 2561
Registriert: So 7. Feb 2010, 16:36

Beitrag von esdd »

Crosspost auf tex.stackexchange: Pagenumbers / Headers with vertical lines style

Noch so einer

Beitrag von Noch so einer »

So ähnliche Definitionen findet man häufiger im Internet, meist aber mit dem inzwischen veralteten scrpage2. Daher hier ein Beispiel mit scrlayer-scrpage, das speziell für einseitige Dokumente gedacht ist:
\documentclass{scrreprt}
\usepackage{mwe}
\usepackage[automark,
  headwidth=textwithmarginpar,
  footwidth=textwithmarginpar]{scrlayer-scrpage}
\clearpairofpagestyles
\renewcommand*{\chaptermark}[1]{%
  \markright{%
    #1% Text
    \hspace{\marginparsep}% Abstand
    \makebox[\marginparwidth][l]{%
      \rule[-\dp\strutbox]{2pt}{\baselineskip}% Linie
      \enskip% Abstand
      \chaptermarkformat% Kapitelnummer
    }%
  }%
}
\renewcommand*{\sectionmark}[1]{%
  \markright{%
    #1%Text
    \hspace{\marginparsep}% Abstand
    \makebox[\marginparwidth][l]{%
      \rule[-\dp\strutbox]{2pt}{\baselineskip}% Linie
      \enskip% Abstand
      \sectionmarkformat% Abschnittsnummer
    }%
  }%
}
\ohead{\headmark}
\ofoot*{%
  \hspace{\marginparsep}%
  \makebox[\marginparwidth][l]{%
    \raisebox{0pt}[\ht\strutbox][\dp\strutbox]{%
      \rule[-\dp\strutbox]{2pt}{2\baselineskip}%
    }%
    \enskip
    \pagemark
  }%
}
\begin{document}
\Blinddocument
\end{document}
Für doppelseitige Dokumente wäre es ein wenig aufwändiger, weil man dann nach linken und rechten Seiten unterscheiden müsste. Das Paket scrlayer-scrpage ist in der KOMA-Script-Anleitung und im KOMA-Script-Buch dokumentiert. Für \ofoot* benötigt man min. KOMA-Script 3.14, was kein Problem sein sollte, da inzwischen sowohl für TeX-Live als auch MiKTeX Version 3.19a verfügbar ist. Lediglich der Online-Editor kann das noch nicht.

Für das Posten der Lösung auf TSX und in allen anderen Foren, in den Du die Frage ebenfalls gestellt hast, mache ich Dich verantwortlich!

Venezia

Beitrag von Venezia »

WAHNSINN! Das funktioniert perfekt, vielen vielen Dank! :D
Wenn ich nicht mehr zeitlich so unter Druck stehe, will ich mich auf jedenfall noch etwas tiefergehend mit Latex beschäftigen - hab es echt liebgewonnen, besonders für Formeln ist es einfach unschlagbar.

Danke nochmal *freu*

Benutzeravatar
Johannes_B
Moderator
Moderator
Beiträge: 5079
Registriert: Do 1. Nov 2012, 14:55
Kontaktdaten:

Beitrag von Johannes_B »

@esdd, fügst du auf TeX.SX die Antwort hinzu?
TeXwelt - Fragen und Antworten Schaut vorbei und stellt Fragen.
LaTeX-Vorlagen?

Der Weg zum Ziel: Ruhe bewahren und durchatmen, Beiträge und unterstützende Links aufmerksam lesen, Lösungsansätze verstehen und ggf. nachfragen.

Besserwisser

Beitrag von Besserwisser »

Johannes_B hat geschrieben:@esdd, fügst du auf TeX.SX die Antwort hinzu?
Dafür ist ja wohl Arelia/Venezia zuständig …

esdd
Forum-Meister
Forum-Meister
Beiträge: 2561
Registriert: So 7. Feb 2010, 16:36

Beitrag von esdd »

Ich habe dort basierend auf dem Vorschlag von Noch so einer eine etwas andere Variante eingefügt, bei der bei Verwendung von \addchap bzw. \addsec der Strich und vor allem die Nummer weggelassen werden und beim Inhaltsverzeichnis der Kopfzeileneintrag nicht nach außen rutscht:
\documentclass{scrbook} 
\usepackage{blindtext}
\usepackage{microtype}
\usepackage[automark]{scrlayer-scrpage} 
\clearpairofpagestyles 
\renewcommand*{\chaptermark}[1]{% 
   \markboth{% 
     \makebox[0pt][r]{%
       \ifnumbered{chapter}{%
         \chaptermarkformat% Kapitelnummer 
         \enskip% Abstand 
         \rule[-\dp\strutbox]{2pt}{\baselineskip}% Linie 
         \hspace*{\marginparsep}% Abstand
       }{}%
     }% 
     #1% Text 
   }{%
      #1%Text 
     \makebox[0pt][l]{%
       \hspace*{\marginparsep}% Abstand 
       \ifnumbered{chapter}{%
         \rule[-\dp\strutbox]{2pt}{\baselineskip}% Linie 
         \enskip% Abstand 
         \chaptermarkformat% Kapitelnummer
       }{}%
     }% 
   }% 
} 
\renewcommand*{\sectionmark}[1]{% 
   \markright{% 
     #1%Text 
     \makebox[0pt][l]{% 
       \ifnumbered{section}{%
         \hspace{\marginparsep}% Abstand 
         \rule[-\dp\strutbox]{2pt}{\baselineskip}% Linie 
         \enskip% Abstand 
         \sectionmarkformat% Abschnittsnummer 
       }{}%
     }% 
   }% 
} 
\ohead{\headmark} 
\rofoot*{% 
   \makebox[0pt][l]{%
     \hspace{\marginparsep}%  
     \raisebox{0pt}[\ht\strutbox][\dp\strutbox]{% 
       \rule[-\dp\strutbox]{2pt}{2\baselineskip}% 
     }% 
     \enskip 
     \pagemark 
   }% 
}
\lefoot*{% 
   \makebox[0pt][r]{% 
     \pagemark 
     \enskip
     \raisebox{0pt}[\ht\strutbox][\dp\strutbox]{% 
       \rule[-\dp\strutbox]{2pt}{2\baselineskip}% 
     }% 
     \hspace{\marginparsep}%
   }% 
}
\addtokomafont{pagehead}{\upshape}
\begin{document} 
\tableofcontents
\Blinddocument\Blinddocument\Blinddocument\Blinddocument\Blinddocument
\addchap{Unnumbered Chapter}
\addsec{Unnumbered Section}
\Blindtext[10]
\end{document}
Gruß
Elke

Venezia

Beitrag von Venezia »

Besserwisser hat geschrieben:
Johannes_B hat geschrieben:@esdd, fügst du auf TeX.SX die Antwort hinzu?
Dafür ist ja wohl Arelia/Venezia zuständig …
Ich bin nicht Arelia - Mein Englisch ist leider ziemlich miserabel, deswegen hab ich ja lieber hier gefragt - ich nehme an, das ist ein Kommilitone(in?) von mir, wir haben uns am Stammtisch über die Layouts unterhalten und ich hab rumgefragt, ob jemand weiß, wie es klappt, und da hat dann wohl jemand auch nachgefragt. Die Zahlen so sind wirklich ziemlich schön.

@esdd
Viele Dank für deine Mühe! Das mit dem Inhaltsverzeichnis ist mir auch aufgefallen (also, dass es nach rechts in den Rand rutscht), ich hab's dann aber einfach mit \thispagestyle{plain} weggekriegt :)

Flatsche
Forum-Anfänger
Forum-Anfänger
Beiträge: 22
Registriert: Di 2. Jun 2020, 15:13

Re: Seitenzahlen/Kapitel mit Vertikalen Linien

Beitrag von Flatsche »

Ich weiß, das Thema ist ein wenig älter, dennoch stellt sich mir eine Frage: Könntet Ihr mit verraten, wie es hinbekommen kann, dass die obere vertikale Linie länger wird, sodass diese wie in dem LaTeX Buch von Joachim Schlosser sogar ein wenig über den Haupttext hinausragt?

Außerdem ist mir aufgefallen, dass in meinem Abkürzungsverzeichnis in der Kopfzeile "Inhaltsverzeichnis" steht. Ohne vertikale Linie. Woran könnte das liegen? Das Abk.verzeichnis habe ich mit \chapter*{} eingebunden. :)

Viele Grüße
Flatsche

esdd
Forum-Meister
Forum-Meister
Beiträge: 2561
Registriert: So 7. Feb 2010, 16:36

Re: Seitenzahlen/Kapitel mit Vertikalen Linien

Beitrag von esdd »

Du brauchst doch nur die Argumente von \rule entsprechend deiner Wünsche anzupassen. Das optionale Argument gibt die vertikale Verschiebung an, das erste Pflichtargument die Breite und das letzte Argument die Länge/Gesamthöhe der Linie.

Wenn Du eine KOMA-Script Klasse nutzt, dann ersetze \chapter* durch `\addchap. Du erhälst dann allerdings auch einen Eintrag ins Inhaltsverzeichnis. Wenn Du den verhindern möchtest oder eine andere Klasse verwendest, dann stelle eine neue Frage einschließlich Minimalbeispiel.

Antworten