強制保存箱的垂直大小等於頁面高度

強制保存箱的垂直大小等於頁面高度

有沒有更好的方法來產生\savebox尺寸等於紙張尺寸的 a ,而不是貼上\strut長度等於頁面高度的 a (寬度是其\savebox本身的參數)。

答案1

lrbox使用es 和s的組合minipage,您可以將內容儲存到框中。儲存後,您可以調整框的大小。請記住,雖然盒子的尺寸發生了變化,但排版保持不變。

\documentclass{article}
%% open the dimensions of the page a bit
\usepackage[margin=0.75in]{geometry}
\newsavebox\aebox
%% set fbox parameters to facilitate seeing how dimensions are changed.
\setlength\fboxsep{-0.4pt}
\setlength\fboxrule{0.4pt}
\pagestyle{empty}
\begin{document}

\begin{lrbox}\aebox
  \begin{minipage}[t]{3in}
    This is just an example of a box of certain dimensions that can later be
    reassigned.
  \end{minipage}
\end{lrbox}

Hello
\fbox{\usebox\aebox}
\ht\aebox\dimexpr\baselineskip*2\relax
\dp\aebox\dimexpr\textheight-\baselineskip*2\relax
\fbox{\usebox\aebox}

\end{document}

在此輸入影像描述

當然,上面的內容並不能完全滿足您的要求。您可以採用@HarishKumar 的方法並設定頁面的幾何形狀,以便邊距全部0pt。在這種情況下,在上面的範例中,如果您設定

\usepackage[margin=0pt]{geometry}

你會得到

在此輸入影像描述

但是如果您不想將邊距設為 ,該怎麼辦0pt

假設邊距設定為0.5in 您可以嘗試類似的操作

\raisebox{\dimexpr0.5in+\baselineskip+<some dimension>\relax}[0pt][0pt]{\fbox{\usebox\aebox}}

但隨後很難(至少對我而言)弄清楚如何準確設置<some dimension>以便正確放置您的盒子。

在這種情況下,您可能想要加載tikz(這也是可選地載入包時調用tcolorbox)。這是你可以做的:

\documentclass{article}
%% open the dimensions of the page a bit
\usepackage[margin=0.5in]{geometry}
\newsavebox\aebox
%% set fbox parameters to facilitate seeing how dimensions are changed.
\setlength\fboxsep{-0.4pt}
\setlength\fboxrule{0.4pt}

\pagestyle{empty}

\usepackage{tikz}
\usetikzlibrary{calc}
\begin{document}

\begin{lrbox}\aebox
  \begin{minipage}[t]{3in}
    This is just an example of a box of certain dimensions that can later be
    reassigned.
  \end{minipage}
\end{lrbox}

\hspace*{3.5in} Hello \fbox{\usebox\aebox}

%% setting the dimensions of the box
\ht\aebox\dimexpr\baselineskip\relax
\dp\aebox\dimexpr\paperheight-\baselineskip\relax
\begin{tikzpicture}[remember picture,overlay]
  \node[inner sep=0pt,anchor=north west,fill=orange!20] at ($(current page.north west)+(0.5in,0)$) {\fbox{\usebox\aebox}};
\end{tikzpicture}

\end{document}

要得到

在此輸入影像描述

答案2

您可以使用tcolorbox該優惠height密鑰。

\documentclass{article}
\usepackage[most]{tcolorbox}
\usepackage{lipsum}
\usepackage[a4paper,top=0cm,bottom=0cm]{geometry}  %% just for demo
\begin{document}
  \begin{tcolorbox}[width=0.5\textwidth,height=\paperheight]
    \lipsum[1-2]
  \end{tcolorbox}
\end{document}

在此輸入影像描述

相關內容