如何指定 tikz 绘图尺寸而不缩放它

如何指定 tikz 绘图尺寸而不缩放它

我想指定一个矩形,在其中绘制 tikzpicture(不是 pgfplot),但不进行缩放。目标是要求图形具有固定的高度(以点、厘米等为单位),以便高度不会随着绘图细节的变化而变化。如果绘图实际上小得多,则预计最终可能会出现很大的空白区域。或者,如果绘图大于提供的矩形,则允许绘图覆盖相邻的文本,或者可能将其剪裁到绘图矩形中——两者中的哪一种都无关紧要,尽管我更喜欢覆盖。

我希望的是

\begin{tikzpicture}[height=200pt]

我绝对不想缩放图片来使其适合给定的框。

似乎应该可以调整包含绘图的相关内容的高度hboxvbox如果我理解框的工作原理,那么这将产生让绘图随意涂鸦的效果,但 LaTeX 会认为绘图具有我指定的大小。


@AlainMatthes 询问我到底想要什么,也许这并不那么清楚。

我正在编写一个程序,允许人们在页面上编辑 tikz 图片。也就是说,您可以同时看到周围的文本(由 LaTeX 生成)和正在编辑的图片。出于显而易见的原因,tikz 编辑器需要确切知道绘图区域有多大。当完成的绘图插入回原始 LaTeX 文档时,不应对其进行更改;特别是,不应重新缩放。

因此,我想设置 LaTeX 在布局页面时使用的框(vbox 或 hbox,无论哪个)的确切大小。我认为 @hpekristiansen 提供的答案可以做到这一点。而且我认为如果您希望裁剪图形,@AlainMatthes 的答案也可以。

答案1

\documentclass{article} 
\usepackage{lipsum}
\usepackage{tikz}
\begin{document}
\lipsum[1] 
\begin{tikzpicture}
\useasboundingbox (0pt,0pt) rectangle (100pt,200pt); %this sets the width and height
\draw[dashed] (0pt,0pt) rectangle (100pt,200pt); %just to show the area
\draw[red, ultra thick] (-50pt,-50pt) -- (150pt,250pt); %draws outside the area
\end{tikzpicture}
\lipsum[2] 
\end{document}

带有文本和红线的页面

答案2

你可以做到这一点(如果我理解正确的话)

\documentclass{standalone} 
\usepackage{tikz}

\begin{document} 
\begin{tikzpicture}
\clip (0,0) rectangle (100pt,200pt);
\draw (0,0) -- (150,250);
\end{tikzpicture}
\end{document}

在此处输入图片描述

相关内容