LibreOffice + Inkscape EPS-Latex

LibreOffice + Inkscape EPS-Latex

我正在尝试将在 LibreOffice Draw 中创建的图形导入 LaTeX 文档中。

到目前为止我已经尝试过以下方式:

  1. 将文档导出为 SVG 文件。
  2. 使用 Inkscape 打开并使用 eps+latex 导出
  3. 在 latex 中包含生成的 xxx.eps_tex

尽管 SVG 看起来很好(在 Inkscape 中也是如此),但是文本的导出位置很糟糕:

\begin{picture}(1,0.73115748)%
   \put(0,0){\includegraphics[width=\unitlength]{ModeDispersion.eps}}%
   \put(-0.05241193,0.78432034){\makebox(0,0)[lb]{\smash{Cladding (air)}}}%
   \put(-0.05241193,0.78432034){\makebox(0,0)[lb]{\smash{Substrate}}}%
   \put(-0.05241193,0.78432034){\makebox(0,0)[lb]{\smash{In}}}%
   \put(-0.05472789,0.25830639){\makebox(0,0)[lb]{\smash{Out}}}%
   \put(-0.05472789,0.25830639){\makebox(0,0)[lb]{\smash{Single-mode}}}%
\end{picture}%

等等。pdf+latex 也一样。

原始 LibreOffice(版本 4.0.1.2)文件和导出的 SVG: 奥德赛 SVG

我无法附加由 Inkscape(版本 0.48.3.1)创建的文件,因为 stackoverflow 告诉我,我需要至少 10 个声誉才能这样做...

有谁知道如何解决这个问题?

编辑:在 inkscpae 中显示:

Inkscape
(来源:x-linux.de

使用乳胶加工:

乳胶
(来源:x-linux.de

答案1

  • 由于相应编辑器的转换效率低下,您所采用的图形工作流程.odg--> .svg--> eps+tex/pdf+tex不是最佳的。

  • 建议选择图形格式总是.pdf除了屏幕截图(.png)和照片(.jpg)假设pdflatex引擎。

  • 采用“单一”转换步骤生成figure.pdf.svg.pdf 或者 .odg.pdf 不是将它们结合起来。

  • Inkscape导出到.pdflatex 字体(拉丁现代字体)或足够接近的字体,类似地自由办公室。我已成功更改字体并使用 Libreoffice 将您的绘图导出到.pdf。您甚至可以在 Inkscape 中绘图并导出为 pdf。

在此处输入图片描述

答案2

为什么不将您的绘图导出.png并像这样合并呢?

\documentclass{article}

\usepackage{pgf}

\begin{document}

\begin{center}
  \pgfimage[width=0.6\textwidth]{myshapes.png}
\end{center}

\end{document}

您将需要使用pdflatex来编译您的.tex文件。

您可以获取上述解决方案的全部文件这里。

答案3

从 LibreOffice 导出时,SVG XML 将导出为:

<svg>
   <text>
      <tspan>
         <tspan>
            <tspan>
            </tspan>
         </tspan>
      </tspan>
   </text>
</svg>

问题是 PDF 导出仅将坐标视为文本标记。我只是复制了 x、y 坐标进行文本标记。

我使用 python 进行了快速修复并在 gitgub 上分享:

https://github.com/thalesmaoa/libreoffice-Calc-SVG-Latex

结果正是我想要的:

在此处输入图片描述

相关内容