お世話になります。
今,TeXのマクロを勉強していまして,以下のようなものを作ってみました。
やりたいことは,長さのカウンタを1ptずつ増やしながらruleで階段状の塗りつぶした四角形を描くことです。(実用性はありません。あくまでも勉強用です。)
しかし,うまく動かず,2つの疑問点が生じました。疑問点は下の方に書きます。
まず,作成したマクロを示します。
プリアンブル部で
\makeatletter\def\foo#1{%\@tempdima=\z@\loop\advance\@tempdima 1pt\rule{1zw}{\@tempdima}%\ifdim\@tempdima<#1\relax\repeat}\makeatother
としておいて,本文中で
「\foo{1zh}」
とすると,
「....(空白,幅は確保されているっぽい)...」
となってしまい,マクロが有効に機能していません。
疑問点は以下のとおりです。
(疑問点1)塗りつぶした四角形が表示されず,空白となってしまいます。
(疑問点2)\rule部分の挙動を確認しようとして,\fboxを使って確認しようとしました。すると,無限ループっぽい状態になり,「! TeX capacity exceeded, sorry [main memory size=5000000]」で落ちます。具体的には\ruleの部分を「\fbox{\rule{1zw}{\@tempdima}}」と変更すると,うまくいきません。
たぶん,勘違いなどがあるために動かないと思うのですが,ご教示いただけますと幸いです。