標頭中的遞增和 \hrulefill 問題

標頭中的遞增和 \hrulefill 問題

我有兩個問題,但我認為它們可能是相關的。 MWE如下。我正在使用 LuaLaTeX 進行編譯。

這裡有兩個問題。首先,我有一個遞增 1 的計數器巨集。 (我的實際文件增加了 3,但他下面的 MWE 增加了 4。我不知道為什麼。)

其次,我正在使用該vwcol包,並且有一個\hrulefill命令似乎超出了頁面邊緣。見下圖。

所以從根本上來說,我認為我對標頭的工作原理存在根本性的誤解。任何澄清將不勝感激。

\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}

最小工作範例影像

答案1

其實,這兩個問題的根源都是vwcol。在文件的第一頁,作者指出:「由於處理這樣的事情很困難,除了文字是允許的(隨意嘗試,但你得靠自己)。為了將文字放入不相等的列中,必須對文字進行多次操作 - 每次計數器都會遞增,從而產生意想不到的結果。錯誤的格式(錯誤的規則)是由相同的複雜處理引起的。

這兩個問題的答案是使用兩種\parbox結構:

\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}

在此輸入影像描述在此輸入影像描述 在此輸入影像描述

答案2

也許自動標題會更實用?

\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}

在此輸入影像描述

相關內容