Subsections of Latex
Commonly used commands
よく使うものをとりあえずメモ
プリアンブル
Packages
\documentclass[dvipdfmx]{jsarticle}
\usepackage[dvipdfmx]{graphicx}
\usepackage[dvipdfmx]{color}
\usepackage{amsmath}
\usepackage{mathtools}
\usepackage{ascmac}
\usepackage{comment}
\usepackage{algorithmic}
\usepackage{algorithm}
\usepackage{here}
\usepackage{listings,jvlisting}
\usepackage{bm}
\usepackage{multicol}
\usepackage[square,sort,comma,numbers]{natbib}
\usepackage[subrefformat=simple]{subcaption}%サブキャプションを付けたいときに必要
gnuplotでlatex形式の数式を表示するための設定
% \usepackage{gnuplot-lua-tikz}
% \usepackage{tikz}
algorithm (疑似コード) の表示の設定
\renewcommand{\algorithmicrequire}{\textbf{Input:}}
\renewcommand{\algorithmicensure}{\textbf{Output:}}
### 参考文献の文献番号の表示形式を変更
\makeatletter%再定義に@が使用される場合に\makeatletterと\makeatotherで挟む
\def\@cite#1{\textsuperscript{#1)}}%引用文献の文献番号の表示方法を変更
\def\@biblabel#1{#1)}%参考文献の先頭も変更
\makeatother
文献番号等の色やリンクの設定
\usepackage[dvipdfmx]{hyperref}
\hypersetup{% hyperrefオプションリスト
setpagesize=false,
bookmarksnumbered=true,%ブックマークを作成
bookmarksopen=true,%ブックマークを開く
colorlinks=true,%カラーリンクを使用
linkcolor=black, %内部参照リンクカラー
citecolor=blue, %文献カラー
% filecolor=, %ローカルファイル参照リンクカラー
urlcolor=blue,
}
program(c言語)の記述形式についての設定
\renewcommand{\lstlistingname}{program}
% %c言語の設定 気に入ってる方
\lstset{
language=c,
basicstyle={\ttfamily\small},
tabsize=2,
frame=trBL,
numbers=left,
numberstyle={\ttfamily\small},
breaklines=true,
captionpos=t
%キャプションを一番下にするならcaptions=b
}
jsreportでchapterの改行を削除する設定
% chapterの改行を削除
\makeatletter
\def\@makechapterhead#1{%
\vspace*{2\Cvs}% 欧文は50pt
{\parindent \z@ \raggedright \normalfont
\ifnum \c@secnumdepth >\m@ne
\huge\headfont \@chapapp\thechapter\@chappos
%% \par\nobreak
%% \vskip \Cvs % 欧文は20pt
\fi
\interlinepenalty\@M%先頭の空白で、章とチャプター名の間に空白が挿入される
\huge \headfont #1\par\nobreak
\vskip 3\Cvs}
} % 欧文は40pt
\makeatother
In document
bibtexの表示
\bibliographystyle{junsrt}
\nocite{*}
\bibliography{reference}
Problem
グラフが記述した位置に正しく出力されない
もとのやり方
\begin{figure}[h]
\end{figure}
このやり方では画像を連続して出力する場合などにテキストの最後にまとめて出力されてしまう。
解決法
usepackage{here}
\begin{figure}[H]%[H]オプションで記述した位置に強制的に出力する
\end{figure}
参考
図表番号が正しく表示されない。
問題点
\begin{figure}[H]
\label{graph3_4}
\begin{center}
\scalebox{0.9}{\input{kadai3_4_graph.tex}}
\caption{$\alpha = 1/4 $における分散$\langle x(t)\rangle$と時間$t$の関係}
\end{center}
\end{figure}
\begin{figure}[h]
\label{graph3_2}
\begin{center}
\scalebox{0.9}{\input{kadai3_2_graph.tex}}
\caption{$\alpha = 1/2$における分散$\langle x(t)\rangle$と時間$t$の関係}
\end{center}
\end{figure}
\begin{figure}[h]
\label{graph3_1}
\begin{center}
\scalebox{0.9}{\input{kadai3_1_graph.tex}}
\caption{$\alpha = 1$における分散$\langle x(t)\rangle$と時間$t$の関係}
\end{center}
\end{figure}
図\ref{graph3_4}, \ref{graph3_2}, \ref{graph3_1}
と書くと図4, 4, 4
と出力されてしまう
解決法
captionの中にlabelをかく
\begin{figure}[H]
\begin{center}
\scalebox{0.9}{\input{kadai3_4_graph.tex}}
\caption{$\alpha = 1/4 $における分散$\langle x(t)\rangle$と時間$t$の関係\label{graph3_4}}
\end{center}
\end{figure}
参考
References
LaTeXでの参考文献の書き方
\begin{thebibliography}{99}
\bibitem{参照ラベル名1} 文献情報
\bibitem{参照ラベル2名} 文献情報
......
......
\end{thebibliography}
このように記述してタイプセットすると、文献番号が\bibitem
の登録順に[1], [2], [3], … のように表される。
本文中で文献情報を参照するには次のように記述する
....といったことが指摘されている\cite{ラベル名a}\cite{ラベル名b}
これをタイプセットすると....といったことが指摘されている[6][9]
のように表示される。
文中で文献番号だけでなくページ数などをオプション表示させるには次のように記述する。
....といったことが指摘されている
\cite{ラベル名a}\cite[第3章127ページ]{ラベル名b}。
引用を上付き右カッコで表示する
LaTeXの引用表示を[xxx]ではなくxxx)にする方法。プリアンブルに次のように書く。
\makeatletter
\def\@cite#1{\textsuperscript{#1)}}
\makeatother
他にいろいろ変えたければ、\textsuperscript{#1)}の部分を編集する (#1が冒頭に出てきたxxxにあたる)。 参考文献一覧の先頭も同様にに変えたい場合、プリアンブルの\makeatletter~\makeatother中に次のように書く。
\def\@biblabel#1{#1)}
〇\makeatleter
, \maketother
とは?
また,再定義するマクロの名前や再定義の内容に @ が現れる場合は,次のように再定義全体を \makeatletter
と \makeatother
で挟んでおく必要がある.
\usepackage{foo}
\makeatletter
\renewcommand\bar{... 20pt ...}
\makeatother
参考
bibtex の使い方
-
.bib
拡張子のファイルを用意し、内容を記述% 論文の場合 @article{hoshino2019, author = {Hikaru Hoshino and Yoshihiko Susuki and T. John Koo and Takashi Hikihara}, journal = {Journal of Dynamic Systems, Measurement, and Control}, title = {Structural Analysis and Control of a Model of Two-Site Electricity and Heat Supply}, year = {2019}, volume = {141}, number = {10}, pages = {101004}, doi = {10.1115/1.4043703}, } % 本の場合 @book{biggar2014, author = {Darryl R.Biggar and Mohammad Reza Hesamzadeh}, title = {The Economics of Electricity Market}, publisher = {John Wiley & Sons}, isbn = {9781118775752}, year = {2014}, }
-
本文中の参考文献を出力したい一に以下の記述を追加
\bibliographystyle{junsrt} %参考文献出力スタイル \bibliography{hoge} %hoge.bibから拡張子を外した名前
なお、参考文献出力スタイル(bibliographystyle)には主に以下のスタイルがあります。
欧文用 和文用 特徴 plain jplain 参考文献をアルファベット順で出力する unsrt junsrt 参考文献を引用された順で出力する
参考
Bulletins in latex
記号付き箇条書き
見出し記号付きの箇条書きをするためには¥itemizeを使用する。
【入力例】
¥begin{itemize}
¥item aaa
¥item bbb
¥begin{itemize}
¥item ccc
¥end{itemize}
¥item ddd
¥end{itemize}
【出力例】
・ aaa
・ bbb
- ccc
・ ddd
itemizeのマークの変更
itemizeを入れ子にすると、各項目の見出しとなる記号が変化する。 これらの記号は、クラスファイルのなかで次の命令に定義されている。
レベル | 命令 | デフォルト |
---|---|---|
1 | ¥labelitemi | ● |
2 | ¥labelitemii | − |
3 | ¥labelitemiii | * |
4 | ¥labelitemiv | ・ |
【入力例1】itemizeの第1レベルの見出し記号を”○”に変更
¥renewcommand{¥labelitemi}{○}
¥begin{itemize}
¥item マークが変わった!
¥end{itemize}
【出力例1】
○ マークが変わった!
【入力例2】見出し記号を1つだけ”○”に変更
¥begin{itemize}
¥item 普通のマーク
¥item[○]マークが変わります
¥end{itemize}
【出力例2】
・ 普通のマーク
○ マークが変わります
番号付き箇条書き
見出し番号付きの箇条書きをするためには¥enumerateを使用する。
【入力例】
¥begin{enumerate}
¥item aaa
¥begin{enumerate}
¥item bbb
¥begin{enumerate}
¥item ccc
¥end{enumerate}
¥end{enumerate}
¥item ddd
¥item eee
¥end{enumerate}
【出力例】
1. aaa
(a) bb
i. ccc
2. ddd
3. eee
enumerateの番号の変更
enumerateの番号の出力形式を変更するには、カウンタの値を出力する命令を定義し直す。
レベル | カウンタ | 出力する命令 | デフォルトの出力 |
---|---|---|---|
1 | enumi | ¥theenumi | アラビア数字(1,2,3,・・・) |
2 | enumii | ¥theenumii | 小文字のアルファベット(a,b,c,・・・) |
3 | enumiii | ¥theenumiii | 小文字のローマ数字(小文字のローマ数字(ⅰ,ⅱ,ⅲ,・・・) |
4 | enumiv | ¥theenumiv | 大文字のアルファベット(A,B,C,・・・) |
【例】¥enumiカウンタを大文字のローマ数字で出力する設定
¥renewcommand{¥theenumi}{¥Roman{enumi}}
番号の出力形式
命令 | 出力形式 |
---|---|
¥arabic | アラビア数字(1、2、3、・・・) |
¥roman | ローマ数字(ⅰ、ⅱ、ⅲ、・・・) |
¥Roman | ローマ数字(Ⅰ、Ⅱ、Ⅲ、・・・) |
¥alph | アルファベット(a、b、c、・・・) |
¥Alph | アルファベット(A、B、C、・・・) |
見出し語付き箇条書き
見出し語付きの箇条書きをするためには¥descriptionを使用する。
【入力例】
¥begin{description}
¥item[日時] ○月○日
¥item[場所] どこか
¥item[時間] ○時○分
¥end{description}
【出力例】
日時 ○月○日
場所 どこか
時間 ○時○分
参考
Figure
\begin{figure}[位置指定]
\centering
\includegraphics[オプション]{ファイル名}
\caption{図のタイトル\label{ラベル}
\end{figure}
.tex
拡張子の図を挿入するときは次のように記述する
\begin{figure}[H]
\centering
\scalebox{0.6}{\input{ファイル名}}
\caption{図のタイトル\label{ラベル}}
\end{figure}
位置指定
位置指定 | 出力場所 |
---|---|
h | 記述した部分 |
t | ページの上部 |
b | ページの下部 |
p | 独立したページ |
オプション
オプション指定 | 指定方法 |
---|---|
keepaspectratio | 縦横の比を維持 |
scale | 図のサイズの変更(例:scale=0.7) |
width | 横幅の指定(例:width=130mm) |
height | 高さの指定(例:height=60mm) |
angle | 回転角の指定(例:angle=90) |
origin | 回転角の時の原点,c:中心,tl:左上,tr:右上,bl:左下,br:右下(例:origin=c) |
draft | 図が入る枠だけ表示 |
clip | BoundingBoxからはみ出た分を切り取る |
複数枚のグラフを横に並べて表示
figure の中で minipage を使って,画像一つ分の領域を確保してから includegraphics を使う. \linewidth, \textwidth などを使って領域の幅を調整する. subcaption を使う時は,大抵プリアンブルに次のように書くとよい.
\usepackage[subrefformat=parens]{subcaption}
subcaption パッケージが使用しているスタイルと競合する場合は諦めて, (a)や(b)などの文字を直接打ち込んで挿入する. 以下は1行2列で2つの画像を挿入する例.
% --- Figure ------------------------------
\begin{figure}[H]
\begin{tabular}{cc}
% -- (a) --
\begin{minipage}{0.45\linewidth}
\centering
\includegraphics[keepaspectratio, scale=0.6]{fig/a.pdf}
\subcaption{1つめ}
\end{minipage}
% ---------
% \vspace と \hspace を駆使して間隔を調節
% -- (b) --
\begin{minipage}{0.45\linewidth}
\centering
\includegraphics[keepaspectratio, scale=0.6]{fig/b.pdf}
\subcaption{2つめ}
\end{minipage}
% ---------
%% main caption
\caption{Hogehoge}
\label{fig:1}
\end{tabular}
\end{figure*}
% -----------------------------------------
\minipage を応用すれば任意の配置で図を置くことができる. \subcaption{} は minipage の中に必ず入れないといけない点に注意. 入れなかった場合,普通の caption が図Xでなくて (c) 等になってしまう.
参考
Table
表の書き方
\begin{table}
\label{ラベル名}
\centering
\caption{表題}
\begin{tabular}{|c|c|c|}%3列で表示、列と列の間に縦罫線を引く
\hline
西暦 & 測定者 & 測定方法 & 測定結果 \\
& & & $\times 10^8$ [m/sec] \\
\hline \hline
1638 & Galileo & 二人が離れてランプの光を見る & (音速10倍以上) \\
1675 & Roemer & 木星の衛星の観測から & 2 \\
\hline
\end{tabular}
\end{table}
コマンド
コマンド | 概要 |
---|---|
\hline | 横罫線を引く ※2回かけば2つ横罫線が引かれる |
\multicolmn{横に結合するマスの数}{表示形式、|c| 等}{文字} |
横に並んだ表の要素を結合する |
\cline{3-5} | 任意の列に横罫線を引く(ここでは3列目から5列目に横罫線を引く) |
packageを用いた表作成
※<wd>は幅指定(pt,em, cmなど)
※「」は線のトリミングの指定です.「(lr)」とすると,列の幅より少し短い罫線になります.格好良い罫線が引きますので,このオプションをつけることを強く推奨します.「l{-2.3mm}r{3.4mm}」のようにすると,罫線を左側に 2.3 mm 伸び,右側に 3.4 mm 短くなります.
※「」と「」は,罫線上下の空白の幅を指定します.幅指定は (1pt, 0.5em, 1.2mm) のようにします.
tabularの設定パラメータ
パラメータ | 動作 | 備考 |
---|---|---|
l | 左詰(left) | — |
r | 右詰 | — |
c | センタリング | 引き続くブロックのセンタリング指定 |
p{長さ} | 上/左詰めの幅指定カラム(paragraph) | — |
m{長さ} | 中/左詰めの幅指定カラム(middle) | arry.sty が必要 |
b{長さ} | 下/左詰めの幅指定カラム(bottom) | arry.sty が必要 |
@{文字列} | 文字列がセパレーターになる | — |
` | ` | 縦線(1本) |
` | ` |
参考文献
Basic
LaTexコマンド集
概要 | コマンド | 詳細 | パッケージ |
---|---|---|---|
文字サイズの変更 | \scalebox{倍率}{文字} | 特定の文字やtexファイルを<倍率>倍にして出力する。{倍率}の部分を{幅}[高さ]のようにかき分けてもOK! | graphics |
行間の調整 | \begin{spacing}{倍率} 文章 \end{spacing} | 指定した倍率に行間を変更する | setspace |
部分的に2段組みにする | \begin{multicols}{2} 2段組にしたい文章 \end{multicols} | 2 のところをかえれば多段組にできるかも(?) |
multicol |
特殊文字
表示 | コマンド | 概要 |
---|---|---|
Å | {\AA} | 数式環境以外で単位Å を表示する。ただし数式中では\mathrm{\mathring{A}} とするか\mathrm{\AA} とする。 |
文字サイズ
コマンド | 標準を10ptとしたときの大きさ |
---|---|
\tiny | 5pt |
\scriptsize | 7pt |
\footnotesize | 8pt |
\small | 9pt |
\normalsize | 10pt |
\large | 12pt |
\Large | 14.4pt |
\LARGE | 17.28pt |
\huge | 20.74pt |
\Huge | 24.88pt |
数式環境
環境名 | 環境 | パッケージ | 特徴 |
---|---|---|---|
equation | \begin{equation}\end{equation} | — | 1行の数式を記入でき、数式番号がつく |
equation | \begin{equation*}・・・ | amsmath | equation環境とほとんど同じだが、数式番号がつかない |
eqnarray | \begin{eqnarray} 数式 $=$ 数式\数式 $=$ 数式\end{eqnarray} | — | 複数行の数式を、$で挟んでいる= をそろえて表示する。※数式番号は各行に表示されるが、\nonumber を使用してはならない。 |
eqnarray | \begin{eqnarray*}・・・ | — | 数式番号がつかない |
split | \begin{split} 数式 $= 数式 数式 $= 数式\end{split} | amsmath | eqnarray環境の代替。equation環境の中で使用し、&= をそろえて表示し、数式番号は複数行の中間に一つだけ表示する |
align | \begin{align} 数式 $= 数式\・・・ | amsmath | {&= で数式の= をそろえて表示し、数式番号を各行ごとに表示する。 |
align | \begin{align*}・・・ | amsmath | 数式番号がつかない |
aligned | \begin{aligned}・・・ | amsmath | equation 環境内で使用でき、一部分のみalign 環境にすることができる |
gather | \begin{gather}・・・ | amsmath | 複数の数式を中央揃えで表示し、各行ごとに数式番号をつける |
数式表示
コマンド | パッケージ | 概要 |
---|---|---|
\bm{a} | bm | 括弧内の文字をベクトル(太字)で表示する |
\label{数式のラベル} |
— | 数式にラベル付けできる。数式の数式番号やページ数を呼び出すときに使用する。数式環境下で使用する |
\ref{ラベル名} |
— | 数式につけた式番号をラベル名を指定することで表示できる |
\frac{分子}{分母} |
— | 分数表示 |
\int_{上限}^{下限} |
— | 積分表示 |
\left<括弧なら何でも>・・・\right<括弧> |
— | 括弧のサイズを括弧内の数式に自動で合わせる |
\hspace{50pt} |
— | { } 内に指定した幅の文だけスペースを生成。使用できる単位は「pt」「pc」「mm」「cm」 |
\; または \: または \, |
空白を生成。左に行くにつれて大きくなる | |
\begin{pmatrix} a11 & a12 & a13\\\\ a21 & a22 & a23 \\\\ \end{pmatrix} |
amsmath | 行列 |
\begin{vmatrix} a11 & a12 & a13\\\\ a21 & a22 & a23 \\\\ \end{vmatrix} |
amsmath | 行列式 |
\cdot |
— | どっと(中央) |
\cdots |
— | 3点ドット(中央) |
\vdots |
— | 縦の3点ドット |
\ddots |
— | 斜めの3点ドット |
ギリシャ文字
**ギリシャ文字を使用する場合にも数式環境下で記述する必要がある。
出力 | 入力 | 出力 | 入力 | 出力 | 入力 |
---|---|---|---|---|---|
α | \alpha | β | \beta | γ | \gamma |
δ | \delta | ϵ | \epsilon | ε | \varepsilon |
ζ | \zeta | η | \eta | θ | \theta |
ϑ | \vartheta | ι | \iota | κ | \kappa |
λ | \lambda | μ | \mu | ν | \nu |
ξ | \xi | o | o | π | \pi |
ϖ | \varpi | ρ | \rho | ϱ | \varrho |
σ | \sigma | ς | \varsigma | τ | \tau |
υ | \upsilon | ϕ | \phi | φ | \varphi |
χ | \chi | ψ | \psi | ω | \omega |
Γ | \Gamma | Λ | \Lambda | Σ | \Sigma |
Ψ | \Psi | Δ | \Delta | Ξ | \Xi |
Υ | \Upsilon | Ω | \Omega | Θ | \Theta |
Π | \Pi | Φ | \Phi | ∑ | \sum |
∏ | \prod | — | — | — | — |
数学記号
出力 | コマンド |
---|---|
Å | \mathrm{\mathring{A}} |
₁P₂ | {}_1P_2 |
≤ | \leq |
≥ | \geq |
∈ | \in |
± | \pm |
≃ | \simeq |
・ | \cdot |
∂ | \partial |
分数 | frac{分子}{分母} |
∇ | \nabla |
Δ(デルタ,ラプラシアン) | \Delta |
≡ | \equiv |
期待値の記号<> | \langle, \rangle |
Ⅱ | $\rm{I\hspace{-.01em}I}$ |
A(数式中で斜体表示を解除) | \rm{A} |
A(行列を表すA,太字かつ斜体無し) | \mathbf{A} |
Vebatim環境内での数式表示
Verbatim環境内で数式を使う場合は**プリアンブルに\usepackage{fancyvrb}
**と記述し、以下のようにドキュメント内に書く。
\begin{spacing}{0.8}
\begin{Verbatim}[commandchars=\\\{\}, codes={\catcode`$=3\catcode`_=8\catcode`^=7}]
$\sum_[i=1]^[n]M_i$
\end{Verbatim}
\begin{Verbatim}[%frame=single, numbers=left, commandchars=\\\{\},codes={\catcode`$=3\catcode`_=8\catcode`^=7}]
$f(x) = \frac{1}{x}
\end{Verbatim}
※どちらがいいのかわからない…
アルゴリズムの擬似コード
- https://li-feel.hatenablog.com/entry/2017/12/19/160618
- https://qiita.com/jirojiro/items/0ae13aac9112a804f8d5
- https://qiita.com/harmegiddo/items/04ae672402bb8c1d01a6
ソースコード
図の挿入(input)
- https://hydrocoast.jp/index.php?LaTeX/%E5%9B%B3
- https://www.okomeda.net/wp/484/
- http://www.yamamo10.jp/yamamoto/comp/latex/make_doc/insert_fig/index.php
- https://atatat.hatenablog.com/entry/cloud_latex18_subcaption
- https://medemanabu.net/latex/scalebox-resizebox/
- https://qiita.com/poemn/items/9142339749c87ebdb536