考虑这个例子:
\documentclass{standalone}
%\documentclass[margin=1cm]{standalone}
\usepackage{tikz}
\usetikzlibrary{decorations.text}
\begin{document}
\begin{tikzpicture}
\draw (0,0) ellipse (2cm and 1 cm);
\path[
postaction={decorate},
decoration={
text along path,
raise=-0.3cm,
text={some text}
}
] (0,0) ellipse (2cm and 1cm);
\end{tikzpicture}
\end{document}
在输出中:
独立版仅尊重椭圆但忽略 tikz 文本装饰。
为了纠正,我需要手动提供[margin=1cm]
独立版本。
为什么独立版本在定义 pdf 边框时不采用整体方法?
答案1
有很多相关的帖子,例如这个和这个. 结果是 Ti钾Z 使用一些近似值来确定边界框。对于曲线,它考虑控制点,而不是曲线经过的实际点。这样做的优点是速度相当快,缺点是边界框不能完美贴合。在本例中,文本似乎不是路径,因此不会改变边界框。
因此,我所能提供的只是手动添加一条(大约)沿着路径外侧延伸的圆弧来解决问题。
\documentclass{standalone}
%\documentclass[margin=1cm]{standalone}
\usepackage{tikz}
\usetikzlibrary{decorations.text}
\begin{document}
\begin{tikzpicture}
\draw (0,0) ellipse (2cm and 1 cm);
\path[
postaction={decorate},
decoration={
text along path,
raise=-0.3cm,
text={some text}
}
] (0,0) ellipse (2cm and 1cm);
\path (2.4,0) arc(0:60:2cm and 1.4cm);
\end{tikzpicture}
\end{document}