Esta deve ser a minha semana para pisar em palavras reservadas... por favor, veja este MWE:
\documentclass{article}
\usepackage{tikz}
\newcommand{\formula}[1]{%
\pgfmathsetmacro{\rpval}{#1}%
\pgfmathprintnumberto[assume math mode=true, fixed, precision=3]{\rpval}{\frpval}%
\frpval
}
\begin{document}
\tikzset{declare function={%
R0 = 2.0;
X = 0.5*R0;
ON = 3;
OFF(\x) = \x + 1;
AFF(\x) = \x + 1;
}}
% works
X is \formula{X}
% fails
ON is \formula{ON}
% works
AFF is \formula{AFF(1)}
% fails
OFF is \formula{OFF(1)}
\end{document}
A segunda e quarta linha falham com
! Package PGF Math Error: Unknown operator `O' or `ON' (in 'ON').
! Package PGF Math Error: Unknown operator `O' or `OF' (in 'OFF(1)').
... e parece que está fazendo o mesmo com todas as constantes que começam a O
criar problemas.
EUpensarEstou fazendo uma coisa muito boba...
Responder1
Atualizar:Isto tem sidofixoe seu documento deverá funcionar bem após o próximo TikLiberação Z/PGF.
Em pgfmathparser.code.tex
você vê:
\pgfmath@tokens@make{functional}{_abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNPQRSTUVWXYZ}
sem um O
.
O
não parece ser uma palavra-chave reservada (afinal, você recebe um erro “Operador desconhecido”), portanto acredito que seja um bug.
Fornecendo a definição que falta:
\makeatletter
\def\pgfmath@token@functional@O{O}
\makeatother
parece resolver o problema.
Só acho curioso que você seja a primeira pessoa a tentar usar um O
lá :-)