几年前,我使用 LaTeX 中的 Asymptote 来生成交互式 3D 图形(在 Acrobat Reader 中交互)。不幸的是,当我今天编译相同的代码时,它编译成功但不会生成 .prc 文件。因此,3D 图形在 .pdf 文件中可见,但它不是交互式的。我使用 PdfLaTeX - Asymptote - PdfLaTeX 进行编译。我的文本编辑器是 Texmaker,我的 LaTeX 发行版是 Miktex(两者都是最新的)。我使用 Acrobat 打开 .pdf 文件。
有人能告诉我为什么吗?
\documentclass{article}
\usepackage[inline]{asymptote}
\begin{document}
\begin{asy}
import graph3;
size(9cm, 7cm, IgnoreAspect);
currentprojection=perspective(4,2,2);
draw(Label("$y$",1),(0,0,0)--(0,3,0),black,Arrow3);
draw(Label("$x$",1),(0,0,0)--(3,0,0),black,Arrow3);
draw(Label("$z$",1),(0,0,0)--(0,0,3),black,Arrow3);
path3 P = (0,0,2)
--(3,0,2)
--(3,3,2)
--(0,3,2)
--cycle;
draw(surface(P), lightblue+opacity(0.8), light=nolight);
\end{asy}
\end{document}
答案1
您需要明确设置prc
和embed
为 true :
\documentclass{article}
\usepackage[inline]{asymptote}
\begin{document}
\begin{asy}
settings.prc=true;
settings.embed=true;
import graph3;
size(9cm, 7cm, IgnoreAspect);
currentprojection=perspective(4,2,2);
draw(Label("$y$",1),(0,0,0)--(0,3,0),black,Arrow3);
draw(Label("$x$",1),(0,0,0)--(3,0,0),black,Arrow3);
draw(Label("$z$",1),(0,0,0)--(0,0,3),black,Arrow3);
path3 P = (0,0,2)
--(3,0,2)
--(3,3,2)
--(0,3,2)
--cycle;
draw(surface(P), lightblue+opacity(0.8), light=nolight);
\end{asy}
\end{document}
稍微旋转后的结果: