メモ
環境:VirtualBox6.0.4 Ubuntu18.04.1LTS
Ubuntuで最低限インストールするもの:
sudo apt install texlive-full gnuplot
LaTeX
修論を書くまでplatexを主に使ってきたが, なんとなくuplatexが主流になりつつあるのでここではuplatexを使う. uplatex+dvipdfmxで普通にpdfを作成しようとするとwarningが出てフォント埋め込みがうまくいかない.
dvipdfmx:warning: CMap has higher supplement number than CIDFont: GothicBBB-Medium dvipdfmx:warning: Some chracters may not be displayed or printed.
解決策としてsudo kanji-config-updmap-sys auto
を実行するとうまくいくようになる.
フォント変更
kanji-config-updmap-sys status
と実行すると
CURRENT family for ja: ipa Standby family : ipaex
となりデフォルトでipaが使われていることが分かる.そこでフォントを源真ゴシック,源流明朝に変更する.
源真ゴシック:http://jikasei.me/font/genshin
源流明朝:https://github.com/ButTaiwan/genryu-font
それぞれダウンロードしたzipを解答し
GenShinGothic-Medium.ttfとGenRyuMinJP-Regular.ttfを/usr/local/share/texmf/fonts/truetype/public/
へ,
mapファイル:https://github.com/ntyaan/setup_ubuntu18.04/tree/master/genthingothic
をダウンロードし
ptex-genthingothic.mapとuptex-genthingothic.mapをフォルダgenthingothicに入れて/usr/share/texlive/texmf-dist/fonts/map/dvipdfmx/ptex-fontmaps/
へコピーする:
~$ sudo mkdir -p /usr/local/share/texmf/fonts/truetype/public ~$ sudo cp GenShinGothic-Medium.ttf GenRyuMinJP-Regular.ttf /usr/local/share/texmf/fonts/truetype/public/ ~$ sudo cp -r genthingothic /usr/share/texlive/texmf-dist/fonts/map/dvipdfmx/ptex-fontmaps/ ~$ sudo mktexlsr ~$ sudo kanji-config-updmap-sys genthingothic
改めてkanji-config-updmap-sys status
を実行すると
CURRENT family for ja: genthingothic Standby family : ipa Standby family : ipaex
となり,フォントが変更されたことが確認できる.ただこれが正規のやり方なのか不明なので注意.
修論テンプレート
学部の頃は研究室の指定に従って論文を書いたが,修論ではページ余白くらいしか指定がなく,事務から提示される論文例の画像を参考に概要や表紙,本文を作る必要がある.なぜ公式でサンプルファイルを作らないのか…
今回作成したテンプレートをここに載せる.
パッケージ
\usepackage{slashbox}
基本的には\backslashbox{行}{列}
のように使うが文字数などによってtabular環境とサイズが合わなくなることがあるため場合によっては{\small \backslashbox{行}{列}}
や空白文字で調整する必要がある.
以下リンクからDLできるslashbox.styをtexソースと同じディレクトリに入れないとコンパイルできない.
https://ctan.org/tex-archive/macros/latex/contrib/slashbox
\usepackage{diagbox}
slashboxの拡張版.
表のセルが何を示すのか表示したいとき\diagbox{行}{Hoge}{列}
のように使う.
\usepackage[dvipdfmx]{hyperref}
と\usepackage{pxjahyper}
pxjahyperはpdfにアウトラインをつける. オプションをつけることで詳細にアウトラインを設定できる. 修論では以下のように設定した.
\usepackage[bookmarksdepth=subsection,dvipdfmx,setpagesize=false,bookmarksnumbered]{hyperref}
- bookmarksdepth=subsection : アウトラインのツリーをsubsectionにする.
- setpagesize=false : これをつけないとページがズレる.
- bookmarksnumbered : アウトラインに番号をつける.
pxjahyperは日本語対応のため記述する.ないとアウトラインが文字化けする.
\usepackage{lscape}
表や図を180度回転させたいときに使う.
\begin{lscape} #表や図 \end{lscape}
\usepackage{tikz}
図を作るのに便利. http://www.texample.net/tikz/examples/からサンプルを取るのがおすすめ.
beamerで単純な矢印を書きたい場合は以下のように書けばいい:
\begin{tikzpicture}[line width=3pt] \draw[->](0,0)--(0.6,0); \end{tikzpicture}
線の太さはline widthを,線の長さや方向を変えたいときは座標(0,0)--(0.6,0)を変えればいい.
tikzによって色を柔軟に設定できるようになる.
例えば\textcolor{red!50}{テキスト}
とすると\textcolor{red}{テキスト}
より淡い赤色のテキストになる.
以下tikzサンプル :
gnuplot+tikz (\usepackage{gnuplot-lua-tikz}
)
gnuplotにちゃんと数式を埋め込みたいとき,epslatexかgnuplot+tikzを使う必要がある. epsよりpdf出力のほうが画質がいい(気がする)のでここではgnuplot+tikzでの画像作成のためのスクリプト例をのせる:
その他細かいテク
下付き,上付き文字を真下,上へ(\limits
)
状況よって\sum
や\prod
の下付き,上付き文字が横にくることがあるが\limits
を使うことでそれを回避できる.
\documentclass{standalone} \begin{document} $\sum_{i=1}^{C} u_{i,k}=1$\\ $\sum\limits_{i=1}^{C} u_{i,k}=1$ \end{document}
\tabular
のセルを複数行にする
まず\shortstack
が思いつくが,\tabular
を重ねてもきれいに書ける.
\documentclass{standalone} \begin{document} \begin{tabular}{l|l}\hline あ&い\shortstack{x\\yy\\zzz}う \\ \hline あ&い\shortstack[l]{x\\yy\\zzz}う \\ \hline あ&い\shortstack[r]{x\\yy\\zzz}う \\ \hline \end{tabular} \\ \begin{tabular}{l|l}\hline あ&\begin{tabular}{c}x\\yy\\いzzzう\end{tabular} \\ \hline あ&\begin{tabular}{l}x\\yy\\いzzzう\end{tabular} \\ \hline あ&\begin{tabular}{r}x\\yy\\いzzzう\end{tabular} \\ \hline \end{tabular} \end{document}
\tabular
のセルに色をつける(\cellcolor
)
\documentclass[dvipdfmx]{standalone} \usepackage{slashbox} \usepackage{colortbl} \usepackage{tikz} \begin{document} \begin{tabular}{l|l|l|l}\hline \backslashbox{手法}{精度} & A & B & C \\\hline\hline conv.1 & \cellcolor{blue!50} 90\% & \cellcolor{red!50}98\% & \cellcolor{red!50}99\% \\\hline \end{tabular} \end{document}
! Output loop---100 consecutive dead cycles.
と! LaTeX Error: Too many unprocessed floats.
の回避
表を大量に連続して書くと1つ目のエラーが起こので,該当箇所に
\maxdeadcycles=1000
と記述することで回避する.
関連して2つ目のエラーが起った可能性が高いのでプリアンブルに
\usepackage[maxfloats=256]{morefloats}
を記述しておく.