私は、knitr (XeLaTeX を使用) でアジェンダを作成中です。月次概要の環境tikz
の周囲に丸みを帯びたエッジを作成するために を使用しますtabular
。これは概要の複数のページのうちの最初のページです。
ご覧のとおり、ページの上部に小さな空白があります。この空白は tikz コードの位置に対応していると思います (ここで説明されているように:TikZ によって生じる空き領域を回避する方法)。
私の質問は、この空白を削除する方法はあるかどうかです。
- ページの余白を増やしたり、図のサイズを小さくしたりする必要のないソリューションを探しています。
- 質問TikZ によって生じる空き領域を回避する方法そしてxelatex を使用して、余白のないページ上の全ページの Tikz 画像を中央に配置するにはどうすればよいでしょうか?まさに私が知りたいことを尋ねているようですが、その答えが私のケースには当てはまらないか、その答えを私のケースにどのように適用すればよいかわかりませんでした。
MWEはこちら(セルが 1 つで角が丸くなく、ハイライトが手動で追加されています):
\documentclass{book}
\usepackage[showframe]{geometry}
\setlength{\parindent}{0pt} %no indenting of first line
\usepackage{tikz} %for rounded corners (not in mwe)
\usepackage{adjustbox} %for scaling table to fill page
\begin{document}
\raisebox{-\height}[0pt][0pt]{%
\begin{adjustbox}{totalheight=\textheight, width = \linewidth}
\begin{tikzpicture}
\node(table){%
\begin{tabular}{c}
tabular \\
\end{tabular}
};
\draw (table.north west) rectangle (table.south east);
\end{tikzpicture}
\end{adjustbox}
}
\end{document}
MWE に関する追加情報:
adjustbox
以前はよく__していた表をページ全体に合わせて拡大縮小する結果として得られる tikz イメージは大きすぎるため、空のページの次のページにイメージが押し出されてしまいます。そこで私はゴンゾーラ・メディナの提案:tikz 画像の寸法を隠すこれにより空白ページは正常に削除されましたが、各ページの上部に不要な空白が残りました。
答え1
要件を正しく理解していれば、問題は を含む TeX ボックスにtikzpicture
0 以外の深さがあることだと思います。以下では、local bounding box
キーを使用して画像に明示的に名前を付け ( を使用するとcurrent bounding box
機能しません)、baseline
キーを使用して のベースラインをtikzpicture
画像の下部に設定し、 を含むボックスにtikzpicture
深さがないようにしています。
\documentclass{book}
\usepackage[showframe]{geometry}
\setlength{\parindent}{0pt}
\usepackage{tikz}
\usepackage{adjustbox}
\begin{document}
\begin{adjustbox}{totalheight=\textheight, width=\linewidth}%
\begin{tikzpicture}[local bounding box=picture, baseline=(picture.south)]
\node (table) {Some content};
\draw (table.north west) rectangle (table.south east);
\end{tikzpicture}
\end{adjustbox}
\end{document}
別の方法としては、画像の境界ボックスを に明示的に設定する方法があります(0,0) (\textwidth, \textheight)
。欠点は、画像のすべての部分がこれらの点で表された長方形の内側にあることを確認する必要があることです。そうでないと、画像が四角形からはみ出てしまいます。この問題を回避する 1 つの方法は、このやや派手な例が示すように、座標系\textwidth
をと で拡大縮小することです。\textheight
\documentclass{book}
\usepackage[showframe]{geometry}
\setlength{\parindent}{0pt}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}
\useasboundingbox (0,0) (\textwidth, \textheight);
\tikzset{x=\textwidth/10, y=\textheight/10}
\foreach \x in {0,...,9}
\foreach \y [evaluate={\r=rnd; \g=rnd; \b=rnd;}] in {0,...,9}
\fill [/utils/exec=\definecolor{.}{rgb}{\r,\g,\b}, fill=.]
(\x, \y) rectangle ++(1, 1);
\end{tikzpicture}
\end{document}