.

雑記

メモ

環境: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.ttfGenRyuMinJP-Regular.ttf/usr/local/share/texmf/fonts/truetype/public/へ,

mapファイル:https://github.com/ntyaan/setup_ubuntu18.04/tree/master/genthingothic

をダウンロードし ptex-genthingothic.mapuptex-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

となり,フォントが変更されたことが確認できる.ただこれが正規のやり方なのか不明なので注意.

修論テンプレート

学部の頃は研究室の指定に従って論文を書いたが,修論ではページ余白くらいしか指定がなく,事務から提示される論文例の画像を参考に概要や表紙,本文を作る必要がある.なぜ公式でサンプルファイルを作らないのか… 今回作成したテンプレートをここに載せる.

f:id:ntyaan:20190217140132p:plain:w200

f:id:ntyaan:20190217140335p:plain:w200

f:id:ntyaan:20190217140518p:plain:w200

パッケージ

\usepackage{slashbox}

基本的には\backslashbox{行}{列}のように使うが文字数などによってtabular環境とサイズが合わなくなることがあるため場合によっては{\small \backslashbox{行}{列}}や空白文字で調整する必要がある. 以下リンクからDLできるslashbox.styをtexソースと同じディレクトリに入れないとコンパイルできない.

https://ctan.org/tex-archive/macros/latex/contrib/slashbox

\usepackage{diagbox}

slashboxの拡張版. 表のセルが何を示すのか表示したいとき\diagbox{行}{Hoge}{列}のように使う.

https://ctan.org/pkg/diagbox

\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サンプル :

f:id:ntyaan:20190217123923p:plain:w200

f:id:ntyaan:20190217121617p:plain:w200

f:id:ntyaan:20190217124820p:plain:w200

f:id:ntyaan:20190217124622p:plain:w200

gnuplot+tikz (\usepackage{gnuplot-lua-tikz})

gnuplotにちゃんと数式を埋め込みたいとき,epslatexgnuplot+tikzを使う必要がある. epsよりpdf出力のほうが画質がいい(気がする)のでここではgnuplot+tikzでの画像作成のためのスクリプト例をのせる:

f:id:ntyaan:20190217162452p:plain:w200

f:id:ntyaan:20190217162546p:plain:w200

f:id:ntyaan:20190217162620p:plain:w200

f:id:ntyaan:20190217162652p:plain:w200

f:id:ntyaan:20190217162724p:plain:w200

その他細かいテク

下付き,上付き文字を真下,上へ(\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}

f:id:ntyaan:20190217171941p:plain:w200

\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}

f:id:ntyaan:20190217171330p:plain:w200

\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}

f:id:ntyaan:20190217172952p:plain:w200

! Output loop---100 consecutive dead cycles.! LaTeX Error: Too many unprocessed floats.の回避

表を大量に連続して書くと1つ目のエラーが起こので,該当箇所に \maxdeadcycles=1000と記述することで回避する.

関連して2つ目のエラーが起った可能性が高いのでプリアンブルに \usepackage[maxfloats=256]{morefloats}を記述しておく.