¿Herramienta similar a Markdown para convertir texto "humano" en código LaTeX razonable?

¿Herramienta similar a Markdown para convertir texto "humano" en código LaTeX razonable?

En mi mundo ideal, yodesearpara poder escribir algo como

So here are the steps:
- So now we define x^* = min { x | sum_kk ||f(x_kk^20)|| } and then do blah
    - But this requires another indented bullet point with a couple equations:
        a = 1/2 + 1
        b = c + d
- Now I have another step

y convertirlo automáticamente a algo razonablemente similar en LaTeX, como por ejemplo:

So here are the steps:
\begin{itemize}
    \item So now we define $x^* = \min \left\{ x \middle| \sum_{kk} \lVert f(x_{kk}^{20}) \rVert \right\}$ and then do blah
        \begin{itemize}
            \item But this requires another indented bullet point
            \begin{align*}
                a &= 1/2 + 1  \\
                b &= c + d
            \end{align*}
        \begin{itemize}
    \item Now I have another step
\end{itemize}

Me doy cuenta de que probablemente no exista ninguna herramienta que lo haga.exactamentelo que quiero, pero ¿hay alguna herramienta que me ayude a hacer algo remotamente parecido a esto, que me ayude a salvar mis dedos y escribir menos?

Nota:

  1. Soynotratando de convertir la escritura a mano. Ya hay otra pregunta sobre eso.

  2. El resultado "correcto" es subjetivo. Está bien. Simplemente quiero algo razonable.

  3. Si es necesario, puedo escribir $...$y \todo, pero quiero escribir lo menos posible.
    Porlejoslas cosas más dolorosas de escribir son \begin{ENVIRONMENT}...\end{ENVIRONMENT}, \left...\middle...\righty construcciones tan detalladas.

Respuesta1

Como comentamos en los comentarios y en el chat, no hay forma de analizar las matemáticas de manera inequívoca. Por lo tanto, la mayoría de las herramientas para convertir algo a LaTeX no implementan ninguna técnica sofisticada de análisis matemático como se muestra en su pregunta.

Sin embargo, la pandocherramienta acepta matemáticas LaTeX en línea. Considere el siguiente ejemplo guardado comotest.md

So here are the steps:

- So now we define $x^* = \min\left\{ x \middle| \sum_{kk} \|f(x_{kk}^{20})\| \right\}$ and then do blah
    - But this requires another indented bullet point with a couple equations:
      \begin{align*}
        a &= 1/2 + 1 \\
        b &= c + d \\
      \end{align*}
- Now I have another step

Ahora puedes utilizarlo pandocpara convertir este fragmento a LaTeX.

pandoc -f markdown -t latex -o test.tex test.md

La resultantetext.tex tendrá el contenido.

So here are the steps:

\begin{itemize}
\itemsep1pt\parskip0pt\parsep0pt
\item
  So now we define
  $x^* = \min\left\{ x \middle| \sum_{kk} \|f(x_{kk}^{20})\| \right\}$
  and then do blah

  \begin{itemize}
  \itemsep1pt\parskip0pt\parsep0pt
  \item
    But this requires another indented bullet point with a couple
    equations:

    \begin{align*}
        a &= 1/2 + 1 \\
        b &= c + d \\
      \end{align*}
  \end{itemize}
\item
  Now I have another step
\end{itemize}

Respuesta2

Resultaexiste y se llama ASCIIMath!

Parece convertir matemáticas en HTML a MathML, para que MathJax las represente.

Después de eso, si realmente quieres código LaTeX, puedes convertir MathML a LaTeX con una utilidad estándar. De lo contrario, puedes usar la salida renderizada directamente.

información relacionada