我经常将图形放入 raisebox 中,例如:
\raisebox{1cm}{\includegraphics{myfigure}}
是否可以使用类似的东西来做到这一点
\begin{asy}
size(1cm);
draw((0,0)--(1,1));
\end{asy}
环境代替 \includegraphics{myfigure}?如果直接替换,会出现错误,我认为这是因为您不能将 asy 环境作为 TeX 命令的参数。我不想使用 includegraphics,因为我想利用 asymptote 的 3D PRC 图形。
答案1
定义一个箱子:
\documentclass{article}
\usepackage{asymptote}
\newsavebox{\myasybox}
\begin{document}
Normal
\begin{asy}
size(1cm);
draw((0,0)--(1,1));
\end{asy}
Normal
Raised
\begin{lrbox}{\myasybox}
\begin{asy}
size(1cm);
draw((0,0)--(1,1));
\end{asy}
\end{lrbox}\raisebox{-.5\height}{\usebox{\myasybox}}
Raised
\end{document}
答案2
您说得对,您不能将asy
环境作为 TeX 命令的参数。但还有其他几个选择:
- 通常,您可以在绘图中添加一条不可见的线或点,
asy
以便在底部获得额外的空白。不幸的是,这个概念并不适用于交互式prc
图形,因为不可见的点/线会随着图形的其余部分旋转。 实际上,您可以将
asy
环境放在节点内部tikz
。(Ti钾Z“发挥了一些魔力”,使得\node
命令的行为就像环境一样。)所以,像这样(未经测试):\begin{tikzpicture} \draw [white] (0,0) (0,1) node [above right] {% \begin{asy} size(1cm); draw((0,0)--(1,1)); \end{asy} }; \end{tikzpicture}