将 visio 文件转换为 latex 的 eps 文件时出现问题

将 visio 文件转换为 latex 的 eps 文件时出现问题

我现在正在使用 LaTeX 撰写论文。我尝试使用 Microsoft Visio 绘制流程图,并希望创建eps文件以便合并到 LaTeX 文档中,在转换过程中,我遇到了以下问题:

  1. 当我使用metafiletoeps.exe转换器时,流程图中的字体会转换为位图字体而不是矢量字体。

问题 1

  1. 当我将 visio 文档保存为svg文件并使用 inkscape 重新打开时,流程图中的字体重叠或超出流程图符号边界。 问题 2 问题 2
  2. 当我使用 pdfcreator 打印 visio 文档以转换为eps文件时,流程图内的字体在文档中显示为位图eps问题 3

eps在将 visio docs 转换为 eps 文件格式时,如何才能使矢量格式的字体正确无误?

答案1

如果你有兴趣使用 PSTricks 创建流程图,我提供了以下模板。

在此处输入图片描述

\documentclass{article}

\usepackage{pst-node}
\usepackage{pst-blur}
\definecolor{Pink}{rgb}{1.,0.75,0.8}

\usepackage[active,tightpage]{preview}
\PreviewEnvironment{psmatrix}
\renewcommand\PreviewBbAdjust{-8mm 7mm 9mm 1mm}

\begin{document}

\begin{psmatrix}[rowsep=0.6,colsep=0.5]
\psovalbox[fillstyle=solid,fillcolor=yellow,shadow=true]{Begin} \\
\psdblframebox[framearc=.4,fillstyle=solid,fillcolor=pink]{row2col1}\\
\psframebox[shadow=true]{row3col1}&\psframebox[shadow=true]{row3col2} \\
\psdiabox[shadow=true]{row4col1}&\psframebox[shadow=true]{row4col2} \\
\psframebox[shadow=true]{row5col1}&\psframebox[shadow=true]{row5col2}\\
\psframebox[shadow=true]{row6col1}&\psframebox[shadow=true]{\bf row6col2}&row6col3 \\
\psdblframebox[framearc=.4,fillstyle=solid,fillcolor=pink]{row7col1}&\psframebox[shadow=true]{\bf row7col2}&row7col3\\

%top frame
\psframe[linestyle=dashed](-1,5.3)(2.35,2)
\rput{0}(-1.3,4.5){\rotateleft{TopFrame}}
\psframebox[shadow=true]{row8col1}&\psframebox[shadow=true]{\bf row8col2}&row6col3\\
\psframebox[shadow=true]{\begin{tabular}{c}row9col1-line1\\row9col1-line2\end{tabular}}&\psframebox[shadow=true]{\bf row9col2}&row9col3\\
\psframebox[shadow=true]{row10col1}&\psframebox[shadow=true]{row10col2}\\
row11col1\\
\psovalbox[fillstyle=solid,fillcolor=yellow,shadow=true]{end} \\

\ncline{->}{1,1}{2,1}
\ncline{->}{2,1}{3,1}

\ncline{->}{3,1}{4,1}
\ncline{4,2}{5,2}
\ncline{->}{4,1}{4,2}
\ncline{4,1}{5,1}
\ncline{->}{5,1}{6,1}
\ncline{->}{5,1}{6,2}

\ncline{->}{6,1}{7,1}
\ncline{->}{6,1}{6,2}
\ncline{->}{7,1}{8,1}
\ncline{->}{8,1}{9,1}
\ncline{->}{9,1}{10,1}
\ncline{->}{10,1}{11,1}
\ncline{->}{11,1}{12,1}

\ncline{->}{12,1}{12,2}

\ncline{->}{7,2}{8,2}
\ncline{->}{8,2}{9,2}
\ncline{->}{9,2}{10,2}

\psline[linecolor=blue]{->}(5.2,7)(6.5,7)(6.5,8.3)(5.2,8.3)
\psline[linecolor=blue]{->}(6.5,8.3)(6.5,5.8)(5.2, 5.8 )
\psline[linecolor=blue]{->}(6.5,5.8)(6.5,4.4)(5.2,4.4)

\end{psmatrix}
\end{document}

答案2

这是一个解决方法。
(但如果您计划.eps向会议卷编辑器提供文件,那么这个技巧就没用了)


Visio

  • 使用 Visio 根据绘图调整页面大小
    • 文件 --> 页面设置 --> 页面大小 --> Size to fit drawing contents。应用并关闭此对话框。
  • 将文件另存为 .PDF
  • 打开它并验证内容。

乳胶

  • \usepackage{epsfig}.tex文件 中使用。

  • 使用\includegraphics{<path>/<PDF_File_Name>} %(no file extension)

  • 将生成的<PDF_File_Name>.PDF文件复制到<path>,创建它的副本并将其重命名为<PDF_File_Name>.eps

现在构建.tex.LaTeX
并将其很好地包含<PDF_File_Name>.PDF到 LaTeX 输出中。


编辑1

工作示例:
前提条件:File1.PDF 和 File1.eps 存在

% Using 'journal' as a document class to compile the .tex file.
% Workaround is is not related to this class.
\documentclass{journal}
\usepackage{epsfig}
\begin{document}
   \begin{figure}
      \includegraphics{File1}
   \end{figure}
\end{document}

编辑2:添加了对journal类的使用的评论。

相关内容