発言者: 飯島 徹
発言日: 2015 06/06 23:58
TikZ を用いた案で左側の「練習」と右側の最初の行のベースラインを揃えたい
ものと仮定して作りました.
dviout は TikZ に対応していないので PDF にしてご覧ください.
%------------------------------------------------------
\documentclass[a4j,uplatex,dvipdfmx]{jsarticle}
\usepackage{etex,tikz}
\begin{document}
tikzpicture 環境で「練習」の base と enumerate 環境の base を揃える.
\def\labelenumi{%
\begin{tikzpicture}[baseline=(O.base),yscale=.5]
\fill[cyan,opacity=.25](0,1)rectangle(1,2);
\draw(0,0)grid(1,2);
\node at(.5,.5){\theenumi};
\node(O)at(.5,1.5){練習};%このノードのベースラインを基準にしている
\end{tikzpicture}%
}%
\begin{verbatim}
\def\labelenumi{%
\begin{tikzpicture}[baseline=(O.base),yscale=.5]
\fill[cyan,opacity=.25](0,1)rectangle(1,2);
\draw(0,0)grid(1,2);
\node at(.5,.5){\theenumi};
\node(O)at(.5,1.5){練習};%このノードのベースラインを基準にしている
\end{tikzpicture}%
}%
\end{verbatim}
\def\repeatstrings#1#2{%
\foreach\S in {1,...,#1}{%
#2%
}%
}%
\begin{enumerate}
\item \repeatstrings{90}{ほげ}
\item \repeatstrings{90}{ふが}
\item \repeatstrings{60}{あわわ}
\end{enumerate}
これでは \verb+\labelenumi+ の tikzpicture 環境の深さの分だけ
1行目と2行目が離れてしまうのでちょっと細工をする.
tikzpicture 環境の高さを測って,その高さと同じ箱 \verb+\vbox to\ht0{}+ を用意する.
その中に tikzpicture 環境(\verb+\box0+)を戻す.
ただし,深さ(\verb+\dp0+)の分だけ \verb+\vbox to\ht0{}+ から下にはみ出すので,
エラーが出ないように負の長さも許容する無限大の長さのグルー \verb+\vss+ を
tikzpicture 環境の下に配置する.
\def\labelenumi{%
\setbox0=\hbox{%
\begin{tikzpicture}[baseline=(O.base),yscale=.5]
\fill[yellow,opacity=.5](0,1)rectangle(1,2);
\draw(0,0)grid(1,2);
\node at(.5,.5){\theenumi};
\node(O)at(.5,1.5){練習};
\end{tikzpicture}}%
\vbox to\ht0{\box0\vss}%
}%
\begin{verbatim}
\def\labelenumi{%
\setbox0=\hbox{%
\begin{tikzpicture}[baseline=(O.base),yscale=.5]
\fill[yellow,opacity=.5](0,1)rectangle(1,2);
\draw(0,0)grid(1,2);
\node at(.5,.5){\theenumi};
\node(O)at(.5,1.5){練習};
\end{tikzpicture}}%
\vbox to\ht0{\box0\vss}%
}%
\end{verbatim}
\begin{enumerate}
\setcounter{enumi}{3}%
\item \repeatstrings{90}{ほげ}
\item \repeatstrings{90}{ふが}
\item \repeatstrings{60}{あわわ}
\end{enumerate}
\verb+\foreach+ コマンドは emath スタイル群と tikz でバッティングするので
併用する際は各自工夫をすることになる.
\end{document}
▼関連発言
│
└◆1295:emath BBS #12721 の件 [飯島 徹] 06/06 23:58
└◆1296:Re:emath BBS #12721 の件 [飯島 徹] 06/07 00:42
└◆1297:Re[2]:emath BBS #12721 の件 [飯島 徹] 06/07 05:27<-last