大きな tikz 画像を空白なしでページに収める

大きな tikz 画像を空白なしでページに収める

私は、knitr (XeLaTeX を使用) でアジェンダを作成中です。月次概要の環境tikzの周囲に丸みを帯びたエッジを作成するために を使用しますtabular。これは概要の複数のページのうちの最初のページです。

月次概要

ご覧のとおり、ページの上部に小さな空白があります。この空白は tikz コードの位置に対応していると思います (ここで説明されているように: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 に関する追加情報:

答え1

要件を正しく理解していれば、問題は を含む TeX ボックスにtikzpicture0 以外の深さがあることだと思います。以下では、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} 

ここに画像の説明を入力してください

関連情報