최대 높이가 62mm인 미니페이지로 다양한 길이의 텍스트에 대한 템플릿을 만들고 싶습니다. 텍스트가 그리 길지 않은 경우 미니페이지는 자연스러운 높이를 가져야 합니다. 하는 방법인가요?
\documentclass{book}
\usepackage{adjustbox}
\usepackage{lipsum}
\pagenumbering{gobble}
\begin{document}
Foo
\vfill
\noindent\adjustbox{center,fbox}{
\begin{minipage}[t][62mm][t]{\textwidth}
\lipsum
\end{minipage}
}
\newpage
Foo
\vfill
\noindent\adjustbox{center,fbox}{
\begin{minipage}[t][62mm][t]{\textwidth}
Bar
\end{minipage}
}
\end{document}
답변1
어쩌면 이것이 당신이 원하는 것일 수도 있습니다:
\documentclass{book}
\usepackage{adjustbox}
\usepackage{lipsum}
\usepackage{xparse}
\newsavebox{\strangeminipagebox}
\NewDocumentEnvironment{strangeminipage}{O{\textwidth}}
{%
\begin{lrbox}{\strangeminipagebox}
\begin{minipage}[t]{\dimexpr#1-2\fboxsep-2\fboxrule}%
}
{%
\end{minipage}\end{lrbox}%
\ifdim\dimexpr\ht\strangeminipagebox+\dp\strangeminipagebox<62mm\relax
\framebox[#1]{\usebox{\strangeminipagebox}}%
\else
\makebox[0pt][l]{%
\fbox{%
\vrule height \ht\strangeminipagebox
depth \dimexpr62mm-\ht\strangeminipagebox\relax
width 0pt
\hspace{\dimexpr#1-2\fboxsep-2\fboxrule}%
}%
}%
\makebox[#1]{\usebox{\strangeminipagebox}}%
\fi
}
\begin{document}
\noindent
\begin{strangeminipage}
\lipsum[1-3]
\end{strangeminipage}
\bigskip
\noindent
\begin{strangeminipage}[.5\textwidth]
Bar
\end{strangeminipage}
\end{document}