Help us understand the problem. What is going on with this article?

pandocコンテナに色々入れてみた

More than 1 year has passed since last update.

pandocコンテナに色々入れてみた

設計書をMarkdownで書いていたのだけど、提出できる(≒ Word的な)形にする必要があったので、調べていたら、素晴らしい記事にたどり着きました。

あとはPlantUMLに対応すればいい感じになりそうなので、コンテナに突っ込んでみました、という記事です。

元ネタ

いろいろパクリ参考にしました。感謝。

参考記事

参考ソース

リソース

使い方

Markdown → PDFは元ネタを参考にしてください。基本、「--filter /usr/share/plantuml/plantuml.py」オプションをつけるだけです。

PDFの出力例
$ docker run -it --rm -v `pwd`:/workspace ysogabe/alpine-pandoc-ja pandoc input.md -f markdown -o output.pdf -V documentclass=ltjarticle --pdf-engine=lualatex --filter /usr/share/plantuml/plantuml.py

やったこと

元のDockerfileを以下の通りいじりました。

  1. Dockerのベースイメージを「adoptopenjdk/openjdk12:alpine」に変更
  2. ビルドが通らなかったので、修正ついでにTeXのバージョンを上げた
  3. plantuml、pandocfiltersをインストールした

大したことしてないので、詳しくはソースをみてください。

PlantUMLの記載方法

pandocfiltersの「examples/plantuml-sample.md」を参考にしてください。

PlantUMLの書き方はいろいろありますが、

```plantuml → OK

```plantuml → NG
@startuml

@import "./uml/01.usecase.puml" → NG

```puml → NG
@startuml

です。(大量に文書があればfilterを修正するけど、grepでできる範囲だったので、文書で対応しました)

使ってみて

  • やっぱり、ドキュメントの差分管理は便利
  • typora使うと、図表もコピペでOK(PlantUMLのプレビューができれば完璧なのになぁ)
  • 何気にWord出力が便利

これから

  • CI:誤字、脱字、表記の揺れとかの自動チェック
  • CD:最終生成物をどこで管理する?

謝辞

元ネタのおかげで、仕事がはかどりました。

修正

相互参照に対応できてなかったので、Dockerイメージを修正しました。PDFは相互参照できます。すばらしい。Wordでも相互参照したいなぁ。。。

persol-pt
労働人口の減少が見込まれる現代において、 一人ひとりが生み出す付加価値を最大化することが、 日本における重要なテーマです。 わたしたちは、 人・プロセスデザイン・テクノロジーの力で、 お客さまのビジネスプロセスに変革をもたらし、 人と組織の生産性を高めていきます。 さらに、はたらくを楽しむことを大切にし、 「はたらいて、笑おう。」の世界を実現します。
https://www.persol-pt.co.jp/
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away