我有兩個問題,但我認為它們可能是相關的。 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}