FC2ブログ

天地有情

[LaTeX] llmk --- LaTeXドキュメントのビルドツール


llmk00.png



§1 はじめに

以前に,
● arara --- LaTeXコンパイルの自動化
● SpiX –-- araraとは別の LaTeXコンパイルの自動化
を紹介しましたが,更に llmk(light-latex-make)を紹介します.

llmkプログラムは,LaTeXドキュメントに固有のさらに別のビルドツールです.
その目的は,LaTeXドキュメントを処理するワークフローを指定する簡単な方法を提供し,
各ドキュメントに適切なワークフローを常に明示的に示すことです.
llmkの主な機能はすべて上記の目的にあります.ワークフローを外部ファイルllmk.toml
または, LaTeXドキュメントソースにマジックコメントの形式で書き込むことができます.

(1) 【書式例1】 : LaTeXドキュメントソースにマジックコメントの形式で書き込む方法

llmk01.png


このファイルを `hello.tex`として保存し,実行するとします.

コンパイル:  llmk hello.tex

TOML行で指定されているため,XeLaTeXでPDFドキュメント( hello.pdf)を生成します.

設定は[TOML]形式でソースファイルのコメントに書き込むことができます.
コメント行の間には,連続する `+`文字(少なくとも3つ)のみを含める必要があります.


(2) 【書式例2】 : llmk.tomlを使用する

上記の TOML部を別個のファイルとし,名前を "llmk.toml" とします.
(このファイル名は固定で,変更できません.)

llmk02.png


引数なしでllmkを実行すると,llmkは作業ディレクトリに `llmk.toml`をロードし,
` source`キーで指定されたファイルをファイルに書き込まれた設定でコンパイルします.

コンパイル:  llmk (引数なし)


(3) 【書式例3】 : Shebang-like directive(シバンのような指令)

いくつかの既存のツールは,いわゆるシバンのようなディレクティブをサポートしています.
「コマンド」の部分はllmkのlatexキーに渡されます.
このディレクティブは,LATEXソースファイルの最初の行でのみ有効です.
たとえば,次の2つの構成は同等です.

llmk03.png


(4) オプションのclean/clobber
  コンパイルすると,沢山の一時ファイルが生成されます.これらのファイルを削除する
  アクションが用意されています.
  
 `--clean`(`-c)アクションは,` * .aux`や `* .log`などの一時ファイルを削除する.
 `--clobber`(`C`)アクションは,最終的なPDFを含むすべての生成されたファイルを削除する.
 コンパイル時に指定します.
 
 llmk --clean FILE ...
 指定された `FILE`によって生成されたファイルを削除します.

1.1 インストール

必要に応じて,CTAN( llmk ) から
ダウンロードしてください.

TeXLive/W32TeX などには標準でインストールされています.
コマンド llmk.exe は「bin」ディレクトリに既に存在します.

1.2 マニュアル

コマンドラインから texdoc llmk を実行するか,
上記に同梱の llmk.pdf をお読み下さい.
また,概要説明がある同梱の README.md を先にお読み下さい.

§2 コマンド

● llmk [<options>] <files>

[<options>]:
1.  -c, --clean :auxファイルやログファイルなどの一時ファイルを削除します.
2.  -C, --clobber :最終的なPDFを含むすべての生成されたファイルを削除します.
3.  -h, --help :クイックヘルプメッセージを表示して,正常に終了します.
4. -q, --quiet :これにより,プログラムからのメッセージのほとんどが抑制されます.
5.  -s, --silent :呼び出されたプログラムからのメッセージを黙らせます.
6.  -v,-verbose :llmkに,プログラムによってオプションと引数を指定して呼び出された
           コマンドなどの追加情報を出力させる.
7.  -V,-version :プログラムの現在のバージョンを表示して,正常に終了します.
なお,コマンドラインで  llmk --help でも参照できます.

単一の文字で構成される短いオプションは,単一のハイフン-で始まる必要があります.
1つのハイフンで複数の短いオプションを指定できます.たとえば,-vsは-v -sと同等です.
長いオプションは,2つのハイフン-に続く必要があります.
すべてのオプションは,最初の引数の前に指定する必要があります.

<files>
llmkコマンドの引数として,ソースTEXファイルのファイル名,通常は拡張子が.texまたは.ltxのファイルを指定できます.
1つ以上の「ファイル」を指定すると,llmkはTOMLフィールドまたはサポートされている別の
マジックコメントを読み取ります.
各ソースファイルを指定されたワークフローで指定された順序で処理します.


§3 サンプル

● ソースファイルについて
    ファイル名の拡張子は .tex とします.
    文字コードは utf-8 とします.

● 実行の仕方について
    コマンドラインで llmk [option] FILE.tex とします.

(1)xelatex 【書式例1】 の例

■■■■■■■■■■■■■<source: main01.tex>■■■■■■


% +++
% latex = "xelatex"
% +++


\documentclass[xelatex,a4paper,10pt,ja=standard]{bxjsarticle}
\usepackage{lmodern}
\usepackage[T1]{fontenc}
%
\usepackage{bxjalipsum}
\usepackage{lipsum}
\begin{document}
\section*{jalipsum}
\jalipsum[3]{wagahai}

\section*{lipsum}
\lipsum[1][1-5]

\section*{Math}
\[ \left(\int_0^\infty \frac{\sin x}{\sqrt{x}} dx \right)^2 =
\sum_{k=0}^\infty \frac{(2k)!}{2^{2k}(k!)^2} \frac{1}{2k+1} =
\prod_{k=1}^\infty \frac{4k^2}{4k^2 -1} = \frac{\pi}{2} \]

\section*{bibliography}
\LaTeX{}に関する詳細は~\cite{ase01,oku01,fuji01}が参考になります.
\bibliography{main01}
\bibliographystyle{plain}
\nocite{*}
\end{document}


■■■■■■■■■■■■■<main01.bib>■■■■■■■■■■
@book{ase01,
author ="阿瀬 はる美",
title ="てくてく\TeX",
publisher="アスキー出版局",
year ="1994",}

@book{oku01,
author ="奥村 晴彦",
title ="\LaTeXe{}美文書作成入門",
publisher="技術評論社",
year ="1997",}

@book{fuji01,
author ="藤田 眞作",
title ="\LaTeXe{}階梯",
publisher="アジソンウェスレイ",
year ="1996",}
 
 
コンパイル:     llmk main01.tex
一時ファイルの削除: llmk -c main01
  
 

■■■■■■■■■■■■■結果■■■■■■■■■■
 
 
llmk04.png






(2)uplatex 【書式例1】 の例

■■■■■■■■■■■■■<source: main02.tex>■■■■■■


% +++
% latex = "uplatex"
% +++


\documentclass[uplatex,dvipdfmx,a4paper,10pt,ja=standard]{bxjsarticle}
内容は(1)項と同様ですが \bibliography{main02}とします.
 
 
■■■■■■■■■■■■■<main02.bib>■■■■■■■■■■
内容は(1)項と同様です.


コンパイル:     llmk main02.tex
一時ファイルの削除: llmk -c main02

結果は(1)項と同様です.




(3)uplatex 【書式例2】の例 ーーー llmk.toml 付き

■■■■■■■■■■■■■<source: main03.tex>■■■■■■
\documentclass[uplatex,dvipdfmx,a4paper,10pt,ja=standard]{bxjsarticle}
内容は(1)項と同様ですが \bibliography{main03}とします.



■■■■■■■■■■■■■<main03.bib>■■■■■■■■■■
内容は(1)項と同様です.



■■■■■■■■■■■■■<source: llmk.toml>■■■■■■
---------------------------
#llmk.toml


latex = "uplatex"
source = "main03.tex"

---------------------------
 
 
コンパイル:     llmk  ---引数なし
一時ファイルの削除: llmk -c

結果は(1)項と同様です.




(4)uplatex 【書式例3】の例 ーーー Shebang-like directive

■■■■■■■■■■■■■<source: main04.tex>■■■■■■
%#!uplatex
\documentclass[uplatex,dvipdfmx,a4paper,10pt,ja=standard]{bxjsarticle}
内容は(1)と同様ですが \bibliography{main04}とします.


■■■■■■■■■■■■■<main04.bib>■■■■■■■■■■
内容は(1)項と同様です.

コンパイル:     llmk main04 
一時ファイルの削除: llmk -c main04

結果は(1)項と同様です.
  



font-signature


(EOF)
スポンサーサイト



  1. 2020/10/04(日) 14:15:45|
  2. LaTeX Tools