横跨整个页面的中心图形

横跨整个页面的中心图形

我想让其居中,左侧、右侧和顶部的边距均为 5pt。这样图片将几乎覆盖整个页面,底部留有空间放置标题。

\documentclass{article}
\usepackage{tikz}
\usepackage{caption}

\begin{document}
\begin{centering}
\begin{figure}[ht]


\begin{tikzpicture}[scale=(3/10)]

  \draw[help lines] (0,0) grid (600mm,500mm);

\end{tikzpicture}

\caption{some caption here}
\end{figure}
\clearpage
\end{centering}
\end{document}

答案1

以下是 Stefan 和 Matthew 的答案的结合。他们都解决了解决问题所需的要点之一。要获得左侧、右侧和顶部的 5pt 边距,请使用

\usepackage[left=5pt,top=5pt,right=5pt]{geometry}

为了居中,将其放在\centering图形环境中(就像 Stefan 写的那样)。完整的示例:

\documentclass{article}
\usepackage[left=5pt,top=5pt,right=5pt]{geometry}
\usepackage{tikz}
\usepackage{caption}

\begin{document}
\begin{figure}[ht]
\centering
\begin{tikzpicture}[scale=(3/10)]
  \draw[help lines] (0,0) grid (600mm,500mm);
\end{tikzpicture}
\caption{some caption here}
\end{figure}
\end{document}

现在这确实不是scale覆盖几乎整个页面。为此,您必须更改tikzpicture或增加值600mm500mm进行相应更改。

正如 Matten 在他的回答中所写,这只适用于单页。如果你想在更大的文档中执行类似的操作,那么你可以使用Stefan 的回答对于我在上面的评论中链接的问题:

\begin{figure}[ht]
\noindent
\makebox[\textwidth]{
  \begin{tikzpicture}[scale=(3/10)]
    \draw[help lines] (0,0) grid (600mm,500mm);
  \end{tikzpicture}
}
\caption{some caption here}
\end{figure}

答案2

它没有居中,因为您的 tikzpicture 比文本宽度宽,导致溢出\hbox。您可以使用geometry包来更改边距。

答案3

使用 TikZ 绝对定位的完全不同的解决方案(这需要两次编译才能显示在正确的位置)

\documentclass{article}
\usepackage{tikz,caption}
\usetikzlibrary{calc}

\begin{document}
\clearpage
\thispagestyle{empty}
\begin{tikzpicture}[overlay,remember picture]
    \draw ($(current page.south west)+(5pt,0.5cm)$) grid ($(current page.north east)-(5pt,5pt)$);
    \node[anchor=base,inner sep=0cm] at (current page.south) {\parbox{\textwidth}{\captionof{figure}{The Grid}}};
\end{tikzpicture}
\clearpage
\end{document}

当然,您的实际图片必须参考来绘制(current page),例如通过变换画布使得 (0,0) 位于(current page.center)或位于左下角。

答案4

只需在环境\centering内部使用figure,而不是在外部使用。这样的(列表)环境对浮动环境没有预期的效果。

备注:源代码中的空行会导致段落中断。您的代码中有很多空行,可能并非所有空行都是为了中断段落。

相关内容