Inkrementierungs- und \hrulefill-Probleme in Headern

Inkrementierungs- und \hrulefill-Probleme in Headern

Ich habe zwei Probleme, aber ich denke, sie könnten zusammenhängen. MWE weiter unten. Ich kompiliere mit LuaLaTeX.

Hier gibt es zwei Probleme. Zunächst habe ich ein Zählermakro, das um 1 hochzählt. Wenn ich dieses Zählermakro in die Kopfzeile platziere, wird es um eine seltsame Zahl hochzählt. (Mein eigentliches Dokument wird um 3 hochzählt, aber sein MWE unten wird um 4 hochzählt. Ich habe keine Ahnung, warum.)

Zweitens verwende ich das vwcolPaket und habe einen \hrulefillBefehl, der über den Seitenrand hinauszulaufen scheint. Siehe Bild unten.

Ich vermute also, dass ich die Funktionsweise von Headern grundsätzlich nicht verstehe. Für jede Klarstellung wäre ich sehr dankbar.

\documentclass[10pt]{article}
\usepackage{lipsum}
\usepackage{vwcol}
\usepackage{geometry} % to change the page dimensions
    \geometry{a4paper} % or letterpaper (US) or a5paper or....
    \geometry{margin=1.0in}
\usepackage{fontspec}
    \setmainfont{Verdana}

\newcommand{\makeheader}[3]{
    \begin{vwcol}[widths={0.55,0.45}, sep=.8cm, justify=flush,rule=0pt] 
    \textbf{School} - \textbf{Stats 101}\\[0.01in]
    \textbf{#1}\\[0.01in]
    \textbf{#2}\\[0.01in]
    \\
    \textbf{Name \hrulefill}\\[0.01in]
    \textbf{Date \underline{#3} Block \hrulefill}\\[0.01in]
    \end{vwcol}
    \smallskip\hrule\bigskip 
}


\newcounter{wsnum}
\newcommand{\wscounter}{\stepcounter{wsnum}\#\thewsnum\,}
\newcounter{wsappliednum}
\newcommand{\wsappcounter}{\stepcounter{wsappliednum}\#\thewsappliednum\,}


\begin{document}
\makeheader{First Page}{Unit 1, Ch 1, WS \wscounter}{23-26 Aug 2019}
\wsappcounter \lipsum[1]

\newpage
\makeheader{Second Page}{Unit 1, Ch 2, WS \wscounter}{23-26 Aug 2019}
\wsappcounter\lipsum[2]


\newpage
\makeheader{Third Page}{Unit 1, Ch 3, WS \wscounter}{23-26 Aug 2019}
\wsappcounter\lipsum[3]

\end{document}

Minimales funktionierendes Beispielbild

Antwort1

Tatsächlich ist die Quelle beider Probleme vwcol. Auf der ersten Seite der Dokumentation stellt der Autor fest: „Aufgrund von Schwierigkeiten bei der Verarbeitung eines solchen Dings gibt es kaum etwas anderes alsTextist innerhalb erlaubt (experimentieren Sie ruhig, aber Sie sind auf sich allein gestellt).“ Um Text in ungleiche Spalten zu bekommen, muss der Text mehrmals bearbeitet werden – jedes Mal wird der Zähler hochgezählt, was zu unerwarteten Ergebnissen führt. Die fehlerhafte Formatierung (falsch platzierte Regeln) ergibt sich aus derselben komplexen Verarbeitung.

Die Antwort auf beide Probleme besteht in der Verwendung von zwei \parboxKonstruktionen:

\documentclass[10pt]{article}
\usepackage{lipsum}
\usepackage{vwcol}
\usepackage{geometry} % to change the page dimensions
    \geometry{a4paper} % or letterpaper (US) or a5paper or....
    \geometry{margin=1.0in}
\usepackage{fontspec}
    %\setmainfont{Verdana}

\newcommand{\makeheader}[3]{%
    \noindent
    \parbox{0.55\textwidth}{%
    \textbf{School} - \textbf{Stats 101}\\[0.01in]
    \textbf{#1}\\[0.01in]
    \textbf{#2}\\[0.01in]
    }%
    \parbox{0.45\textwidth}
    {\textbf{Name \hrulefill}\\[0.01in]
    \textbf{Date \underline{#3} Block \hrulefill}\\[0.01in]
    \smallskip}
    \hrule
    \bigskip
}


\newcounter{wsnum}
\newcommand{\wscounter}{\stepcounter{wsnum}\#\thewsnum\,}
\newcounter{wsappliednum}
\newcommand{\wsappcounter}{\stepcounter{wsappliednum}\#\thewsappliednum\,}


\begin{document}
\makeheader{First Page}{Unit 1, Ch 1, WS \wscounter}{23-26 Aug 2019}
\wsappcounter \lipsum[1]

\newpage
\makeheader{Second Page}{Unit 1, Ch 2, WS \wscounter}{23-26 Aug 2019}
\wsappcounter\lipsum[2]


\newpage
\makeheader{Third Page}{Unit 1, Ch 3, WS \wscounter}{23-26 Aug 2019}
\wsappcounter\lipsum[3]

\end{document}

Bildbeschreibung hier eingebenBildbeschreibung hier eingeben Bildbeschreibung hier eingeben

Antwort2

Vielleicht wäre ein automatischer Header praktischer?

\documentclass[10pt]{article}
\usepackage{lipsum}
\usepackage{vwcol}
\usepackage{geometry} % to change the page dimensions
    \geometry{a4paper} % or letterpaper (US) or a5paper or....
    \geometry{margin=1.0in}
\usepackage{fontspec}
    \setmainfont{Verdana}

\newcommand{\makeheader}[3]{%
    \stepcounter{wsnum}
    \def\mypage{#1}
    \def\myunit{#2 \#\thewsnum}
    \def\mydate{#3}
}


\newcounter{wsnum}
\newcommand{\wscounter}{\stepcounter{wsnum}\#\thewsnum}

\usepackage{fancyhdr}

\pagestyle{fancy}
\fancyhead{
    \begin{minipage}[t]{.5\textwidth}%
        \textbf{School} - \textbf{Stats 101}\\[0.01in]
        \textbf{\mypage}\\[0.01in]
        \textbf{\myunit}
    \end{minipage}%
    \begin{minipage}[t]{.5\textwidth}% 
        \textbf{Name }\hrulefill\\[0.01in]
    \textbf{Date }\underline{\mydate} \textbf{Block }\hrulefill\\[0.01in]
    \mbox{}\\
  \end{minipage}%
}

\setlength{\headheight}{2.5cm}

\begin{document}

\makeheader{First Page}{Unit 1, Ch 1, WS}{23-26 Aug 2019}
\noindent\lipsum[1]

\newpage
\makeheader{Second Page}{Unit 1, Ch 2, WS}{23-26 Aug 2019}
\noindent\lipsum[2]

\newpage
\makeheader{Third Page}{Unit 1, Ch 3, WS}{23-26 Aug 2019}
\noindent\lipsum[3]

\end{document}

Bildbeschreibung hier eingeben

verwandte Informationen