有沒有簡單的方法可以在選定頁面的文字周圍放置方框,並在方框下方顯示頁碼?

有沒有簡單的方法可以在選定頁面的文字周圍放置方框,並在方框下方顯示頁碼?

我希望能夠圍繞整個頁面或選擇的頁面建立框,其中框延伸到頁面的整個長度,但框的底部邊緣位於頁碼上方,如所附範例所示。如果可以將其定義為一個環境,​​以便該環境中的所有頁面都被裝箱,那就太理想了。此環境可用於將執行摘要與文件的其餘部分分開。

任何提示或建議將不勝感激。

盒裝頁

答案1

tikzeso-pic.我定義了兩個命令,\addframe分別\removeframe在頁面中新增框架和刪除框架。

微量元素:

\documentclass{article}

\usepackage{tikzpagenodes}
\usetikzlibrary{calc}

\usepackage{eso-pic}

\newcommand{\addframe}{%
  \AddToShipoutPicture{%
  \begin{tikzpicture}[remember picture, overlay]
      \draw[line width=1pt] 
           ($(current page text area.north west) +(-5mm,5mm)$)
           rectangle
           ($(current page text area.south east) +(5mm,-5mm)$);
  \end{tikzpicture}%
  }%
}

\newcommand{\removeframe}{\ClearShipoutPicture}

\usepackage{lipsum} % just for the example

\begin{document}
\addframe
\lipsum[1-10]
\clearpage
\removeframe
\lipsum[1-10]
\clearpage
\addframe
\lipsum[1-10]
\end{document} 

輸出:

在此輸入影像描述

您可以根據需要調整參數(1pt厚度和5mm與文字的距離)。

或者,您可以\addframe這樣定義

\newcommand{\addframe}{%
  \begin{tikzpicture}[remember picture, overlay]
      \draw[line width=1pt]
           ($(current page text area.north west) +(-5mm,5mm)$)
           rectangle
           ($(current page text area.south east) +(5mm,-5mm)$);
  \end{tikzpicture}%
}

\addframe並在需要框架的每個頁面中使用,如以下 MWE 所示:

\documentclass{article}

\usepackage{tikzpagenodes}
\usetikzlibrary{calc}

\newcommand{\addframe}{%
  \begin{tikzpicture}[remember picture, overlay]
      \draw[line width=1pt]
           ($(current page text area.north west) +(-5mm,5mm)$)
           rectangle
           ($(current page text area.south east) +(5mm,-5mm)$);
  \end{tikzpicture}%
}

\usepackage{lipsum} % just for the example

\begin{document}
\addframe
\lipsum[1-10]
\clearpage
\lipsum[1-10]
\clearpage
\addframe
\lipsum[1-10]
\end{document} 

答案2

您可以使用套件mdframed來執行此操作。 mdframed非常可自訂,您可以定義背景顏色等等。

如果您希望每個框都使用相同的樣式,最佳實踐是使用 定義一個新環境newmdenv,設定一些樣式選項。在這種情況下,使用標準,盒子周圍有一個框架。您稍後可以透過向環境提供選項來在本地推翻設置,如第二個範例所示。

\documentclass{article}
\usepackage{mdframed}
\newmdenv{boxed}
\usepackage{blindtext}
\begin{document}
\blindtext
\begin{boxed}
\blindtext

\blindtext
\begin{description}
    \item [something] \blindtext
    \item [something else] \blindtext[2]
\end{description}
\end{boxed}

\blindtext

\begin{boxed}[backgroundcolor=yellow]
    \blindtext
\end{boxed}
\end{document}

相關內容