在 IEEEaccess 类中加载 TikZ 时出错

在 IEEEaccess 类中加载 TikZ 时出错

我尝试使用 IEEEaccess 类(来自https://raw.githubusercontent.com/beatrizgoa/latex/master/ieeeaccess.cls) 和 TiZ 版本 3.1.5b

\documentclass{IEEEaccess}
\usepackage{tikz}

\begin{document}

test

\EOD{}

\end{document}

但我收到此错误:

(/usr/local/texlive/2019/texmf-dist/tex/generic/pgf/math/pgfmathfunctio
ns.random.code.tex
! Missing number, treated as zero.
<to be read again> 
                   \gdef 
l.33 \ifnum
           \c@pgfmath@counta=0
A number should have been here; I inserted `0'.
(If you can't figure out why I needed to see a number,
look up `weird error' in the index to The TeXbook.)

! Extra \fi.
l.35 \fi

I'm ignoring this; it doesn't match any \if.

)

如何解决这个问题?

答案1

这是 中的一个错误IEEEaccess。它重新定义了 TeX 的\year原语来设置出版年份(这样你就可以输入\year{2020})。这破坏了 TiZ(和一些依赖于其他包(\year具有其原始含义)。

您可以通过在加载之前临时保存\year为来解决该问题,然后在加载类后恢复它。为了能够在出版物中设置年份,您还可以将保存为,例如:\TeXyearIEEEaccessIEEEaccess\year\setyear

\let\TeXyear\year
\documentclass{IEEEaccess}
\let\setyear\year
\let\year\TeXyear

\usepackage{tikz}

% \year{2020}
\setyear{2020}

\begin{document}

test

\EOD{}

\end{document}

相关内容