在 tikz 中使用 set 命令

在 tikz 中使用 set 命令

为了使绘图更容易,我定义了命令,\def然后在图中使用这些命令。我想定义\defcoordinate但编译时出现错误:\focale 的使用不符合其定义

我的代码:

\documentclass[border=2mm]{standalone}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}
\def \focale{5}
\def \focale2{2}
\def \lentille{2.75}

\coordinate (O) at (\focale,-\lentille);%centre optique de la première lentille
\coordinate (A) at (\focale,0);%position de l'objet
\end{tikzpicture}
\end{document}

答案1

您的代码中的问题可以通过以下方式解释@Sigur 的评论

我建议你使用declare function数学引擎的关键,你也可以使用它来定义在所有地方正确评估的常数,其中 TiZ 期望一个表达式。

\documentclass[border=2mm]{standalone}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}[
    declare function = {
        focale = 5;
        focale2 = 2;
        lentille = 2.75;
    }
    ]
\coordinate (O) at (focale,-lentille);%centre optique de la première lentille
\coordinate (A) at (focale,0);%position de l'objet
\draw (O)--(A);
\coordinate (O2) at (focale2,-lentille);%centre optique de la première lentille
\coordinate (A2) at (focale2,0);%position de l'objet
\draw[red] (O2)--(A2);
\end{tikzpicture}
\end{document}

我使用了图片局部的定义,但您也可以将其放在图片中\tikzset并使其成为全局的(使用 TeX 的通常范围)。

相关内容