Pandoc

詳細情報

タイトル Pandoc
URL http://pandoc.org/
バージョン ver 3.9.0.2
更新日 2026/03/20
追加日 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.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).
(省略されました)
pandoc 3.8.1 (2025-09-29)
New output format vimdoc (Vim documentation
format) (#11132,
reptee).
[API change] Added module Text.Pandoc.Writers.Vimdoc,
exporting writeVimdoc.
Markdown reader:
Improve superscript/subscript/inline note parsing (#8652). We do
not allow inline notes to be followed by ( or
[. Otherwise, we parse inline notes before
superscripts. Also, the sub/superscript parsers have been adjusted
so that they really exclude unescaped spaces (as they did not
before, when the spaces occurred in nested inlines).
Fix simple table alignment (#11136,
Tuong Nguyen Manh). Take wide characters into account when
determining the alignment.
LaTeX reader:
Ignore \pandocbounded (#11140).
XML reader:
(省略されました)
pandoc 3.8 (2025-09-06)
Add a new input and output format xml, exactly
representing a Pandoc AST and isomorphic to the existing
native and json formats (massifrg). XML
schemas for validation can be found in
tools/pandoc-xml.*. The format is documented in
doc/xml.md. Pandoc now defaults to this reader and
writer when the .xml extension is used.
Two new exported modules are added [API change]:
Text.Pandoc.Readers.XML, exporting readXML, and
Text.Pandoc.Writers.XML, exporting writeXML. A new
unexported module Text.Pandoc.XMLFormat is also added.
Add a new command line option
--syntax-highlighting; this takes the values
none, default, idiomatic, a
style name, or a path to a theme file. It replaces the
--no-highlighting, --highlighting-style,
and --listings options, which will still work but
with a deprecation warning. (Albert Krewinkel)
(省略されました)
pandoc 3.7.0.2 (2025-05-28)
RST writer:
Don’t emit alignment markers in grid tables (#10857).
Asciidoc writer:
Add support for sidebars (GHyman83).
LaTeX writer:
Include alt option in \includegraphics (#6095).
Markdown writer:
Preserve figure attributes (Nikolay Yakimov, #10867).
Fixes a regression introduced by 0d2114e, which caused the
Markdown writer to ignore attributes on the figure if it has class
or key-value attributes set.
HTML writer:
Use the ID prefix in the ID for the footnotes section
(Benjamin Esham).
Text.Pandoc.Writers.Shared:
gridTable: fix (3.7) regression with missing cell
alignments (#10853).
gridTable: fix headings with colspans (#10855). If
(省略されました)
pandoc 3.7.0.1 (2025-05-17)
Text.Pandoc.Shared.Writer: Fix numerous problems with
gridTable and add tests (#10848).
These fixes affect the Markdown, RST, and Muse writers.
Fix context writer/template to produce tagged PDFs (#10846). As
before, the tagging extension must be enabled. We now
add the command that tells ConTeXt to start tagging.
Put PDF-specific things under a conditional. Don’t include
Export delimited [API change].
pandoc 3.7.0.1
(2025-05-17)
pandoc 3.7 (2025-05-14)
Add new command-line option --variable-json
(#10341).
This allows non-string values (booleans, lists, maps) to be given
to template variables on the command line.
The --pdf-engine option can now take
groff as a value.
Markdown writer:
Avoid spaces after/before open/close delimiters (#10696).
E.g. instead of rendering
x<em> space </em>y as
x* space *y we render it as
x *space* y.
Handle row/colspans in grid tables, and expand cells when it
isn’t possible to lay them out without breaking string of
non-whitespace.
Render a figure with Para caption as implicit figure (#10755).
When falling back to a Div with class figure for
a figure that can’t be represented any other way, include a Div
(省略されました)