在頁面上放置大 tikz 圖像,沒有空白

在頁面上放置大 tikz 圖像,沒有空白

我正在 knitr 中製定議程(使用 XeLaTeX)。我在每月概述中用於環境tikz周圍的圓角邊緣。tabular這是概述的幾頁中的第一頁:

每月概覽

正如您所看到的,頁面頂部有一個小的空白區域。我相信這個空白對應於 tikz 程式碼的位置(正如這裡所討論的:如何避免TikZ造成的空白)。

我的問題是:有沒有辦法刪除這個空白?

這是一個 MWE(只有一個單元格且沒有圓角邊緣;手動添加突出顯示):

\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 框tikzpicture具有一些非零深度。在下面,我使用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)。缺點是您必須確保圖片的所有部分都位於這些點所描述的矩形內,否則它們會伸出邊緣。解決這個問題的一種方法可能是縮放座標系\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} 

在此輸入影像描述

相關內容