latex-to-md

SKILL.md

LaTeX to Markdown Converter

Convert LaTeX documents to Markdown format with support for common LaTeX commands and environments.

Usage

npx tsx plugins/tex/scripts/latex-to-md.ts <text>
npx tsx plugins/tex/scripts/latex-to-md.ts --file <input.tex>
npx tsx plugins/tex/scripts/latex-to-md.ts --file <input.tex> --output <output.md>

Supported Conversions

Sections/Headers

  • \chapter{Title}# Title
  • \section{Title}## Title
  • \subsection{Title}### Title
  • \subsubsection{Title}#### Title
  • \paragraph{Title}##### Title
  • \subparagraph{Title}###### Title

Text Formatting

  • \textbf{bold}**bold**
  • \textit{italic}*italic*
  • \emph{emphasis}*emphasis*
  • \texttt{code}`code`
  • \verb|code|`code`

Code Blocks

\begin{verbatim}
code here
\end{verbatim}

```
code here
```

Also supports lstlisting environment.

Lists

Itemize (unordered):

\begin{itemize}
\item First item
\item Second item
\end{itemize}

- First item
- Second item

Enumerate (ordered):

\begin{enumerate}
\item First
\item Second
\end{enumerate}

1. First
2. Second

Links

  • \href{url}{text}[text](url)
  • \url{url}<url>

Images

With caption (figure environment):

\begin{figure}
\includegraphics{image.png}
\caption{Description}
\end{figure}

![Description](image.png)

Without caption:

  • \includegraphics{image.png}![](image.png)
  • \includegraphics[width=5cm]{image.png}![](image.png) (options stripped)

Blockquotes

\begin{quote}
This is a quote
\end{quote}

> This is a quote

Horizontal Rules

  • \hrulefill---
  • \hline---

Unicode Character Decoding

LaTeX special characters are automatically decoded to Unicode:

  • \'{e}é
  • \"{a}ä
  • \c{c}ç
  • \aeæ
  • \oeœ
  • \ssß
  • And ~100 more LaTeX commands

See tex-decode skill for complete list of supported characters.

Math Preservation

LaTeX math notation is preserved as-is:

  • Inline math: $...$ remains $...$
  • Display math: $$...$$ remains $$...$$

Many Markdown renderers support this syntax natively.

Arguments

  • Positional arguments: Text to convert (if no --file flag)
  • --file: Read input from file
  • --output <file>: Write output to file (default: stdout)

Examples

Convert inline text

npx tsx plugins/tex/scripts/latex-to-md.ts "\\section{Hello}\n\nThis is \\textbf{bold}."

Convert file

npx tsx plugins/tex/scripts/latex-to-md.ts --file paper.tex --output paper.md

Extract plain text from LaTeX

npx tsx plugins/tex/scripts/latex-to-md.ts --file document.tex | npx tsx plugins/tex/scripts/strip.ts

Limitations

  • Does not handle complex LaTeX packages or custom commands
  • Tables are not automatically converted (LaTeX tables vary widely in structure)
  • Cross-references (\ref, \cite) are not resolved
  • Bibliographies require separate handling
  • Complex math environments may need manual adjustment
  • Nested environments beyond simple cases may not convert perfectly

Related Skills

  • md-to-latex: Convert Markdown to LaTeX
  • tex-decode: Decode LaTeX commands to Unicode (used internally)
  • tex-strip: Remove all LaTeX formatting for plain text
  • tex-protect: Protect text from LaTeX interpretation
Weekly Installs
2
GitHub Stars
2
First Seen
Feb 3, 2026
Installed on
claude-code2
mcpjam1
kilo1
junie1
windsurf1
zencoder1