Emacsはしばしばプログラマのためのテキストエディターと考えられています。ファイル内の式を自動的に評価する機能だけでなく、拡張可能なプログラミン グサポートを備えています。しかし、Emacsが得意とすることの1つは、Orgモードを通じてLaTeXで美しい文書を作成することを可能にすることです。

ヒント: Emacsのキーボードショートカットチートシートをダウンロードして、あなたの生産性を向上させてください。

LaTeXとOrgモードとは何ですか?

LaTeXは学術的な文章を書くときの定番です。その美しいタイポグラフィと魔法のような参考文献の追跡方法は、キーボードからすぐに印刷可能な出版物を作りたい学生や教授の両方にとって魅力的なものです。

(/uploads/emacs-latex-02-latex-website.jpg) しかし、LaTeXは、その背後にあるTeXのコードが複雑で使いにくいという事実を無視しがちです。例えば、LaTeXで表を作成するには、その表だけに適用される構文でサブ環境を作成するコードを知っている必要があります。

このため、LaTeXは、特にコードを書く素養のないユーザーにとっては、使いにくいプログラムであると思われがちです。しかし、EmacsのOrg Modeを使えば、LaTeXのコードを全く知らなくてもLaTeX文書を書くことができます。

Org ModeはEmacsのインストール時にインストールできるアドオンです。その中核は、箇条書きにした文書を管理することです。これを利用して、タスクを追跡し、そのタスクのアウトラインを作成することができます。

このサイトはこちら! さらに、Org Modeでは、アウトラインのフォーマットを使ってカスタムドキュメントを作成し、好きなフォーマットで書き出すことができます。これは、ドキュメントのファイルフォーマットを1つに統一したい場合に便利です。例えば、Org Modeのbullet構文を使ってドキュメントを作成し、それを簡単にHTMLに変換することができます。

LaTeXとOrg Modeのインストール方法

EmacsでLaTeXを始めるのは信じられないほど簡単です。それは、ほとんど全てのLinuxディストリビューションがレポジトリに搭載している、非常に人気のあるソフトウェアだからです。

  1. Ubuntuでは,以下のコマンドを実行してLaTeXをインストールすることができます.
sudo apt install texlive-full

その後、以下のように実行することで、正しくインストールされたかどうかを確認することができます。

tex -v

  1. これで、次に必要なことは、EmacsのインストールにOrg Modeを追加することです。Alt+X` を押して、“package-install “とタイプしてください。

プロンプトが表示されますので、インストールするパッケージの名前を入力してください。org-mode “とタイプしてください。EmacsがOrgのソースコードをダウンロードし、コンパイルし、あなたのマシンにインストールします。

Emacsで最初のLaTeXドキュメントを作成する

  1. まず、EmacsでOrgドキュメントを作成する必要があります。そのためには、Ctrl + X を押しながら、Ctrl + F を押すと、カレントディレクトリにあるEmacsのバッファープロンプトが開きます。
  2. 次に、作成するファイルの名前を指定します。

とします。 3. これができたら、Org文書用のLaTeXテンプレートを作成します。これによって、タイトル、著者名、出版日などの属性を簡単に入れることができます。これを行うには、以下の行をOrg文書の冒頭に記述してください。

#+タイトル: 私のタイトル
#+AUTHOR: ラムセス・レッド
#+EMAIL: ramcesred@domain.com
#+♪+DATE: ♪+DATE: ♪+DATE: ♪+DATE: ♪+DATE: ♪+DATE
  1. その後、Ctrl + CCtrl + Eを押すと、これをPDFファイルに書き出すことができます。
    1. そうすると、Org ModeのExport Menuが表示されます。そこで、Lを押すとLaTeXとしてエクスポートされ、Oを押すとそれを開くことができます。

セクションとサブセクションの追加

これで、ドキュメントの構造を作り始めることができます。例えば、これは2つの第1レベルと1つの第2レベルの箇条書きの見出しを持つ単純なOrgファイルです。それぞれの見出しの下には、ドキュメントに長さを持たせるために簡単な段落を書きました。

#+タイトル: 私のタイトル
#+AUTHOR: ラムセス・レッド
#+EMAIL: ramcesred@domain.com
#+DATE: 今日という日
 
\* これは最初の見出しです。
	これは私の新しいLaTeXドキュメントの最初の見出しの段落です。Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
 
\*\* This is the first subheading
	これはこのドキュメントの第2レベルの見出しです。Ίταμμα για για για για για για για για για για για για για για για για για για για
 
\* これは第2段の見出しです。
	これは、この文書のもう一つの第一レベルの見出しです。

さて、この正確な文書をすぐにエクスポートメニュー(上図)を通して実行することができます。そうすることで、この正確な構文を使用し、LaTeXに変換し、印刷可能なPDFに加工することができます。

この仕組みは、Orgがあなたのドキュメントをどのように見せたいかということについて、いくつかの仮定を立てるというものです。この場合、それぞれの箇条書きをLaTeXのセクションとして、それに対応するセクション番号を付けて変換します。そこから、Orgは、箇条書きの直下のテキストは、そのセクションに属する段落であると仮定します。

この知的なアプローチにより、Orgシンタックスで書き続け、それを使ってLaTeXのコードにシームレスに変換することができます。

特別な記号を使う

OrgモードのLaTeXのもう一つの素晴らしい特徴は、Emacsの中から特殊文字を簡単に書くことができることです。従来のLaTeXでは、数式に特殊な記号を書くには、記号を描画するための制御コマンドを知る必要がありました。例えば、ギリシャ文字の “τ “を書くには、次のような行を書く必要があります。

{displaystyle \tau} と記述します。

この方法は、特にこれらの特殊な記号を多用する記事や文書では面倒な場合があります。そこでOrgは、エディタ内レンダリングとタブ補完という2つの方法でこの問題を軽減することができます。

  1. エディタ内レンダリングはOrgの機能で、LaTeXの特殊文字を自動的に印刷されたグリフに正確に変換するものです。これを有効にするには、Ctrl + CCtrl + E、そして ``Ctrl` を押すだけです。

    1. これで、バッファにどんな特殊文字でも入力できるようになり、入力が終わると同時に Emacs が即座にその文字を置き換えます。

3. それとは別に、Orgにはタブ補完機能があり、入力中のシンボルにマッチするものを提案してくれます。これを使うには、使いたい記号の名前を入力しながら、Esc + Tab を押します。 4. 4. この機能は、記号の名前を覚えていない場合にも役に立ちます。例えば、” \a” と入力し、Esc + Tab を押すと “\a” で始まる記号が検索されます。Orgは可能性のある全てのシンボルを探し、バッファに表示しますから、そこから好きなものを選んでください。

画像の追加

さらに、Org Modeを通じて、LaTeX文書に直接図や画像を入れることも可能です。従来のLaTeXとは異なり、Orgでの画像の挿入は、追加したいファイルへのリンクを提供することだけが必要です。それを知った上で、次のような例を考えてみましょう。

#+タイトル: 私のタイトル
#+AUTHOR: ラムセス・レッド
#+EMAIL: ramcesred@domain.com
#+DATE: 今日という日
 
\* これは最初の見出しです。
	これは私の新しいLaTeXドキュメントの最初の見出しの段落です。Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
	これは2段落目ですが、写真を何枚か入れたいと思います。
 
	[[/home/ramces/documents/projects/latex/01/img1.png]] 。
	[[./img2.png]] です。

この中で、私は2つの画像をLaTeX文書ファイルに含めました。1つ目は、私のマシンの中の特定の画像ファイルを指す絶対リンクです。これは、システムの異なる場所にある画像を含めたい場合に便利です。

一方、2つ目は相対リンクで、カレントディレクトリを指定し、“img2.jpg “という名前のファイルを探します。絶対リンクとは異なり、これによりLaTeXドキュメントはポータブルになり、ファイル構造の変更にも柔軟に対応できるようになります。

テーブルの作成

Org Modeのもう一つの大きな特徴は、LaTeXに変換できる表をその中で作成できることです。これは、印刷に適した表を作成したいが、LaTeXの表の構文や環境に慣れていないユーザーにとって便利な機能です。

    1. まず始めに、|を押して、次にTabを押してください。これはOrgに現在のカーソル位置に1列のテーブルを作りたいことを伝えます。
    1. 終わったら、もう一度 Tab を押して、次の行に移動します。
  1. 以下は、1列で作成したOrgドキュメントの抜粋です。
#+TITLE: 私の肩書き
#+AUTHOR: ラムセス・レッド
#+EMAIL: ramcesred@domain.com
#+DATE: 今日という日

* これは最初の見出しです。 これは私の新しいLaTeXドキュメントの最初の見出しの段落です。Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.

| これは唯一のコラムです。
|--------------------------|
| これは1つのカラムです。
| オーグモードでのテーブルです。      |

  1. しかし、Orgモードで複数のカラムを持つテーブルを作成することも可能です。これを行うには、2つ目の | 記号を越えて入力を続け、Tab を押します。これでOrgに、現在のテーブルに新しいカラムを追加したいことを伝えることができます。

5. そこから、Orgのエクスポートメニューを使って、この表をLaTeXフォーマットに変換することができます。

OrgモードでLaTeXの前文をカスタマイズする方法

ヘッダーフィールド “はOrg Modeの特別な値で、ドキュメントの最初に挿入することができます。これを使えば、LaTeXドキュメントのあらゆる変数のほぼすべての値を変更することができます。この点で、“Header Field “はLaTeXドキュメントのプリアンブルを設定するのと似ています。

  1. ヘッダーフィールドを使うために必要なことは、Orgドキュメントの最初に #+LATEX_CLASS_OPTIONS: を追加することだけです。
    1. そこから、あなたのLaTeXドキュメントの設定のブラケットリストを追加することができます。例えば、これはA4サイズの用紙に12ポイントのフォントで書かれた文書です。
#+TITLE: 私のタイトル
#+AUTHOR: ラムセス・レッド
#+EMAIL: ramcesred@domain.com
#+DATE: \today
#+LATEX_CLASS_OPTIONS: [a4paper, 12pt].

* Ȃ これが最初の見出しです。 これは、私の新しいLaTeXドキュメントの最初の見出しの段落です。Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.

LaTeX プラグインを Org モードで使用する方法

最後に、Org Modeを通して外部のLaTeXプラグインを取り入れることも可能です。これには、BibTeXのような書誌管理ユーティリティや、Geometryのような高度なプラグインが含まれます。このように、カスタムドキュメントを作成するためにこれらのプラグインに依存している場合、これは特に便利です。

  1. Orgにサードパーティプラグインを含めることは、比較的簡単です。ドキュメント固有のオプションを追加するのと同様に、ドキュメントの最初に “+#LATEX_HEADER “オプションを追加することによって、プラグインを含めることができます。
    1. そこから” \usepackage{}” コマンドを入れることで、使いたいプラグインを有効にすることができます。

例えば、これはOrg文書で、書誌管理のためにBibTeXプラグインを使用しています。

#+TITLE: 私のタイトル
#+AUTHOR: ラムセスレッド
#+EMAIL: ramcesred@domain.com
#+DATE: \today
#+LATEX_HEADER: \usepackage{bibtex}.
 
\* Ȃ これが最初の見出しです。
	これは、私の新しいLaTeXドキュメントの最初の見出しの段落です。Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.

以上です。これで、Emacsから直接LaTeX PDFドキュメントを作成・公開するためのOrg Modeの使い方がわかったと思います。それだけでなく、LaTeXのコードをあまり知らなくても、Orgを使えばLaTeX文書を簡単に作成・管理できることもお分かりいただけたと思います。

このような話を聞いて、LaTeXに興味を持たれた方は、こちらの記事をご覧ください。この記事で、Linuxにインストールできる最高のLaTeXエディタについて説明しています。

よくある質問

LaTeX文書の目次を削除することは可能ですか?

はい!LaTeX文書から目次を削除するのはとても簡単です。必要なのは、Orgドキュメントの最初に “#+OPTIONS: toc:f “を追加することだけです。

Orgのテーブルに水平方向のセパレータを作成することは可能ですか?

はい!できます。Orgモードで水平方向のセパレータを作成するのは、比較的簡単です。新しいテーブルの列を追加するのと同じように、これらのセパレータを追加するために必要なことは、新しいテーブルの行で - を押し、Tab を押すだけです。そうすると、自動的にその行が水平方向のダッシュで埋められ、カーソルが次の行に移動します。

OrgドキュメントのLaTeXドキュメントクラスを変更することは可能ですか?

はい!デフォルトでは、OrgモードはArticleタイプのLaTeXドキュメントを作成する予定であると想定しています。これは、Articleタイプのドキュメントがほとんどの合成作業を処理することができるはずだからです。しかし、LaTeXが提供する他のテンプレートを使用したいユーザーにとって、このアプローチはまだ問題である可能性があります。それを承知でLaTeXのドキュメントクラスを変更するのは簡単です。必要なのは、”#+LATEX_CLASS: “オプションの後に、使用したいドキュメントタイプを追加することだけです。例えば、LaTeXの「report」ドキュメントクラスを代わりに使用することができます。

画像クレジット:Unsplash。すべてのスクリーンショット:Ramces Red

Akira
Akiraは情熱的なゲーマーであり、製品レビュアーです。ゲームをしていないときは、最新のゲーミングアクセサリーを試したり、製品のレビューをしていることが多い。彼の分かりやすいスタイルは、ゲーマーが自分のニーズに最も適した製品を簡単に判断できるようにするものです。また、技術的な問題にも精通しており、その解決方法も知っている。