Sie sind hier

Tabelle in selbstdefinierter Kopfzeile ist horizontal verschoben

Hallo zusammen,

ich verwende KOMA-Script v3.04a (Dokumentenklasse scrartcl sowie Paket scrpage2). Für ein technisches Dokument möchte ich die Kopfzeile mit einer Tabelle strukturieren, die die volle Breite des Satzspiegels einnimmt.

Nun ist mit aufgefallen, dass bei Verwendung von \deftripstyle oder \newpagestyle der Inhalt der Kopfzeile gegenüber dem Satzspiegel horizontal verschoben und auch die Höhe der Kopfzeile unkorrekt ist. Dies lässt sich leicht erkennen, wenn man sowohl die horizontalen Tabellenlinien als auch die beiden Linien der Kopfzeile aktiviert.

Bei einer Anpassung der vordefinierten Seitenstile scrheadings oder scrplain mittels \chead sieht alles gut aus: Es gibt keine Verschiebung der Tabelle bzw. ihres Inhalts gegenüber dem Satzspiegel und auch die Höhe der Kopfzeile stimmt.

Eine Anpassung der vordefinierte Seitenstile ist für mich jedoch keine Option, da ich in Zukunft viele Seitenstile verwalten will.

Beispiel 1) Hier funktioniert alles wie gewünscht:

\documentclass[headheight=20mm,headinclude=true]{scrartcl}
\usepackage[ngerman]{babel}
\usepackage{blindtext}
\usepackage[headtopline,headsepline]{scrpage2}
 
\chead
{
  \begin{tabular*}{\textwidth}
    {
      @{}p{0.2\textwidth}@{}
      @{}p{0.2\textwidth}@{}
      @{}p{0.2\textwidth}@{}
      @{}p{0.2\textwidth}@{}
      @{}p{0.2\textwidth}@{}
    }
    \hline
    1 & 2 & 3 & 4 & 5 \\
    \hline
  \end{tabular*}
}
 
\pagestyle{scrheadings}
 
\begin{document}
\blinddocument
\end{document}

Beispiel 2) Hier ist der Kopfzeileninhalt gegenüber dem Satzspiegel verschoben:

\documentclass[headheight=20mm,headinclude=true]{scrartcl}
\usepackage[ngerman]{babel}
\usepackage{blindtext}
\usepackage[headtopline,headsepline]{scrpage2}
 
\deftripstyle{mystyle}
             [.4pt]
             [.4pt]
             {
               \begin{tabular*}{\textwidth}
                 {
                   @{}p{0.2\textwidth}@{}
                   @{}p{0.2\textwidth}@{}
                   @{}p{0.2\textwidth}@{}
                   @{}p{0.2\textwidth}@{}
                   @{}p{0.2\textwidth}@{}
                 }
                 \hline
                 1 & 2 & 3 & 4 & 5 \\
                 \hline
               \end{tabular*}
             }
             {} {} {} {} {}
 
\pagestyle{mystyle}
 
\begin{document}
\blinddocument
\end{document}

Wer weiß Rat?

0xfb

Du erhältst in beiden Fällen dasselbe Ergebnis, wenn du mittels %-Zeichen sicherstellst, dass die Leerzeichen vor bzw. hinter der Tabelle ignoriert werden. Automatisch ignoriert werden Leerzeichen nur unmittelbar nach Kontrollsequenzen.

Beispiel 1:

\chead
{%
  \begin{tabular*}{\textwidth}
    ...
  \end{tabular*}%
} 

Beispiel 2:

\deftripstyle{mystyle}
             [.4pt]
             [.4pt]
             {%
               \begin{tabular*}{\textwidth}
                 ...
               \end{tabular*}%
             }
             {} {} {} {} {}

Beachte, dass die Option headheight nur zur Berechnung des Satzspiegels herangezogen wird. Du musst natürlich bei der Seitenstildefinition selbst dafür sorgen, dass der Kopf die richtige Höhe hat. Eine Möglichkeit wäre:

{%
  \begin{minipage}[c][20mm]{\textwidth}
    \begin{tabular*}{\textwidth}
      ...
    \end{tabular*}
  \end{minipage}%
}

MfG, Michael

Hallo Michael,

funktioniert prima. Danke für die schnelle Antwort.

Frank

Bild von Markus Kohm

Zum Thema Leerzeichen gibt es übrigens einen eigenen FAQ-Eintrag.

Comments for "Tabelle in selbstdefinierter Kopfzeile ist horizontal verschoben" abonnieren