我想知道用C ++代码记录数学公式的最佳实践。
理想情况下,将方程式直接写入注释可能是完美的,但以人类可读的方式编写它们是不可行的。
我看过LaTex,MathML,当与来自不同视野的许多人合作时,语法很复杂(毕竟不是每个人都是数学家)。如果您对该领域有任何经验,请发表评论。
例如,我在每个需要记录的函数中添加了对外部HML文件的交叉引用,但是很难维护。我尝试了Doxygen公式,我们大多数人发现语法也非常复杂。
\f[
|I_2|=\left| \int_{0}^T \psi(t)
\left\{
u(a,t)-
\int_{\gamma(t)}^a
\frac{d\theta}{k(\theta,t)}
\int_{a}^\theta c(\xi)u_t(\xi,t)\,d\xi
\right\} dt
\right|
\f]
答案 0 :(得分:4)
你总是可以使用“ASCII”艺术。如果你的编辑器支持Unicode(特别是UTF-8编码),那就更好了。实际查看代码时可能更具可读性。虽然维护它可能不比TeX语法更容易。 E.g。
// │ ⌠T { } │
// │ | { ⌠a dθ ⌠θ } │
// │ I │ = │ | ψ(t) { u(a,t) - | ------ | c(ξ) u (ξ,t) dξ } dt │
// │ 2 │ │ | { ⌡γ(t) k(θ,t) ⌡a t } │
// │ ⌡0 { } │
答案 1 :(得分:3)
如果您有复杂的数学方程需要各种符号,最好将它们写在功能文档中,而不是代码文档中。即一份单独的文件。
答案 2 :(得分:1)
LaTeX语法并不是过于复杂,而且比MathML更加人性化(人类可写!)(好的,这是一种观点)。一些练习确实有帮助,但这不是你几个小时内不会接受的。根据我的经验,在LaTeX中编写数学丰富的文本是目前最方便的选择。
取决于您的公式有多复杂 - 或者更确切地说,您是否需要花哨的符号 - 我会说您可以将公式嵌入代码并使用doxygen,或者,如已经指出的那样,创建一个单独的文件。