home(h) links(l) memo(m) profile(r)
memo(m) TeX関係

TeX関係

インストール・環境設定

MacでのTeX環境構築

BasicTeXとTeXShopなどの何かフロントエンドをインストールすればいいらしい[20]。でも、以下のようなエラーが出てコンパイルできない。

warning: kpathsea: configuration file texmf.cnf not found in these directories: /usr/local/share/texmf/web2c.
/usr/texbin/mktexfmt: line 395: /texconfig/tcfmgr: No such file or directory
fmtutil: config file `fmtutil.cnf' not found.
I can't find the format file `pdflatex.fmt'!

確かに/usr/local/share/texmf/web2cは存在しない。環境変数TEXMFCNFの設定の問題という情報[21]があったが、正しいtexmfの場所が分からない(見つからない)。

Mac OS X 10.4.11の場合、初期状態で既にTeXが使えるようになっている。但し、platexが認識する文字コードはSHIFT JIS。Emacsなどのエディタでソースを作成する場合、SHIFT_JISで保存する必要がある(Emacsの場合、C-x RET f shift_jis RETで文字コードをSHIFT_JISに変換)。

TeX文書の作成方法 in MacOSX[1]

  1. 拡張子「.tex」のファイルを作成する。場所はどこでもいい、と思う(例:~/documents/tex/)。
    1. 1行目にクラスファイルの指定を行う

      \documentclass{article}

      日本語も含む場合は以下の記述(+コンパイルはplatexを使用)

      \documentclass{jarticle}

    2. 次に、文書開始の宣言。

      \begin{document}

    3. 最後に、文書終了の宣言。

      \end{document}

  2. コンパイルする。Terminalを起動し、前項で作ったTexファイルのあるディレクトリに、カレントディレクトリを移動し(cdコマンド)、以下のコマンドを実行。 なおいずれの場合も、拡張子の「.tex」は不要。
    英文のみの場合(latex)

    latex [ファイル名]

    次のようなメッセージが最後に出たら無事コンパイルできているはず。

    Output written on test1.dvi (1 page, 340 bytes). Transcript written on test1.log.

    日本語も含む場合(platex)
    あらかじめ扱う文字コードを確認しておく。 確認するにはTerminalで以下のコマンドを実行。

    platex --version

    以下のようなメッセージから始まる出力が行われる。 ここにSJIS(Shift-JIS)またはEUCのどちらを使っているかが記されている。

    pTeX 3.141592-p3.1.8 (SJIS) (Web2C 7.5.4) kpathsea version 3.5.4

    ここで指定されている文字コードで「.tex」ファイルは保存しておく必要がある。 コマンドは頭にpがつくだけでlatexの場合とほぼ同じ。

    platex [ファイル名]

  3. DVIファイルを閲覧する。mxDVI[2]などで、「.tex」ファイルと同じディレクトリに生成された「.dvi」ファイルを開くだけ。

Ubuntuでのインストール

以下の手順で、とのこと1

1. TeX Liveをインストール

参考文献・サイト

  1. TeX Live 2011のインストール on Ubuntu 10.04 - どこかWiki

PDFで出力

参考文献・サイト:

platex TeXファイル名 ←TeXコンパイル
dvipdfmx dviファイル名 ←dviファイルをPDFに変換
    
1. 事前準備
システムに以下のディレクトリが既に存在する場合、削除または名前の変更を行う。
  • /var/tmp/ptetex3/tetex-src-3.0/
  • /usr/local/teTeX/
  • ~/texmf/
  • ~/.texmf-conf/
  • ~/.texmf-var/
2. ソースを取得
UNIX互換OS用TeXディストリビューション「teTeX」と日本語TeX「pTeX」をまとめてインストールするためのツール「pteTeX」に関係するファイル群をダウンロード。以下、ダウンロード先は~/downloads/ptetex3/以下として話を進める。
3. ptetexを解凍
shell> cd ~/downloads/ptetex3/ ←上記3ファイルをダウンロードしたディレクトリへ移動
shell> tar zxvf ptetex3-20090610.tar.gz
shell> cd ptetex3-20090610
4. my_option編集
shell> cp my_option.sample my_option
	

必要に応じmy_optionファイルを編集して設定変更。入出力文字コードをデフォルトのEUCからUTF-8に変更したいなら

### ptex/platex コマンドの入出力文字コードを指定(ディフォルトは EUC)
### 'UTF8' は ptetex3 の独自拡張
# KANJI_CODE=EUC
# KANJI_CODE=SJIS
# KANJI_CODE=JIS
# KANJI_CODE=UTF8 ←先頭の # を消す
	

xdviチェックを除外するなら(…というか除外しないと、makeがtest段階で止まる)。

### make test で xdvi を除外する
# XDVI=echo ←先頭の # を消す
# PXDVI=echo
	
5. コンパイル

Mac OS X では X11([アプリケーション][ユーティリティ]以下、なければOS CDからインストール)を起動し、xtermから以下の操作を実施…はxdviチェックを除外するなら要らないのかな?

shell> unset TEXMFCNF TEX関係の環境変数があるとmake時にエラーが出て停止するので削除しておく。
shell> make all3

まだだめみたい。

/usr/bin/ld: Undefined symbols:
_check_for_png
collect2: ld returned 1 exit status
make[4]: *** [dvipdfmx] Error 1
make[3]: *** [all-recursive] Error 1
make[2]: *** [all] Error 2
make[1]: *** [stage4] Error 2

Those messages are stored in 'log-0619-1603'.

make: *** [all0] Error 1
 

TeX書式

コメントアウト

行毎にコメントアウトするには行頭に % を記す。

複数行に渡ってコメントアウトする方法は以下の通り。

但し方法2を利用するには、texlive-latex-extraの追加パッケージをインストールする必要あり。

参考文献・サイト:

体裁

【ページを表示しない】
\pagestyle{empty}

【上下方向の空白出力】
\vspace{長さ} (ページ先頭、ページ末尾では出力されない)
\vspace*{長さ} (ページ先頭、ページ末尾でも出力される)

【行寄せ】
\begin{flushleft}...\end{flushleft} 左揃え
\begin{center}...\end{center} 中央揃え
\begin{flushright}...\end{flushright} 右揃え
行揃えの指定がないと「両端揃え」

【強制改行】
\\
    

参考文献・サイト:

タイトル出力

プリアンブル部に\title, \author, \dateを記述し、本文中に\maketitleを記す。documentclassreport, bookの系統であれば独立ページに、article系統なら1ページ目の上の方にタイトル、著者名、日付が出力される。
%===== プリアンブル部 =====
\documentclass{jsarticle}
\title{ドラえもんと僕}
\author{野比 のび太}
\date{\today}
%===== プリアンブル部おわり =====
%===== 本文 =====
\begin{document}
\maketitle
\section{ドラえもんとの出会い}

\end{document}

タイトル出力例(article)
    

日付

\todayで、コンパイル時の和暦形式での日付が出力される。

参考文献・サイト:

箇条書き

【ソース】
\begin{itemize}
\item りんご
\item みかん
\item いちご
\end{itemize}
【結果】
LaTeX 箇条書き01
    

箇条書きの頭の記号を変えるには、itemの後に[ ]で囲んで指示する。 指示がなければ既定値の黒丸。

【ソース】
\begin{itemize}
\item[$\clubsuit$] りんご
\item[※] みかん
\item[$\pi r^2$] いちご
\end{itemize}
【結果】
LaTeX 箇条書き02
    

参考文献・サイト:

記号など

記号 書式
(改行) \newline, \\, \par
(改ページ) \newpage
(下線) \underline{文字列}
※下線を引く文字列の途中で改行することはできない。複数行に渡る下線を引く時は、各行末で一旦\underlineを閉じ、複数回\underlineコマンドを使用すること。

【書式】
\begin{table}[表示位置]
  \caption{表の題}
  \begin{tabular}{各列指定}
    \hline
    セル値 & セル値 ...\\
    ...
  \end{tabular}
\end{table}
    
各列指定
列の数だけ行揃えを指定する文字を記述。左揃えは"l"、中央揃えは"c"、右寄せは"r"。"|"を記述するとその前後の列間に縦の罫線が引かれる。
\hline
記述位置に横罫線を引く。
\cline{開始列数-終了列数}
縦方向に結合したセルを作るには、\clineを使って罫線を一部書かないようにする。横罫線を引く範囲を左から数えた列数で指定する。
\begin{table}[表示位置]...\end{table}a
表全体の設定。\begin{tabular}...\end{tabular}はこの中に入れる。表示位置には"h"(その場所に表示、Here)、"t"(ページ上端、Top)、"b"(ページ下端、Bottom)、"p"(別ページ、other Page)のいずれかを指定(許容する表示位置を複数記述可能)。
\caption{表の題}
\begin{table}...\end{table}の中、\begin{tabular}...\end{tabular}の外に記述。
セル内改行
\shortstackコマンドを使って、\shortstack{1行目\\ 2行目} と書けばよい。

横方向のセル結合

横方向のセル結合には\multicolumn{結合列数}{配置指定など}{セル値} を用いる。

【コード】
\begin{tabular}{ll}
\hline
\multicolumn{2}{c}{CPU} \\
Maker & Type\\\hline
Intel & Xeon\\
AMD & Opteron\\\hline
\end{tabular}
【結果】
LaTeX 表 セル縦結合01
      

縦方向のセル結合

単にセル間の罫線を消すだけで良いなら、\clineを用いて、横罫線を一部だけ引くようにすればよい。

●例1
【コード】
\begin{tabular}{c|c|r}
\hline
年 & 月 & 平均気温\\\hline
2009 & 1 & 4.5\\\cline{2-3}
     & 2 & 4.2\\\hline
\end{tabular}
【結果】
LaTeX 表 セル縦結合02
      

但し、この方法だとセル内改行があった場合、2行目以降の余白があるにも関わらず1行目内で行の高さが取られて不釣り合いな体裁となってしまう。

●例2
【コード】
\begin{tabular}{p{2em}|c|r}
\hline
地域 & 都市 & 年平均気温\\ \hline
関西 & 大阪 & 20.7\\ \cline{2-3}
     & 舞鶴 & 19.1\\ \hline
北海道 & 札幌 & 12.5\\ \cline{2-3}
       & 釧路 & 9.9\\ \hline
\end{tabular}
【結果】
LaTeX 表 セル縦結合03
      

プリアンブルで\usepackage{multirow}を宣言して、multirowを使うと、結合したセルの縦方向中央に表示できる。列幅指定による自動改行またはセル内強制改行で結合した複数行の高さを使う方法がよく分からない(手動でセル毎に文字を分けて記すぐらい?)。

●例3
【コード】
\documentstyle{jsarticle}
\usepackage{multirow}
\begin{document}
...
\begin{tabular}{c|c|r}
\hline
地域 & 都市 & 年平均気温\\ \hline
関西 & 大阪 & 20.7\\ \cline{2-3}
     & 舞鶴 & 19.1\\ \hline
\multirow{2}{*}{北海道} & 札幌 & 12.5\\ \cline{2-3}
       & 釧路 & 9.9\\ \hline
\end{tabular}
【結果】
LaTeX 表 セル縦結合04
      

参考文献・サイト:

文献参照

【書式】
参照元:\cite{参照名}
参照一覧出力:
\begin{thebibliography}{桁数}
\bibitem{参照名}
...
\end{thebibliography}
    
・・・ということが知られている\cite{cite1}。

\begin{thebibliography}
\bibitem{cite1}ほげほげ著「ふがふが」あへあへ出版
\end{thebibliography}
    

参考文献・サイト:

相互参照

参考文献・サイト:

\label{名前}
他から参照した場所に名前をつける。図や表に名前を付ける場合、図や表の名前(caption)より後に\labelを置くこと。そうしないと、\labelを置いた場所のsectionlistを参照してしまう。
\ref{名前}
名前で指定した対象を参照する番号を表示。
\pageref{名前}
名前に指定した対象があるページ番号を表示。

画像

  1. \begin{figure}[表示位置指定]
    \epsfile{file=hoge.eps,倍率\hsize}
    \end{figure}
    	
    表示位置指定
    記述したその場所(Here)なら"h"、ページの一番上(Top)なら"t"、 ページの一番下(Bottom)なら"b"、別ページ(other Page)なら"p"。 複数記述すればそのうちどれでも構わないという指定になる?
    倍率(任意)
    元の大きさ通りなら1。
  2. 文書の先頭付近などで「\usepackage{graphicx}」を記述してgraphicxパッケージを読み込んでおき、画像を表示したいところで「\includegraphics[width=]{ローカル絶対パス}」を記す。

参考文献・サイト:

TeX関連事項

パッケージ

TeXには様々な追加パッケージがある。 利用方法は以下の通り。パッケージファイル名前の拡張子(.sty)は不要。

\usepackage{パッケージ名}

URLパッケージの場合、最初からあった? Ver.3.1 のものではエラー。 3.3のもの[3]に置き換えたら動作した。