![我正在尝试使用 latex 生成我制作的图片的 pdf 和 svg 格式,但是使用 dvisvgm 工具会使我的 pdf 文件看起来很奇怪](https://linux22.com/image/475195/%E6%88%91%E6%AD%A3%E5%9C%A8%E5%B0%9D%E8%AF%95%E4%BD%BF%E7%94%A8%20latex%20%E7%94%9F%E6%88%90%E6%88%91%E5%88%B6%E4%BD%9C%E7%9A%84%E5%9B%BE%E7%89%87%E7%9A%84%20pdf%20%E5%92%8C%20svg%20%E6%A0%BC%E5%BC%8F%EF%BC%8C%E4%BD%86%E6%98%AF%E4%BD%BF%E7%94%A8%20dvisvgm%20%E5%B7%A5%E5%85%B7%E4%BC%9A%E4%BD%BF%E6%88%91%E7%9A%84%20pdf%20%E6%96%87%E4%BB%B6%E7%9C%8B%E8%B5%B7%E6%9D%A5%E5%BE%88%E5%A5%87%E6%80%AA.png)
感谢您阅读我的问题
介绍
我的latex编译环境是VSCode + Texlive + LaTeX 研讨会。
我想使用蒂克兹在 latex 中的工具包来绘制一些图片并生成.pdf 和.svg 图片。该工具韋斯維爾用于生成svg格式的图片。
我的想法是.pdf直接编译并生成西拉特克斯,而.svg生成如下:第一的,乳胶编译.tex文件到.dvi文件,然后使用韋斯維爾编译工具.dvi文件到.svg文件。
以下是我的编译环境配置(只列出我使用的编译方式):
乳胶工具
"latex-workshop.latex.tools": [
{
"name": "dvisvgm",
"command": "dvisvgm",
"args": [
// "-synctex=1",
// "-interaction=nonstopmode",
// "-file-line-error",
// "-pdf",
"%DOCFILE%.dvi"
]
},
{
"name": "latex",
"command": "latex",
"args": [
"-synctex=1",
"-interaction=nonstopmode",
"-file-line-error",
"%DOCFILE%"
]
},
{
"name": "xelatex",
"command": "xelatex",
"args": [
"-synctex=1",
"-interaction=nonstopmode",
"-file-line-error",
"%DOCFILE%"
]
},
],
乳胶配方
"latex-workshop.latex.recipes": [
{
"name": "XeLaTeX",
"tools": [
"xelatex"
]
},
{
"name": "LaTeX",
"tools": [
"latex"
]
},
{
"name": "DviSvgm",
"tools": [
"dvisvgm"
]
},
{
"name": "XeLaTeX -> LaTeX -> DviSvgm",
"tools": [
"xelatex",
"latex",
"dvisvgm"
]
},
],
问题描述
在执行我的想法的时候,我发现了以下问题。以下是我的代码和结果:
我的代码
\documentclass[dvisvgm,tikz]{standalone}
\usepackage{amsmath}
\usepackage{amssymb}
\usepackage{amsfonts}
\usepackage{upgreek}
\renewcommand{\familydefault}{\sfdefault}
%\usetikzlibrary{...}% tikz package already loaded by 'tikz' option
\begin{document}
\begin{tikzpicture}[scale=1]
% Draw a circle
\draw (0,0) circle (2cm);
% Draw a rectangle
\draw (3,0) rectangle (5,2);
% Draw an arrow
\draw[->] (6,1) -- (8,1);
% Label some points
\node at (0,0) [below] {Center};
\node at (4,1) {Rectangle};
\node at (7,1) [above] {Arrow};
\end{tikzpicture}
\end{document}
编译方式为:XeLaTeX -> LaTeX -> DviSvgm
以下是我的输出文件:
我的 .pdf
我的.svg(在visio中)
该 pdf 文件看起来完全错误!
在我的不断努力下,我发现了以下成果:
以下是我修改后的代码和最终结果
(我删除了韋斯維爾在选项中):
我的代码
\documentclass[tikz]{standalone}
\usepackage{amsmath}
\usepackage{amssymb}
\usepackage{amsfonts}
\usepackage{upgreek}
\renewcommand{\familydefault}{\sfdefault}
%\usetikzlibrary{...}% tikz package already loaded by 'tikz' option
\begin{document}
\begin{tikzpicture}[scale=1]
% Draw a circle
\draw (0,0) circle (2cm);
% Draw a rectangle
\draw (3,0) rectangle (5,2);
% Draw an arrow
\draw[->] (6,1) -- (8,1);
% Label some points
\node at (0,0) [below] {Center};
\node at (4,1) {Rectangle};
\node at (7,1) [above] {Arrow};
\end{tikzpicture}
\end{document}
编译方式为:XeLaTeX -> LaTeX -> DviSvgm
以下是我的新输出文件:
我的 .pdf
我的.svg
pdf 文件看起来更好
我的问题是,为什么添加韋斯維爾到[选项]制作编译的.pdf文件赛莱特错了吗?添加韋斯維爾选项?是否有任何另一种方式同时生成 .pdf 格式和 .svg 格式的图片?有没有更简单的方法?