상자 내부의 높이와 수직 정렬이 최소화된 상자를 만드는 방법은 무엇입니까?

상자 내부의 높이와 수직 정렬이 최소화된 상자를 만드는 방법은 무엇입니까?

최소 테이블(1행 테이블) 높이를 설정하고 그 안의 내용을 정렬해야 합니다. 이 목적을 위해 나는 올바른 테이블 형식으로 tabular포장하고 parbox는 나에게 최소 높이를 제공합니다.parboxvalign

내 질문은 - parbox에서 테이블을 정렬하는 방법입니다(또는 나와 함께 미니페이지를 만들지만, 최소 높이를 만드는 방법).

다음은 예제 코드입니다(이전 질문과 동일합니다 :)). 테이블을 정렬하는 방법(여기 헤더에 있습니다)

\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}

의견으로 인해 일반적인 작업은 하나의 원시 및 여러 열과 valign-halign 및 고정된 최소 높이로 테이블을 만드는 것입니다. 내 예에서는 작업을 덜 복잡하게 만들기 위해 하나의 열만 사용합니다.

답변1

여기에 더 간단한 해결책이 있습니다.

\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]{%
  %\raisebox{\dimexpr\headheight-\height}[\headheight][0pt]% top alignment
  %\raisebox{0pt}[0.5\headheight][0.5\headheight]% middle alignment
  \raisebox{\depth}[\headheight][0pt]% bottom alignment
  {\begin{tabular}{@{}L{\textwidth}{p}@{}}
  Non-disclosure agreement (NDA)\\
  %a\\b\\c\\d\\e\\f\\g\\h\\i\\j\\k\\l
  \end{tabular}}%
}

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

관련 정보