使用 LaTeX 比仅使用纸张更有效地解决数学问题

使用 LaTeX 比仅使用纸张更有效地解决数学问题

几年前,我就一直在不用纸笔的情况下用 LaTeX 解决数学问题。有些问题有 (很多) 行单词,有些有 (很多) 行方程式,有些则两者都有。

当我发现自己有时会遇到时间问题,并且觉得从 LaTeX 代码中推理不太直接,担心在 LaTeX 代码之间切换、重新编译和查看 pdf 文件会浪费时间时,我开始怀疑完全用 LaTeX 做事是否会减慢我的速度。但我记得当我完全在纸上做事时,我希望我可以像在电脑上一样“复制”和“粘贴”。

我正在寻找提高推理和解决数学问题的效率的方法:

  • 用纸和笔,
  • 在 LaTeX 中,
  • 两者结合……

当我们不使用纸笔用 LaTeX 解决数学问题时,您有哪些技巧可以提高我们的工作效率?

答案1

我很确定标题中问题的答案是——使用 LaTeX 不带纸解决数学问题是否比使用纸质文件慢?-是是的。我工作时,面前放着一台电脑键盘,左边放着一支笔和一本便笺簿(是的,我是左撇子),当我输入问题解决方案时,我通常会让键盘在便笺簿上划一会儿,然后再回到键盘上用 LaTeX 将其写出来。我可以想到一些原因来解释为什么这可能更真实:

  • 我的思考速度比打字速度快。
  • 尽管用英语打字时我打字的速度比写字快得多,但是用数学书写时我写字的速度比用 LaTeX 打字时快得多。
  • 我可以手绘非常多比在 LaTeX 中绘制速度更快。

我承认这是一个完全主观的答案,但我不知道有哪位同事会先在 LaTeX 中工作,而不是先在纸上或黑板/白板上涂鸦。

至于提高编写 LaTeX 效率的技巧,我建议遵循良好的编码实践。据我所知,代码组织方面没有那么多固定的惯例,但我遵循的一些一般做法是:

  • 每个句子都另起一行。

  • 在环境块内缩进代码。

  • 使用括号将组括起来,即使它们只有一个标记。我在上标/下标中违反了此规则,但在\frac-tions 中严格遵守此规则。

  • 使用cool包使许多数学表达式更像宏。

例如(这不是我举的最好例子,但这是我手头上的例子),

Let $E$ be the solid.
Its volume is $\frac{1}{8} \frac{4}{3}\pi = \frac{\pi}{6}$.
In spherical coordinates it is a wedge $0 \leq \rho\leq 1$, $0 \leq \theta \leq \pi/2$, $0 \leq \phi\leq \pi/2$.
So the moments are 
\begin{align*}
    M_{yz} = \iiint_E x\,dV &= \int_0^{\pi/2}\int_0^{\pi/2} \int_0^1 (\rho \Sin{\phi}\Cos{\theta})\rho^2\Sin{\phi}\,d\rho\,d\phi\,d\theta \\
          &= \int_0^{\pi/2} \Cos{\theta} \,d\theta\cdot\int_0^{\pi/2} \Sin{\phi}^2 \,d\phi\cdot\int_0^{1} \rho^3\,d\rho \\
          &= 1 \cdot \frac{\pi}{4} \cdot \frac{1}{4} = \frac{\pi}{16} \\
    M_{yz} = \iiint_E y\,dV 
        &= \int_0^{\pi/2}\int_0^{\pi/2} \int_0^1 (\rho \Sin{\phi}\Sin{\theta})\rho^2\Sin{\phi}\,d\rho\,d\phi\,d\theta  \\
        &= \int_0^{\pi/2} \Sin{\theta} \,d\theta\cdot\int_0^{\pi/2} \Sin{\phi}^2\,d\phi \cdot \int_0^1 \rho^3 \,d\rho \\
        &= 1 \cdot \frac{\pi}{4} \cdot \frac{1}{4} = \frac{\pi}{16} \\
    M_{xy} = \iiint_E z\,dV 
        &= \int_0^{\pi/2}\int_0^{\pi/2} \int_0^1 (\rho \Cos{\phi})\rho^2\Sin{\phi}\,d\rho\,d\phi\,d\theta \\
        &= \int_0^{\pi/2} d\theta\cdot \int_0^{\pi/2} \Sin{\phi}\Cos{\phi}\,d\phi \cdot \int_0^1 \rho^3 \,d\rho \\
        &= \frac{\pi}{2} \cdot \frac{1}{2} \cdot \frac{1}{4} = \frac{\pi}{16}
\end{align*}
So the coordinates of the centroid are
$\left(\frac{3}{8},\frac{3}{8},\frac{3}{8}\right)$

即使对于这个,我也首先在纸上解决它。


2023 年更新:写这篇文章九年后,我获得了一个点赞,这让我有机会重读它。我的工作流程没有太大变化,只是我左边的“笔和垫子”经常被平板电脑和手写笔取代。这种工作流程的优点是图表也更容易徒手绘制。

答案2

如果您能够足够快地编写 latex 数学公式,那么当您尝试直接在 latex 中解决问题时,它将为您提供额外的灵活性和生产力。鉴于这样的速度,在 latex 中工作可能比在纸上工作更快,因为可以剪切和粘贴长序列,从而允许通过编辑调整进行下一步。我以这种方式解决了一些棘手的数学问题,我可能不会在纸上尝试,因为写出长方程式(所有方程式都略有不同)会花费太长时间。

考虑到这一点,这里有一些我发现可以提高我的乳胶开发效率的方法,可以在适当的时候直接在乳胶中工作:

  • 使用pdflatex -synctex=1,以及支持此功能的 pdf 查看器,例如苏门答腊 PDF。这样您就可以双击 pdf 文件中的文本或公式,并立即.tex在感兴趣的位置编辑相关文件。如果您使用 Windows,Sumatra 也比 Adob​​e Reader 更好,因为它不会对文件应用 Windows 锁定,并且如果通过在后台运行“make”进行更改,它将自动重新加载 pdf。

  • 如果你发现自己需要反复输入一些数学序列,可以为其创建一个宏。一些例子

    \newcommand{\inv}\[1\]{\frac{1}{#1}}
    
    \newcommand{\abs}\[1\]{\lvert{#1}\rvert}
    
    \newcommand{\norm}\[1\]{\lVert{#1}\rVert}
    
    \newcommand{\lr}\[1\]{\left(#1\right)}
    
    \newcommand{\Bx}\[0\]{\mathbf{x}}
    
  • 保留备忘单您使用的常见乳胶模式。我使用它来快速获取我经常使用的序列。使用 vim,我可以运行以下命令(通常在我的命令历史记录中,可以快速检索)

    :r!grep equation} latexCheatSheet.tex
    
    :r!grep bmatrix} latexCheatSheet.tex
    
    :r!grep aligned} latexCheatSheet.tex
    
  • 使用脚本自动编号标签。

  • 如果你发现自己输入了一些模式,但又不觉得想要永久​​的模式\newcommand,那么可以使用一些临时的搜索和替换模式,这样你就可以更快地输入内容,然后运行脚本将内容转换为实际的 latex。我发现perl -pi,无论输入什么临时正则表达式列表在当时是合适的,效果确实很好。

  • 使用版本控制系统,例如git,以管理您的源。如果您使用脚本技巧来更改源,这一点尤其重要,这样如果出现问题,您可以返回到以前的版本。

  • 使用软件包\begin{dmath} ... \end{dmath}中的breqn功能,将长多部分方程式的格式留给 Latex,而不是乱用aligned&\\标记。这有助于让您花时间制作内容,而不是浪费时间尝试正确设置格式。

  • 学习并使用正则表达式以及支持它们的编辑器(和/或类似工具perl)。一开始你可能会头疼,但你的编辑效率会提高几个数量级。

这些方法非常有效,我现在通常可以写我的课堂笔记,这些内容都涉及繁重的数学运算,可在 Latex 中实时完成。

答案3

关于在 LaTeX 代码之间切换、重新编译和查看 pdf 文件所浪费的时间,有一些 LaTeX 编辑器具有集成查看器、后台编译,甚至公式的实时预览功能,例如 TeXstudio。

您可能需要尝试一些工具才能找到最适合您的工具。以下是IDE 及其功能列表

答案4

我更喜欢直接在乳胶中处理代数和方程式运算,而在纸上解决更多几何和绘图问题。

在我看来,LaTeX 最大的好处之一是能够使用非常先进的文本编辑工具。我使用Sublime Text 2with LaTeXTools,它提供了大多数基本的 vim 命令(只需点击yyp即可复制该行,因此我写出每一步这有助于捕获错误)

使用LaTeXTools在多光标、自动完成、vi 和 Sublime 中的其他出色工具之上添加一整层,其补全功能可以真正加快速度。例如,输入:

\begin{align*}
    \frac{4}{5} = x\\
    \frac{9}{5} = x\\
\end{align*}

我的按键是

bal <tab> <tab> fra <tab> 4 <tab> 5 <tab> = x \\ <esc> yyp/4r9

它看起来很复杂,但只需 25 次击键就可以在 4 行中输入 65 个字符,并进行适当的缩进,而且方程式越大,效率就越高。

它还有助于写作,superc <tab>只要我已经在文档的某个地方输入了像 Supercalifragilisticexpialidocious 这样的长单词,它就会帮我填充其余部分。

它还允许我cmd b在 Skim 中编译和显示该文档。

相关内容