首先,如果这个问题已有答案,我深表歉意。
我正在使用 从 Maxima 输出符号结果tex(<output>,"filename")$
,这使我得到每个端点上的一个表达式$$
(更不用说一些\it{}
和一些\over{}
,也许还有更多新的东西)。
我想把它放在方程环境中,比如,
\begin{equation*}
\input{filename.tex}
\end{equation*}
但由于 I guess 的冲突,这种方法没有奏效$$
。我还尝试了 Maxima 的字符串方法,tex1()
但我必须处理它周围的引号以及结尾的分号。
所以,我暂时放弃了分解这些很长的方程式(虽然我很想这么做!),而是将页面/纸张宽度设置得非常非常大。真恶心。
这让我现在不喜欢,因为有些方程式很短,有些方程式很长,导致我不得不大量水平滚动 - 因为它们都是居中对齐的。
在 tex.SE 的其他页面上,我看到了和以及fleqn
中的选项,但都无法成功运行。amsmath
amsart
\setlength{mathindent}{0in}
也许我应该重新将它们分解,但这仍然无法让我轻松地将它们置于数学/方程式环境中……对吗?
谢谢你!
PS 我通常使用lualatex
和amsart
,但这是非常通用的报告,它解释了我的简单代码:
\documentclass[fleqn]{amsart} %{standalone}
\usepackage[paperheight=10.75in,paperwidth=72.25in,margin=1in,heightrounded,showframe]{geometry}
\usepackage{amsmath}
\title{Maxima Results}
\begin{document}
\setlength{mathindent}{0pt}
\input{w02z0z111.tex}
\end{document}
这是一个非常简短的结果;
$$-{{310779087585246720\,i\,{\it z_0}^{14}+658160092626831360\,i\,
{\it z_0}^{12}+21158324305920\,i\,{\it z_0}^{10}-380849837506560\,i
\,{\it z_0}^8-174482709120\,i\,{\it z_0}^6-7971615\,i\,{\it z_0}^2-
344373768\,i}\over{128\,3^{{{31}\over{2}}}\,{\it z_0}^4}}-{{
41070158964605941940\,3^{{{9}\over{2}}}\,i\,{\it z_0}^{10}+
10503610891673584872960\,{\it z_0}^9+96708129989156081584\,3^{{{9
}\over{2}}}\,i\,{\it z_0}^8+17258799729306975187968\,{\it z_0}^7+
162584742938225143616\,3^{{{9}\over{2}}}\,i\,{\it z_0}^6+
19235016466581686759424\,{\it z_0}^5+61703548287898161920\,3^{{{11
}\over{2}}}\,i\,{\it z_0}^4+13036868175072393805824\,{\it z_0}^3+
384226900921449405185\,3^{{{7}\over{2}}}\,i\,{\it z_0}^2+
4059210481688530072224\,{\it z_0}}\over{8748}}$$
答案1
您可以使用一些技巧来打破顶层的二进制运算。
- 在
equation
环境中打开minipage
- 中和
$
,这样就不会再被解释 - 小页面包含一个内联公式
\displaystyle
,其中有一个\raggedright
设置
\documentclass{amsart} %{standalone}
\usepackage{amsmath}
\newcommand{\maximainput}[1]{%
\begin{equation}
\begin{minipage}{.9\columnwidth}
\raggedright\catcode`$=9 % ignore $
$\displaystyle\input{#1}$
\end{minipage}
\end{equation}
}
\title{Maxima Results}
\begin{document}
\maximainput{w02z0z111.tex}
\end{document}
在示例中,你得不到任何有用的东西,因为公式由两个分子很长的分数组成。如果分数被编码为
\frac{1}{<denominator>}\bigl(<numerator>\bigr)
分子可以跨行分割。
正如您注意到的,{\it z_0}
这是极其错误的,您可以\let\it\relax
在之后添加\raggedright
以使其无效。
答案2
次要问题:默认情况下,Maxima 在其 TeX 输出前后写上“$$”,但您可以更改这一点。例如:
set_tex_environment_default ("\\begin{equation}", "\\end{equation}");
或者彻底删除它们:
set_tex_environment_default ("","");
答案3
Maxima 输出的代码非常丑陋。可以$$
通过先在宏中读取文件(package catchfile
)并删除$$
via package来删除regexpatch
。也可以将方程式压缩到 via package 行中resizegather
。但由于方程式太长,方程式的长度减少太多:
\documentclass[fleqn]{amsart} %{standalone}
\usepackage[
% paperheight=10.75in,
% paperwidth=72.25in,
margin=1in,
heightrounded,
% showframe
]{geometry}
\usepackage{amsmath}
\usepackage{catchfile}
\usepackage{regexpatch}
\usepackage{resizegather}
\title{Maxima Results}
\begin{document}
\setlength{\mathindent}{0pt}
\CatchFileDef\MaximaText{w02z0z111.tex}{\endlinechar=-1 }
\xpatchcmd*\MaximaText{$$}{}{}{}
\begin{gather*}\relax
\MaximaText
\end{gather*}
\end{document}
当您手动重写等式时,您会得到更好的结果。
顺便说一句,不起作用的\mathindent
设置是由于缺少反斜杠造成的\
。
\setlength{\mathindent}{0pt}