为什么独立版会忽略 tikz decorations.text?

为什么独立版会忽略 tikz decorations.text?

考虑这个例子:

\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

有很多相关的帖子,例如这个这个. 结果是 TiZ 使用一些近似值来确定边界框。对于曲线,它考虑控制点,而不是曲线经过的实际点。这样做的优点是速度相当快,缺点是边界框不能完美贴合。在本例中,文本似乎不是路径,因此不会改变边界框。

因此,我所能提供的只是手动添加一条(大约)沿着路径外侧延伸的圆弧来解决问题。

\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}

在此处输入图片描述

相关内容