Pandoc

詳細情報

タイトル Pandoc
URL http://pandoc.org/
バージョン ver 3.12
更新日 2026/09/29
追加日 2016/06/01
種別 フリーソフト
説明 コマンドラインから使用する汎用ドキュメント変換ツール。

レビュー

概要

Pandocは、異なるドキュメント形式間を相互変換できる「ユニバーサルドキュメントコンバーター」です。Haskell言語で開発され、John MacFarlaneによって2006年に公開されました。Markdown、reStructuredText、HTML、LaTeX、Word、EPUBなど数十種類のフォーマットを相互変換できることから「スイス・アーミーナイフ」とも呼ばれています。コマンドラインツールとして動作し、学術・技術文書の変換から出版物の制作まで幅広い用途で活用されています。

主要な特徴・機能

  • 幅広いフォーマット対応: Markdown・reStructuredText・AsciiDoc・HTML・LaTeX・Word (.docx)・EPUB・PDF・PowerPoint・MediaWikiなど数十種類に対応
  • 双方向変換: 多くのフォーマット間で読み込み・書き出しの双方向変換が可能
  • LaTeX数式サポート: 数式をMathJax・MathML・LaTeX形式で変換・レンダリング
  • 引用・参考文献管理: 数百種類のCSLスタイルに対応した自動引用・参考文献生成
  • テンプレートシステム: カスタムテンプレートで出力スタイルを柔軟にカスタマイズ
  • Luaフィルター: Luaスクリプトで変換処理をカスタマイズ・拡張可能
  • メタデータ処理: YAML形式のメタデータブロックをドキュメントに埋め込み可能
  • クロスプラットフォーム: Windows・macOS・Linuxで動作

対象ユーザー

  • 学術論文や技術文書を複数フォーマットで配布したい研究者・学者
  • Markdownで書いたドキュメントをWord・PDF・HTMLに変換したいエンジニア・ライター
  • 出版物の制作ワークフローを自動化したい出版関係者
  • 静的サイトジェネレーターや文書管理システムを構築する開発者
  • ドキュメント変換をCI/CDパイプラインに組み込みたいDevOpsエンジニア

ライセンス情報

PandocはGNU General Public License (GPL) のもとでリリースされたフリーソフトウェアです。ソースコードはGitHubで公開されており、無償で利用・改変・再配布が可能です。著作権はJohn MacFarlane (2006–2025) が保有しています。

スクリーンショット

更新グラフ

バージョン履歴

pandoc 3.12 (2026-09-27)
Markdown reader:
Make alert keywords case-insensitive (#11836,
Hendrik Erz). In addition, the class alert is now
added to the produced Divs.
Fix stream position handling in
base64DataURI.
Cheaply reject bareURL before trying
uri/emailAddress.
Reset sourcepos in parseWithString' when parsing
a block quote or list item. Otherwise it can happen that by the
time parseWithString' is called, the position has
already been set to the next file on the command line. Fixes an
odd bug with rebase_relative_paths (#11888).
rebase_relative_paths: recognize URLs with
unknown schemes (#11858).
Use takeWhile1P in the hot inline parsers
str, code, enclosure, and
mmdShortSubscript.
(省略されました)
pandoc 3.11 (2026-08-28)
Add --math-method option. This replaces (now
deprecated but still functional) options --mathml,
--mathjax, --gladtex,
--katex, --webtex. The
plain style can now be specified explicitly. In
defaults files, html-math-method is now
math-method (though html-math-method
will still work).
Make mathml the default math-method (#11751).
Add --completion={bash,zsh,fish} (#8542, wzy).
Make --bash-completion an alias of
--completion=bash. See the manual for instructions on
how to use these completions.
Text.Pandoc.Options [API change]:
Rename HTMLMathMethod type to MathMethod.
Rename writerHTMLMathMethod field of
WriterOptions to writerMathMethod.
Markdown reader:
(省略されました)
Twenty Years of Pandoc
Press
pandoc 3.10.2 (2026-08-11)
Markdown reader:
Raw HTML: fix handling of void hr element (#11793).
LaTeX writer:
Omit empty caption on unnumbered tables (#11795).
Emit accumulated footnotetext at the first
available opportunity (#11773).
Typst writer:
Don’t alter curly quotes in strings, even with
smart (#11788).
This reverts commit 04848401d5711d0da74e6e32a7aedc6c2d661a71.
Make writer sensitive to typst-label attribute
(#11794).
If this attribute is set, the writer will output a label. (This
overrides labels based on identifiers, when identifiers are
present.)
Typst template: rename horizontalrule to
(省略されました)
pandoc 3.10.1 (2026-07-21)
New output format t2t (Txt2Tags markup, https://txt2tags.org))
(luginf).
New module Text.Pandoc.Writers.Txt2Tags, exporting
writeTxt2Tags (loginf) [API change]. Also exported
from Text.Pandoc.Writers.
Change adding of .yaml extension in
--defaults option (#11717).
Previously it was always added if the specified filename lacked an
extension. Now it is only added if there is no file with the
original name. This facilitates using --defaults with
bash/zsh <(..) or =(..).
RST reader:
Fix nested placeholder resolution for inline elements (#11753,
Tobias Deiminger). (Regression from pandoc 3.6.)
Treat undefined substitution references as plain text (#11727).
This mirrors rst2html behavior.
Markdown reader:
Ordered sublists must start with 1, er equivalent, e.g. i (#11735).
(省略されました)
pandoc 3.10 (2026-06-03)
Add --typst-input CLI option (#11588).
This allows one to pass parameters to typst, which are available
at sys.inputs, just as typst itself does
with its --input option.
Avoid trailing spaces in --help output (#11623).
Make groff the default pdf-engine for ms
output (#11558).
Formerly it was pdfroff.
Set default User-Agent request header to
pandoc/VERSION. This can be overridden using the
--request-header option.
Markdown reader:
Allow grid tables to be indented (#11671,
Johan Larsson). Like the other table syntaxes (pipe, simple, and
multiline tables) and block-level constructs generally, a grid
table may now be indented by up to three spaces and still be
recognized as a table. Previously the grid-table parser required
the table to begin at the left margin, so an indented grid table
(省略されました)
pandoc 3.9.0.2 (2026-03-19)
Typst template: fix regression introduced in 3.9.0.1 (#11538).
pandoc 3.9.0.2
(2026-03-19)
pandoc 3.9.0.1 (2026-03-17)
WASM GUI:
Don’t block everything while pandoc.wasm loads.
Fix bug with Unicode filenames (#11447).
Catch errors loading pandoc.
Docx reader:
Recognize media inside textboxes (#11053,
Raymond Berger).
Properly handle media stored with packaged-rooted paths such
as /media (#11518).
This can be produced by the online version of Word. With this
change, media stored at an absolute path will be stored with its
original name and not given a SHA1-based name.
Preserve non-textbox content when unwrapping textboxes (#11510, #6893, #11412, #5394, #9633). Treat
text inside a textbox containing an image as a figure
caption.
Typst reader:
Handle bibliography command (#11460). If
this is present, a bibliography section is added to the document
(省略されました)
Code signing policy
pandoc 3.9 (2026-02-03)
Add support for compiling pandoc to WASM. (To build,
make pandoc.wasm.) A stanza in
cabal.project contains the necessary build
modifications. We owe this almost entirely to TerrorJack, who
created the original proof of context and came up with the
necessary build flags and patches to some dependencies.
pandoc.wasm has almost all the power of regular
pandoc. The main limitations is that it operates in a WASM sandbox
and thus cannot use HTTP to fetch resources and cannot run system
commands. As a result, JSON filters cannot be used,
--embed-resources works only with resources that have
been explicitly provided in the WASM sandbox, and PDFs cannot be
produced (since that requires running external commands). However,
Lua filters can be used, as long as they do not run system
commands.
A JavaScript bridge module, wasm/pandoc.js, is
provided; this handles the setup necessary to run
(省略されました)
pandoc 3.8.3 (2025-12-01)
Add asciidoc as an input format (#1456).
Add xlsx (Microsoft Excel) as an input format
(Anton Antich). Each worksheet turns into a section containing a
table.
Add pptx (PowerPoint) as new input format
(Anton Antich).
Add bbcode as a new output format (#11242,
reptee). Several variants of BBCode are also supported:
bbcode_fluxbb (FluxBB), bbcode_phpbb
(phpBB), bbcode_steam (Hubzilla),
bbcode_hubzilla (Hubzilla), and
bbcode_xenforo (xenForo).
New exported module Text.Pandoc.Readers.AsciiDoc, exporting
readAsciiDoc [API change].
New module Text.Pandoc.Readers.Pptx, exporting
readPptx (Anton Antich) [API change].
New module Text.Pandoc.Readers.Xlsx, exporting
readXlsx (Anton Antich) [API change].
(省略されました)
pandoc 3.8.2.1 (2025-10-20)
HTML reader: allow blank space between open and close
iframe.
RTF reader: improve hyperlink parsing (#11211).
Org reader:
Parse parameter lists on unknown blocks (#11188,
Albert Krewinkel). The reader tries to parse the rest of the
opening line of a block, e.g., #+begin_myblock …, as
a parameters list. It first assumes that the parameters are in
lisp-style (:key value), then alternatively tries to
read python-style key-value pairs (key=value) and
falls back to reading the entire remaining line as a single
parameter attribute.
Add support for dynamic blocks.
Docx writer: properly handle nested comment spans (#8189, #6959,
mourino).
RST writer: Don’t use simple tables with RowSpans (#11214,
Tuong Nguyen Manh).
Typst writer: Escape open paren after non-space (#11210).
(省略されました)
pandoc 3.8.2 (2025-10-05)
Markdown reader/writer: implement new
table_attributes extension (#10884).
When table_attributes is enabled (as it is by default
for pandoc’s Markdown), attributes can be attached to a table by
including them at the end of the caption. Previously the writer
would emit an identifier in this position, but the reader didn’t
handle it. Now arbitrary attributes are allowed, and they work in
both the reader and writer.
Typst writer: don’t add superfluous semicolons (#11196).
Previously we added semicolons after inline commands not followed
by spaces, but mainly this was to deal with one issue: the
presence of a semicolon after an inline command, which would be
swallowed as a command separator (#9252). This
commits adopts an approach that should avoid so many superfluous
semicolons: it escapes semicolons that might come right after a
command.
Typst template: fix 3.8 regression in which links disappear
(#11194).
(省略されました)