헤더의 증분 및 \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}

여기에 이미지 설명을 입력하세요

관련 정보