如果数字小于零,我想将其标记为红色。在我的最终报告中,这些数字将由 Python 脚本生成。要使用 pythontex 包,我首先运行xelatex doc.tex
,然后运行pythontex doc.tex
,然后xelatex doc.tex
最后一次运行 Python 脚本并将其内容导入到我的文档中。
不幸的是,在此过程中,第一个 xelatex 命令会引发错误,因为\py{2-4}
尚未生成,所以\colorme
我创建的命令被传递?
为参数而不是数字。
有什么办法可以解决这个问题吗?我只想根据数字是否大于零来更改数字的颜色?
\documentclass{article}
\usepackage{xcolor}
\usepackage{pythontex}
\newcommand{\colorme}[1]{\ifnum #1 > 0
#1
\else
\textcolor{red}{#1}
\fi
}
\begin{document}
\colorme{5} %success
\colorme{-1} %success
\colorme{\py{2-4}} %fails
\end{document}
答案1
通过添加默认号码修复了此问题:
\newcommand{\colorme}[1]{\ifnum 0 < 0#1
#1 \%
\else
\textcolor{red}{#1 \%}
\fi
}