LoginSignup
2
4

More than 1 year has passed since last update.

LaTeXで全角記号を一括で字詰め(疑似カーニング)する方法

Posted at

気になること

日本語論文では、かっこ・コロン等の記号(約物)は全角記号を使います。

ここでは(かっこ)について考えます。

全角かっこを使うとなんだか間延びして見えます。
一方で半角かっこを使うと、ベースラインが下にあるのであまり囲めている感じがしません。

image.png

記号を字詰めして、スッキリ見えるようにしましょう。

newunicodecharを使う

preamble (\begin{document}より前の部分) に以下のように記述します。

preamble部分
\usepackage{newunicodechar}
\newunicodechar{}{\hspace{-5pt}} % 全角括弧の空きを詰め、間延び感をなくす
\newunicodechar{}{\hspace{-5pt}}

と書きます。
newunicodecharでは、

\newunicodechar{元の文字}{置換後の文字}

で文字が自動置換されるパッケージです。
\hspace{-5pt}によって、負のスペース、つまり字詰めを実現できます。

つまり、左全角かっこの前と、右全角かっこの後が字詰めされるというわけです。

これを実行すれば、以下のようになります。

image.png
前後の空きが小さくなり、バランスが良くなりました!!

他にも置換するといいもの

同様に簡単に置換できるものがあります。

句読点を置換する

本体ファイルでは「。、」の句読点を使用し、
コンパイルしたPDFでは「.,」と全角ピリオド・全角カンマを使いたいときがあります。
そんなときは、

\usepackage{newunicodechar}
\newunicodechar{}{}
\newunicodechar{}{}

とプリアンブルに記入すれば、自動で置換されます。

\documentclass[11pt]{jlreq}
\usepackage{newunicodechar}
\newunicodechar{}{\hspace{-5pt}} % 全角括弧の空きを詰め、間延び感をなくす
\newunicodechar{}{\hspace{-5pt}}
\newunicodechar{}{}
\newunicodechar{}{}
\begin{document}
全角かっこは(こんな感じ)になります。

半角かっこは(こんな感じ)になります。

句点を「。」で表し、読点を「、」で表します。
\end{document}

句読点を「。、」のままファイルに書いています。

これをコンパイルすると、
image.png

このように、句読点が変換されていることがわかります。

句読点が混在しなくなるので、非常に便利ですね!

非常に汎用性が高い方法なので、ぜひ活用してみてください!

2
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
4