省力TeX
出来るだけ手間を省いてTeXを書く方法。PandocとXeLaTeXを使います。 Markdownで書いて、必要なとこだけLaTeXで書こうという魂胆。 ここに書いてあることのほとんど全部は ここ に書いてある。
最終目標はMarkdownで書いたレポートの体裁をPDFで出力すること。
Pandoc
Pandocとは
PandocはHaskell製のドキュメントコンバーター。 HTMLの表現力で文書構造を表せるドキュメントを相互変換します。
インストール
- Haskell Platform をインストール
- コンソールから
cabal update
してcabal install pandoc
使い方
実際にどう使うかと言うと、Markdown形式の
sample.md
をsample.tex
に変換するときは、
pandoc sample.md -o sample.tex
とすれば出来る(はず)。
XeLaTeX
XeLaTeXとは
詳しくは解説しないけど、Unicode文字が使えるTeXがXeTeX。 日本語を使おうとすると特殊なLaTeXがいるらしいが、そのうちの一つがこれ。 他に知ってるのはLuaTeX。
インストール
インストールするには、TeXLiveやMikTeXを入れれば入るらしい。
BXjscls
XeTeXではjsarticle(LaTeX専用って知らなかった…)の代わりに BXjsclsをインストールして、 bxjsarticleクラスを使うのがいいと思う。
フォントの注意
フォント技術云々の話がよくわからないが、どうやらXeTeXはフォントについてる情報を 読んで、文字にフォントを当ててるらしいから、そういうUnicodeとの対応表? を持ってるフォントが必要。 どこかの記事でTakaoフォントが使われていた (気がする)。こんな風にフォントを設定するらしい。
\setmainfont{TakaoPMincho}
\setsansfont{TakaoPGothic}
\setmonofont{TakaoGothic}
zxjafontってパッケージを使えば、プリアンブルに、
\usepackage[ms]{zxjafont}
とか
\usepackage[hiragino]{zxjafont}
とか書けばフォント設定が一発で済むんだってさ。 ここが詳しいんじゃないだろうか?
Markdown
今回は文章の本体をMarkdownで書く。 Pandocが対応していれば、MarkdownだろうとTextileだろうと何でもいい。 本文中でTeXの数式を書いてもちゃんと出力されるらしい。(インラインしか試してない)
Pandocで変換
Pandocで変換する。プリアンブルを別のTeXファイルに書いて-Hオプションで挿入するなり、 -Vオプションで、文書クラス、タイトル、編集者を指定するなりして、
pandoc input.md
-H header.tex
-V title=タイトル
-V documentclass=bxjsarticle
--latex-engine=xelatex
-o output.pdf
って出力すればPDFが出来上がる。 今やったら micortypeでエラーが出ました でも普通は上のページみたいに、Pandocの出力を下のみたいなファイルから読み込ませて pdflatexなり何なりでPDFに変換するのがいいと思う。
\documentclass[11pt,a4j]{bxjsarticle}
\usepackage{zxjatype}
\usepackage[ms]{zxjafont}
\usepackage{xltxtra]
\title{Title}
\author{Mith009}
\begin{document}
\maketitle
\input{report}
\end{document}
じゃあXeLaTeXいらないじゃん!!!