破線または点線での楕円の書き方

破線または点線での楕円の書き方

- 坂本 の投稿
返信数: 19
円柱の見取り図を書くために、破線または点線での楕円を書きたいのです。
楕円の 1/4 をベジエ曲線で書いても点の間隔によりが出てしまいます。
何か方法はないものでしょうか。
坂本 への返信

Re: 破線または点線での楕円の書き方

- 和田 勇 の投稿
作図ようのパッケージは何を使われていますか?
作図した際のコードを提示された方が良いと思います。
以下のを参考にして示してくださると回答案が出てくると思います

  \documentstyle{使用クラス}
  \usepackage{作図にひいつようなスタイルファイル}

  \begin{document}
  作図のためのコード
  \end{document}

なお、最近流行の tikz の例としては以下のようなものもあります。
https://tex.stackexchange.com/questions/393247/how-to-draw-right-arc-of-ellipse-with-tikz
和田 勇 への返信

Re: 破線または点線での楕円の書き方

- 坂本 の投稿

和田さん、有り難うございます。

私が使っているパッケージは次の通りです。

¥usepackage{ascmac,amsmath,array,amssymb,curves,eepic,epic,fancybox,graphics,graphicx,amsfonts,

amssymb,latexsym} ¥usepackage[deluxe]{otf}

これに、tikz をプラスすればいいのでしょうか。

勿論、ご指示のサイトは見ましたが、英語で書いてあり

よく分からないので、ご迷惑かけます。

坂本 への返信

Re: 破線または点線での楕円の書き方

- 岩熊 哲夫 の投稿
拙作でよろしければ・・・ソースではepic,eepicを読み込んでおられるので,例えば

本文が
\documentclass{jarticle}
\usepackage{epic,eepic}
\begin{document}

\input{cylind.tex}

\end{document}

で,このcylind.texが以下のようであれば,添付のような図(やっつけ仕事なので線が接続してませんが)は描けます。斜めの楕円ってやつです。ソフトはwin10なら動くqfigというものです。たいしたことはできませんが,最近のを
https://hc2.seikyou.ne.jp/home/Tetsuo.Iwakuma/
に置いてあります。

なお,斜めの楕円はなかなかきれいには描けません。もし,これでよろしければ,使い方などはあとでお教えします。

% Output of qfig.bas for LaTeX with eepic + eepicsup styles [Visual BASIC 2010]
% at 17:18:18 on 2020-03-02. [Qfig version 3.4.1]
% \hspace{65.5mm}
% \vspace{57.25mm}
\unitlength=.25mm
\begin{picture}(262,227)(270,-4)
\typeout{\space\space\space eepic-ture exported by 'qfig' in [Visual BASIC 2010] version.}
\thinlines
% object # 0 (curve)
\path(282.433,52.403)(279.894,49.238)(277.702,46.149)(275.858,43.135)(274.361,40.197)
(273.212,37.333)(272.411,34.546)(271.956,31.833)(271.85,29.195)(272.091,26.633)(272.679,24.147)(274.274,21.189)(276.069,18.428)(278.066,15.863)(280.264,13.495)
(282.663,11.324)(285.263,9.35)(288.065,7.572)(291.067,5.992)(294.27,4.607)(297.674,3.42)(302.469,2.401)(307.2,1.586)(311.868,0.973)(316.473,0.563)
(321.015,0.356)(325.494,0.352)(329.91,0.55)(334.262,0.952)(338.551,1.557)
(342.777,2.364)(346.941,3.374)(351.04,4.588)(355.077,6.004)(359.051,7.623)
(362.961,9.445)(366.809,11.469)(370.593,13.697)(374.314,16.128)(377.972,18.761)
(381.567,21.597)
% object # 1 (curve)
\path(383.567,23.597)(386.07,26.717)
\path(387.809,29.162)(388.298,29.851)
(388.298,29.851)(389.945,32.542)
\path(391.332,35.201)(391.639,35.803)
(391.639,35.803)(392.788,38.667)
(392.788,38.667)(392.854,38.896)
\path(393.645,41.788)(394.044,44.167)
(394.044,44.167)(394.108,45.754)
\path(393.968,48.744)(393.909,49.367)
(393.909,49.367)(392.653,52.499)
\path(391.449,55.238)(389.931,57.572)
(389.931,57.572)(389.184,58.531)
\path(387.277,60.844)(385.736,62.505)
(385.736,62.505)(384.45,63.668)
\path(382.143,65.582)(380.737,66.65)
(380.737,66.65)(378.85,67.847)
\path(376.24,69.32)(374.933,70.008)
(374.933,70.008)(372.617,71.009)
\path(369.766,71.921)(365.903,72.96)
\path(362.996,73.691)(359.054,74.371)
\path(356.081,74.771)(354.132,75.027)
(354.132,75.027)(352.106,75.208)
\path(349.116,75.456)(345.12,75.638)
\path(342.121,75.647)(340.506,75.648)
(340.506,75.648)(338.123,75.541)
\path(335.129,75.361)(331.738,75.048)
(331.738,75.048)(331.149,74.965)
\path(328.179,74.546)(327.449,74.443)
(327.449,74.443)(324.244,73.831)
\path(321.318,73.174)(319.059,72.626)
(319.059,72.626)(317.452,72.15)
\path(314.582,71.28)(310.923,69.996)
(310.923,69.996)(310.809,69.95)
\path(308.031,68.818)(306.949,68.377)
(306.949,68.377)(304.382,67.181)
\path(301.695,65.849)(299.191,64.531)
(299.191,64.531)(298.183,63.937)
\path(295.598,62.415)(295.407,62.303)
(295.407,62.303)(292.243,60.237)
\path(289.791,58.509)(288.028,57.239)
(288.028,57.239)(286.594,56.107)
\path(284.747,54.65)(284.433,54.403)
% object # 2 (line)
\path(280,51)(424,195)
% object # 3 (line)
\path(382,22)(526,166)
% object # 4 (curve)
\path(425.433,198.403)(422.894,195.238)(420.702,192.149)(418.858,189.135)(417.361,186.197)
(416.212,183.333)(415.411,180.545)(414.956,177.833)(414.85,175.195)(415.091,172.633)(415.679,170.147)(417.274,167.189)(419.069,164.428)(421.066,161.863)(423.264,159.495)
(425.663,157.324)(428.263,155.35)(431.065,153.572)(434.067,151.992)(437.27,150.607)(440.674,149.42)(445.469,148.401)(450.2,147.586)(454.868,146.973)(459.473,146.563)
(464.015,146.356)(468.494,146.352)(472.91,146.55)(477.262,146.952)(481.551,147.557)
(485.777,148.364)(489.941,149.374)(494.04,150.588)(498.077,152.004)(502.051,153.623)
(505.961,155.445)(509.809,157.469)(513.593,159.697)(517.314,162.128)(520.972,164.761)
(524.567,167.597)
% object # 5 (curve)
\path(523.567,166.597)(526.106,169.762)(528.298,172.851)(530.142,175.865)(531.639,178.803)
(532.788,181.667)(533.589,184.455)(534.044,187.167)(534.15,189.805)(533.909,192.367)(533.321,194.853)(531.726,197.811)(529.93,200.572)(527.934,203.137)(525.736,205.505)
(523.337,207.676)(520.737,209.65)(517.935,211.428)(514.933,213.008)(511.73,214.393)(508.326,215.58)(503.531,216.599)(498.8,217.414)(494.132,218.027)(489.527,218.437)
(484.985,218.644)(480.506,218.648)(476.09,218.45)(471.738,218.048)(467.449,217.443)
(463.223,216.636)(459.059,215.626)(454.96,214.412)(450.923,212.996)(446.949,211.377)
(443.039,209.555)(439.191,207.531)(435.407,205.303)(431.686,202.872)(428.028,200.239)
(424.433,197.403)
%
\end{picture}%

添付 cyl.jpg
坂本 への返信

Re: 破線または点線での楕円の書き方

- 和田 勇 の投稿
■ストレートに逆質問すればよかったのかな
先の私の質問には以下のような三つの意味が含まれていました。

1) タイプセットは platex updates あるいは ....
 documentclass でおおよそのことがわかりますので
2) どんなパッケージを使って作図しているのかな?
usepackage で推測しようと思っていました。
3) どんな作図方法をされているのか
 begin{document} 以降で判断

今回一つしかお答えいただけていないのであれこれ類推して書いて見ました。

■>これに、tikz をプラスすればいいのでしょうか。
訂正&お詫び: 楕円・点線のキーワード検索しただだけなので今回の質問に対する参考 URLには少々不適でした。

 https://texwiki.texjp.org/?TikZ を見ると簡単な(でも面倒?)使い方が書かれています。そこに書かれていた例題を取り出して点線・波線で表示したものの例を以下に示しておきます。ellipse は追加。

\documentclass[dvipdfmx]{jsarticle}% 適切なドライバ指定が必要
\usepackage[svgnames]{xcolor}% tikzより前に読み込む必要あり
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}
\draw [dashed, red, thick] (3,3) circle (1);
\draw [dashed] (4,4) circle [x radius=1cm, y radius=5mm, rotate=30];
\draw [dotted] (5,5) ellipse (2cm and 1cm);
\draw [dotted] (5,0) arc (0:45:2) --(3,0)--cycle;
\draw [dashed] (5,4) parabola bend (7,2) (8,4);
\end{tikzpicture}
\end{document}

なお目的によって色々なものを追加するケースがあります。
時間があれば英文ですが texdoc tikz を見ると千ページを超えるドキュメントを参考にしてください。

■余談ですが latex での作図方法

1)latex には picture 環境が内包されているので簡単な図はこれで書けます。
2)あるいはそれを拡張した上田さんが usepackage で指定されているような epic eepic を使う方法もあります。
3)またこのフォーラムで時々話題にになる emath を使う方法もあります。
4)その他...


和田 勇 への返信

Re: 破線または点線での楕円の書き方

- 和田 勇 の投稿
あまり整理できていないのですが、円弧の波線・点線・傾きの例です。
\begin{tikzpicture}[>=stealth]
\draw[help lines] (-2,-2) grid (2,2);
\draw[thin,dashed,blue] (1,1) circle (1cm);
\draw[thin,dashed,red] (0,0) circle (2cm);
\draw[dashed, rotate=30] (3,0) arc (180:-45:2 and 1); % 円弧の傾き
\draw[dotted](2,2) arc (180:-45:2 and 1);% 円弧の点線
\end{tikzpicture}
和田 勇 への返信

Re: 破線または点線での楕円の書き方

- 坂本 の投稿
和田さん、岩熊さん有り難うございました。
どれも私にとっては難しく手におえそうもありません。

ここまで、考えて頂いたことに対して恐縮しております。
有り難うございました。
坂本 への返信

Re: 破線または点線での楕円の書き方

- 和田 勇 の投稿
あらら。

うまくいかなかった「楕円の 1/4 をベジエ曲線で書いても点の間隔により」の出てしまう原稿をここに投稿していただければ、お手伝いができるかと思います。

さて tikz ドキュメントとても膨大で読み切れないと思いますが、それらを使っていろいろ例を出されているサイトを見つけました。

   https://unilab.gbb60166.jp/prekou/prekou.htm

このページの「角/円柱、角/円すいの体積、球の体積・表面積」にはお求めになったものと思われるものが含まれているようです。

原稿 https://unilab.gbb60166.jp/prekou/tex/taiseki-kihon.tex
PDF https://unilab.gbb60166.jp/prekou/pdf/shushoku_ensui_sv.pdf

を参考にされてみてはいかがでしょうか?

なお、原稿ファイルにの 19 行目に通常使われないスタイルファイルがあります。
   \usepackage{furikana,utf,bm,type1cm}
→  \usepackage{bm,type1cm}
上記のように変更して patex で タイプセット してみてください。

プレゼンテーション用に書かれてているので少々小難しいかもしれませんが、円柱の部分を抜き出して、まずは真似て見ることから挑戦してみてください。

真似する手順
0)上記の原稿 taiseki-kihon.tex をダウンロード
1)TikZ を使用する宣言を新規 tex ファイルに書き込む
\documentclass[dvipdfmx]{article}
\def\pgfsysdriver{pgfsys-dvipdfmx.def}%(graphicxパッケージを使用しない場合はこの行を有効に)
\usepackage{tikz}
\usetikzlibrary{calc,arrows.meta,intersections}

2)図の中でカラーを使っているので \definecolor の部分をコピー
3)\begin{document} と \end{document} の間にダウンロードしたファイルの原稿の必要な部分の  \begin{tikzpicture} から \end{tikzpicture} をコピペする
4) 保存して platex でタイプセット
和田 勇 への返信

Re: 破線または点線での楕円の書き方

- 坂本 の投稿
和田様、有り難うございます。
そこで、参考になるかどうか私の原稿を次に示します。

¥documentclass[11pt,b5j]{jarticle} ¥usepackage{skmt_macros} ¥everymath{¥displaystyle}

¥setlength{¥textwidth}{144.mm} ¥setlength{¥textheight}{220.mm}

¥setlength{¥topmargin}{ -8.mm} ¥setlength{¥headheight}{.mm} ¥setlength{¥headsep}{.mm}

¥setlength{¥topskip}{.mm}

¥setlength{¥footskip}{8.mm} ¥setlength{¥oddsidemargin}{ -7.mm}

¥renewcommand{¥baselinestretch}{1.}

¥pagestyle{empty}


¥begin{document}¥noindent

¥Fbz{,2pt}{¥BP(30,30)(-15, -15)

¥Fthl{.2pt}{¥put(0, 0){¥daenW{20}{6}}}

¥bezier{20}(-10, 0)(-9.3, 2.8)(0,3)

¥EP}


これが原稿です。それから私は Mac で、

しかも ShiftJis に設定して使っています。

奥村先生のCDよりインストールして使っています。

これは、その前からの関係で、いつか UTF-8 に変えたいと思っているのですが、方法が分からずそのままです。

こういう風に初心者でご迷惑掛けます。





坂本 への返信

Re: 破線または点線での楕円の書き方

- 和田 勇 の投稿
1)TikZ のサンプルはコンパイルできなかったのかしら?

2)提供していただいたソースでは、こちらでは再現テストが不可能です。
原因はいくつかあります。 \end{document} はコピペ漏れだと考え補正しましたが
■skmt_macros.sty という独自で作成されたであろうスタイルファイルが無いこと。(過去の投稿歴を探してみましたが見つけられませんでした)」

■このスタイルマクロを以前以下のように投稿されていたので代替してチェックしてみました。

  ¥usepackage{ascmac,amsmath,array,amssymb,curves,eepic,epic,fancybox,graphics,graphicx,amsfonts,amssymb,latexsym}
  ¥usepackage[deluxe]{otf}

が、 Fbz や Fthl の定義方法が分からないのでコンパイルできません。

■ Fbz 使用部分ですが「{」と「}」の数が一致しません。もしかして最後の \EP} なのかな?

3)tex ファイルを utf-8 にしたい

おそらくたくさんあって、一つ一つエディタで変更なんかしていられないからだと思います。

一般的には iconv とか nkf というものを使います。
私個人としては追加インストールしないといけないのですが nkf をお勧めします。
ターミナルアプリでの作業になります。https://qiita.com/ikemonn/items/a418658b37955a3c543d を参考にしてください。

バックアップを取った後ですが以下のようにすれば一気に変換してくれます。(サブディレクトリ以下も再起的に行うかは未チェックですが)

  cd 変更したいディレクトリ
  nkf -w --overwrite ./*

# nkf は紹介したページの方法のほか homebrew などでも利用できるようになります。
和田 勇 への返信

Re: 破線または点線での楕円の書き方

- 坂本 の投稿
和田様、ご指導有り難うございます。
まず、説明もなく書いて申し訳ありません。

¥newcommand{¥Fb}[3]{¥fboxrule=#1¥fboxsep=#2¥fbox{#3}}

¥newcommand{¥Fbz}[2]{¥Fb{#1}{0pt}{#2}}

です。

¥Fbz は picture 環境の範囲がよく分かるように使ってます。

¥Fbz{.2pt}{¥begin{picture}(30,20)(-15,-10)〜¥end{picture}} として作図し、¥Fbz{.pt} として線を消しています。

また、¥Fthl は線の幅です。

お尋ねするにしても不手際で申し訳ありません。

また、Tex Wiki Tikz のページを見ましたが、私には手に負えない内容でした。

また、utf-8 に付いては、参考にさせて頂いて、時間をとって挑戦したいと思っています。

有り難うございました。

坂本 への返信

Re: 破線または点線での楕円の書き方

- 岩熊 哲夫 の投稿
ご苦労なさっているようですね。
僕の知人はMacユーザーでかつLaTeXユーザーです。
彼は図をMS Officeのパワポでスカスカっと描いて
それを貼り付けていました。もしパワポがお得意
なら・・・参考まで。僕はOfficeを使いませんので,
やり方はわかりません。
岩熊 哲夫 への返信

Re: 破線または点線での楕円の書き方

- m c の投稿
私もドロー系のソフトで作成するのが一番手っ取り早そうに思います.

添付はMac用の商用ドローソフトEazyDraw(ダウンロード版$95)で作成した円柱と電磁波の作図例です.
#電磁波の方は古いバージョンで昔作成したものですのでハッチングがビットマップになっていますが,現行バージョンは
#ハッチングもベクトルです.

円弧については弧の開始角・終了角を0.01°単位で指定できますし,2乗,3乗,正弦,指数,対数といった基本的な
数学関数描画ができます(関数描画はかなりクセがありますけど).
また直線については始点・終点で指定する他,始点と長さ・偏角で指定することもできます.

描画のためのグリッドをポイントやmmで指定して,スナップを0.5ptとか0.5mmにすると,かなり正確な図面描画ができます.

ご参考までに.
坂本 への返信

Re: 破線または点線での楕円の書き方

- 和田 勇 の投稿
類推は可能なのですが、BP なんかもありませんし、部分部分のコピペでなく思った通りにならないと仰る  楕円
  を描こうとしているソースファイル及び skmt_macros.sty そのものを「添付ファイル」としてアップしていただけませんか?
アップロードは、この投稿画面の下部に「添付ファイル」の項目があります(添付画像参照)」

なお、添付ファイルは一回につき一つなので、まためたがわからなければ二回に分けていただいてもよいです。


PS: TiKz の件は了解。でも epic eepic だけだとかなり手をかけねばならないかと危惧していましす。
添付 スクリーンショット_2020-03-09_19.53.39.png
和田 勇 への返信

Re: 破線または点線での楕円の書き方

- Akira Kakuto の投稿
MetaPost で近似的に楕円に見えるものを描く例です:

% test.tex
% latex test.tex
% dvipdfmx test.dvi
\documentclass[12pt,dvipdfmx]{article}
\usepackage{graphicx}
\begin{document}
% filecontents is supported in latex kernel
\begin{filecontents}{t.mp}
%
%  t.mp (mpost t.mp creats t-1.mps and t-2.mps)
%
outputtemplate := "%j-%c.mps";
beginfig(1)
path p, pp, ppp;
p := fullcircle scaled 40mm;
pp := p xscaled 2;
ppp := pp rotatedaround((0,0), 45);
draw ppp withpen pencircle scaled 2pt dashed evenly;
endfig;
beginfig(2)
path p, pp, ppp;
p := fullcircle scaled 40mm;
pp := p xscaled 2;
ppp := pp rotatedaround((0,0), 45);
draw ppp withpen pencircle scaled 2pt dashed withdots;
endfig;
end.
\end{filecontents}
\immediate\write18{r-mpost t.mp}
\centering
\includegraphics{t-1.mps}

\centering
\includegraphics{t-2.mps}
\end{document}
和田 勇 への返信

Re: 破線または点線での楕円の書き方

- 坂本 の投稿
誠にすみません。skmt_macros.sty は余りにも大きすぎるので、
説明不足の部分を追加しておきます。

¥newcommand{¥newC}{¥newcommand}

¥newC{¥BP}{¥setlength{¥unitlength}{1mm}¥begin{picture}}

¥newC{¥EP}{¥end{picture}}

¥newC{¥Fthl}[2]{{¥allinethickness{#1}#2}}

¥newC{¥daenW}[2]{¥filltype{white}{¥ellipse*{#1}{#2}}}


私が書いた分のマクロは以上です。自分勝手にマクロを作り、使ってます。恥ずかしい次第です。

その量は多すぎ、まかりにくいと思いますので、必要な分だけ挙げておきます。


孫の世話等あり、返事が遅くなりました。

坂本 への返信

Re: 破線または点線での楕円の書き方

- 和田 勇 の投稿
なかなか意図が伝わらず原稿を投稿していただけないので、今までいただいた情報からお試しになっているソースを想像して生成してみました。添付内の sakamoto.tex です。余分なコードは削ぎ落としてあります。

本業も忙しいので誰かにやってもらおうと思ったのですが、しっぽ 愛好家 さんが素晴らしいマクロを描いていてくださったので、それを利用して my-picture-macros.sty を作成して、やりたいであろうことを試してみました。
ベジェ曲線をいくつか試してみたのですが しっぽ 愛好家 さんの作成したマクロを利用した方が楽です。

添付のファイルを参考にして下さい。
内容物は以下のように三つ入っています。

 Archive: dotted-ellipse.zip
 Zip file size: 33936 bytes, number of entries: 3
 -rw-r--r-- 3.0 unx 1516 tx defN 20-Mar-11 22:00 sakamoto.tex
 -rw-r--r-- 3.0 unx 27616 bx defN 20-Mar-11 22:02 sakamoto.pdf
 -rw-r--r-- 3.0 unx 53129 tx defN 20-Mar-11 21:25 my-picture-macros.sty

#しっぽ 愛好家 さんへ
dvipdfmx を使うので dvips を dvipdfmx に書き換えました

個人的にはepic eepic に続くように eepic とかmore-epic なんてかりの名前にしようかと思っていましたが、独自なものを鮮明にする名前にしておきました。
坂本 への返信

Re: 破線または点線での楕円の書き方

- しっぽ 愛好家 の投稿
%%% どこにぶら下げるべきか判然としないのでとりあえずここに…… 昨今では TikZ を勧める人が多いのは当然でしょうが, 無理してまで使うこともありませんね(UTF-8 にしてもそう). 今回の質問の件に関しては,約 10 年前の落書きが見つかったので, 参考(になるかどうか怪しい代物ですが)までに添付しています. 読み込んでいるパッケージへのオプション指定は適宜変更してください.
しっぽ 愛好家 への返信

Re: 破線または点線での楕円の書き方

- 坂本 の投稿
しっぽ愛好家さん
添付ファイルをダウンロードして見ましたが、
初心者の私には理解不能でした。
有り難うございました。