Re: 木構造もどきなのですが..

名前: しっぽ愛好家
日時: 2003-09-06 17:38:09
IPアドレス: 219.108.37.*

>>21570 ># box 内なので「\vfill 文字」で、右寄せは駄目でしたが 実は,あの定義では,\hfill(ですね)などは無視されてしまいます. 先の定義にもう少し手を加えると,次のようにするところでしょうか. \documentclass{jarticle} \makeatletter \newbox\cls@box \newbox\cls@boxi \def\classify#1{% \leavevmode\hbox\bgroup\vtop\bgroup \offinterlineskip \gdef\cls@dp{0pt}% \let\@classify@cr@hshift\@empty \@classify@make@item{#1}% \dimen@\dp\z@ \advance\dimen@.4zh \hbox{・\box\z@}% \vtop\bgroup \vskip-\dimen@ \hbox\bgroup \hskip\cls@hshift \vrule \vtop\bgroup \vskip\dimen@ \setbox\cls@box\hbox{}% \ignorespaces} \def\@classify@cr{\unskip\egroup\@testopt\@@classify@cr\z@} \def\@@classify@cr[#1]{% \vskip#1\relax \hbox\bgroup \vrule\@height\normalbaselineskip\@width\z@\@depth\z@ \@classify@cr@hshift \ignorespaces} \def\@classify@make@item#1{% \setbox\tw@\vtop{% \let\\\@classify@cr \hbox\bgroup \vrule\@height\normalbaselineskip\@width\z@\@depth\z@ #1% \egroup}% \setbox4\vbox{% \unvcopy\tw@ \dimen@\z@ \@classify@make@item@checkwidth \global\setbox\@ne\vbox{}% \unvbox\tw@ \@classify@make@item@reconstructbox}% \setbox\z@\vtop{\unvbox\@ne}} \def\@classify@make@item@checkwidth{% \unskip\unskip \unpenalty \setbox\z@\lastbox \ifvoid\z@\else \ifdim\wd\z@>\dimen@ \dimen@\wd\z@ \fi \expandafter\@classify@make@item@checkwidth \fi} \def\@classify@make@item@reconstructbox{% \skip@\lastskip \unskip \advance\skip@\lastskip \unskip \unpenalty \setbox\z@\lastbox \ifvoid\z@\else \global\setbox\@ne\vbox{% \hbox to\dimen@{\unhbox\z@\hfil}% \vskip\skip@ \unvbox\@ne}% \expandafter\@classify@make@item@reconstructbox \fi} \def\endclassify{% \dp\cls@box-\cls@vshift\box\cls@box \egroup\egroup\egroup \hrule\@depth\cls@dp\@height\z@\@width\z@ \egroup\egroup\ignorespaces} \def\class#1{% \box\cls@box \setbox4\hbox{\cls@rule}% \@tempdima\wd4\relax \def\@classify@cr@hshift{\hskip\@tempdima}% \@classify@make@item{% \box4\relax #1}% \setbox\cls@box\box\z@ \@tempdima\dp\cls@box\advance\@tempdima\cls@vshift \xdef\cls@dp{\the\@tempdima}% \ignorespaces} \def\classf#1{\class{\fbox{#1}}} \def\cls@rule{\rule[\cls@vshift]{1cm}{0.4pt}} % Parameters for Horizontal Lines \def\cls@vshift{0.5ex} \def\cls@hshift{.476zw} \makeatother \begin{document} \begin{classify}{ねむい or お腹がすいた\\ \hfill さて、どちら?} \class{ねむい\\[-2mm]%%% \\ のオプションをサポート \begin{classify}{それは寝不足のため?} \class{そう!!} %%% ``そう!!'' の前に \hfill を入れても,(別の項目である) %%% ``それは寝不足のため?'' の右端のようなところには揃いませんが, %%% それは仕方ありません.そのような場合には \hspace{<具体的な寸法>} を %%% 用いてください. \end{classify}} \class{お腹がすいた\\ \begin{classify}{なぜ食べないの?} \class{面倒だから\\ なら、あきらめましょう} \class{お金が無いから\\[5mm]%%% \\ のオプションをサポート じゃ、たかりましょう} \end{classify}} \end{classify} \end{document}

この書き込みへの返事:

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