如何製作一個高度最小且在盒子內部垂直對齊的盒子?

如何製作一個高度最小且在盒子內部垂直對齊的盒子?

我需要設定最小表格(單行表格)高度,並對齊其中的內容。為此,我用表格包裹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}

相關內容