emath BBS

新規発言一覧最新記事過去一覧検索HOME

No.1634  \kasen について
発言者: pmet
発言日: 2004 08/24 19:48
発言元: p7191-ipad11hodogaya.kanagawa.ocn.ne.jp
度々、すいません。 (^^;
pmet といいます。

下線について、もう一つ質問です。

emath.sty に定義されいる \kasen コマンドは機能しています
でしょうか?

%-----  sample1.tex  --------
\documentclass[a4j]{jarticle}
\usepackage{emath}

\begin{document}
\kasen{あああ}
\end{document}
-----------------------------

とすると、以下のようなエラーが出ます。

! Undefined control sequence.
l.5 \kasen
          {あああ}

ちなみに、
emath.sty に定義されている \kasen コマンドの定義部分を以下
のようにするとエラーが出なくなります。

%-----  sample2.tex  --------
\documentclass[a4j]{jarticle}
\usepackage{emath}

\makeatletter
%
%\if0        %%% ←この部分を % で読み込まないようにするとうまくいきます。 
% 下線
%
\def\kasenhutosa{0.4pt}
\def\kasenkankaku{0.5pt}

% \kasen(#1)[#2]<#3>#4
%   #1 : 附加する横幅
%   #2 : 文字と下線との間隔(デフォルト値 \kasenkankaku=0.5pt)
%   #3 : 下線の太さ(デフォルト値 \kasenhutosa=0.4pt)
%   #4 : 文字

\def\kasen{\@ifnextchar({\@kasen}{\@kasen(\z@)}}
\def\@kasen(#1){\@ifnextchar[{\@@kasen(#1)}{\@@kasen(#1)[\kasenkankaku]}}
\def\@@kasen(#1)[#2]{\@ifnextchar<{\@@@kasen(#1)[#2]}{%
  \@@@kasen(#1)[#2]<\kasenhutosa>}}
\def\@@@kasen(#1)[#2]<#3>#4{{
  \ifmmode
    \setbox0=\hbox{\ensuremath{#4}}%
  \else
    \setbox0=\hbox{#4}%
  \fi
  \@tempdima#2\relax
  \advance\@tempdima\dp0
  \@tempdimb\@tempdima
  \advance\@tempdimb#3\relax
  \@tempdimc=#1\relax
  \advance\@tempdimc\wd0\relax
  \makebox[\z@][l]{%
    \vrule width \@tempdimc height -\@tempdima depth \@tempdimb}\relax
  \box0\hspace*{#1}%
}}
%\fi           %%% ←この部分を % で読み込まないようにするとうまくいきます。
\makeatother

\begin{document}
\kasen{あああ}
\end{document}

%-----------------------------------

よろしくお願いします。

▼関連発言

1634:\kasen について [pmet] 08/24 19:48
 └1635:Re:\kasen について [tDB] 08/24 20:04
  └1637:Re[2]:\kasen について [pmet] 08/24 20:39
   └1638:Re[3]:\kasen について [tDB] 08/24 20:41
    └1639:Re[4]:\kasen について [pmet] 08/24 20:54
     └1641:Re[5]:\kasen について [tDB] 08/25 17:30
      └1642:Re[6]:\kasen について [pmet] 08/25 19:49<-last

Pass 保存


CGIROOM