名前: ZR 日時: 2007-10-30 17:48:24 IPアドレス: 124.102.69.*
>>50008 LaTeX において斜線を描く方法について、一般的だと思われるものを以下に まとめておきます。 なお、各機能の詳細については、LaTeX2e 標準のものについては LaTeX2e の 参考書を、パッケージ提供のものについては各パッケージの説明書等を参照 してください。 (1) picture 環境 (LaTeX2e 標準) picture 環境は LaTeX2e 標準の機能で、現在位置を基点として座標を導入し 図を描画するための環境。 % 長さの単位は \unitlength; 既定値は 1pt, つまり "60" は 60pt \begin{picture}(60,40) % 現在位置を原点とし図を描く; 大きさは 60×40 \put(56,6){\circle{20}} % (56,6) を中心に直径 20 の円を描く \end{picture} % 「図の大きさ」をはみ出す部分もそのまま描かれる 以下で picture 環境で用いる(斜めの)線分を描くコマンドを挙げる。 (1a) \line コマンド (LaTeX2e 標準) 方向と長さ(*)を指定する。 * 方向が垂直なら垂直方向、その他は水平方向の長さ。 \begin{picture}(60,40) \put(10,40){\line(1,-1){40}} % 方向(1,-1) 水平長さ 40 \end{picture} 方向指定で使える数値は -6〜6 の整数に限られる。eepic または pict2e 使用 時はこの制限はなくなる。 (1b) \path コマンド (eepic パッケージ) 始点と終点を指定する。 \begin{picture}(60,40) \path(10,40)(50,0) %\path(10,40)(50,0)(70,20)(30,40) % 折れ線 \end{picture} # eepic は epic と一緒に読み込む必要がある。 # \usepackage{epic,eepic} # また dviware が tpic 拡張に対応している必要がある。dvipdfm(x), dvips, # dviout は OK。 (1c) \qbezier コマンド (pict2e パッケージ) \qbezier(A)(B)(C) は A, C を端点、B を制御点とする 2 次ベジエ曲線を描く。 ここで B を AC 上の点とすると線分になる。 \begin{picture}(60,40) \qbezier(10,40)(30,20)(50,0) \end{picture} \qbezier は pict2e 無しでも使えるが、その場合は曲線(斜線)を多数の点を 並べることで表すので、拡大するとギザギザが目立つ。 # pict2e 読み込み時には用いる dviware を指定する。(graphicx と同様) # \usepackage[dvipdfm]{pict2e} # dvipdfm, dvips, xdvi は OK。dvipdfmx を使う時は dvipdfm と指定する。 # >>49983 の例で用いられている \senbun マクロも \qbezier を用いています # (両端点の中点を入れている)。だから、pict2e を読み込めばギザギザがなく # なります。また \senbun を (1b) の \path コマンドに置き換えても同じ結果 # になるはずです。ただし、pict2e と eepic はどちらか一方しか使えないことに # 注意してください。 (2) 横向きの線分を回転させる (graphicx パッケージ) \rule 等で横向きの線分を描いて、それを graphicx の \rotatebox コマンドで 回転させる。 A \raisebox{.375em}{\rotatebox[origin=c]{45}{\rule{1.4em}{.4pt}}} B # >>24684 が用いているのもこの方法です。 # なお、正しく出力されないのは、graphicx を読み込む時に正しい dviware を # 指定していないからでしょう(無指定ならシステムの既定値が使われます)。 (3) PSTricks を用いる (PSTricks パッケージ) 私自身がよく知らないので、説明は省略します。 (4) tpic 命令を \special で直書きする (tpic 対応 dviware 使用時) (5) PostScript 命令を \special で直書きする (dvips 使用時) (6) PDF 命令を \special で直書きする (dvipdfm(x) 使用時) 何もそんな面倒なことしなくても… (^_^) (7) その他諸々 他にも色々考えられるでしょう。
この書き込みへの返事: