LaTeX + Sketch:工作流程——可以更简单吗?

LaTeX + Sketch:工作流程——可以更简单吗?

我是 LaTeX 的新手,草图,甚至使用命令行。我的目标是下学期为物理、数学、化学和工程本科课程写出高质量的作业文档。我正在休息,所以我觉得这是学习的好时机。

我最近下载了 Sketch 以便与 LaTex 一起使用。您会在底部找到一段简化的工作代码。

顺便说一下,我使用的是 Windows 8。


我正在尝试创建一个包含 Sketch 生成的代码的文档。下面我将详细介绍我的工作流程。我的问题是:有没有更简单的方法来做到这一点???

从我所见,Sketch 非常强大,而且 3D 图像比单独使用 PSTricks 更容易编写。我愿意学习 Sketch。但是,如果有另一个软件或套件与 Sketch 一样强大,但使用起来更简单,那就太好了。(Inkscape 是一个好的替代品吗?)


我的项目文件层次结构如下所示。我使用命令\input{...}来执行此操作。特别注意 image1 文件夹。

  • 项目
    • 项目.tex
    • 内容
      • chapter1.tex(我想在这里包含图像。)
    • 格式化
      • packages.tex 等
    • 图片
      • 图片1
        • 草图大师
        • 命令提示符(设置为在此目录中打开。)
        • 图像1.sk
        • image1_standalone.tex(包含图像代码,以便可以将其编译为独立的 PDF。)
        • image1.tex(包含图像的代码,以便可以通过将其包含在最终文档中\input{}。)

据我所知,根据我当前的工作流程,每个图像文件夹都需要所有这些文件。


目前,我的工作流程如下:

  1. 在 image1.sk 中为我的图像编写 Sketch 代码并将其放在global {language tikz}最后。
    • (据我所知,文档中没有明确提到这一点。找到了提示这里。如果没有此命令,图像根本无法编译。这可能是因为如果没有此命令,Sketch 会生成 PostScript 代码?
    • 离题的吐槽:文档希望用户知道命令提示符是什么、如何使用它、如何更改目录、Sketch.exe 需要(据我所知)位于您正在工作的目录中,等等。我的计算机知识很基础,我希望文档能提供这类信息。这样可以节省我很多时间。
  2. 打开命令提示符并输入:

    Sketch -T image1.sk -o image1_standalone.tex
    pdflatex image1_standalone.tex
    
  3. 打开新创建的 image1_standalone.pdf 文件,检查我是否喜欢该图像的制作方式。
    • 如果我不喜欢该图像,请重复上述步骤。
  4. 从 image1_standalone.tex 中,将 \usepackage{} 和 \usetikzlibrary{} 命令复制到我的 packages.tex 文件中。
  5. 创建 image1.tex 并粘贴代码\begin{tikzpicture} ... \end{tikzpicture}...可能被包围\begin{center} ... \end{center}
  6. 写入\include{./images/image1/image1.tex}chapter1.tex文件。
  7. 編輯最終文件。

简单示例代码:

    \documentclass[pdftex,12pt,letterpaper]{report}

    \usepackage[x11names,rgb]{xcolor}
    \usepackage{tikz}
    \usetikzlibrary{snakes}
    \usetikzlibrary{arrows}
    \usetikzlibrary{shapes}
    \usetikzlibrary{backgrounds}
    \usepackage{amsmath}

    \usetikzlibrary{snakes}
    \usetikzlibrary{arrows}
    \usetikzlibrary{shapes}
    \usetikzlibrary{backgrounds}


    \begin{document}
    \begin{center}
    \begin{tikzpicture}[line join=round]
    \draw(-1,-1)--(.333,.333);
    \filldraw[fill=white](0,0)--(1,0)--(0,1)--cycle;
    \draw(.333,.333)--(2,2);
    \end{tikzpicture}
    \end{center}
    \end{document}

答案1

我今天开始使用 的组合lualatex+tikz+sketch,后者是最新添加的。我将 sketch.exe 解压到与我的 MikTeX 二进制文件相同的目录中,因为路径已设置,并且我通常只在 LaTex 中使用它。

我第一次尝试的工作流程是使用以下内容:

\RequirePackage{filecontents}      
% Save the sketch as test-sk.sk 
\begin{filecontents*}{test-sk.sk}% from the sketch manual p13
def n_cyl_segs 20 def n_views 5 def I [1,0,0]
def endopts [fillcolor=lightgray]
repeat { n_views, rotate(180/n_views, [I]) then translate([I] * 2.1) }
sweep[endopts]{ n_cyl_segs<>, rotate(360/n_cyl_segs, [0,1,0]) }
line[fillcolor=white](1,-1)(1,1)

global { language tikz } 
\end{filecontents*}% the last statement was not clear, but it is required.

\immediate\write18{sketch  test-sk.sk -o sk-test.tex } %process the sketch

\documentclass{standalone}

\usepackage{tikz}

\begin{document}

\input{sk-test.tex}

\end{document}

sketch这与手册中的呈现效果相同。

希望这对您有帮助。

相关内容