我是 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 需要(据我所知)位于您正在工作的目录中,等等。我的计算机知识很基础,我希望文档能提供这类信息。这样可以节省我很多时间。
打开命令提示符并输入:
Sketch -T image1.sk -o image1_standalone.tex pdflatex image1_standalone.tex
- 打开新创建的 image1_standalone.pdf 文件,检查我是否喜欢该图像的制作方式。
- 如果我不喜欢该图像,请重复上述步骤。
- 从 image1_standalone.tex 中,将 \usepackage{} 和 \usetikzlibrary{} 命令复制到我的 packages.tex 文件中。
- 创建 image1.tex 并粘贴代码
\begin{tikzpicture} ... \end{tikzpicture}
...可能被包围\begin{center} ... \end{center}
。 - 写入
\include{./images/image1/image1.tex}
chapter1.tex文件。 - 編輯最終文件。
简单示例代码:
\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
这与手册中的呈现效果相同。
希望这对您有帮助。