3
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Markdown から tex を出力し、PDF を生成してみた

Last updated at Posted at 2015-11-05

はじめに

前にWord でレポートを書いていたけど、目に見えない機能というか挙動にイライラしてた。。Markdown だったら全て明示的にマークアップできるので思い通りに書けるのではないかと思いやってみた。

事前準備

下記ツールのインストールする。僕は以下のバージョンで試した。

  • rake, version 10.0.3
  • ImageMagick 6.6.9-7
  • pandoc 1.9.1.1

テンプレート

github にテンプレートをアップした。
https://github.com/takuyaohashi/report_template

Rakefile の部分だけ抜粋すると、以下のようになる。
枠組みだけ、report.tex で作って、その中の section を Markdown で記述して、PDF 化している。
画像も PNG から EPS ファイルに変換して挿入している。

Rakefile
##
## Rakefile for Building Report from Rakefile
##
require 'rake/clean'

REPORT_FILE = "report.pdf"
MD_FILES = FileList["src/*.md"].exclude("README.md")
TEX_FILES = MD_FILES.ext(".tex")

CLOBBER.include("*.pdf")
CLEAN.include(TEX_FILES)
CLEAN.include("*.dvi", "*.log", "*.aux")

task :default => [:dvi2pdf]
  
task :dvi2pdf => [:tex2dvi] do
  sh "dvipdfmx", REPORT_FILE.ext(".dvi")
end
  
task :tex2dvi => [:md2tex] do
  sh "platex", REPORT_FILE.ext(".tex")
  sh "platex", REPORT_FILE.ext(".tex")
end

task :md2tex => TEX_FILES

# *.md -> *.tex 変換ルール
rule ".tex" => ".md" do |t|
  sh "pandoc", "-o", t.name, t.source
end

良かったこと

文章の記述に集中できる

Word だといろいろ装飾が邪魔してイライラしていたけど、Markdown なら簡単にマークアップしていくだけで見やすく、構造の変更がしやすい。
デザインと文章が分かれているので、後からでもデザインが変更できる。

思い通りに行かなかったこと

画像の挿入

下記の記述方法で画像が挿入できるけど、これ以上の細かい指定ができず、右詰めとかサイズ変更ができない。

変換前
![hoge](hoge.eps)
変換後
\begin{figure}[htbp]
\centering
\includegraphics{hoge.eps}
\caption{hoge}
\end{figure}

画像へのリンク

tex では、label と ref でリンクが張れるが、Markdown にそのような記述がないからリンクが張れない。
文章中で画像を参照したいときに Markdown 内で完結しない。変換後の tex を修正するしかない。

テーブルの作成

テーブルを使おうと思ったが、うまくtexがコンパイルできなかった。下のページを参考にしてみたが、うまくいかなかった。
仕方なく tex をそのまま書いた。
pandocでmarkdownをtexに変換するとtableがおかしくなる件

おわりに

Word よりイライラは少ないが、画像周りの処理がうまくもっと行けば快適にレポートがかけると思う。
もし記事内で僕ができなかったことで、やり方を知っている人は教えてください・・・

3
2
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?