前回、角丸の囲みマクロ「\Kadomaru」をpstricksで作ったので、これを利用した環境を作ってみることにします。
以下のような「例」の環境にしてみました。
上の画像の2番目は「例1.2」の後に太字の見出しが入っています。
このタイプの見出しはあったり、なかったりすることがあるので、
オプション引数として使えるようにしてみました。
使い方は
%オプション引数のないとき \begin{rei} ... %オプション引数のあるとき \begin{rei}[これは見出し] ...
で切り替えるようにします。
オプション引き数はLaTeXの環境コマンドの仕組みを利用して、引き数があるときはそのまま表示。ないときはデフォルトを「\empty」ということにして判断しています。
\newenvironment{rei}[1][\empty]{... ... \ifx#1\empty\else\space{\bf #1}\fi
「例」の後の1.1の数字は「章番号.順番」を自動で出しましょう。(章が必要なのでドキュメントクラス名はjsbookとしました。)章番号を自動的に出すためにカウンタも設定しています。
\newcounter{reicnt}[chapter]
環境の最後に「□」を置いてみました。これはAmSLaTeXの「amsthm」パッケージを使えば「\qed」で表示されますが、簡単なので「\QED」を作っちゃいましょう。シアン色60%の四角にします。
\newcommand{\QED}{\hfill{\textcolor{iro6}{\rule[-.3mm]{3mm}{3mm}}}}
これをrei環境の終わりに入れて自動的に表示させるようにしました。
以上全部をまとめたリストは以下のようになります。
\documentclass{jsbook} \usepackage[dvips]{graphicx} \usepackage{color} \usepackage{pstricks} \makeatletter \definecolor{iro2}{cmyk}{0.2,0,0,0} \definecolor{iro6}{cmyk}{0.6,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}} \newcommand{\QED}{\hfill{\textcolor{iro6}{\rule[-.3mm]{3mm}{3mm}}}} \newcounter{reicnt}[chapter] \newenvironment{rei}[1][\empty]{\par\noindent \stepcounter{reicnt}% \Kadomaru{\bf 例\thechapter.\arabic{reicnt}}% \ifx#1\empty\else\space{\bf #1}\fi \hskip.9zw} {\hfill\QED} \makeatother \begin{document} %\chapterコマンドの代わり \setcounter{chapter}{1} \begin{rei} □□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□ □□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□ \end{rei} \begin{rei}[見出し] □□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□ □□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□ \end{rei} \end{document}
コメント
[…] ← TeXの記憶(2) — 角丸の囲みを使った環境 […]