cht電腦資訊文書排版TeX
adm Find login register

有關用 latex 畫圓

guest
1 有關用 latex 畫圓
Promote 0 Bookmark 02008-09-06quote  

 各位好 我是看手冊上寫的 

 畫圓指令 \put(x,y){\circle(k)} 以座標x,y為圓心畫一個直徑k的圓 

 不過有限制 就是直徑太大的圓畫不出來 老師又限制不能插圖進去 請問 有辦法解決嗎? 

 謝謝

本人已不在此站活動
2
Promote 0 Bookmark 02008-09-06quote  

Hi kisha,

這個問題在 bbs/news 就曾看到,但一直沒有人回應。原因是,你的敘述太簡略,大家都無法知道你的意思。

直徑太大的圓有許多原因畫不出來,例如已經超過版面大小就是其中之一。

建議你,把有問題的文稿 post 上來(請注意,是整理過後的最簡短文稿),是最好的提問方式。

 

ps. 你好像沒有 login 喔!有 login(登入)才能上傳檔案。

edited: 2
guest
4
Promote 0 Bookmark 02008-09-07quote  

喔 謝謝 我不知道這樣不清楚 如下 應該有4個圓 但編譯後 只有3個 因為第4個圓和第3個圓 重疊了 

書上是寫直徑太大畫不出來 


\documentclass[12pt,a4paper,titlepage]{report}
\begin{document}

\begin{picture}(100,100)
\put(0,0){\circle{20}}
\put(0,0){\circle{30}}
\put(0,0){\circle{50}}
\put(0,0){\circle{60}}
\end{picture}

\end{document}

本人已不在此站活動
5
Promote 0 Bookmark 02008-09-07quote  

LaTeX picture 環境畫圓,他並不是真的去「畫」出圓來,而是取用 lcircle*.pfb 這些字型上現成的字型來合成的,所以會有 size 的限制,要剛好合得起來的 size 才能畫出圓來(預設只能畫 40pt 直徑以內的圓),以這個例子的話,可以試著縮小單位值。

 \setlength{\unitlength}{0.5pt}

而且,直徑需為四的倍數,否則會取近似值。如果不符合所需,可能需要另外使用其他的繪圖工具,例如 TeX 系統的標準繪圖工具 MetaPost 或其他 package,例如 pgf package 或 pstricks package 等等。一般而言,圖形很多或很複雜,或圖形需要精確性的話,不建議使用 picture 環境。

 

ps. 如果你 login 後仍然是 guest 訪客身份,請使用 hyperrate.com,而非 www.hyperrate.com。

edited: 1
本人已不在此站活動
6
Promote 0 Bookmark 02008-09-07quote  

BTW,如果一定要用 picture 環境,請使用 eepic package(注意,不是 epic)。

eepic 能真正的使用 ps code 去畫圖,沒有大小限制,也沒有四的倍數的限制,用法和 picture 環境完全一樣。但他無法直接使用 pdflatex 編譯,要用 latex/dvips/ps2pdf 或 latex/dvipdfmx。

guest
7
Promote 0 Bookmark 02008-09-07quote  
LGJ

BTW,如果一定要用 picture 環境,請使用 eepic package(注意,不是 epic)。

eepic 能真正的使用 ps code 去畫圖,沒有大小限制,也沒有四的倍數的限制,用法和 picture 環境完全一樣。但他無法直接使用 pdflatex 編譯,要用 latex/dvips/ps2pdf 或 latex/dvipdfmx。

謝謝 

我有把 \usepackage{eepic} 加入 code都沒變 只是編譯出來的圓 仍有大小限制 我不知道 ps code 指的是? 可能是這關係 

至於要用 latex/dvips/ps2pdf 或 latex/dvipdfmx 編譯才能這件事 

我用的是 winedit + miktex 我在 accessories -> PDF  有看到 ps2pdf 和 dvi2pdf 

我不知道這兩個是不是上面所說的 點了之後 圓還是有限制 

至於 MetaPost 或 pgf package 或 pstricks package 我在去找資料看看好了 我現在還不知道這到底是什麼 會是額外匯入一張圖嗎?

這位老師堅持 編譯後跑出來的pdf檔 是單純由code生成 不要額外匯入圖什麼的 讓人有點困擾    

本人已不在此站活動
8
Promote 0 Bookmark 02008-09-07quote  

guest
我有把 \usepackage{eepic} 加入 code都沒變 只是編譯出來的圓 仍有大小限制 我不知道 ps code 指的是? 可能是這關係 

我這邊編譯完全沒有問題(請參考底下的附加檔:pic-t.pdf)。你是如何知道他仍有大小的限制呢?請先查看一下 log 檔,可以的話把 log 檔附上來。 

至於要用 latex/dvips/ps2pdf 或 latex/dvipdfmx 編譯才能這件事 

我用的是 winedit + miktex 我在 accessories -> PDF  有看到 ps2pdf 和 dvi2pdf 

我不知道這兩個是不是上面所說的 點了之後 圓還是有限制 

有辦法在命令列執行 latex your.tex 嗎? 這樣比較好抓原因,因為我也沒用過 winedt,不清楚他裡頭藏了什麼機關。

至於 MetaPost 或 pgf package 或 pstricks package 我在去找資料看看好了 我現在還不知道這到底是什麼 會是額外匯入一張圖嗎?

這位老師堅持 編譯後跑出來的pdf檔 是單純由code生成 不要額外匯入圖什麼的 讓人有點困擾

你說的並不明確,何謂『是單純由code生成』?MetaPost 是 TeX 系統的標準繪圖工具,他天生就是要用在 TeX/LaTeX 繪圖的,是需要引入所繪製出來的圖檔,但他的圖檔是向量圖,和一般的點陣圖不同,縮放不會有失真的情形,Knuth 教授的 TAOCP 就是完全使用 MetaPost 來繪圖的。

我覺得你要先把問題詳細問你老師比較好,不然忙了半天,怕會多花無謂的力氣。
 

edited: 2
kisha
9
Promote 0 Bookmark 02008-09-07quote  

他的意思是 只要一個副檔名是 tex 的檔 其他什麼都不要   

 

 

edited: 1
本人已不在此站活動
10
Promote 0 Bookmark 02008-09-07quote  

kisha
他的意思是 只要一個副檔名是 tex 的檔 其他什麼都不要

pgf 及 pstricks 都可以只要一個 *.tex 檔。只是他們比較複雜,學起來比 picture 環境要多花一點時間。

eepic 確定是沒有問題的,請查檢一下 log 檔及 winedt 的設定看看。
 

本人已不在此站活動
11
Promote 0 Bookmark 02008-09-07quote  

LGJ
pgf 及 pstricks 都可以只要一個 *.tex 檔。只是他們比較複雜,學起來比 picture 環境要多花一點時間。

我示範一下 pgf 的用法(就是和你前 post 一樣的內容,現在改用 pgf 來寫,tikz 是 pgf 的前端巨集):

\documentclass{article}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}
  \draw (0,0) circle (10pt);
  \draw (0,0) circle (15pt);
  \draw (0,0) circle (25pt);
  \draw (0,0) circle (30pt);
\end{tikzpicture}
\end{document}

你可以參考 doc 目錄上的 pgfmanual.pdf 及 pgfuserguide.pdf 這兩個檔。使用 tikz/pgf 的好處是,他支援 latex/pdflatex/context,你不必擔心有時候 pdflatex 無法編譯。如果你的圖檔可能會有點複雜,那麼可能要考慮 tikz/pgf,不然一些比較複雜一點的圖,要用 picture 環境來繪製會有點痛苦。

 

[Note] pgf circle 用的是半徑而不是直徑。

edited: 1
kisha
12
Promote 0 Bookmark 02008-09-08quote  

http://depositfiles.com/files/7797349

log在此 

我剛剛試過你提供的 pgf 的用法 code 編譯後發生錯誤 上面寫 environment tikzpicture undefined 看來真的是 winedit 的問題

可以請問你都用什麼軟體嗎? 我想換個軟體好了 

 

本人已不在此站活動
13
Promote 0 Bookmark 02008-09-08quote  
kisha
http://depositfiles.com/files/7797349

log在此 

("C:\Program Files\MiKTeX 2.5\tex\latex\pstricks\pstricks.sty"
Package: pstricks 2005/12/19 v0.31 LaTeX wrapper for `PSTricks' (RN,HV)

很顯然,你這個文稿並不是你所 post 出來的內容。因為你 post 出來的內容並沒有載入 pstricks(這個 package 不能使用 pdflatex 直接編譯)。請把他拿掉後再來編譯。

! LaTeX Error: File `eepic.sty' not found.

顯然你並沒有安裝 eepic 這個 package。請經由 MiKTeX 透過網路來安裝。 

BTW,這個站可以讓你上傳檔案。一些小檔案,直接上傳會比較方便。 

我剛剛試過你提供的 pgf 的用法 code 編譯後發生錯誤 上面寫 environment tikzpicture undefined 看來真的是 winedit 的問題

一樣,沒有安裝 tikz/pgf pacakge。 

可以請問你都用什麼軟體嗎? 我想換個軟體好了 

我想問題很明顯不是出在你的編輯器上。

我是使用 vim/gvim。不過,建議先去熟悉一下你的編輯器,看一下他的使用手冊之類的,換編輯器可能不是好辦法,去熟悉一下手上的東西比較重要。

另外有許多人建議使用 texmaker,你可以試試看,這是自由免費的軟體,我有時候也在用這個。
 

guest
14 你好
Promote 0 Bookmark 02008-10-09quote  


我也存在楼主说的问题,我已经用eepic软件包画出较大的圆。我想画的图中既有大圆,又有实心圆,当使用这个软件包后,实心圆都不再显示,它们都变成了空心的,这个情形如何处理,另外,如何画虚线圆?谢谢

本人已不在此站活動
15
Promote 0 Bookmark 02008-10-09quote  

\circle*{...} 就可以畫實心圓。

eepic 據我所知,圓形只能用實線,只有直線才能用虛線。
 

guest
16 谢谢
Promote 0 Bookmark 02008-10-09quote  


谢谢。我也是用的{\circle*{...}}这个命令,可是转化成.dvi 文件后,画出的圆仍然是空心的,后来我把文件转化成.pdf文件就对了。

我在办公室用的软件是Linux系统下的Kile,当我把我的latex原文件在办公室运行时,不论是.dvi文件还是.pdf文件,画的圆和椭圆都不能显示,在我未用\usepackage{epic,eepic}之前,小圆还是可以正常显示的。

另外有一个问题,我是用\qbezier[?](...)(...)(...)命令画弧线的,请问,如何画出脚粗的弧线?再次感谢!

本人已不在此站活動
17 谢谢
Promote 0 Bookmark 02008-10-10quote  

guest
谢谢。我也是用的{\circle*{...}}这个命令,可是转化成.dvi 文件后,画出的圆仍然是空心的,后来我把文件转化成.pdf文件就对了。

eepic 的 \circle*{} 不支援  DVI drivers,要原來的 LaTeX 的 \circle*{} 才行。這應該是 bug,但一直以來並沒有人提出來,可能是需要複雜的繪圖時大家都轉用其他的方式了?

我在办公室用的软件是Linux系统下的Kile,当我把我的latex原文件在办公室运行时,不论是.dvi文件还是.pdf文件,画的圆和椭圆都不能显示,在我未用\usepackage{epic,eepic}之前,小圆还是可以正常显示的。

先在命令列執行,如果結果無誤,那表示是你的 kile 的設定的有問題。 

另外有一个问题,我是用\qbezier[?](...)(...)(...)命令画弧线的,请问,如何画出脚粗的弧线?再次感谢!

 \linethickness{2pt} 這樣會用很粗的 2pt 來繪曲線,粗細可自行調整。

edited: 1
guest
18 谢谢
Promote 0 Bookmark 02008-10-19quote  


粗线弧也画出来了,太谢谢了。您提到,复杂的图可以用其他方法画图,还有哪些方法?我很想学

本人已不在此站活動
19
Promote 0 Bookmark 02008-10-19quote  

請參考:

 http://edt1023.sayya.org/tex/latex123/node10.html

及上面提到的 pgf package。
 

cht電腦資訊文書排版TeX
adm Find login register
views:57667