前回、角丸の囲みマクロ「\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) — 角丸の囲みを使った環境 […]