Otoya8bitのProgramming Game Music

にわかプログラマーの私がプログラミング,ゲーム,音楽などについてダラダラ語る備忘録です

LaTeXの文章をハイライト

原稿を担当の教授等に添削をお願いすると,ハイライトやコメントはAdobe のソフト

あたりを用いてつけることが多いだろう.そして修正したものを再度添削をお願いするときに,どこが変更されたのかをLaTeXソースコード上で記述出来ないかと考えた.

http://hirotak.exblog.jp/8992780/ ここのサイトでも紹介している通り,以下の2つのパッケージを入れる事でハイライトが出来るようだ.

 

\usepackage{color}

\usepackage{soul}

 

color.styはデフォルトであるが,soul.styはないので以下のサイトから拾ってくるのが良いだろう.

http://www.ctan.org/tex-archive/macros/latex/contrib/soul

 

color.styは色を定義したり,カラー付けできるstyleファイルらしく,実際のハイライト処理が出来るようになるのはsoul.sty のようだ.ハイライトするときは以下のコマンドを用いればいい.

 

\hl{ここにハイライトしたい文章}

 

HighLight だから\hl とは素人でもわかるコマンド名なので個人的に助かった.

しかし,この\hl{}コマンドだが英文などはいいが,日本語をハイライトしようとすると,

文字コード的にエラーが起こるようである.そこで,ボックスコマンドを用いて日本語文章を囲ってあげるとうまくいく. 

具体的には

 

\newcommand{\HL}[1]{\hl{\mbox{#1}}}

 

のようにプリアンブルでコマンドを新たに作ればよい.ただしこのボックスコマンドの\mbox は改行出来ないので,自動改行される文章全体をハイライトするには少し手間がかかりそうだ.(どうにかして自動改行に対応させたい)

 

具体的には以下のようになる.

 =========================================================

\documentclass[twocolumn]{jarticle}
\usepackage{color}
\usepackage{soul}

%ここで日本語用ハイライトコマンド\HL{} を生成
\newcommand{\HL}[1]{\hl{\mbox{#1}}}

\begin{document}

\hl{Highlight here.}


日本語だとボックスで囲えば\HL{ハイライト}が可能.

ただし\HL{1行が長いと自動改行せず,このように長い文章になってしまうので注意}.

やり方としては,コンパイル後の結果を見つつ,\HL{手}
\HL{動で改行位置を確認しながら,改行前と後をそれ}\\
\HL{ぞれハイライト}

\newpage

ここは2段組み右サイド\\
2行目\\
このようにかぶる
4行目\\
5行目\\
6行目\\

\end{document}

 =========================================================

実行結果は以下のようになる

f:id:Otoya8bit:20131128152342p:plain