![将 visio 文件转换为 latex 的 eps 文件时出现问题](https://linux22.com/image/255856/%E5%B0%86%20visio%20%E6%96%87%E4%BB%B6%E8%BD%AC%E6%8D%A2%E4%B8%BA%20latex%20%E7%9A%84%20eps%20%E6%96%87%E4%BB%B6%E6%97%B6%E5%87%BA%E7%8E%B0%E9%97%AE%E9%A2%98.png)
我现在正在使用 LaTeX 撰写论文。我尝试使用 Microsoft Visio 绘制流程图,并希望创建eps
文件以便合并到 LaTeX 文档中,在转换过程中,我遇到了以下问题:
- 当我使用
metafiletoeps.exe
转换器时,流程图中的字体会转换为位图字体而不是矢量字体。
- 当我将 visio 文档保存为
svg
文件并使用 inkscape 重新打开时,流程图中的字体重叠或超出流程图符号边界。 - 当我使用 pdfcreator 打印 visio 文档以转换为
eps
文件时,流程图内的字体在文档中显示为位图eps
。
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
类的使用的评论。