将 [out=up, in=down] 设置为默认路径段参数

将 [out=up, in=down] 设置为默认路径段参数

我画了很多看起来像这样的路径:

\draw (1) to [out=up, in=down] (2) to [out=up, in=down] (3) to [out=up, in=45] (3);

我可以将 [out=up, in=down] 部分设置为全局默认值,以避免我必须为每个段指定它吗?我仍然需要能够偶尔覆盖这些默认值,就像上面示例中的 in=45 段一样。所以我希望能够编写类似这样的代码:

\setdefaults{out=up, in=down};
\draw (1) to (2) to (3) to [in=45] (4);

答案1

另一种方法是使用every to样式。它会自动插入到...等待它...每个的开头。所以to[something]实际上是to[every to/.try,something].try是一个故障保护,以确保如果every to没有定义,则不会发生错误)。因此:

\documentclass{article}
%\url{http://tex.stackexchange.com/q/33521/86}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}[every to/.style={out=up,in=down}]
\draw (1,0) to (2,0) to (3,0) to [in=45] (4,0);
\end{tikzpicture}
\end{document}

产生与 Torbjørn 的例子完全相同的行。

这种方法的优点是它与图片中的其他内容配合得很好。之所以\tikzset{in=up,out=down}安全,是因为键inout只对 s 有意义to。但是,如果您想在 every 中放入在to其他地方有意义的其他内容(现在想不出什么……),那么every to将选项仅传递给零件是更好的方法to

答案2

您可以将其添加为tikzpicture

\documentclass{article}
\usepackage{tikz}

\begin{document}
\begin{tikzpicture}[out=up,in=down]
  \draw (1,0) to (2,0) to (3,0) to [in=45] (4,0);
\end{tikzpicture}
\end{document}

或者使用\tikzset命令

\documentclass{article}
\usepackage{tikz}
\tikzset{out=up,in=down}
\begin{document}
\begin{tikzpicture}
  \draw (1,0) to (2,0) to (3,0) to [in=45] (4,0);
\end{tikzpicture}
\end{document}

在此处输入图片描述

相关内容