将乳胶添加到 Inkscape 中的图形中

将乳胶添加到 Inkscape 中的图形中

一段时间以来,我一直在使用 psfrag 将 latex 添加到图形中。我在 Inkscape 中制作图形,并使用 texniccenter 在 MikTex 中进行编译。我更换了笔记本电脑并安装了最新的 Inkscape 和 MikTex,然后 psfrag 停止工作。然后我将 Inkscape 降级为:Inkscape 0.48.0 r9654。无济于事。有人在使用 psfrag 时遇到过类似的问题吗?将乳胶添加到我们的图形中的标准方法是什么?

这是我用来将乳胶替换到图表中的代码。我做错了什么吗?

\documentclass[10pt]{article}

\usepackage[strings]{underscore}
\usepackage[top=1.0in,right=1in,left=1in,bottom=1.0in]{geometry}
\usepackage{enumerate}
\usepackage{wrapfig}
%\usepackage[outdir=./images]{epstopdf}

% [font=small,labelfont=bf] Required for specifying captions to tables and figures

\usepackage[dvips]{graphicx}
\usepackage[usenames]{color}
\usepackage{psfrag}
\usepackage{diagrams}
\usepackage[outdir=./]{epstopdf}
\usepackage{pstool}

\usepackage{amsmath}
\usepackage{amssymb}
\usepackage{amsthm}
%\usepackage{caption} 
\usepackage{float}

\begin{figure}[H]
\centering
\label{HasaRelation}
\psfrag{1}{\Huge $hasA$}
\includegraphics[height= 3cm]{images/HasaConstruction.eps}
\caption{something something}
\end{figure}

答案1

我不会使用它,而只是psfrag简单地将图像pdf+tex从 inkscape 导出。

例如如果你的图像在 inkscape 中看起来像这样:

在此处输入图片描述

您可以将其保存为.pdf并在导出时选择选项“省略 pdf 中的文本并创建 latex 文件”:

在此处输入图片描述

这将生成两个文件:一个仅包含红色椭圆但没有文本的 pdf 和一个.pdf_tex包含以下代码的文件:

%% Creator: Inkscape inkscape 0.92.2, www.inkscape.org
%% PDF/EPS/PS + LaTeX output extension by Johan Engelen, 2010
%% Accompanies image file 'drawing.pdf' (pdf, eps, ps)
%%
%% To include the image in your LaTeX document, write
%%   \input{<filename>.pdf_tex}
%%  instead of
%%   \includegraphics{<filename>.pdf}
%% To scale the image, write
%%   \def\svgwidth{<desired width>}
%%   \input{<filename>.pdf_tex}
%%  instead of
%%   \includegraphics[width=<desired width>]{<filename>.pdf}
%%
%% Images with a different path to the parent latex file can
%% be accessed with the `import' package (which may need to be
%% installed) using
%%   \usepackage{import}
%% in the preamble, and then including the image with
%%   \import{<path to file>}{<filename>.pdf_tex}
%% Alternatively, one can specify
%%   \graphicspath{{<path to file>/}}
%% 
%% For more information, please see info/svg-inkscape on CTAN:
%%   http://tug.ctan.org/tex-archive/info/svg-inkscape
%%
\begingroup%
  \makeatletter%
  \providecommand\color[2][]{%
    \errmessage{(Inkscape) Color is used for the text in Inkscape, but the package 'color.sty' is not loaded}%
    \renewcommand\color[2][]{}%
  }%
  \providecommand\transparent[1]{%
    \errmessage{(Inkscape) Transparency is used (non-zero) for the text in Inkscape, but the package 'transparent.sty' is not loaded}%
    \renewcommand\transparent[1]{}%
  }%
  \providecommand\rotatebox[2]{#2}%
  \ifx\svgwidth\undefined%
    \setlength{\unitlength}{595.27559055bp}%
    \ifx\svgscale\undefined%
      \relax%
    \else%
      \setlength{\unitlength}{\unitlength * \real{\svgscale}}%
    \fi%
  \else%
    \setlength{\unitlength}{\svgwidth}%
  \fi%
  \global\let\svgwidth\undefined%
  \global\let\svgscale\undefined%
  \makeatother%
  \begin{picture}(1,1.41428571)%
    \put(0,0){\includegraphics[width=\unitlength,page=1]{drawing.pdf}}%
    \put(0.30923193,0.68923333){\color[rgb]{1,1,1}\makebox(0,0)[lb]{\smash{$\mathcal{X}$}}}%
  \end{picture}%
\endgroup%

(如果您需要调整文本的颜色或位置,您可以简单地编辑此文件,只要确保您不会覆盖调整后的文件,以防您再次从 inkscape 导出)

该文件现在可以轻松包含在您的乳胶文档中

\documentclass{article}

\usepackage{graphicx}
\usepackage{color}

\begin{document}

\begin{figure}[htbp]
\centering
\label{HasaRelation}
\def\svgwidth{.3\textwidth}
\input{drawing.pdf_tex}
\caption{something something}
\end{figure}

\end{document}

使用 pdflatex(或 xe/lualtex)编译后结果如下:

在此处输入图片描述

相关内容