У меня две проблемы, но я думаю, что они могут быть связаны. 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}