Re: 段落解体ゼミ

名前: 野村
日時: 2001-11-13 17:08:59
IPアドレス: 150.84.42.*

>>3675 ありがとうございました. 説明を読みながら何をしているのか理解してみます. 1.の問題も自分なりに考えたのですが,もういちど \unhbox を使 用したり,\hfil を使うところまでたどり着けませんでした. % \begingroup\def\iffalse{\iftrue\endgroup}\let\fi\fi% この部分も何やら凄そう. 私は,二つの定義を切替える時は今まで,\iftrue,\iffalse をそ の都度書き換えていたのですが,このまま何かの名前で定義すれば, 使用できるのでしょうか. 最初,\@tempboxa を \unbox したものをまた同じ \@tempboxa に 代入すると言うこともわかっていませんでしたが,これで,少しは \lastbox,\unhbox 等が使えるようになっているといいのだけど... 追伸: 以下,3.の問題が生じているコードの全文です. 何か私が勘違いかおかしな事をしていると思うのですが,お時間が あれば,お気づきの点などを教えて頂けると幸いです. \documentclass[a4j]{jarticle} \makeatletter \def\Gradation#1{\ifnum#1>0\relax\hbox{\lower0pt% \hbox{% \vbox to 2mm{\vss% \special{" /y 5.6695 def /c .7 def /x 0 def /dx {\strip@pt#1\space 0 sub 40 div} def 1 1 40 { newpath x 0 moveto \strip@pt#1\space 0 lineto \strip@pt#1\space y lineto x y lineto closepath c setgray fill c .0075 add /c exch def x dx add /x exch def pop} for}}} }\fi} \def\@sect#1#2#3#4#5#6[#7]#8{% \ifnum #2>\c@secnumdepth \let\@svsec\@empty \else \refstepcounter{#1}% \protected@edef\@svsec{\@seccntformat{#1}\relax}% \fi \@tempskipa #5\relax \ifdim \@tempskipa>\z@ \begingroup #6{% \setbox\@tempboxa=\vbox{% \@hangfrom{\hskip #3\relax\@svsec}% \interlinepenalty \@M #8\@@par \setbox\@tempboxa=\lastbox% 最後の行を取り戻す \unskip% 行間グルーも取り除く必要がありましたね \@tempdimb=\wd\@tempboxa% 後でまた使うので保存 \@tempdima=\hsize \advance\@tempdima by -\@tempdimb % \@tempdima はぶら下げ幅、最後に使います % コードの実行回数を抑制するため苦労しています % \linewidth よりも \hsize の方が確実でしょう \setbox\@tempboxa=\hbox{\unhbox\@tempboxa\unskip\unskip}% % 行末のグルーは \parfillskip と \rightskip でしたね % 両方とも取り除きます \advance\@tempdimb by -\wd\@tempboxa % \@tempdimb はグラデーションの長さ \hbox{\kern\@tempdima\box\@tempboxa \Gradation{\@tempdimb}}% % 最後の行を作りなおします }% \unvbox\@tempboxa% 上の全てを出力 }% \endgroup \csname #1mark\endcsname{#7}% \addcontentsline{toc}{#1}{% \ifnum #2>\c@secnumdepth \else \protect\numberline{\csname the#1\endcsname}% \fi #7}% \else \def\@svsechd{% #6{\hskip #3\relax \@svsec #8}% \csname #1mark\endcsname{#7}% \addcontentsline{toc}{#1}{% \ifnum #2>\c@secnumdepth \else \protect\numberline{\csname the#1\endcsname}% \fi #7}}% \fi \@xsect{#5}} \makeatother \begin{document} \section{abc} \section{abc cde fadfa adfadskfjkld lksdjfa kldskf dksfj sdlfkdjf ad} \section{abc cde fadfa adfadskfjkld lksdjfa kldskf dksfj sdlfkdjf sadf dsafdaflkdj} \section{abc cde fadfa adfadskfjkld lksdjfa kldskf dksfj abc cde fadfa adfadskfjkld lksdjfa kldskf dksfj sdlfkdjf sadf dsafd asd} \section{abc cde fadfa adfadskfjkld lksdjfa kldskf dksfj abc cde fadfa adfadskfjkld lksdjfa kldskf dksfj sdlfkdjf sadf dsafd a} \section{abc cde fadfa adfadskfjkld lksdjfa kldskf dksfj abc cde fadfa adfadskfjkld lksdjfa kldskf dksfj abc cde fadfa adfadskfjkld lksdjfa kldskf dksfj abc cde fadfa adfadskfjkld lksdjfa kldskf dksfj abc cde fadfa adfadskfjkld lksdjfa kldskf dksfj abc cde fadfa adfadskfjkld lksdjfa} \end{document}

この書き込みへの返事:

お名前
題名 
メッセージ(タグは <a href="...">...</a> だけ使えます)