我想知道是否有人可以向我解释接下来会发生什么以及如何补救。以下是一段 Asymptote 代码:
import graph;
import graph3;
currentprojection=perspective(4,5,5);
real f(pair z) {return z.x^2-z.y^2;}
triple c(real t) {return (cos(t),sin(t),f((cos(t),sin(t))));}
triple n(real t) {triple w=cross((1,0,2*cos(t)),(0,1,-2*sin(t))); return unit(w);}
picture pic;
size(pic,150,150,IgnoreAspect);
draw(pic,surface(f,(-2,-2),(2,2),nx=10,Spline),green,render(merge=true));
draw(pic,graph(c,0,2*pi,operator ..),red+2);
picture pic2;
size(pic2,150);
draw(pic2,unitsphere,opacity(0.1));
draw(pic2,graph(n,0,2*pi,operator ..),red+2);
int antal=10;
for(int i=0;i < antal;++i){
real t=2*pi*i/antal;
draw(pic,shift(c(t))*((0,0,0)--n(t)),blue+1,Arrow3);
draw(pic2,(0,0,0)--n(t),blue+1,Arrow3);
}
add(pic.fit(),(0,0),W);
add(pic2.fit(),(20mm,0),E);
当我通过 Asymptote 运行时,它工作正常。它给我两张图片,分别称为 A 和 B,并排放置。
如果我现在将代码包含在 LaTeX 文档的 asy 环境中,就会发生一件奇怪的事情:我会得到并排的两个 B 副本。如果我在最后更改添加命令的顺序,我会得到两个 A 副本。
为什么我没有得到 A 和 B,就像我单独运行时一样?
上面的代码插入到 LaTeX 文件中,如下所示
\documentclass[12pt,a4paper]{article}
\usepackage[inline]{asymptote}
\title{A test example}
\author{Me}
\date{\today}
\begin{document}
\maketitle
\section{Introduction}
Some introductory text.
\begin{center}
\begin{asy}[inline=true]
CODE
\end{asy}
\end{center}
More text
\end{document}