physpolyglot

主にPC関連の自分用メモのうち、役立ちそうなものを共有します。

図表のキャプション内で\citeの引用順がおかしくなるのを回避する

論文冒頭に図目次・表目次を出力し、さらに引用の番号を引用順につける設定にしている場合、 図表のキャプション内で何も考えずに引用してしまうと、 目次内で引用されたことになって引用順がおかしくなってしまうという問題がある。

\begin{figure}[tp]
  \centering
  \includegraphics[width=\textwidth]{fig/hoge.pdf}
  \caption{This is a figure~\cite{hoge}.} \label{fig:hoge} % outputs wrong order
\end{figure}

こうすると、どこに図があるかに関わらず、 論文冒頭の図目次で最初に引用をした扱いになり、不自然に若い番号がついてしまう。

この問題を回避するためには、\captionのオプションを用いる。 オプション内に\citeを記述しなければ図目次には\citeは現れないため、 引用順カウントがおかしくなることはない。

\begin{figure}[tp]
  \centering
  \includegraphics[width=\textwidth]{fig/hoge.pdf}
  \caption[This is a figure.]{This is a figure~\cite{hoge}.} \label{fig:hoge} % corrected
\end{figure}

CMakeでprefixを変える

root権限を持っていないマシンにいろいろと自分が入れたいものを入れまくっていて困ったのでメモ。 yaml-cppを入れようとしたが、CMakeを使っていて./configureの出番がない。 ./configureであれば

./configure --prefix=$HOME/local

とでもすれば良いのだが……。ということでCMakeでprefixを変えたい。

cmake -DCMAKE_INSTALL_PREFIX=$HOME/local

とすればよい。

tmuxでウィンドウのナンバリングを詰める

ターミナルマルチプレクサとしてtmuxを使っている。 不満は特にないのだけど、なんとなくウィンドウを消したときに番号に空きができてしまうのが気になった(潔癖症)

そんな人にはこのコマンド。

move-window -r

もしくは、.tmux.confに以下を追加すれば自動でウィンドウのナンバリングを詰めてくれる。

set-option -g renumber-windows on

Graphvizで数式を使う(dot2tex)

フローチャートを書きたいときにGraphvizを使っている。

Graphviz | Graphviz - Graph Visualization Software

しかしGraphviz標準ではラベルに数式を使うことができない。 とはいえやはり便利なツールがあって、

dot2tex - A Graphviz to LaTeX converter — dot2tex 2.9.0 documentation

これを使えばラベルにTeXの記法で数式等を入れられるようになる。

インストールは下のガイドの通り。

1. Installation guide — dot2tex 2.9.0 documentation

自分のマシンには既にpipが入っているので、

pip install dot2tex

とするだけで簡単にインストールして使える状態になった。

現在は試しているところ。 使い方については気が向いたら何か書くことにする。

TeXで数式番号を任意に指定する

TeXの数式番号の処理は自動でやってくれるので便利なのだが、 前に使った式を再利用したいなど、 数式番号を手動で付けたいことがある。

\setcounterを使ってもできるが正直めんどい。

そんなときは\tagを使えばよい。

\begin{equation}
f(x) = ax^2 + bx + c \tag{1.2.3}
\end{equation}

equation環境だけではなく、align環境などでも使える。 {}の中身は番号である必要はなく、textでもよい。