是否有sympy
默认文件,例如matplotlib
有~/matplotlib/.matplotlibrc
?
目前,以下代码的默认LaTeX输出使用的smallmatrix
太小了:
>>> mat = Matrix([[0 1], [1 0]])
>>> latex(mat)
\left[\begin{smallmatrix} ...
我希望默认情况下使用matrix
。现在,我这样做:
>>> latex(mat, mat_str='matrix')
\left[\begin{matrix} ...
我希望能够设置默认值而无需使用mat_str='matrix'
答案 0 :(得分:1)
您可以随时将自己的小包装编写到latex
def latex(*args, **kwargs):
kwargs.setdefault('mat_str', 'matrix')
sympy.latex(*args, **kwargs)
如果您想更改init_printing
的行为,则会有open issue。
答案 1 :(得分:0)
看起来不像sympy会读取任何默认文件。矩阵类型在/sympy/printing/latex.py中进行了硬编码,并带有以下注释:
mat_str:要发出的矩阵环境字符串。 “小矩阵”,“矩阵”, “array”等。默认为“smallmatrix”为内联模式,“matrix”为 矩阵不超过10列,否则为“数组”。
您可以通过修改以下片段(当前位于第1169行)来更改受硬编码的默认值:
mat_str = self._settings['mat_str']
if mat_str is None:
if self._settings['mode'] == 'inline':
mat_str = 'smallmatrix'
else:
if (expr.cols <= 10) is True:
mat_str = 'matrix'
else:
mat_str = 'array'
只需将'smallmatrix'替换为'matrix',如果需要覆盖它,请使用mat_str参数。