読者です 読者をやめる 読者になる 読者になる

広告/統計/アニメ/映画 等に関するブログ

広告/統計/アニメ/映画 等に関するブログ

LaTeXの良さとXeLaTeXの日本語環境について

先日ある理由からLaTeXが必要になり、この程素人ながら勉強をしたのですが、自分が思っていた以上にLaTeXが素晴らしいものでしたので、
LaTeXが何故必要になったのか?
LaTeXの良さとは?
LaTeXで日本語の資料を作るための環境
などについて、せっかく学習したことを記述と紹介をしておきたいと思います。

LaTeXが必要になった理由

私は日頃の調査分析やマーケティングデータの可視化の為に「R」と{RStudio」を使っています。(長くなるので何故「R」を使うかはここでは言いませんが、統計とRの組み合わせはとても素晴らしいですよ!)
*過去のエントリー

 

yyhhyy.hatenablog.com

 RStudioを使って報告書を作っていると、本文はPowerPointで書いておいて、計算やグラフはRStudioを使ってJPEG等にして挿入、表はExcelで書いて貼付け、と幾つものソフトを行ったり来たりする必要があります。それが1つのソフトでできたらいいなぁと思っていて、その手法を探していたら、「RStudio」には、親切にも本文とグラフをレポート化する機能が付随していました。
所が、HTMLにするのは比較的容易なのですが、PDFにしようと思うと、LaTeXの環境が必要ということがわかってしまい、その為にLaTeXを勉強することになった次第です。

LaTeXとは何か?

LaTeXは、版組ソフトのTeXの拡張版です。Wordファイルというのは、オフィスのプリンターで出力するレベルの資料であれば、何の問題もありませんが、残念ながらWordで入稿することは出来ません。(最近はできるのでしょうか?)
オープンソフトウェアで誰でも利用することができます。MacでもLinuxでも動作します。一方で、WordはWindowsにしか付随しない有料ソフトです。特定の有料ソフトに依存する書類形式というのは、本来避けるべきことなので、大学の1回生では、口を酸っぱくして言われたこともあるかと思います。
ビジネスの世界では、殆どの企業で営業や事務はマイクロソフト社のPCを導入していますので困りませんが、学術系の論文に投稿される際には、TeXを指定されることもあるとききます。いずれにしても、特定の企業が開発するソフトに強く依存するというのは心許ないものがありますね。

LaTeXの何が素晴らしいのか?

1)数式の表示が美しい

レポートにちゃんと数式を書くような学術的な人にとってLaTeXはマストでしょう(私は使いませんが、、、)。世の中でLaTeXを使う人の殆どの理由はこれではないかと思います。Wordにも機能はありますが、数式を書く時は動作が重いので、既にLaTeXを使っている人にとってわざわざWordに乗り換える必要はないでしょう。

2)文章作成に集中できる。特に構造を意識できる。

WordやPowerPointは、文字を書きながら直接装飾をボタン等で加えて、目の前の画面がその通りになる、「what you see is what you get 」という方針で作られています。今画面に見えているのがほぼ完成形なので、とても直感的に作業できる反面、せっかく文書を書いている間に色々と手を入れて弄りたくなってしまいます。
特にPowerPointを使い始めたら、無駄に文字色を使ってしまったり、余分な図を入れてしまったり、文書を書いていた筈が、装飾の方に時間を取られて、しまいにはアニメーションだらけの見づらい資料を作ってしまった経験はないでしょうか?

LaTeXの場合は、デザインと本文が別なので、文書を書いているときは文書に集中できます。その代わり、Sectionや箇条書きと言った、文書構造の指示を記述しながら本文を書いていくので、どのレイヤーの話を今書いているのか?という構造を意識しながら書くことになります。
例えばこんな感じです

\begin{document}
 \begin{enumerate}
  \item {\bfseries 議題1}
   \begin{itemize}
    \item 箇条書き1
 \item 箇条書き2
   \end{itemize} %箇条書き終了
  \item {\bfseries 議題2}
   \begin{itemize}
    \item 箇条書き~
   \end{itemize}
  \end{enumerate} %議題レベルの終了
\end{document} %文書の終了

3)デザインと本文が別なので再利用が容易
WordやPowerPointでも同じと言えば同じですが、一度使ったフォーマットがマークアップ言語で記述されているので、2回目からは作業が大幅に軽減できます。
テキストを入れ替えて行くだけなのですから。
PowerPointのテキストボックスの記述を思い出して頂くと、毎度毎度、挿入したらデフォルトのフォントに戻されてしまって困ることがあると思いますが、LaTeXの場合は、冒頭でフォントを指定すると、それがずっとそのまま使われます。勿論、全ページのフォントを変えたい時も、1箇所変更するだけで終了です。PowerPointなら、1ページずつ、「全選択⇒フォントをいじるプルダウンを押す⇒フォントを変える」の作業の繰り返しですよね?そういった無駄な作業が軽減されます。

4)そもそもデフォルトのデザインが美しい

このみの問題ですが、例えばこんな感じです

f:id:yyhhyy:20151017192607j:plain

このヘッダーのラインの引き方とか、何か「本」っぽいですよね?

LaTeXの日本語環境

面倒なのは、LaTeXの環境の導入です。特に日本語を表示させるまでが結構大変でした。
色々と私も紆余曲折をしたのですが、まぁこれが一番楽ではないか?という結果をまとめておきます。

1)TeX Live を入れましょう

TeX Liveは後で必要になる便利なパッケージが最初から一緒にダウンロードされるので、とても手っ取り早いです。

ダウンロードはこちらから

https://www.tug.org/texlive/

インストール中にプロキシの問題で止まってしまう人は、iso DVDイメージをDLしましょう。「on DVD」ですね。

Windows 7で仮想CD-ROMドライブを使用する | 悩み多き文教市場のインフラ屋さん

などを参考にして、DVDをマウントして下さい

2)TeXstudioを使いましょう

統合開発環境は、これ一つしか試していませんが、便利でした。ユーザーが多いもののほうが解説記事も多いので、よく利用されているものに乗る方が良いでしょう。

設定等をこちらの通りにやります。

TeXstudio - TeX Wiki

3)XeLaTeXを使いましょう

日本語を使うのが一番の難関です。色々なフォントを使いたいという人は、LaTeXの種類の中でも「XeLaTeX」をエンジンに選ぶのが良いと思います。TeX Liveには予め入っていますので、TeXstudioの「オプション > 設定」で「ビルド」の所をXeLaTeXに変更しておきます。

f:id:yyhhyy:20151017194304j:plain

1列目で「コンパイル」を選び、2列目でコンパイラーとして「xelatex」を選びます。

 4)日本語の設定に必要なパッケージ

XeLaTeXで日本語フォントを指定するには、zxjatype パッケージが便利です。
ドキュメントクラスを「bxjsarticle」にして、xltxtraとzxjatypeを読み込みます。
setjamainfontの所で、使いたいフォントを入れます。最近私がハマっているGoogle先生のフォントは、「Noto Sans CJK JP」と書きます。

\documentclass[]{bxjsarticle}
\usepackage{xltxtra}
\usepackage{zxjatype}
\setjamainfont{Noto Sans CJK JP}

これで、Google先生フリーフォントでPDF化できるようになります。
やったね!!