Ferramenta semelhante a Markdown para converter texto "humano" em código LaTeX razoável?

Ferramenta semelhante a Markdown para converter texto "humano" em código LaTeX razoável?

No meu mundo ideal, euquererser capaz de escrever 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

e convertê-lo automaticamente para algo razoavelmente semelhante em LaTeX, como:

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}

Sei que provavelmente não existe nenhuma ferramenta que faça issoexatamenteo que eu quero, mas existe alguma ferramenta que me ajude a fazer algo remotamente assim, para me ajudar a economizar meus dedos e digitar menos?

Observação:

  1. Eu sounãotentando converter a caligrafia. Já há outra questão sobre isso.

  2. A saída "correta" é subjetiva. Isso está ok. Eu apenas quero algo razoável.

  3. Se necessário, posso digitar $...$e \tudo, mas quero digitar o mínimo possível.
    Pordistanteas coisas mais dolorosas de digitar são \begin{ENVIRONMENT}...\end{ENVIRONMENT}, \left...\middle...\righte construções detalhadas.

Responder1

Conforme discutimos nos comentários e no chat, não há como analisar a matemática de forma inequívoca. Portanto, a maioria das ferramentas para converter algo em LaTeX não implementa nenhuma técnica sofisticada de análise matemática, conforme mostrado na sua pergunta.

A pandocferramenta, entretanto, aceita matemática LaTeX inline. Considere o seguinte exemplo salvo 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

Agora você pode pandocconverter este trecho para LaTeX.

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

O resultado text.texterá o conteúdo

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}

Responder2

Acontece queele existe e se chama ASCIIMath!

Parece converter matemática em HTML em MathML, para que o MathJax seja renderizado.

Depois disso, se você realmente quiser o código LaTeX, poderá converter MathML em LaTeX com um utilitário padrão. Caso contrário, você pode simplesmente usar a saída renderizada diretamente.

informação relacionada