Skip to main content

Convert Markdown (.md) files to PDF ...

Project description

md2ltx

A command-line tool for converting Markdown to PDF via Pandoc and LaTeX.

Usage

md2ltx [source.md] [output.pdf] [--open] [--save] [--help]

Positional Arguments

source_file
Path to the input Markdown (.md) file.

output_pdf (optional)
Path to the output PDF file. If omitted, a default name is derived from the source file.

Optional Switches

--open
Open the resulting PDF in the system’s default viewer.

--save
Save the resulting PDF to the provided output file instead of using a temporary file.

--help
Show this help message and exit.

Description

md2ltx uses Pandoc to transform Markdown files into LaTeX, which pdflatex then uses to generate a final PDF. This workflow supports most of Markdown’s core syntax plus many Pandoc extensions. Below is a high-level overview of how Pandoc typically converts various Markdown constructs into LaTeX. For full details, refer to Pandoc’s official documentation.


1) Headings

Markdown

# Heading 1  
## Heading 2  
### Heading 3

Pandoc → LaTeX

\section{Heading 1}  
\subsection{Heading 2}  
\subsubsection{Heading 3}

Pandoc chooses \section, \subsection, etc. based on the heading level. It also supports underline-style Markdown headings with “===” or “---” for level-one and level-two headings.


2) Emphasis & Strong Emphasis

Markdown

*emphasis* or _emphasis_  
**strong emphasis** or __strong emphasis__

Pandoc → LaTeX

\emph{emphasis}  
\textbf{strong emphasis}

3) Inline Code

Markdown

`inline code`

Pandoc → LaTeX

\texttt{inline code}

4) Code Blocks

Markdown (fenced)

```  
a = 1  
b = 2  
```

Pandoc → LaTeX (by default)

\begin{verbatim}  
a = 1  
b = 2  
\end{verbatim}

With certain options, Pandoc can use different LaTeX environments (e.g., listings).


5) Lists

Unordered (Markdown)

- item 1  
- item 2  
- item 3

Pandoc → LaTeX

\begin{itemize}  
\item item 1  
\item item 2  
\item item 3  
\end{itemize}

Ordered (Markdown)

1. item 1  
2. item 2

Pandoc → LaTeX

\begin{enumerate}  
\item item 1  
\item item 2  
\end{enumerate}

6) Links & Images

Link (Markdown)

[Pandoc](https://pandoc.org)

Pandoc → LaTeX

\href{https://pandoc.org}{Pandoc}

Image (Markdown)

![Alt text](image.png)

Pandoc → LaTeX

\includegraphics{image.png}

By default, \includegraphics is placed without floats. You can add captions or figure environments using extended syntax or metadata.


7) Blockquotes

Markdown

> This is a blockquote.

Pandoc → LaTeX

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

8) Horizontal Rules

Markdown

---  
***  
___

Pandoc → LaTeX

\hrule

9) Footnotes (Pandoc Extension)

Markdown

This is some text with a footnote.[^1]

[^1]: This is the footnote text.

Pandoc → LaTeX

This is some text with a footnote.\footnote{This is the footnote text.}

10) Tables

Markdown (simple pipe table)

| Column1 | Column2 |  
|---------|---------|  
| Val1    | Val2    |  
| Val3    | Val4    |

Pandoc → LaTeX

\begin{table}  
\centering  
\begin{tabular}{ll}  
\hline  
Column1 & Column2 \\  
\hline  
Val1    & Val2    \\  
Val3    & Val4    \\  
\hline  
\end{tabular}  
\end{table}

11) Math & LaTeX Blocks

Inline Math

$E = mc^2$

Pandoc → LaTeX

\(E = mc^2\)

Display Math

$$  
E = mc^2  
$$

Pandoc → LaTeX

\[  
E = mc^2  
\]

12) Citations & Bibliographies

Pandoc can handle citations if you provide a bibliography file. A reference like [@smith2009] can become \cite{smith2009} or \autocite depending on the style and Pandoc’s command-line options.


13) Metadata & Title Blocks

Markdown with a YAML metadata block (e.g., “title: My Title”) can become \title, \author, etc., in LaTeX. Use -s or --standalone to generate a title page and call \maketitle.


14) Raw LaTeX

Pandoc passes raw LaTeX through if you’re converting to LaTeX or PDF. For example:

\newpage

remains \newpage in the output.


Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

md2ltx-0.0.7.tar.gz (9.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

md2ltx-0.0.7-py3-none-any.whl (9.2 kB view details)

Uploaded Python 3

File details

Details for the file md2ltx-0.0.7.tar.gz.

File metadata

  • Download URL: md2ltx-0.0.7.tar.gz
  • Upload date:
  • Size: 9.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.3

File hashes

Hashes for md2ltx-0.0.7.tar.gz
Algorithm Hash digest
SHA256 279d9beeb095715c1ed34b79b56d7220e7c8e56fc199206b1c1bc1387237c4a2
MD5 b916ca51066a17fc2051ea152dbfac39
BLAKE2b-256 c6b181d5471c2c1eadef7a9bed6f6e323dfdfcb9dcf6d4133f6de0f16adc8b2e

See more details on using hashes here.

File details

Details for the file md2ltx-0.0.7-py3-none-any.whl.

File metadata

  • Download URL: md2ltx-0.0.7-py3-none-any.whl
  • Upload date:
  • Size: 9.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.3

File hashes

Hashes for md2ltx-0.0.7-py3-none-any.whl
Algorithm Hash digest
SHA256 8d24ebb6539bc2bfb5ca50a1509aafd58853e8c25780cfa6a990f8018be8e2c4
MD5 87846067641fc763732082f69fa93912
BLAKE2b-256 86190a067d384bfb45ebc99285ba65679873f4b5ae82485a707faf0a95174944

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page