페이지 상단에 헤더 상단을 정확하게 정렬하는 방법은 무엇입니까?

페이지 상단에 헤더 상단을 정확하게 정렬하는 방법은 무엇입니까?

내 작업은 선택적 높이로 헤더를 (자동으로) 렌더링하는 것입니다. 그래서 논리를 이해할 수 없습니다. 헤더 높이는 어떻게 작동합니까?

내 헤더에는 내가 넣은 것과 parbox동일 하므로 높이가 128이면 다음 그림이 표시됩니다.heightheadheight

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

그리고 키가 32일 때 나는

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

그래서 내 질문은: 머리글 상단을 페이지 상단에 정확하게 정렬하는 방법은 무엇입니까?

\documentclass{book}
\usepackage{fancybox,fancyhdr}
\usepackage[T1]{fontenc}
\usepackage[dvipsnames]{xcolor}
\usepackage{fixltx2e}
\usepackage[left=72pt,right=72pt,
    headheight=124pt,
    voffset = 0pt,
    textheight =540pt
    ]{geometry}
\usepackage{array}
\usepackage{showframe}
\fancyhf{}\fancyhead[C]{ \noindent\sbox{0}{\parbox{\textwidth}{\noindent\begin{tabular}{L{\textwidth}{p}}Non-disclosure agreement (NDA)\end{tabular}}}
\ifdim\dimexpr\ht0+\dp0<124pt
\dp0\dimexpr124pt-\ht0\fi
\makebox{\usebox{0}}\\}
\begin{document}
    \pagestyle{fancy}
    test
 \end{document}

답변1

top의 합으로 설정합니다 . 가짜 공백에 주석을 달고 테이블에서 를 제거하세요.headheight\headsep\tabcolsep

\documentclass{book}
\usepackage{fancybox,fancyhdr}
\usepackage[T1]{fontenc}
\usepackage[dvipsnames]{xcolor}

\usepackage[left=72pt,right=72pt,
    headheight=124pt,
    top=\dimexpr124pt+\headsep\relax,% <- added
    textheight =540pt
    ]{geometry}
\usepackage{array}


\newcolumntype{L}[2]{>{\raggedright\arraybackslash}{#2}{#1}}

\fancyhf{}
\fancyhead[C]{%
  \sbox{0}{\parbox{\textwidth}{\begin{tabular}{@{}L{\textwidth}{p}@{}}Non-disclosure agreement (NDA)\end{tabular}}}%
  \ifdim\dimexpr\ht0+\dp0<124pt \dp0\dimexpr124pt-\ht0\fi
  \makebox{\usebox{0}}%
}

\usepackage{lipsum}
\usepackage{showframe}
\begin{document}
\pagestyle{fancy}
\lipsum
\end{document}

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

관련 정보