ヘッダーの増分と \hrulefill の問題

ヘッダーの増分と \hrulefill の問題

2 つの問題がありますが、それらは関連しているのではないかと思います。以下は MWE です。LuaLaTeX を使用してコンパイルしています。

ここで問題が 2 つあります。まず、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。ドキュメントの最初のページで、著者は次のように述べています。「このような処理の難しさのため、文章は、内部で許可されます (自由に実験してください。ただし、自己責任で行ってください)。」 テキストを不均等な列に配置するには、テキストを複数回操作する必要があります。そのたびにカウンターが増分され、予期しない結果が生じます。誤った書式設定 (ルールの配置ミス) は、同じ複雑な処理から発生します。

両方の問題に対する答えは、次の 2 つの\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}

ここに画像の説明を入力してください

関連情報