TiKZ 如何计算图片在页面上的位置?

TiKZ 如何计算图片在页面上的位置?

我正在尝试使用\beginpgfgraphicnamed最新发布的 TiKZ 版本 (2.00) 将大型文档中的一些复杂图形外部化。这会生成独立的 PDF 图像,但对我来说,图形会向上移动:图像的顶部被切断,底部有不必要的空白。当使用这些外部化图像时,pdflatex 生成的整体 PDF 具有相同的视觉问题,因此我不得不暂时放弃外部化图形的想法。

据我所知,图片的整体尺寸是正确的(与没有外部化的版本相比)。 我正在使用可更改边距的自定义论文样式文件,这可能会打破l2tabu不行。

PGF/TiKZ 如何计算页面上图片的位置,至少这会影响外部图片的定位?

具体来说,是否有具体的事情需要调整或避免调整以确保不会发生此问题?我试图不着手进行大型 LaTeX 黑客项目,例如基于比更现代的风格重做风格documentclassreport因此避免这种情况的方法尤其受欢迎。

答案1

tikzpicture您可以使用\useasboundingbox 或更多 TikZ'ish明确设置边界框:

\path[use as bounding box] (0,0) rectangle (10,10); % adjust to fit

在你的tikzpicture

如果以上内容不是您想要的,则必须提供更多信息。如上所述,tikzpicture如果您对 TikZ 的计算结果不满意,则控制 a 的大小的方法是手动设置边界框。引用 pgfmanual(建立边界框部分):

pgf 相当擅长跟踪图片的大小并在主文档中为其保留适当的空间。但是,在某些情况下,您可能想说“不将此计算为图片大小”或“图片实际上有点大”。为此,您可以使用选项 use as bounding box 或命令\useasboundingbox,这只是 的简写\path[use as bounding box]

您也可以尝试使用外部库

\usetikzlibrary{external}
\tikzexternalize 

这提供了一些额外的功能

\beginpgfgraphicnamed ...\endpgfgraphicnamed.

另外,该preview软件包还提供了一种方法来提取文档中紧密裁剪的部分

\usepackage[active,pdftex,tightpage]{preview}
\PreviewEnvironment{tikzpicture}

答案2

要在页面上定位图片,您可以使用current page节点。下面是这样做的示例,在页面的左上角放置一个蓝色方块:

\documentclass[svgnames]{report}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}[remember picture,overlay]
  \node[yshift=-1cm] at (current page.north west) {%
    \begin{tikzpicture}[remember picture, overlay]
      \draw[fill=LightSkyBlue] (0,0) rectangle (1cm,1cm);
     \end{tikzpicture}
      };
 \end{tikzpicture}
\end{document}

相关内容