使用 pdf latex 在文章中使用渐近线插入图像

使用 pdf latex 在文章中使用渐近线插入图像

我正在使用 TexStudio,并想使用 asymptote 插入 3D 交互式图像。我找到了一些关于如何使用独立模式生成 asymptote 3D 交互式图像的示例。现在,我想将它们插入到 latex 文档中。Asymptote 是使用 MikTex 控制台安装的。

我想知道,

  1. 如何将这些交互式 3D 文件包含到 latex pdf 文档中?
  2. 如果我必须在编译乳胶代码时动态生成图像,最好的方法是什么?

第一季度的信息:下面给出了使用 asymptote.exe 生成 3D 交互式 pdf 的代码。

import three;

currentprojection=perspective(300,-650,500);
currentlight.background=paleyellow;

surface carbon=scale3(1)*unitsphere; // 1 pm
surface hydrogen=scale3(1)*unitsphere; // 1 pm

triple px=(1,0,0);
triple py=(0,1,0);
triple pz=(0,0,1);
triple nx=(-1,0,0);
triple ny=(0,-1,0);
triple nz=(0,0,-1);

real d1=10;

triple p1=(0,0,0);
triple p2=p1+px*d1;
triple p3=p2+py*d1;
triple p4=p3+nx*d1;
triple p5=p1+pz*d1;
triple p6=p2+pz*d1;
triple p7=p3+pz*d1;
triple p8=p4+pz*d1;
triple p9=p1+px*d1*0.5+py*d1*0.5+pz*d1*0.5;

pen blue=rgb(0,0.01,0.99);
pen lime=rgb(0.5,0.5,0);
pen green=rgb(0,1,0);

defaultrender=render(compression=Zero,merge=true);

draw(shift(p1)*carbon,blue);
draw(shift(p2)*carbon,blue);
draw(shift(p3)*carbon,blue);
draw(shift(p4)*carbon,blue);
draw(shift(p5)*carbon,blue);
draw(shift(p6)*carbon,blue);
draw(shift(p7)*carbon,blue);
draw(shift(p8)*carbon,blue);
draw(shift(p9)*carbon,green);

pen thick=linewidth(0.3);

draw(p1--p2--p3--p4--cycle,thick);
draw(p5--p6--p7--p8--cycle,thick);
draw(p1--p5,thick);
draw(p2--p6,thick);
draw(p3--p7,thick);
draw(p4--p8,thick);

有没有一种方法可以将通过上述代码生成的pdf插入到Latex中的文章类文档中?

第二季度的信息:我正在尝试插入一个简单的 2D 图片。但是,生成的 pdf 不包含任何图形元素!我使用的代码如下所示。

\documentclass[a4paper]{article}
\usepackage{graphicx}
\usepackage{asymptote}
\begin{document}
    This is my first experiment.
    \begin{asy}
        settings.outformat="pdf";
        draw((-.1,0) -- (2,0));
        draw((0,-.1) -- (0,2));     
    \end{asy}
\end{document} 

我可以直接将 Q1 给出的代码用于 latex 文章类文档并生成直接输出吗?如果可以,上述程序应该如何更改?哪种方法最有效?

我已经在 Windows PC 上安装了 ghostscript。我正在使用 pdflatex 进行编译。

更新: 对于问题 1:我所说的“交互式”是指可以通过使用鼠标旋转来查看的 3D 图形。

对于问题 2:我测试了我的编译目录,发现在编译代码时会生成 filename-1.asy 文件。编译时,会生成以下消息:

return settings.outformat == "html" || settings.outformat=="v3d" || settings.v3d; ^ *\Programs\MiKTeX/asymptote/plain_shipout.asy: 36.79: no matching field of name 'v3d' in 'settings'

用于编译文件的命令是:pdflatex->asy-pdf-chain->pdflatex->compile->view。

更新-2: 我已经卸载了 MikTex、TexStudio,清理了所有文件夹并重新安装。现在,我没有收到之前提到的错误。

现在我的 Windows 操作系统包含 2 个 asymptote 设置。一个是通过 MikTex 控制台,另一个是直接安装的。编译 tex 文件时,ide 会生成 asy 文件,但无法编译它并生成相应的 pdf 文件以包含在最终文档中。当我手动双击 IDE 生成的 asymptote 文件时,pdf 文件可以生成并包含在文件文档中。因此,第二个问题得到部分解决。

按照相同的程序,Q1 中的代码保存在单独的 asy 文件中并执行。这导致生成所谓的 3d 交互式 pdf 文件。当将相同的代码编译为 tex 文件的一部分时,它只能生成 2D 图形。可能需要对代码进行哪些修改才能将其包含在 asy 代码中,以便在最终文档中显示交互式图形?

相关内容