Q&A 마당은 텍 관련 질문/답변을 위해 만들었습니다.
- 로그인 없이 자유롭게 글을 읽고 쓸 수 있는 철학은 처음과 같이 계속됩니다.
- 질문 전에 아래를 읽어 보세요. 좋은 질문이 좋은 답을 받을 수 있는 좋은 방법입니다.
- 질문에 맞는 제목을 붙이세요. 질문의 내용과 관련없는 "고수님", "긴급질문", "도와주세요"와 같은 제목은 답이 잘 올라오지 않습니다. 이 게시판에 올라오는 모든 글은 질문입니다. 굳이 [질문], [Q]를 적으실 필요도 없습니다.
- 내용을 충실히 적어 주시고, 같은 상황을 재현할 수 있는 최소한의 예제가 같이 있어야 합니다.
- 최소 예제는 "Minimal working example"을 읽어 보세요.
- 파일을 첨부하실 때에는 가능한 압축하여 파일 크기를 줄여서 올려주시길 바랍니다.
- 개인적으로 사용하신 글꼴이 들어 있는 경우, preparefont.sty에 관한 답변을 참조하세요.
- 스팸 글을 막기 위하여 짧은 시간 내에 다시 글이 등록되는 IP를 막거나, 광고 글을 막기 위하여 금지어로 .com, .net 등을 설정하고 있습니다. 다소간의 불편함이 있으시더라도 양해 바랍니다.
- 금지어에서 stackexchange, stackoverflow, ctan, overleaf, , github, google.com, gmail.com, .org, .io, sil.org, wiki.com, tistory.com등은 해제하였습니다.
- MathJax를 이용한 수식조판을 사용하실 수 있습니다. 여기를 참조하세요.
- 사용하는 편집기는 CKeditor입니다.
- 편집기에서 [enter]를 누르면 <p> 태그가 들어가고, 문단으로 생각하고 한 줄을 비웁니다.
- 글줄만 바꾸려면 [shift-enter]를 누르면 <BR> 태그가 들어가므로 용도에 맞게 나누어 쓸 수 있습니다.
- 수식를 문서내에 삽입하시려면 에디터를 툴바에서 [소스]를 눌러 HTML로 입력할 수 있게 바꾸신 후 <pre> </pre> tag를 사용하셔서 <pre> 여러 줄의 수식 </pre>처럼 입력하시면 좋습니다.
GeoGebra 에서 PGF/TikZ 로 내보기한 파일이 컴파일 후 원하는 곡선이 안보입니다.
2014.08.05 03:36
댓글 6
-
그로몹
2014.08.05 09:45
-
nanim
2014.08.05 10:15
위의 그로몹께서 답변하신 대로 gnuplot이 설치되어 있어야 하고, 실행 시에 --shell-escape 옵션을 주어야 합니다.
(1) gnuplot 설치
Mac이라면 home brew를 이용하는 것을 추천합니다. brew install gnuplot.
데비안/우분투 계열 리눅스라면 apt-get install gnuplot
Windows에서는 몇 가지 방법이 있는데, 지금 문제가 된 상황을 해결하기 가장 쉬운 방법을 말씀드리겠습니다.
http://www.tatsuromatsuoka쩜com/gnuplot/Eng/winbin/
위의 페이지에 가서 인스톨러를 다운받습니다.
0001 gp50rc1-20140804-win32-mingw.exe
또는 64 버전
0004 gp50rc1-20140804-win64-mingw.exe
둘 중 하나를 다운로드받아서 풀고 인스톨러를 실행합니다.
인스톨러 진행 중에 "Add application directory to PATH environment"를 반드시 체크해줍니다.
(2) --shell-escape
MiKTeX이라면 --enable-write18입니다.
이 옵션을 주는 방법은 명령행(cmd)에서 다음과 같이 하는 것입니다.
> xelatex --shell-escape foo
TeXworks와 같은 에디터 내에서 컴파일 명령에 대하여 이 옵션을 주려면 편집/환경설정/문서처리로 가서 조판 명령의 옵션으로 --shell-escape를 추가하는 방법이 있습니다만, 이런저런 이유에서 이것은 권장하지 않습니다.arara directives를 이용하는 방법을 저 개인적으로는 가장 선호합니다. 문서 앞부분에
% arara: xelatex { shell: yes }
라고 적어두고 arara로 컴파일하면 되는 것이기 때문에 가장 간단한데요, windows에서 arara를 동작하게 하려면 jre를 설치해야 하는 문제가 있습니다.
(3) --shell-escape를 쓰지 않고 gnuplot을 직접 실행
다음 순서로 컴파일하면 됩니다. (명령행에서)
> xelatex foo
> gnuplot foo.pgf-plot.gnuplot
> xelatex foo
=====
-
잠심
2014.08.05 15:56
그로몹, nanim 님 감사합니다. 두 분 덕분에 원하는 결과물을 얻었습니다. ^^
저는 win7 사용자이기 때문에 cmd 창 명령등을 잘 이해는 못하지만
TeXworks 에서 --shell-escape 추가옵션으로 주고
단축키 Ctl+T 하고 .table 파일 만든 후
Ctl+T 하고 만들었어요~ ^^
-
잠심
2014.08.05 16:49
감사하는 마음으로 결과물도 올려봅니다. ^^
-
그로몹
2014.08.06 16:20
멋있군요.
tikz code도 보여주시면 도움이 많이 되겠습니다.
그런데 보이는 선은 실선 그리고 안 그려진 가려진
선은 점선으로 나타내면 더 잘 보일 것 같습니다.
혹시 구별하고 싶으면 선의 굵기로 하면 어떨지?
그런데 3D로 그리신건가요? 아니면 그냥 선으로?
-
잠심
2014.08.07 00:04
그냥 선으로 그렸습니다.
GeoGebra 3D 는 아직 tikz 로 내보는 기능을 지원하지 않더라요. 아쉬워요 ^^
아, 코드는 GeoGebra 에서 내보내기 한 것이라 잘 정돈된 것이 아니지만 아래에 붙여놓기 하겠습니다~
\begin{tikzpicture}[line cap=round,line join=round,>=triangle 45,x=1.0cm,y=1.0cm]
\draw (1.824233671752777,-0.768000087274585) node[anchor=north west] {$\mathbf{x} = \mathbf{x} (u, v)$};
\draw [rotate around={9.564218898555072:(0.0,0.0)},line width=1.2000000000000002pt,dash pattern=on 2pt off 2pt,fill=black,fill opacity=0.05] (0.0,0.0) ellipse (1.3000000000000003cm and 0.6176747726124736cm);
\draw [shift={(0.0,-0.0)},line width=1.2000000000000002pt,dash pattern=on 3pt off 3pt] plot[domain=4.2304710428029395:5.635932619113785,variable=\t]({1.0*1.3*cos(\t r)+-0.0*1.3*sin(\t r)},{0.0*1.3*cos(\t r)+1.0*1.3*sin(\t r)});
\draw[line width=1.2000000000000002pt, smooth,samples=100,domain=0.0:1.0] plot[parametric] function{(1.0-t)**(3.0)*(-1.2187290074278347)+3.0*t*(1.0-t)**(2.0)*(-1.8448557052543566)+3.0*t**(2.0)*(1.0-t)*(-2.204760202528503)+t**(3.0)*(-2.178215361943341),(1.0-t)**(3.0)*0.4524374061170949+3.0*t*(1.0-t)**(2.0)*0.1615615121731504+3.0*t**(2.0)*(1.0-t)*(-0.16402885153588556)+t**(3.0)*(-0.45360080759252713)};
\draw[line width=1.2000000000000002pt,dash pattern=on 2pt off 2pt, smooth,samples=100,domain=0.0:1.0] plot[parametric] function{(1.0-t)**(3.0)*(-2.178215361943341)+3.0*t*(1.0-t)**(2.0)*(-2.161389364629791)+3.0*t**(2.0)*(1.0-t)*(-1.691050664379004)+t**(3.0)*(-1.47239497587079),(1.0-t)**(3.0)*(-0.45360080759252713)+3.0*t*(1.0-t)**(2.0)*(-0.6371519929559033)+3.0*t**(2.0)*(1.0-t)*(-0.9119827545781716)+t**(3.0)*(-1.3062340624671882)};
\draw[line width=1.2000000000000002pt,dash pattern=on 2pt off 2pt, smooth,samples=100,domain=0.0:1.0] plot[parametric] function{(1.0-t)**(3.0)*(-1.47239497587079)+3.0*t*(1.0-t)**(2.0)*(-1.4222759313481352)+3.0*t**(2.0)*(1.0-t)*(-0.9280634421585979)+t**(3.0)*(-0.6025233838938657),(1.0-t)**(3.0)*(-1.3062340624671882)+3.0*t*(1.0-t)**(2.0)*(-1.3966021612256259)+3.0*t**(2.0)*(1.0-t)*(-1.2666027432154852)+t**(3.0)*(-1.1519399167756474)};
\draw[line width=1.2000000000000002pt,dash pattern=on 2pt off 2pt, smooth,samples=100,domain=0.0:1.0] plot[parametric] function{(1.0-t)**(3.0)*(-0.6025233838938657)+3.0*t*(1.0-t)**(2.0)*0.013781640690715144+3.0*t**(2.0)*(1.0-t)*0.5423579357650483+t**(3.0)*1.0370664563796896,(1.0-t)**(3.0)*(-1.1519399167756474)+3.0*t*(1.0-t)**(2.0)*(-0.9348628650461968)+3.0*t**(2.0)*(1.0-t)*(-0.8395122690277746)+t**(3.0)*(-0.7838961443023389)};
\draw[line width=1.2000000000000002pt, smooth,samples=100,domain=0.0:1.0] plot[parametric] function{(1.0-t)**(3.0)*1.084962916795597+3.0*t*(1.0-t)**(2.0)*1.5766117264417432+3.0*t**(2.0)*(1.0-t)*2.393649430279735+t**(3.0)*2.573280416527203,(1.0-t)**(3.0)*0.7161392805721459+3.0*t*(1.0-t)**(2.0)*0.69692134816506+3.0*t**(2.0)*(1.0-t)*0.2738979180646875+t**(3.0)*(-0.42817485012846246)};
\draw [shift={(0.0,-0.0)},line width=1.2000000000000002pt,dash pattern=on 3pt off 3pt] plot[domain=0.16692711016125156:3.3085197637510446,variable=\t]({1.0*1.3*cos(\t r)+-0.0*1.3*sin(\t r)},{0.0*1.3*cos(\t r)+1.0*1.3*sin(\t r)});
\draw[line width=1.2000000000000002pt,dash pattern=on 2pt off 2pt, smooth,samples=100,domain=0.0:1.0] plot[parametric] function{(1.0-t)**(3.0)*1.0370664563796896+3.0*t*(1.0-t)**(2.0)*1.485182513316395+3.0*t**(2.0)*(1.0-t)*2.622383294648881+t**(3.0)*2.573280416527203,(1.0-t)**(3.0)*(-0.7838961443023389)+3.0*t*(1.0-t)**(2.0)*(-0.7335180378506897)+3.0*t**(2.0)*(1.0-t)*(-0.6200893649307395)+t**(3.0)*(-0.42817485012846246)};
\draw (-0.7751013580758196,1.7451010790051946) node[anchor=north west] {$O$};
\draw (-1.9577372010310106,-0.17668216579698984) node[anchor=north west] {$S$};
\draw [shift={(0.473723721766323,-1.4517739008831654)}] plot[domain=0.38202568329163045:1.4571326678323258,variable=\t]({1.0*1.6423717348505644*cos(\t r)+-0.0*1.6423717348505644*sin(\t r)},{0.0*1.6423717348505644*cos(\t r)+1.0*1.6423717348505644*sin(\t r)});
\draw [->] (0.7902304115137766,0.15981178743165758) -- (0.66,0.18);
\end{tikzpicture}
tikz로 parametric plot을 할 경우에는 gnuplot 프로그램이 설치되어있어야 하고 또 latex이 이 프로그램을 찾을 수 있어야 한다고 합니다. 자세한 조건은 tikz/pgf 매뉴얼 330쪽 중간 부분에 있습니다. 저도 gnuplot이 없어서 그래프는 나오지 않고 점만 4개 찍힙니다.