我正在编译 FriCAS 计算机代数系统生成的代码。
想知道您是否认为 FriCAS 生成的 Latex 代码无效,这样我就可以向他们投诉,或者是否有解决方法。
这是小的 Latex 代码。这是 MWE
\documentclass[]{article}
\usepackage{amsmath}
\usepackage{breqn}
\begin{document}
\begin{dmath*}[frame={.5pt}]
{{\log \left( {{{b \ x}+a}} \right)} -{\log \left( {{{b \ x} -a}} \right)}} \over {2 \ a \ b}
\end{dmath*}
\end{document}
当我编译它时,lualatex 挂了
>lualatex foo.tex
This is LuaTeX, Version 1.0.4 (TeX Live 2017)
restricted system commands enabled.
(./foo.tex
LaTeX2e <2017-04-15>
(using write cache: /home/me/.texlive2017/texmf-var/luatex-cache/generic)(using
read cache: /usr/local/texlive/2017/texmf-var/luatex-cache/generic /home/me/.t
exlive2017/texmf-var/luatex-cache/generic)
luaotfload | main : initialization completed in 0.126 seconds
Babel <3.15> and hyphenation patterns for 1 language(s) loaded.
(/usr/local/texlive/2017/texmf-dist/tex/latex/base/article.cls
Document Class: article 2014/09/29 v1.4h Standard LaTeX document class
(/usr/local/texlive/2017/texmf-dist/tex/latex/base/size10.clo(load luc: /home/m
e/.texlive2017/texmf-var/luatex-cache/generic/fonts/otl/lmroman10-regular.luc))
) (/usr/local/texlive/2017/texmf-dist/tex/latex/amsmath/amsmath.sty
For additional information on amsmath, use the `?' option.
(/usr/local/texlive/2017/texmf-dist/tex/latex/amsmath/amstext.sty
(/usr/local/texlive/2017/texmf-dist/tex/latex/amsmath/amsgen.sty))
(/usr/local/texlive/2017/texmf-dist/tex/latex/amsmath/amsbsy.sty)
(/usr/local/texlive/2017/texmf-dist/tex/latex/amsmath/amsopn.sty))
(/usr/local/texlive/2017/texmf-dist/tex/latex/breqn/breqn.sty
(/usr/local/texlive/2017/texmf-dist/tex/latex/l3kernel/expl3.sty
(/usr/local/texlive/2017/texmf-dist/tex/latex/l3kernel/expl3-code.tex)
(/usr/local/texlive/2017/texmf-dist/tex/latex/l3kernel/l3pdfmode.def))
(/usr/local/texlive/2017/texmf-dist/tex/latex/breqn/flexisym.sty
(/usr/local/texlive/2017/texmf-dist/tex/latex/breqn/cmbase.sym)
(/usr/local/texlive/2017/texmf-dist/tex/latex/breqn/mathstyle.sty))
(/usr/local/texlive/2017/texmf-dist/tex/latex/graphics/keyval.sty)
(/usr/local/texlive/2017/texmf-dist/tex/latex/tools/calc.sty)) (./foo.aux)
Package amsmath Warning: Foreign command \over;
(amsmath) \frac or \genfrac should be used instead
(amsmath) on input line 8.
到此为止。
如果我不使用breqn
并这样做
\documentclass[]{article}
\usepackage{amsmath}
\begin{document}
\[
{{\log \left( {{{b \ x}+a}} \right)} -{\log \left( {{{b \ x} -a}} \right)}} \over {2 \ a \ b}
\]
\end{document}
它现在可以工作了。
尽管我仍然收到警告消息,但它并没有挂起,并且它生成了 PDF OK。
我想使用breq
,我没有问题,除了在这个例子中。
问题是: FriCAS 生成的 Latex 是否不好,或者这里还有其他问题?有没有简单的解决方法(除了不使用breqn
?
答案1
最小的例子是
\begin{dmath*}
a\over b
\end{dmath*}
解决方案:转储该 CAS。备选解决方案:在项目周围添加括号,并忍受错误的输出。代码中充斥着无用的括号,而缺少了需要的括号。
\documentclass[]{article}
\usepackage{amsmath}
\usepackage{breqn}
\begin{document}
\begin{dmath*}
{{{\log \left( {{{b \ x}+a}} \right)} -{\log \left( {{{b \ x} -a}} \right)}} \over {2 \ a \ b}}
\end{dmath*}
\[
\frac{\log(bx+a)-\log(bx-a)}{2ab}
\]
\end{document}
为了我的理智,我添加了正确的排版。