Convert Markdown to LaTeX format. Use when the user asks to convert, transform, or change Markdown files to LaTeX, or mentions converting .md files to .tex files.
Install
npx skillscat add mearman/marketplace/md-to-latex Install via the SkillsCat registry.
SKILL.md
Markdown to LaTeX Converter
Convert Markdown documents to LaTeX format with comprehensive support for common Markdown syntax.
Usage
npx tsx plugins/tex/scripts/md-to-latex.ts <text>
npx tsx plugins/tex/scripts/md-to-latex.ts --file <input.md>
npx tsx plugins/tex/scripts/md-to-latex.ts --file <input.md> --output <output.tex>Supported Conversions
Headers
# Heading→\chapter{Heading}## Heading→\section{Heading}### Heading→\subsection{Heading}#### Heading→\subsubsection{Heading}##### Heading→\paragraph{Heading}###### Heading→\subparagraph{Heading}
Text Formatting
**bold**or__bold__→\textbf{bold}*italic*or_italic_→\emph{italic}`code`→\texttt{code}
Code Blocks
```python
def hello():
print("world")
```→
\begin{verbatim}
def hello():
print("world")
\end{verbatim}Lists
Unordered lists:
- Item 1
- Item 2
- Nested item→
\begin{itemize}
\item Item 1
\item Item 2
\item Nested item
\end{itemize}Ordered lists:
1. First
2. Second
3. Third→
\begin{enumerate}
\item First
\item Second
\item Third
\end{enumerate}Links
[text](url)→\href{url}{text}
Images
→\begin{figure}[h]\n\centering\n\includegraphics{path}\n\caption{alt}\n\end{figure}→\includegraphics{path}(no caption)
Blockquotes
> This is a quote
> spanning multiple lines→
\begin{quote}
This is a quote
spanning multiple lines
\end{quote}Horizontal Rules
---→\hrulefill
Special Character Handling
LaTeX special characters (&, %, $, #, _, {, }) are automatically escaped in text content (but not in code blocks).
Arguments
- Positional arguments: Text to convert (if no
--fileflag) --file: Read input from file--output <file>: Write output to file (default: stdout)
Examples
Convert inline text
npx tsx plugins/tex/scripts/md-to-latex.ts "# Hello World\n\nThis is **bold** text."Convert file
npx tsx plugins/tex/scripts/md-to-latex.ts --file document.md --output document.texUse in pipeline
echo "## Section\n\nParagraph with *italic*" | npx tsx plugins/tex/scripts/md-to-latex.tsLimitations
- Does not handle complex nested structures beyond simple cases
- Tables are not automatically converted (Markdown tables have no direct LaTeX equivalent without packages)
- Math notation is preserved as-is (both Markdown and LaTeX use
$...$for inline math and$$...$$for display math) - HTML tags in Markdown are not converted
Related Skills
- latex-to-md: Convert LaTeX back to Markdown
- tex-encode: Encode Unicode characters to LaTeX commands
- tex-decode: Decode LaTeX commands to Unicode
- tex-strip: Remove all LaTeX formatting for plain text