提问于:
浏览数:
6186
5 回答
1
目前主要还是靠 `tikz` 等包提供的功能画图。
有网站可以生成和图对应的代码,例如 https://www.geogebra.org/
1
现在已经有的 比如 matlab2TiKZ 看看这里:
[https://github.com/matlab2tikz/matlab2tikz](https://github.com/matlab2tikz/matlab2tikz)
比如, inkscape2tikz 也可以的, 地址:
[https://github.com/halamalala/inkscape2tikz](https://github.com/halamalala/inkscape2tikz)
-
inkscape2tikz这个项目没有使用说明,readme太简略了,有点难懂。matlab2tikz还行,但是matlab可以直接修改图片,导出图片反而更方便 – 青莲剑仙 2019-09-29 19:44 回复
1
在LaTeX中用代码绘图主要有TiKZ和Asymptote两种方式,TiKZ代码可以直接嵌入到LaTeX中,Asymptote需要多带带来实现,然后用宏包实现图的插入。
个人极不推荐用其它软件转换成绘制代码,主要有3个原因:
1. 各类软件转换的代码,往往会有很多无法处理的“垃圾代码”,这可能会产生绘图效率低等 问题。
2. 各类软件转换的代码,特别是复杂一些图形,其代码可读性和可维护性都极低,不便于交流和协作,并且会给代码后期维护带来极大的困难。
3. 使用其它软件转换代码,必将对该软件产生依赖,这样会降低LaTeX代码的灵活性。
个人推荐,直接用TiKZ绘图,现在有大量专用宏包和开源实例代码,往往只需要简单调用宏包并能实例代码进行适当调整,就可以满足自己的需求。
建议用`texdoc tikz`阅读TiKZ的使用手册,以学习其基本语法和使用规则。
1
1. 不建议使用其他绘图程序自动生成的代码,机器形成的代码很难读,而且有很多冗余的东西,人写的会简洁一些。
2. 不建议在文档中直接用代码画图,编译整篇文档,特别是长文档的时间成本太高了,想想你每次排版的时候都把插图重画一遍,这又是何必呢?当然,如果你的插图中有些内容和你的文本有交叉引用,那是另外一种情况。一般情况下,用代码画好,直接插入图片引用是比较方便的。
0
谢谢大家,我后来找到了,除了tikz包加了
\usetikzlibrary{arrows,shapes}
就可以啦。
常用的library还有很多,但怎么知道什么时候加哪个,我还不是很清楚。
\usetikzlibrary{trees}
\usetikzlibrary{matrix,arrows}
\usetikzlibrary{intersections}
\usetikzlibrary{shadows}
\usetikzlibrary{positioning}
\usetikzlibrary{calc,through}
\usetikzlibrary{decorations.pathreplacing}
你的回答
请登录后回答
你的回答将会帮助更多人,请务必认真回答问题。