maxima - wxMaxima:如何使用 texput 告诉 tex1 如何处理字符串?
问题描述
tex1()
似乎返回所有字符串如下:
tex1(hello);
{\it hello}
tex1("hello");
\mbox{ hello }
必须使用什么变量来更改此处理方式texput
?例如,如果我只想按字面意思打印字符串?我正在使用其他 Maxima 命令(例如printf
和concat
来生成字符串,然后将其传递给tex1
,并且有时默认处理会导致问题。
我试过texput(""", ...)
了texput("''", ...)
;第一个未被接受,第二个被接受,但没有改变输出。对于未引用的字符串,我真的一无所知。
解决方案
让我们小心区分符号和字符串。当你输入时tex1(hello)
thenhello
是一个符号,当你输入时tex1("hello")
then"hello"
是一个字符串。符号本质上是查找表中项目的名称,它可以为每个项目存储附加信息(符号属性)。另一方面,字符串只是(从 Maxima 的角度来看)只是一个字符序列。
无论如何,不幸的是,无法通过 更改所有符号或所有字符串的输出texput
。但是使用一行 Lisp 函数,就可以完成它。试试这个:对于符号,
:lisp (defun tex-stripdollar (sym) (maybe-invert-string-case (symbol-name (stripdollar sym))))
对于字符串,
:lisp (defun tex-string (str) str)
这些将改变一些现有的输出,所以你会想尝试一下,看看它是否适合你。
推荐阅读
- .htaccess - 如何在这些情况下正确重写 htacess?
- web-services - java.lang.IllegalArgumentException:接口 org.apache.cxf.endpoint.Client 在类加载器中不可见
- docker - 无法连接到 aws 实例上的 mongodb docker 容器
- html - 在幻灯片左侧获取更多图像
- windows - 尽管删除了 Windows 环境变量,但仍会继续加载
- windows - TFS 版本 - 使用哪个 Windows 用户帐户?
- angular - TemplateRef 和点击事件
- go - gRPC 可以支持 `x-www-form-encoded` 数据吗?
- mysql - MySQL - 如果不存在,则使用子查询插入
- c# - 无法解决错误“IMvxViewModel”不包含“PropertyChanged”的定义)