一段时间以来,我一直在使用 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)编译后结果如下: