为了使绘图更容易,我定义了命令,\def
然后在图中使用这些命令。我想定义\def
,coordinate
但编译时出现错误:\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
数学引擎的关键,你也可以使用它来定义在所有地方正确评估的常数,其中 Ti钾Z 期望一个表达式。
\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 的通常范围)。