到目前为止,我只是创建一个所需的图片,例如快图或者Tikz-EDT然后将代码传递给我的文档。为了使图片适合纸张宽度,我使用了\resizebox
。
但是,如果原始图片太大,字体就会缩小。如果图片的宽度比实际的宽度小一些,字体就会变大。虽然不大,但如果每张图片的字体大小略有不同,看起来就不美观了。当然,我可以缩放字体旁边的所有内容,但这样图片就会变得混乱,因为我最初是在编辑器中根据字体大小创建节点的距离和宽度。
据我所知,可以将特定的边界框定义为图片的“框架”。
我的问题是,是否可以在 tikz 环境内定义/绘制一个具有纸张具体宽度的矩形,那么当我创建图片时,我总是“看到”图片应该有多宽,以便最后不要缩放太多。
像这样:
\begin{tikzpicture}
\defineasboundingbox{\draw start_x, start_y) rectangle (PAPERWIDTH, end_y);} % <-- See remark below
\end{tikzpicture}
评论:这个矩形应该作为我绘图的参考点,向我展示纸张的宽度,稍后图片将放置在\resizebox
我现在可以使用矩形作为参考来绘制我的图画。
或者是否存在更简单的解决方案来确保每张图片的字体大小相同?
提前谢谢了。
答案1
基于马克斯对我之前的一个问题来说,这是一个非常好的答案,这样的框架可以使用
\documentclass{article}
\usepackage{tikz}
\usepackage[margin=2cm]{geometry}
\tikzset{
use bounding box relative coordinates/.style={
shift={(current bounding box.south west)},
x={(current bounding box.south east)},
y={(current bounding box.north west)}
},
}
\begin{document}
\begin{tikzpicture}
\draw[black,dashed,use as bounding box] (0,0) rectangle (\textwidth,5cm);
\begin{scope}[use bounding box relative coordinates]
% Some tikz code in relative coordinates inside the rectangle
\end{scope}
\end{tikzpicture}
\end{document}
环境中的所有内容都scope
必须按照相对坐标定位,但至少,您可以看到何时盒子填充过满。