我在 3d 渐近线图方面遇到了一个奇怪的问题。没有标签时,它们会像正常图一样运行figure
,但是当我添加标签时,图表会移动到页面边缘...
梅威瑟:
\documentclass[12pt,a4paper,addpoints]{exam}
\usepackage{asymptote}
\begin{document}
\begin{figure}
\begin{asy}
import solids;
import three;
size(5cm);
currentprojection=orthographic(0,-5,3);
triple start = (0,0,1);
real length = 5;
real radius = 1;
triple ax = (0,0,1);
revolution r = cylinder(start,radius,length,ax);
draw(r,black);
revolution downcone=cone(Z,1,-3);
draw (downcone,black);
draw((-1,0,7)--(1,0,7),Arrows3);
draw((1.5,0,1)--(1.5,0,6),Arrows3);
draw((1.5,0,1)--(1.5,0,-2),Arrows3);
\end{asy}
%label("2m",(0,0,7),N);
%label("5m",(1.5,0,3.5),E);
%label("3m",(1.5,0,-0.5),E)
\caption{Graansilo}
\end{figure}
\end{document}
当我将注释label
行添加到asy
环境中时,事情开始出错...图表不再居中(或者至少在页面的可见区域),而是移动到边缘...
当尝试在一页上使用多个图表时,它们甚至会出现在彼此的之上...
我尝试改变label
行(添加$
,仅数字,仅字母),尝试改变视角。
还是没有线索...
编译 .asy 会出现“非法标记“\””,但这就是我所拥有的……
答案1
更换线路
\usepackage{asymptote}
在你的序言中
\usepackage[inline]{asymptote}
答案2
尝试这个:
\documentclass[12pt,a4paper,addpoints]{exam}
\usepackage{asymptote}
\begin{document}
\begin{figure}
\centering
\begin{asy}
import settings;
settings.prc=false;
settings.render=0;
import solids;
import three;
size(5cm);
currentprojection=orthographic(0,-5,3);
triple start = (0,0,1);
real length = 5;
real radius = 1;
triple ax = (0,0,1);
revolution r = cylinder(start,radius,length,ax);
draw(r,black);
revolution downcone=cone(Z,1,-3);
draw (downcone,black);
draw((-1,0,7)--(1,0,7),Arrows3);
draw((1.5,0,1)--(1.5,0,6),Arrows3);
draw((1.5,0,1)--(1.5,0,-2),Arrows3);
label("2m",(0,0,7),N);
label("5m",(1.5,0,3.5),E);
label("3m",(1.5,0,-0.5),E);
\end{asy}
\caption{Graansilo}
\end{figure}
\end{document}
编辑 对 OP 代码的更改:
- 标签取消注释并移至
asy
环境内部; ;
在第三个标签语句末尾添加了一个miss,这很可能就是导致问题的原因。noprc+render=0
添加设置以从 3D 绘图中获取矢量输出( ):
import settings;
settings.prc=false;
settings.render=0;