这是我在将 Mathematica Notebook 转换为 TeX 时遇到的一个问题:
https://mathematica.stackexchange.com/questions/25928/save-as-tex-fx-double-s-problem
我得到了一些\(
双
\(\(f(x)\)\)
这是 Mathematica 的问题吗?我不知道还有什么地方会生成类似\(
的
而且,如果我无法控制 Mathematica 生成单个\(
,如何方便地将 更改\(\(
为\(
?
\(
我有时使用“查找/替换”来删除WinEdt 中的冗余内容
答案1
\(
我们可以改变和的定义,\)
以便它们检查它们后面是否跟着另一个出现的它们自己和\@gobble
那个。
这些保留了数学转变$
,并且$$
保持原样,这意味着将使用LaTeX 的优越性\[
/ 。\]
不过,最好修复一下 Mathematica 的错误……
代码
\documentclass{article}
\makeatletter
\let\orig@mo\(
\let\orig@mc\)
% (choose one)
% \(\( = display style
\def\({\kernel@ifnextchar\({\expandafter\[\@gobble}\orig@mo}
\def\){\kernel@ifnextchar\){\expandafter\]\@gobble}\orig@mc}
% \(\( = inline math
\def\({\kernel@ifnextchar\({\expandafter\orig@mo\@gobble}\orig@mo}
\def\){\kernel@ifnextchar\){\expandafter\orig@mc\@gobble}\orig@mc}
\makeatother
\begin{document}
inline $ \frac {x^2}{y} $
display $$ \frac {x^2}{y} $$
inline \( \frac {x^2}{y} \)
display \(\( \frac {x^2}{y} \)\)
\end{document}
答案2
几乎可以肯定,这是一个配置错误的转换,其中内联数学已从 更改为 ,$
这\(
产生了意外的影响,其中$$
已更改为\(\(
。
最好修好转换器,但如果你去
\let\($ \let\)$
然后\(
会表现$
得像
aaa\(a=b\)bbbbaaa\(\(c=d\)\)bbbb
将像
aaa$a=b$bbbbaaa$$c=d$$bbbb
在内联数学中 a=b,在显示数学中 c=d。