无需手动调整即可将 Mathematica 方程式中的 LaTeX-dump 格式化为 A4 纸?

无需手动调整即可将 Mathematica 方程式中的 LaTeX-dump 格式化为 A4 纸?

我问了这个问题这里在 Mathematica.SE 中,但他们也鼓励在此网站上提问。

在此处输入图片描述

如何让从 Mathematica 到 LaTeX 的写作过程更加轻松?请注意,我有很多变量,我想让读者看到它们,我不太感兴趣如何做,但又不想越过页面,所以必须打破方程式,也许还有其他格式,是否可以直接从 Mathematica 获取它?

Mathematica 代码

AA = -a*g/(A*(2*g*h)^(1/2));
aa = (F1 + F2)^2/(2*a^2*g);
BB = 2/A;
Du = F1 + F2 - 1.2;
Dx = h - aa;
Px = AA*Dx - BB*Du // Simplify;

{AA, aa, BB, Du, Dx, Px} // TeXForm (*perhaps wrong way here? I want to show the above lines fast and accessible to the reader*)

出去

\left\{-\frac{a g}{\sqrt{2} A \sqrt{g h}},\frac{(\text{F1}+\text{F2})^2}{2 a^2
   g},\frac{2}{A},\text{F1}+\text{F2}-1.2,h-\frac{(\text{F1}+\text{F2})^2}{2 a^2 g},-\frac{\frac{\sqrt{2} a g
   \left(h-\frac{(\text{F1}+\text{F2})^2}{2 a^2 g}\right)}{\sqrt{g h}}+4. (\text{F1}+\text{F2}-1.2)}{2 A}\right\}

我手工编辑的东西,很费时间(太长了,必须以某种方式打破它)

\begin{equation}
\begin{split}
{A',a',B',\Delta u, \Delta x, \partial x} := \left\{
-\frac{a g}{\sqrt{2} A \sqrt{g h}}, \\
\frac{(\text{F1}+\text{F2})^2}{2 a^2 g}, \\
\frac{2}{A}, \\
\text{F1}+\text{F2}-1.2, \\
h-\frac{(\text{F1}+\text{F2})^2}{2 a^2 g}, \\
-\frac{\frac{\sqrt{2} a g \left(h-\frac{(\text{F1}+\text{F2})^2}{2 a^2 g}\right)}{\sqrt{g h}}+4. (\text{F1}+\text{F2}-1.2)}{2 A} \\
\right.
\end{split}
\end{equation}

或许相关

  1. 如何分解一个长等式?

答案1

这是(印刷上)对OP自己的答案
(抱歉,仍然没有 Mathematica 自动化答案。这似乎是 Mathematica 本身或预处理器

笔记:

  • 不要使用空行来填充文本中的数学环境。这会引入一个新段落。
  • 不要在 之前使用空格-。对于 LaTeX 来说,这是两个独立的单词(matrix-case),并且会破坏连字符。
  • 我从最后一个等式中删除了两个不必要的括号。
  • 环境align会产生单独的方程编号,而不仅仅是四/五行的一个。
  • 环境split用于第一个块的最后几行,因为这些真的属于一个方程。(如果你不喜欢方程编号的位置,你可以删除环境split并只\notag在其中一行中使用。)
  • 我没有触摸F1F2
    您的 Mathematica 输出将它们设置为当前文本字体(可能是斜体)。如果不知道它们代表什么,我建议使用F_1\mathrm{F}1

代码

\documentclass{article}
\usepackage{amsmath}
\begin{document}
\section{V. State-function of linearized system}
% compare output of F to results in section 1 and 3
We need only height so the equations gets much simplified,
now from the matrix-case to scalars so that
% we don't want to have a new paragraph starting here, so: no blank line!
\begin{subequations}
\begin{align}
      A' & =-\frac{ag}{A \sqrt{2 g h}}       \\
      B' & = \frac{2}{A}                     \\
\Delta u & = F1 + F2 - 1.2                   \\
\begin{split}
\Delta x & = h - a'                          \\
         & = h - \frac{(F1 + F2)^2}{2 a^2 g}
\end{split}
\end{align}
\end{subequations}
% if you leave this line blank, you get another paragraph
so
%
\begin{equation}\begin{split}
\partial_t x & = A' \Delta x - B' \Delta u\\
             & = - \frac{ag}{A \sqrt{2 g h}} \left(h - \frac{(F1 + F2)^2}{2 a^2 g}\right) 
                 - \frac{2}{A} \left(F1 + F2 - 1.2 \right). \\
\end{split}\end{equation}
\end{document}

输出

在此处输入图片描述

答案2

我不知道如何获得格式良好的 Mathematica-dump,所以我使用了如下所示的基本 eq-split 块。输入它们相对较慢,但目前没有更好的解决方案,我使用这个——也许这可以以某种方式自动化:从方程式中推导出一些东西并使其看起来不错。

在此处输入图片描述

\section{V. State -function of linearized system}
% compare output of F to results in section 1 and 3

We need only height so the equations gets much simplified, now from the matrix -case to scalars so that 

\begin{equation}\begin{split}
A'&=-\frac{ag}{A\sqrt{2 g h}} \\
B'&=\frac{2}{A} \\
\Delta u&=F1+F2-1.2 \\
\Delta x&=h-a' \\
&=h-\frac{(F1+F2)^2}{2 a^2 g} \\
\end{split}\end{equation}

so 

\begin{equation}\begin{split}
\partial_tx &= A'\Delta x-B'\Delta u\\
&= \left(-\frac{ag}{A\sqrt{2 g h}}\right)\left(h-\frac{(F1+F2)^2}{2 a^2 g}\right)-\left(\frac{2}{A}\right)\left(F1+F2-1.2\right).\\
\end{split}\end{equation}

相关内容