8ttyan’s blog

コンピュータ関係の小ネタ

LaTeXでlabelを自動判別してrefを簡単にする方法

\usepackage{hyperref}して,\ref{hoge}の代わりに\autoref{hoge}を使うと,labelが式なのか,図なのか,sectionなのかなどを自動的に判別して図1(1)式みたいに自動的に図や式といった文字を出力してくれる. ただし,defaultでは日本語に対応していないようなので,プリアンブルに以下のように記述しておくと良い.

\def\equationautorefname~#1\null{\textrm{~(#1)式\;}\null}
\def\figureautorefname~#1\null{ 図~#1\null}
\def\tableautorefname~#1\null{ 表~#1\null}
\def\sectionautorefname~#1\null{第~#1\null}
\def\subsectionautorefname~#1\null{~#1\null}
\def\subsubsectionautorefname~#1\null{~#1\null}
\def\paragraphautorefname~#1\null{第~#1パラグラフ\null}
\def\subparagraphautorefname~#1\null{第~#1小パラグラフ\null}
\def\pageautorefname~#1\null{~#1ページ \null}
\def\appendixautorefname~#1\null{~#1 \null}