如何使用SymPy和LaTeX显示百分比字符 [英] How to display a percent character using SymPy and LaTeX

查看:0
本文介绍了如何使用SymPy和LaTeX显示百分比字符的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我一直在使用Sympy处理电力系统的方程,并且已经做了相当多的工作,使得方程看起来很漂亮:所有的值都包含紧随其后的单位,即使是方程的组合。 我认为这是非常重要的,因为目标是我正在编写的计算我的价值的文档是我将展示的最终文档(我使用的是Jupyter笔记本,并将整个过程都用PDF格式)。

现在我的问题来了:不知何故,希蒙尼决定%本身不是一个单位(这是真的,它没有维度),而且显示它完全没有意义。 它似乎甚至分析了我自己声明的单位,以删除可能出现的任何百分比字符...

只要我同意%没有维度,字符仍然存在是有原因的-如果它如此无用,它一开始就不会存在。人们喜欢在最后读出百分比,因为它已经表明结果已经乘以100倍了。它还使结果更具可读性。

在代码中:

# imports
import sympy as sp
from sympy import init_printing
init_printing(use_latex=True)
init_printing(use_latex='mathjax')
import sympy.physics.units as u
from IPython.display import display

#define unit
percent = u.Unit('ab%c', 'ab%c')*100 # a,b and c are only there for debug. Only % is needed

#define dummy equation
Error_= sp.symbols('Error')
total_error = 1 # error is not yet in %. 1 means 100%
Eq = sp.Eq(Error_, total_error*percent) 
display(Eq)

结果:错误=100ab

为什么%之后的所有内容都被明显删除?我甚至一直小心翼翼地不导入全局命名空间中的所有单元,因此如果要检测%,它不需要u.%吗?

PS:我有3天(总共)使用Python的悠久历史。我通常更像是C级的人。希望我没有漏掉一个愚蠢的错误。

推荐答案

适用于我:

percent = u.Unit('percent', r'\%') * 100

很可能%必须转义,因为它也必须在LaTeX中转义。

这篇关于如何使用SymPy和LaTeX显示百分比字符的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆