ページ全体または選択したページの周囲にボックスを作成できるようにしたいのですが、ボックスはページ全体の長さにまで伸びますが、添付の例のようにボックスの下端はページ番号の上にあります。これを環境として定義して、その環境内のすべてのページがボックス化されるようにできれば理想的です。この環境を使用して、エグゼクティブ サマリーをドキュメントの残りの部分から区別することができます。
ヒントや提案があれば、ぜひ教えてください。
答え1
tikz
およびを使用して、ページにフレームを追加したり、ページにフレームを削除したりする と のeso-pic
2 つのコマンドを定義しました。\addframe
\removeframe
MWE:
\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
、いくつかのスタイル オプションを設定するのがベスト プラクティスです。この場合、標準が使用され、ボックスの周りに 1 つのフレームが表示されます。2 番目の例に示すように、環境にオプションを与えることで、後でローカルで設定を無効にすることができます。
\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}