Re: eepic.sty と okumacro の相性

名前: 大熊 一弘
日時: 2001-10-01 16:02:18
IPアドレス: 61.124.182.*

>>2536 >さて、okumacro.sty に収録の \keytop マクロを愛用させてもらっていますが、 >eepic.sty を組み込むと四隅が細くなり、右の縦線がずれてしまいます。 >okumacro のみならず、ascmac.sty の itembox 環境なども線がずれてとても >見苦しくなることから eepic.sty の問題かと思われますが、何か回避策は >あるでしょうか。 原因は,eepic.sty で \oval の定義の一部が書き換えられていることです。 対応法の一つは,この定義を局部的に LaTeX 本来の \oval に戻す ということです。 この方法は私が考えたものではなく, 松田 一朗 さんが,nifty:FSNOTE/MES13/05096, 05105 で発言されたものです。 私はこの手法を用いて ascmac.sty のなかの itembox環境などを処理させて頂いています。 松田 一朗 さんに感謝 !!! 以下,\keytop に対する修正を例文でご覧頂きましょう。 \documentclass{jarticle} \usepackage{okumacro} \usepackage{epic,eepic} \makeatletter %\@ifundefined{@eepictcnt}{}{% \def\ltxoval(#1,#2){\@ifnextchar[{\ltx@oval(#1,#2)}{\ltx@oval(#1,#2)[]}}% \def\ltx@ovhorz{\hb@xt@\@ovxx{\kern \@ovro \if@ovr \else \kern \@ovdx \fi \leaders \hrule \@height \@wholewidth \hfil \if@ovl \else \kern \@ovdx \fi \kern \@ovri}} \def\ltx@oval(#1,#2)[#3]{\begingroup\boxmaxdepth \maxdimen \@ovttrue \@ovbtrue \@ovltrue \@ovrtrue \@tfor\reserved@a :=#3\do{\csname @ov\reserved@a false\endcsname}% \@ovxx #1\unitlength \@ovyy #2\unitlength \@tempdimb \ifdim \@ovyy >\@ovxx \@ovxx\else \@ovyy \fi \advance \@tempdimb -2\p@ \@getcirc \@tempdimb \@ovro \ht\@tempboxa \@ovri \dp\@tempboxa \@ovdx\@ovxx \advance\@ovdx -\@tempdima \divide\@ovdx \tw@ \@ovdy\@ovyy \advance\@ovdy -\@tempdima \divide\@ovdy \tw@ \@circlefnt \setbox\@tempboxa \hbox{\if@ovr \@ovvert32\kern -\@tempdima \fi \if@ovl \kern \@ovxx \@ovvert01\kern -\@tempdima \kern -\@ovxx \fi \if@ovt \ltx@ovhorz \kern -\@ovxx \fi \if@ovb \raise \@ovyy \ltx@ovhorz \fi}\advance\@ovdx\@ovro \advance\@ovdy\@ovro \ht\@tempboxa\z@ \dp\@tempboxa\z@ \@put{-\@ovdx}{-\@ovdy}{\box\@tempboxa}% \endgroup}% \let\okumurakeytop\keytop \renewcommand\keytop[1]{{% \def\oval{\ltxoval}\def\@oval{\ltx@oval}\okumurakeytop{#1}}}% %} \makeatother \begin{document} \textsf{eepic.sty}で\verb/\@oval/が再定義されたため,\verb/\oval/を 使用したコマンドは影響を受けます。\textsf{okumacro.sty}における \verb/\keytop/もその一つです。 \okumurakeytop{A} \noindent 枠がずれていますね。 対応の一つは,\LaTeX 本来の\verb/\oval/ の定義を再現して\verb/\keytop/ ではそちらを用いるように修正することです。 \keytop{A} \noindent 枠のずれは直ったでしょうか。 \end{document}

この書き込みへの返事:

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