我使用 sage 在 LaTeX 文档中做了一些计算。我想包含结果并进行一些比较。但要使用命令执行此操作,我需要保存在 sage 文件中的值。我如何获取结果,或者是否有其他方法可以使用 ifthenelse 命令\ifthenelse
比较值?sagetex
\documentclass{article}
\usepackage{sagetex}
\usepackage{ifthen}
\begin{document}
\begin{sagesilent}
var('x')
f = x^2
\end{sagesilent}
$\ifthenelse{\sage{f(2)}>0}{a}{b}$
\end{document}
答案1
许多软件包与该sagetex
软件包“配合得不好”。这个软件包似乎就是这样一个软件包,因为它阻止您以在代码中尝试的自然方式输入内容。一种方法是利用sagetex
Python 来避免甚至必须使用该ifthen
软件包。但是如果您想使用该软件包,那么您可以将sagetex
命令作为字符串插入。这个解决方案似乎不是特别自然,但我不知道有更好的方法。
\documentclass{article}
\usepackage{sagetex}
\usepackage{ifthen}
\begin{document}
\begin{sagesilent}
var('x')
f = x^2
output = r""
if f(2)>0:
output += "a"
else:
output += "b"
output1 = r"\ifthenelse{%s>%s}{a}{b}"%(f(2),0)
\end{sagesilent}
One way to handle the problem is to process it with sagetex to get\\
\sagestr{output}\\
and another way is to insert the command as a string\\
\sagestr{output1}
\end{document}