TeXの記憶(1) — 角丸の囲み

本文中の先頭などに使う角丸の囲みマクロをpstricksで作りました。

\kadomaru{例}\hskip5mm
\kadomaru{例1.2}

とすると

img0401

のようになるマクロです。

手順は、囲みの中に入る文字列の幅を測って、

\setbox0=\hbox{#1}\dimen0=\wd0
\advance\dimen0 0.6em

上下に適当な余白を付けたサイズの囲みを作ります。

\psframe[linecolor=black,linewidth=0.2mm,cornersize=absolute,linearc=0.15,
fillstyle=solid,fillcolor=iro2]

囲みを作るマクロ名は\psframeなので、必要なパラメータを設定します。

角丸囲みに必要な値は、
外側の線の太さ:linewidth
外側の線の色:linecolor
内側の塗り方:fillstyle
内側の色:fillcolor
囲みのカドの丸み:linearc

色は印刷用を考えてCMYKにしてみました。シアン20%です。

\definecolor{iro2}{cmyk}{0.2,0,0,0}

fillstyleを「gradient」にするとグラデーションになったります。
cornersizeが「absolute」なのは囲みの幅が変化してもカドの丸みを同じにするため。

その中に文字列を入れます。

\rput[lb](1mm,0mm){#1}

最後に全体の領域を得るために

\begin{pspicture}(0,0)(\dimen0,1.3zh)
...
\end{pspicture}

で囲んで出来上がりです。
ここでは、色の設定は印刷で使うようにCMYKで設定しました。

全体のファイルは次のようになりました。

\documentclass{jsarticle}

\usepackage[dvips]{graphicx}
\usepackage{color}
\usepackage{pstricks}

\makeatletter

\definecolor{iro2}{cmyk}{0.2,0,0,0}
\newcommand{\Kadomaru}[1]{%
  \setbox0=\hbox{#1}\dimen0=\wd0
  \advance\dimen0 0.6em
  \begin{pspicture}(0,0)(\dimen0,1.3zh)
  \psframe[linecolor=black,linewidth=0.2mm,cornersize=absolute,linearc=0.15,
  fillstyle=solid,fillcolor=iro2]
  (0,1.3zh)(\dimen0,-0.2zh)
  \rput[lb](1mm,0mm){#1}
  \end{pspicture}}

\makeatother

\begin{document}

\Kadomaru{例}\hskip5mm
\Kadomaru{例1.2}

\end{document}

コメント