我只是想提出这个问题:我最近更新了 asymptote (现在是 2.85) 和 ghostscript (gs10.01.1) 的版本,因此我完全无法编译.tex
用于生成嵌入式 3D pdf 文件的文件。我使用 TeXmaker,命令/路径定义为:
正在运行的 asymptote 命令是
"C:/Program Files/MiKTeX 2.9/miktex/bin/x64/asy.exe" -f pdf -noview %.asy|"C:/Program Files (x86)/Adobe/Acrobat Reader DC/Reader/AcroRd32.exe" %.pdf
例如,代码生成质量很差.pdf
,没有交互性。几年前,我可以.pdf
轻松嵌入 3D:
\documentclass{article}
\usepackage[inline]{asymptote}
\begin{document}
\begin{asy}[height=8cm,viewportwidth=\linewidth]
import settings;
import three;
import macros3D;
size(12cm);
real a=6, b=4, c=2, d=1;
currentprojection=orthographic(120*a/3,-120*b,120*2c/3);
transform3 T=shift(0,0,c);
triple A=(0,0,0), B=(a,0,0), C=(a,b,0), D=(0,b,0),
pE=T*A, F=T*B, G=T*C, H=T*D, P=(a-d,0,0);
pen ps=lightmagenta+opacity(.5), pT=bp+linetype("4 4");
draw(A--B--C--G--H--pE--F--G^^pE--A^^F--B,linewidth(bp));
draw(A--D--C^^H--D,pT);
draw(surface(H--D--P--cycle),ps,pT);
draw(surface(H--P--C--cycle),ps,pT);
draw(surface(H--D--C--cycle),ps,pT);
draw(surface(D--P--C--cycle),ps,pT);
label("$A$",A,S); label("$B$",B,SE); label("$C$",C,E);
label("$D$",D,NW); label("$E$",pE,NW+2W); label("$F$",F,SE);
label("$G$",G,E); label("$H$",H,N); label("$P$",P,SW);
cote3D(format("$%f$~cm",a),G,H,unit(H-pE));
cote3D(format("$%f$~cm",b),H,pE,3mm,unit(pE-F));
cote3D(format("$%f$~cm",c),pE,A,3mm,unit(pE-F));
cote3D(format("$%f$~cm",d),P,B,unit(B-F),red);
\end{asy}
\end{document}```
I have been using ASY/Latex for like years I have never had to struggle like that, I must have missed something on the way...
Anyway... could someone provide me with a fonctional example of 3D embeding or any help about that ?
Thanks a lot !
答案1
因此,事实证明,在加载库之前添加settings.outformat="pdf";
并settings.prc=true;
解决了问题,但我很想知道发生了什么变化,因为我们过去不需要这样做,不是吗?