天地有情

[ LaTeX ] amsrefs --- 参考文献をシンプルに生成する ~初歩の初歩~

amsrefs --- 参考文献をシンプルに生成する ~初歩の初歩~

§1 はじめに

amsrefs は参考文献や参照リストを生成する LaTeX パッケージです.特徴は次のようです.

● LaTeX および BibTEXユーザーが BibTEX が伴うオーバーヘッドをかけずに便利な機能を提供する.
● LaTeX の .bbl 形式に置き換えることができる.
● BibTEXのとの相互運用性がサポートされているが,amsrefs は BibTEX することなく使用できる.

amsrefs は BibTEX や biblatex などのように,LaTeX コンパイル途中で (p)bibtex や biber コマンドの介入を
必要としません.通常の LaTeX 文書をコンパイルのと同じです.

1.1 インストール

TeXLive/W32TeX などには標準でインストールされていますので,インストール作業は必要ありません.
すぐに利用できる状態にあると思われます.

1.2 マニュアル

コマンドラインから texdoc amsrefs を実行してください.

§2 amsrefsパッケージの使用方法

amsrefsパッケージの使用に関して,次の3つの方法があります.

  (1)biblist環境と\bibコマンドを使用して, LaTeX 文書で直接参考文献の項目が入力できる.
  (2)参照リスト .ltbファイルを \bibselectコマンドでインポートできる.
  (3)BibTEX と amsrefsパッケージとともに配布される特殊な参考文献スタイルを使用して.BIBファイルからの
     インポートができる.

2.1 参考文献項目の直接入力

   amsrefsを使用するための最も基本的な方法は,LaTeX 文書で直接参考文献項目を入力することです.
   以下の短いサンプル文書を示します.

amsref01.png

【簡単な説明】

02行目:amsrefsパッケージを登録する.
06行目:bibdiv環境 --- chapterやsectionでは,標準で[参考文献]というヘッダーを生成する.
07行目:biblist環境 --- 参照リストが含まれる.
08行目:\bibコマンドと参照リストの例(1)
15行目:\bibコマンドと参照リストの例(2)

参考文献のための標準的な LaTeX マークアップと比較すると,二つの主な違いがあります.

●thebibliography環境の機能は,2つの新しい環境の間で分割されています.
 参考文献のための章や節の見出しを生成するbibdivと参照リストそれ自体が含まれているbiblistです.

●\bibコマンドは,\bibitemコマンドのBibTeXデータベースエントリに非常に似ています.

2.2 .ltbデータベースファイルを使用する.

amsrefsを使用しての第二の方法は,\bibコマンドで個別のデータベース・ファイル(.ltb)を作成し,これを
\bibselectコマンドでimportします.

\bibコマンドは次の形式となっています.

   \bib{文献引用キー}{文献カテゴリ}{
     フィールド={フィールド情報},
     フィールド={フィールド情報},
       :
       :
       :
     フィールド={フィールド情報},
   }
.ltb ファイルの各\bibコマンドは,新しい行で始まる必要があり,最初の2つの引数と第三引数のオープン中括弧は,
同じ行になければなりません.
この形式に従わないと,amsrefs はひどく混乱して,文書の処理を中断することがあります.

以下の短いサンプル文書を示します.

amsref02.png

【簡単な説明】

02行目:amsrefsパッケージを登録する.
06行目:bibdiv環境 --- chapterやsectionでは,標準で[参考文献]というヘッダーを生成する.
07行目:biblist環境 --- 参照リストが含まれる.
08行目:\bibselect --- sample.ltb をインポートする.

なお,sample.ltb の内容は次の通りです.

amsref03.png

LaTeX を通じて,この文書を実行すると,amsrefsは sample.ltb からすべての\bibエントリを含む,
ファイル sample.bbl が作成されます.
これは,いくつかの注目すべき違いがあり,BibTEXの使用に非常に似ています.

●すべての処理は LaTeX によって処理されているので,参考文献の内容は,第1のパスに印刷することができます.
 引用ラベルは,結果的に,2回目のパスで解決されます.

●自動的にthebibliography環境を追加する BibTEX とは異なり,amsrefs は bibdivとbiblist環境が必要です.

●\bibliographystyleコマンドは不要です.

●参考文献項目のいかなるソートは行われません.
エントリは,データベースファイルに登場したのと同じ順序で文書に表示されます.

\bibselect はプロセスに複数のファイルを与えることができます.
 \bibselect{bib1,bib2}

そして,文書内に複数回使用することができます:
 \bibselect{bib1}
 \bibselect{bib2}


指定したファイルから,すべてのエントリをインポートしたい場合は,* を使用することができます.

\bibselect*{sample}

これは,\nocite{*}の使用に似ています.

2.3 BibTEXでamsrefsパッケージを使用する.

BibTEXと併せてamsrefsを使用することができます.

amsref04.png

(注)上記の exe04.bbl は sample.ltb に bibdiv と biblist環境 を付加したものです.


二つのことに注意してください.

●\bibselectを使用するときとは異なり,この場合は .bbl は bibdiv と biblist環境 が含まれます.

●\bibliographystyleコマンドは必要ありません.amsrefsは自動的に正しいスタイルを呼び出します.
  実際には,文書に置かれた任意の\bibliographystyleコマンドは無視されます.

BibTEXのを使用する主な利点は次のとおりです.

●アイテムをソートするBibTEXのの機能を利用することができます.

●既に存在してはBibTeXデータベース・ファイルの大多数を利用することができます.

2.4 コンパイルと結果

上述 2.1,2.2,2.3 のコンパイルと結果は次の通りです.(3件とも共通です)

(1)コンパイル(クラスファイル ltjsarticle を利用した場合)
     luajitlatex foo.tex
     luajitlatex foo.tex
         ※ 2回コンパイルします.

(2)結果



amsref05.png



§3 biblist と biblist* の環境

biblist環境は,リストのパラメータを変更できるようにオプションの引数をもっています.

3.1 \resetbiblist オプション

たとえば,参考文献が 100〜999 のエントリをもっていることを知っていると
ラベルが3桁の長さであることを LaTeX を指示します.

   \begin{biblist}[\resetbiblist{999}]

3.2 \normalsize オプション

footnotesizeの代わりに通常のフォントサイズで参考文献をタイプセットをしたい場合は,

   \begin{biblist}[\normalsize]

3.3 \setcounter オプション

参考文献は,1ではなく0から始まる番号がしたい場合には

   \begin{biblist}[\setcounter{bib}{-1}]

3.4 biblist* 環境

現在の参考文献を変更するために2番目のオプションの引数をとります.
この引数は,括弧に囲まれたキーと値のペアのセットが続くアスタリスクで構成されています.

   \begin{biblist}*{key={val},...}
   
2つのキーが,現時点でサポートされています.

● labels:
  現在の参考文献のデフォルトのラベルスタイルを上書きする \numeric," \alphabetic," or \shortalphabetic" に
  設定します.

   \begin{biblist}*{labels={alphabetic}}

現在のリストのラベルが数値的な代わりに,アルファベット順にされることになります.

● prefix:
  このキーの値は,現在の参考文献のラベルのそれぞれに付加されます.

   \begin{biblist}*{prefix={A}}

アイテムは同様に,"A1" "A2" などの標識されるようになります.

● オプションの引数の両方のタイプを使用する場合は,キーと値のペアは,第二にきます.
  \begin{biblist}[\normalsize]*{...}

§4 参考資料

4.1 参考文献エントリタイプ

BibTEXのに比べ,amsrefsエントリの種類の数が比較的少ないです.しかし,汎用性にするために構成しています.

amsref07.png


4.2 フィールドのタイプ

amsref06.png


(注)date について

その値はISO 8601形式,例えば,1967年2月24日において,日および/または月を省略することができ,
したがって,次のすべてが有効な表現です.

  date={1967-02-24}
  date={1967-02}
  date={1967}
スポンサーサイト
  1. 2015/03/17(火) 10:44:16|
  2. LaTeX Tools

[LaTeX] bnumexpr--任意に大きな整数を生成する

文字色[LaTeX] bnumexpr--任意に大きな整数を生成する

§1 はじめに

xint から派生した姉妹パッケージと思われます.
\bnumexpr は、パッケージ xintexpr から \xintiiexpr のスケールダウンバージョンです.

デフォルトでは bnumexpr は xintcore をloadし,算術マクロ 加算(+),減算(-)、乗算(*)、除算(/)を提供します.
また,オプションを付加することにより,べき乗演算(^)も可能です.

1.1 インストール

TeXLive/W32TeX などには標準でインストールされていますので,インストール作業は必要ありません.
すぐに利用できる状態にあると思われます.

1.2 マニュアル

コマンドラインから texdoc bnumexpr を実行してください.

§2.LaTeX2e 文書での指定方法

2.1 書式のサンプル

プリアンブルに
  \usepackage[option]{bnumexpr} を記述します.
  べき乗演算(^)の場合にはオプション [allowpower] が必要となります.

提供されるコマンドは,

  (1) \thebnumexpr <expression with +,-,*,/,(,)> \relax
  (2) \the\numexpr <expression with +,-,*,/,(,)> \relax

(1)と(2)の違いは,例えば,

  \thebnumexpr 2*1234567890\relax

(1)の場合,出力は `2469135780` --TeXの整数限界を超えても算術オーバーフローになりません.
(2)の \the\numexpr ではTeXの整数限界 `2147483647` を超えるため 算術オーバーフローとなります.

  以下にサンプルの書式を示します.

  foo.tex
bnum01.png

  ★クラスファイルは ltjsarticle を使っていますが, article などでも構いません.
  ★文字コードは UTF-8 とします.

2.2 コンパイルの仕方
(クラスファイルが ltjsarticle の場合)

  luajitlatex foo.tex
  または
  lualatex foo.tex

2.3 コンパイルの結果
  正しくコンパイルできたら foo.pdf が生成されます.

§3.サンプル(1)

■■■■■■■■■■■■■■■■■■■■■■
\documentclass{ltjsarticle}
\usepackage[allowpower]{bnumexpr}
\begin{document}
(1) $\thebnumexpr 123/188\relax$ → 1

(2) $\thebnumexpr 123/188*188,123/(188*188)\relax$ → 188,0

(3) $\thebnumexpr 2179878*987654321-2152966419779999\relax$ → −493827161

(4) $\thebnumexpr (1^10+2^10+3^10+4^10+5^10+6^10)^3\relax$ → 363084368099778773753851
\end{document}
■■■■■■■■■■■■■■■■■■■■■■

§4.サンプル(2)

bnum04.png


結果は次の通りです.

----------------------------------
bnum03.png
----------------------------------

(EOF)
  1. 2015/03/10(火) 13:06:53|
  2. LaTeX Tools

[LaTeX] xcomment.sty --- コメント環境中の一部を表示する

§1 はじめに

コメント中にある表や図を印刷したい場合があります.xcomment.sty は,選択された環境をタイプセットするために,
これをを許可することが定義されています.

xcomment環境は,必須の引数としてカンマで区切った環境のリストをもっています.
指定された各環境(例えば,figure環境や数式環境など)のみがタイプセットできます.

また,コマンド \newxcommand は同じ引数で直接使用することができプリアンブルで宣言して使います.

1.1 インストール

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

C:\w32tex\share\texmf-local\tex\latex\xcomment として配置すれば良いでしょう.

1.2 マニュアル

コマンドラインから texdoc xcomment を実行するか,
上記に同梱の xcomment.pdf をお読み下さい.

§2.LaTeX2e 文書での指定方法

プリアンブルに
  \usepackage{xcomment} を記述します.

2.1 書式のサンプル

  以下にサンプルの書式を示します.

  foo.tex

■ xcomment 環境を使う

xcom00.png

あるいは,

■ \newxcomment を使う

xcom01.png

  ★クラスファイルは ltjsarticle を使っていますが, article などでも構いません.
  ★文字コードは UTF-8 とします.

2.2 コンパイルの仕方
(クラスファイルが ltjsarticle の場合)
  luajitlatex foo.tex
  または
  lualatex foo.tex

2.3 コンパイルの結果
  正しくコンパイルできたら foo.pdf が生成されます.

--------------------------------------------------------------------
xcom02.png
--------------------------------------------------------------------


EOF

  1. 2015/03/08(日) 15:20:52|
  2. LaTeX Tools

[LaTeX] minted --- プログラムソースコードのハイライト表示

minted --- プログラムソースコードのハイライト表示

§1 はじめに

mintedはプログラムソースコードをフォーマットするパッケージです.構文形式を下記に示します.

   ■■■■■■■■■■■■■■■■■
   \begin{minted}{<language>}
   <code>
   \end{minted}
   ■■■■■■■■■■■■■■■■■

選択した言語 <language> でコード <code> の一部をハイライト表示します.
外観はオプションでカスタマイズすることができます.

■ サンプル: <language> = C言語の例

mint00.png

1.1 インストール

(1)TeXLive/W32TeX などには標準でインストールされていますので,インストール作業は必要ありません.
   すぐに利用できる状態にあると思われます.

(2)Pygmentsをインストールする (マニュアルpage-4,5参照)
   Pygmentsは従来のパッケージと比較して優れた構文の強調表示を提供します.
   Pygmentsは,Pythonで書かれています.Python2.6以降があることを確認してください.
   システムにインストールされているか否かは,簡単にコマンドラインからチェックできます.
   
   python --version
   Python 2.7.7 ---- (最新版は2.7.9)

   Pythonがインストールされていない場合は,PythonのWebサイトからダウンロードしてください.
   
   その後,次のコマンドを使用して,Pygmentsのをインストールすることができます.

   easy_install Pygments

(3)minted は次のパッケージを必要とします.(マニュアルpage-5参照)確認してください.

  • keyval   • ifthen   • etoolbox   • kvoptions   • calc    • xstring
  • fancyvrb  • ifplatform • xcolor    • float     • pdftexcmds • lineno

   (確認するには例えば,コマンドラインから kpsewhich keyval.sty のようにすれば良いでしょう)

1.2 マニュアル

コマンドラインから texdoc minted を実行してください.

§2.LaTeX2e 文書での指定方法

2.1 書式

(1)minted 環境
   プリアンブルに \usepackage{minted} を記述します.

mint01.png


(2)\mint[<options>] {<language>} <delim><code><delim>   
ソースコードが1行の場合,\mint コマンドで簡単な表記法が使用できます.出力は minted 環境と同等です.
   <code> を同一の文字のペアでサンドイッチします.

mint02.png

この他に次のコマンドがあります.

(3)\mintinline[<options>]{<language>}<delim><code><delim>   
\mintinlineコマンドはインラインで使用することができます.

(4)\inputminted[<options>]{<language>}{<filename>}.   
\inputmintedコマンドは<filename>を読み込みフォーマットします.

2.2 サポートしている言語

主な言語として,
c, c++, fortran, java, haskell, perl,, ruby, plolog, php, sql, html, xml , など
詳細はコマンドラインから pygmentize -L lexers を実行してください.

2.2 Floating listings

mintedはソースコードブロックを包み込むためのリスト環境を提供します.これはfloating boxにコードを入れます.
また,通常の方法でリストのための\captionと\labelを提供することができます.(表と図の環境に関して)
\listoflistings でリスト一覧を作成時に section または chapter の番号を付加します.

■■■■■■■■■■■■■■■■■■■
   \documentclass{ltjsbook}
   \usepackage[section]{minted}
   \begin{document}
    \chapter{Listing Test}
    \section{Sample}
    \begin{listing}[H]
    int main() {
    printf("hello, world");
    return 0;
    }
    \caption{Example of a listing.}
    \label{lst:example}
   \end{listing}
   Listing \ref{lst:example} contains an example of a listing.

   \listoflistings
   \end{document}
■■■■■■■■■■■■■■■■■■■

結果は次のようにありあす.
----------------------------------------------------------
mint03.png
----------------------------------------------------------

§3.いくつかのサンプル

(1)line-number を付ける

mint04.png

(2)数式モードで内部コメントを付ける

mint05.png

(3)背景色を付ける

mint06.png




  1. 2015/03/03(火) 09:29:08|
  2. LaTeX Tools