発言者: 田中徹
発言日: 2006 07/26 03:45
発言元: 219.98.246.126
> 下のようなソース1では上手く塗りつぶしができたのですが,
そう見えているだけですね。(目立たないだけで、左端の部分が塗られていないようです)
後のソースでは斜線角を小さくしてみました。
> ソース2では(エラーは発生していませんが)うまく塗りつぶしができていないようです。
> 何が原因か私には分かりませんので,教えていただけたらと思います。
斜線 をキーワードに最近の記事を検索すると (現在) 8個ヒットします。
その中で No.4928 に対して No.4929 で
>> emath 講座
>>
>> 1'. 塗りつぶし
>> A 斜線塗り
>> (1) y=f(x)とy=g(x)で囲まれた領域
>>
>> で下へスクロールすると
>>
>> 発展2) 領域が凹の場合
>>
>> に理由と対処法が記されていますね。
と回答させていただきました。
sample1.tex 折れ線で囲まれた図形の斜線塗り
sample2.tex 半円で構成される図形の斜線塗り
ということでいかがでしょう
---- sample1.tex ----
\documentclass{jarticle}
\usepackage{emathPh}
\makeatletter
\def\reverse#1#2{%
\edef\@Body{#1}%
\def#2{}%
\expandafter\@reverse\@Body\@empty\@nil#2
}%
\def\@reverse(#1)#2\@nil#3{%
\edef#3{(#1)#3}%
\ifx#2\@empty\relax
\else
\def\@Next{\@reverse#2\@nil#3}%
\expandafter\@Next
\fi
}%
\makeatother
\begin{document}
%%%1つめ。上手く塗りつぶせる
\begin{zahyou*}[ul=5mm,haiti=t](0,18)(-9,9)
\KinziEnko{(9,0)}{9}{0}{180}\oresenA
\KinziEnko{(4.5,0)}{4.5}{0}{%
180}\oresenB
\reverse\oresenB\oresenB
\KinziEnko{(13.5,0)}{4.5}{180}{%
360}\oresenC
\edef\oresen{\oresenA\oresenB\oresenC}
\Nuritubusi*[10]\oresen% 斜線角を変更しました
\Enko{(9,0)}{9}{0}{180}
\Enko{(4.5,0)}{4.5}{0}{180}
\Enko{(13.5,0)}{4.5}{180}{360}
\En{(2,2)}{3}
\end{zahyou*}
\let\ifOrigin\iftrue % コメントアウトを入れ替えていただくと
%\let\ifOrigin\iffalse % 違う図も出現します。
\begin{zahyou*}[ul=5mm,haiti=t](0,18)(-9,9)
\ifOrigin
\def\Ci{(9,0)}
\def\Cii{(4.5,0)}
\def\Ciii{(13.5,0)}
\def\Ri{9}
\def\Rii{4.5}
\def\Riii{4.5}
\else
\def\Ci{(9,0)}
\def\Cii{(3,0)}
\def\Ciii{(12,0)}
\def\Ri{9}
\def\Rii{3}
\def\Riii{6}
\fi
\KinziEnko\Ci\Ri{180}{360}\oresenA
\KinziEnko\Cii\Rii{180}{360}\oresenB
\KinziEnko\Ciii\Riii{180}{360}\oresenC
\reverse\oresenA\oresenA% Thanks 飯島さん
\edef\Eraseoresen{}
\edefappend\Eraseoresen{\oresenB\oresenC\oresenA}
\En**\Ci\Ri
\Nuritubusi[0]\Eraseoresen
\Enko\Ci\Ri{0}{180}
\Enko\Cii\Rii{180}{360}
\Enko\Ciii\Riii{180}{360}
\end{zahyou*}
\end{document}
---- sample2.tex ----
\documentclass{jarticle}
\usepackage{emathPh}
\let\ifOrigin\iftrue % コメントアウトを入れ替えていただくと
%\let\ifOrigin\iffalse % 違う図も出現します。
\begin{document}
\begin{zahyou*}[ul=5mm,haiti=t](0,18)(-9,9)
\ifOrigin
\def\Ci{(9,0)}
\def\Cii{(4.5,0)}
\def\Ciii{(13.5,0)}
\def\Ri{9}
\def\Rii{4.5}
\def\Riii{4.5}
\else
\def\Ci{(9,0)}
\def\Cii{(3,0)}
\def\Ciii{(12,0)}
\def\Ri{9}
\def\Rii{3}
\def\Riii{6}
\fi
\Put\Ci{\ougigata**<syanurisiteiten={(0,0)}>\Ri{0}{180}}
\Put\Cii{\ougigata**<syanurisiteiten={(0,0)}>\Rii{180}{360}}
\Put\Ciii{\ougigata**<syanurisiteiten={(0,0)}>\Riii{180}{360}}
\Enko\Ci\Ri{0}{180}
\Enko\Cii\Rii{180}{360}
\Enko\Ciii\Riii{180}{360}
\end{zahyou*}
\end{document}
▼関連発言
│
└◆5005:\KinziEnkoで塗りつぶし [たけ] 07/26 01:57
└◆5006:Re:\KinziEnkoで塗りつぶし [田中徹] 07/26 03:45
└◆5010:Re[2]:\KinziEnkoで塗りつぶし [たけ] 07/26 21:00<-last