我有这个包\usepackage[inline]{asymptote}
,并试图显示以下渐近线图:
\begin{asy}
size(200);
pair A,B,C,D;
A=(0,0);
B=(200,0);
C=(200,150);
D=(0,150);
draw(A--B--C--D--cycle);
label("A",A,(-1,0));
label("D",B,(0,-1));
label("C",C,(1,0));
label("B",D,(0,1));
label("E",(200,85),(1,0));
dot((200,85));
draw((0,0)--(200,85));
draw((0,150)--(200,85));
label("$\ \ \ \ \ \ \ 30^\circ$",anglemark((200,85),D,C),SE);
label("$80^\circ \ \ \ $",anglemark(A,(200,85),D),W);
\end{asy}
我只是得到一片空白。没有错误消息,但它什么也没显示。我在 Mac 上使用 TeXShop,希望这能有所帮助。任何帮助都将不胜感激!
更新:Torbjørn T.很好心地帮我弄清楚了为什么什么都没显示。现在,我得到的图形没有所需的角度标记,这有点烦人。我的代码和 OP 中的一样。有人知道角度标记是怎么回事吗?
对于 Torbjørn T.
以下是我所得到内容的屏幕截图:
我已经按照您之前告诉我的步骤进行操作了。
答案1
渐近线部分
对于 Asymptote 代码来说,首先需要的是一个名为的模块olympian
,可以在此处下载:http://www.artofproblemsolving.com/Forum/viewtopic.php?f=519&t=165767这增加了对anglemark
更多内容的支持。
它是该主题中第一篇帖子的附件。将其保存olympian.asy
在与文件相同的文件夹中.tex
。要使用该模块,请将其添加import olympian;
到 Asymptote 代码中。
接下来,您要绘制弧线,因此,anglemark
似乎有必要将其放在命令中draw
,而不是放在标签中,因此
draw(anglemark(E,D,C));
draw(anglemark(D,E,A));
label("$\ \ \ \ \ \ \ 30^\circ$",D,SE);;
label("$80^\circ \ \ \ $",E,W);
E
是重点(200,85)
。
圆弧的默认尺寸很小,可以通过添加来增加
markscalefactor=3;
根据您的需要调整该值。
我不知道如何标记角度最好,但我添加了一个建议:
label("\small$30^\circ$",shift(35*dir(-7))*D);
此标签位于D
,但esection中的shift
ed35
单位为度。该命令使字体略小一些。也许没有必要,但它在左上角有点拥挤。dir
-7
\small
完整代码:
\documentclass{standalone}
\usepackage[inline]{asymptote}
\begin{document}
\begin{asy}
import olympiad;
size(200);
pair A,B,C,D,E;
A=(0,0);
B=(200,0);
C=(200,150);
D=(0,150);
E=(200,85);
draw(A--B--C--D--cycle);
label("A",A,(-1,0));
label("D",B,(0,-1));
label("C",C,(1,0));
label("B",D,(0,1));
label("E",E,(1,0));
dot(E);
draw(A--E--D);
markscalefactor=3;
draw(anglemark(E,D,C));
draw(anglemark(D,E,A));
label("\small$30^\circ$",shift(35*dir(-7))*D);
label("\small$80^\circ$",shift(35*dir(180))*E);
\end{asy}
\end{document}
汇编
使用 编译上述内容时pdflatex
,会生成一个名为的文件<filename>-1.asy
。要生成图像,必须使用 Asymptote 程序进行编译,因此运行
asy <filename>-1.asy
从命令行/终端。.tex
再次编译您的文件pdflatex
,图像应该包含在您的文档中。
您还可以打开.asy
TeXshop 文件并使用 Alan Munn 在评论中提到的 Asymptote 引擎进行编译。
最后,应该可以使用 自动完成这个编译latexmk
,但我的尝试没有成功(我可能做错了什么)。