Memo ≫ らてふ -- LaTeX --

Memo LaTeX

LaTeX関連の覚書

LaTeXについてのメモ

Contents

latexコマンド

コマンドまとめ

platex 日本語用のlatex
pdflatex hogehoge
xelatex zee-latexと読む。最新のフォント技術に対応している。 texファイルをコンパイルすると、直接pdfが生成される。
(updated on 2016.12.13)
Back to Top

xelatex

Ubuntuの場合、synapticパッケージマネージャの「texlive-xetex」よりインストール可能。 texファイルをコンパイルすると、直接pdfが生成される。 日本語化の説明はこちら[TEX Wiki XeTeX]
(updated on 2016.12.13)
Back to Top

documentclass

\documentclass[オプション]{文書クラス}

■ オプションまとめ

○○pt … 文字サイズ指定。12ptとか
a4paper … A4サイズ(297mm*210mm)に。A4はデフォルト
oneside … 奇数ページと偶数ページでレイアウトを同じにする(article,reportではデフォルト)
twoside … 奇数ページと偶数ページでレイアウトを変える(bookではデフォルト)
onecolumn … 段組なし
twocolumn … 2段組
english … 日本語用の文書クラスではこれをつけて英語風にできる
fleqn … 数式が左寄せで表示される

Back to Top

■ 文書クラスまとめ

article … 論文用(欧文)。jarticleとすると日本語用
report … レポート用(欧文)。jreportとすると日本語用
book … 本用(欧文)。製本するために、奇数ページと偶数ページのレイアウトが異なる。jbookとすると日本語用
jsarticle、jsbookなど … pLaTeX2e新ドキュメントクラス。ちなみにjsreportはないので、jsbookにオプションでreportをつける。

Back to Top

■ 各文書クラスで使えるcharpterやsectionまとめ

article

部 \part{}
節 \section{}
小節 \subsection{}
小々節 \subsubsection{}
段落 \paragraph{}
小段落 \paragraph{}

report

部 \part{}
章 \chapter{}
節 \section{}
小節 \subsection{}
小々節 \subsubsection{}
段落 \paragraph{}
小段落 \paragraph{}

book

部 \part{}
章 \chapter{}
節 \section{}
小節 \subsection{}
小々節 \subsubsection{}
段落 \paragraph{}
小段落 \paragraph{}

Back to Top

■ REVTEX4

keywords

documentclassのオプションに「showkeys」と書いて、プリアンブルに
\keywords{キーワード1; キーワード2}
と書くと、AbstractとPACSの下に出力される。

preprintnumbers

プレプリント番号を入れる場合は、documentclassのオプションに「preprintnumbers」と書いて、 プリアンブルに
\preprint{プレプリント番号1} \preprint{プレプリント番号2}
と書くと、タイトルの上に出力される。

footnote

footnote使うとき、documentclassのオプションに「footinbib」または「nofootinbib」 と書いておくと、それぞれ参考文献の場所かページの下にfootnoteが出力される。
Back to Top

便利なstyleファイルまとめ

プリアンブルに\usepackage{パッケージ}と書いておく。

■ styleファイル一覧

amsmath…数式に関するコマンド・環境を定義したパッケージ。とりあえず書いておこう。
algorithm,algorithmic…アルゴリズムを書くためのパッケージ。
bm…ボールドイタリック体
braket…BraとKet使える
layout…Layoutのチェック用のページが初めにできる。本番用では消しておくべき
cite…citeを順番に並べてくれたり、三つ以上書いたときに [1-3]とかやってくれる
booktabs…Table環境で\toprule,\bottomruleなどが使える
feynmp…Feynman diagram描くために必要
soul…\st{text}でstrikeout
url…\url{URL}とするとリンクが書ける。また、数式モードでしか使えない「_」も\url内に書けば出力できる。
ytableau…ヤング図を描くために必要

■ 新たなstyleファイルを入手したときに

styleファイルは、コンパイルしたときハードディスク内で探されて読み込まれる。しかし、その時間を短縮するためにLaTeXはls-Rファイルというリストを作っていてそれをもとに探しに行く。このリストの中身が古いと、新たに追加したstyleを見つけられない。そういう時はls-Rファイルを更新してやらないといけない。 ターミナルを開いて

>sudo mktexlsr
とすれば更新される。 ちなみにstyleファイルは/usr/share/texmf/tex/latex/以下などに置いてあるので新しいstyleファイルを入手したらそこに。

Back to Top

\newcommand, \renewcommand

\newcommandは新しいコマンドを定義し、\renewcommandはもとからあるコマンドを再定義する。使い方は基本的に一緒。

■ \newcommand

 
\newcommand{定義するコマンド}[引数][オプション]{コマンドで出力される内容}ととして使える。例えば、
\newcommand{\hogehoge}{HOGEHOGE}
と定義し(プリアンブルに書く必要は無い)、\hogehogeと文章中に書けば
HOGEHOGE
と出力される。
引数も使える。例えば、
\newcommand{\hogehoge}[2]{HOGEHOGE #1 and #2}
と書く。[]の中で引数の数を指定し、\hogehoge{aaa}{bbb}と書くと 初めの文字が#1に, 次が#2...と入る。今の場合は、
エディタ: \hogehoge{aaa}{bbb} → 出力結果: HOGEHOGE aaa and bbb
オプションで指定したものは最初の引数になる。
\newcommand{\hogehoge}[2][ccc]{HOGEHOGE #1 and #2}

エディタ: \hogehoge{aaa} → 出力結果: HOGEHOGE ccc and aaa

■ \renewcommand

 
 \renewcommandを使えば、chapter名やcaption名を変えることもできる。
\renewcommand{\prepartname}{第} … part
\renewcommand{\postpartname}{部} … part
\renewcommand{\prechaptername}{第} … chapter
\renewcommand{\postchaptername}{章} … chapter
\renewcommand{\figurename}{Fig.} … 図をFigに
\renewcommand{\tablename}{Table.} … 表をTableに
\renewcommand{\contentsname}{Contents} … 目次をContentsに
\renewcommand{\listfigurename}{図目次} … 図目次
\renewcommand{\listtablename}{表目次} … 表目次
\renewcommand{\indexname}{索引} … 索引
\renewcommand{\appendixname}{付録} … 付録
\renewcommand{\abstractname}{概要} … 概要
\renewcommand{\tablename}{\scalebox{0.7}{Table}}とか … これ使えばcaptionにある表...の「表」の大きさを変えられる。\scaleboxとか使って
\renewcommand{\headfont}{\bfseries} … セッション見出しをボールド体に変える
\renewcommand{\thefootnote}{\fnsymbol{footnote}} … footnoteの番号を記号に変更。数字で色々割り振られている
(Ref. http://www.biwako.shiga-u.ac.jp/sensei/kumazawa/tex/footnote.html)
など。
Back to Top

文章レイアウト

文書系いろいろ

■ レイアウトの設定

\setlength{\textwidth}{180mm} … textの幅
\setlength{\oddsidemargin}{-10.0mm} … 奇数ページの左側の余白
\setlength{\evensidemargin}{-15.0mm} … 偶数ページの左側の余白
\setlength{\topmargin}{-20mm} … 上の余白
\setlength{\columnsep}{5mm} … 二段組での左右コラム間の空き
\setlength{\textheight}{250mm} … テキストの高さ
数字はてきとう
ちなみにA4サイズは 297mm*210mm

■ 左寄せ・中央寄せ・右寄せ

\begin{flushleft}
左寄せ
\end{flushleft}

\begin{center}
中央寄せ
\end{center}

\begin{flushright}
右寄せ
\end{flushright}
と書くと
左寄せ

中央寄せ

右寄せ
Back to Top

特殊文字

外国人の名前などで使われていそうなもの
ł ポーランド語アルファベットの一つ「エウ」。コマンドは「\l」
ß ドイツ語で使われる「エスツェット」。コマンドは「\ss」
(updated on 2017.02.09)
Back to Top

アクセント

\'a
$\acute{a}$
ä \"a
$\ddot{a}$
\overleftarrow{a} \overrightarrow{a}
\overleftrightarrow{a}
Back to Top

カラー

使える色のまとめはこちら
Back to Top

幅の単位

cm センチメートル
mm ミリメートル
em 文字「M」の幅
zw 和文フォントの幅。日本語環境が整っていないと使用できない。pdflatexやxelatexでは注意。
長さの比較: hogehoge\hspace{xxx}hogehoge (xxx=1cm,1mm,1em,1zw)と出力すると...
 
(updated on 2016.12.13)
Back to Top

hyperref

ハイパーリンクを貼るために使う。たまにページサイズがおかしくなることがある。 その場合はオプションに「setpagesize=false」を加えると直る。
e.g. \usepackage[dvipdfmx,setpagesize=false]{hyperref}
Back to Top

Figure

Figure環境について

■ \graphicspath

挿入する図をあるディレクトリに保管していて、呼び出すときにいちいちパスを書くのが面倒なとき
\graphicspath{{保存してあるディレクトリへのパス}}
をプリアンブルに書いておくと手間が省ける。
これまで
\includegraphics[width=10cm,clip]{figure/hogehoge.eps}
だったのが
--- プリアンブル ---
\graphicspath{{./figure/}}

-------------------------------------

--- 本文中 ---
\includegraphics[width=10cm,clip]{hogehoge.eps}
でいける。
Back to Top

beamer

beamerについて (工事中)

Themeまとめ

Back to Top

if文

ifthenパッケージを用いてif文を作れる。 プリアンブルに\usepackage{ifthen}と書く。

カウンタを使った条件分岐

カウンタに入力された数値をもとに条件分岐を行うには、以下のようにする。
  1. 「\newcounter{hoge}」でカウンタ「hoge」を定義する。
  2. 「\setcounter{hoge}{1}」でhogeに例えば「1」を入力する。
  3. 条件分岐したいところで、
    \ifthenelse{\value{hoge}=1}{出力真}{出力偽}
    と書くと、hoge=1なら出力真が、hoge≠1なら出力偽が出力される。今は \setcounterでhogeに1が入っているので、「出力真」が出る。
Back to Top

物理に役立つ技

物理の論文に役立つ技

■ algorithm

algorithmic.styとalgorithms.styをダウンロード。Ubuntuのsynapticパッケージマネージャでは、「texlive-science」の中に入っている。
プリアンブルに \usepackage{algorithm}と \usepackage{algorithmic} を書いておく。
algorithm環境とalgorithmic環境がある。algorithmic環境の中にアルゴリズムを書き、それをalgorithm環境の中に入れると枠やcaptionがつく。
\begin{algorithm}[H]
  \caption{caption}
  \algsetup{indent=2em}
  \begin{algorithmic}
    アルゴリズムの中身
  \end{algorithmic}
\end{algorithm}
[H]を付けないと「! Missing \endcsname inserted.」とエラーメッセージが出る。 \algsetup{indent=2em}をつけると、指定した長さの字下げをしてくれる。 algorithm環境はなくても出力できる。
while文: LaTeX
\WHILE{条件文}
\STATE hogehoge文
\ENDWHILE
出力結果
while 条件文 do
   hogehoge文
end while
*コマンドはすべて大文字
if文:LaTeX
\IF{条件文}
\STATE hogehoge文
\ELSIF{条件文2}
\STATE hogehoge文2, ちなみに\ELSEIFではない
\ELSE
\STATE hogehoge文3
\ENDIF
出力結果
if 条件文 then
   hogehoge文
else if 条件文2 then
   hogehoge文2, ちなみに\ELSEIFではない
else
   hogehoge文3
end if
*if文の中にさらにif文を書いても良い。
Back to Top

■ Dirac slash

\def\slash#1{\hspace{-.3em}\not\!#1}…\slash{A}でAのスラッシュ
\def\slashb#1{\hspace{-.3em}\not\!\!#1}…\slashb{A}。スラッシュの位置が\slashと少し違う。\!で調整
\def\delsla{\hspace{-.3em}\not\!\partial}…Del slash
\newcommand{\sla}[1]{{#1 \hspace{-5.4pt}/ }}…\newcommandバージョン\sls{a}で任意の文字にスラッシュ
\newcommand{\vslash}{{v\hspace{-5.4pt}/}}…vのスラッシュ。Heavy quarkでは必須
Back to Top

■ ヤング図

ヤング図の描き方。ytableau.styというstyleファイルを用いると、簡単に書くことが出来る。styleファイルはこちら
Back to Top

arXiv.orgへの投稿時の注意

arXiv投稿時に、図がうまく表示されないことが(多々)ある。基本的には図をすべてpdfにして、「pdflatex」 でコンパイルするようにするのが良いらしい。
以下注意まとめ
  • 図のepsはpdfへ。epstopdfなどで変換。
  • mediabb.styは外す。
  • optionの[dvipdfmx]は外す。documentclassやgraphics, color, hyperref等に付いている可能性があるのでチェック。
Back to Top