我在 Ubuntu 16.04 LTS 上使用 TeX 3.14159265(TeX Live 2015/Debian),前端是 Texmaker 4.4.1。
我使用matlabfrag
脚本生成一个 eps 文件,用于psfragfig
pdflatex。EPS 文件基本上是两个光谱的 Matlab 半对数图。我已成功使用此技术在我的文档中使用了其他图matlabfrag
,唯一的区别是它们是线性比例图而不是对数图
但是,对于对数图,我收到以下图形处理错误并显示警告:
软件包 pstool 警告:执行过程中失败:latex -shell-escape -output-format=dvi -output-directory="./" -interaction=ba tchmode "f068a10019aalldatap5_spec-pstool.tex"
.eps 的配套 tex 文件内容如下:
% Generated using matlabfrag
% Version: v0.7.0devb04
% Version Date: 30-May-2013
% Author: Zebb Prime
%
\providecommand\matlabfragNegTickNoWidth{\makebox[0pt][r]{\ensuremath{-}}}%
%
%% <text>
%
\providecommand\matlabtextA{\color[rgb]{0.150,0.150,0.150}\fontsize{8}{8}\selectfont\strut}%
\psfrag{014}[tc][tc]{\matlabtextA Frequency, f(Hz)}%
\psfrag{015}[bc][bc]{\matlabtextA S(f) (m^2)}%
%
%% </text>
%
%% <xtick>
%
\psfrag{000}[ct][ct]{\matlabtextA $0$}%
\psfrag{001}[ct][ct]{\matlabtextA $0.5$}%
\psfrag{002}[ct][ct]{\matlabtextA $1$}%
\psfrag{003}[ct][ct]{\matlabtextA $1.5$}%
\psfrag{004}[ct][ct]{\matlabtextA $2$}%
\psfrag{005}[ct][ct]{\matlabtextA $2.5$}%
%
%% </xtick>
%
%% <ytick>
%
\psfrag{006}[rc][rc]{\matlabtextA 10^{-11}}%
\psfrag{007}[rc][rc]{\matlabtextA 10^{-10}}%
\psfrag{008}[rc][rc]{\matlabtextA 10^{-9}}%
\psfrag{009}[rc][rc]{\matlabtextA 10^{-8}}%
\psfrag{010}[rc][rc]{\matlabtextA 10^{-7}}%
\psfrag{011}[rc][rc]{\matlabtextA 10^{-6}}%
\psfrag{012}[rc][rc]{\matlabtextA 10^{-5}}%
\psfrag{013}[rc][rc]{\matlabtextA 10^{-4}}%
%
%% </ytick>
我尝试将日志标签更改为,例如,\matlabtextA $10^{-5}$
上面所示的标签。示例 eps 文件可以在这里找到这里。
pstool
(f068a10019aalldatap5_spec-pstool.tex)文件内容如下
\pdfoutput =0\relax
\documentclass[a4paper,12pt,3p,oneside,final,number,times,sort&compress]{article}
\usepackage[crop=pdfcrop]{pstool}
\usepackage{graphicx}
\pagestyle {empty}
\makeatletter
\def \thepage {\csname @arabic\endcsname \c@page }
\setcounter {page}{1}
\@input {samplepsfrag.oldaux}
\makeatother
\begin {document}
\makeatletter
\immediate \write \@mainaux {\@percentchar <*PSTOOLLABELS>}
\makeatother
\centering \null \vfill
\csname @input\endcsname {f068a10019aalldatap5_spec.tex}
\includegraphics [width=0.45\textwidth ] {f068a10019aalldatap5_spec}
\vfill
\makeatletter
\immediate \write \@mainaux {\@percentchar </PSTOOLLABELS>}
\makeatother
\end {document}
以下是 SWE 的代码
\documentclass[a4paper,12pt,3p,oneside,final,number,times,sort&compress]{article}
\usepackage[crop=pdfcrop]{pstool}
\usepackage{graphicx}
\begin{document}
Blah\\
\begin{figure*}
\begin{minipage}[t][0.3\textheight]{0.45\textwidth}
\psfragfig*[width=0.45\textwidth,height=0.3\textheight,keepaspectratio]{f068a10019aalldatap5_spec}
\\ \footnotesize{(a)}
\end{minipage}
\end{figure*}
\end{document
答案1
问题可以定位在\psfrag{015}[bc][bc]{\matlabtextA S(f) (m^2)}%
每一行使用 circumflex('^')
抑扬符的使用应在数学模式下进行,如\psfrag{015}[bc][bc]{\matlabtextA S(f) ($m^2$)}%
。同样,对数图的标签应读作\psfrag{006}[rc][rc]{\matlabtextA $10^{-11}$}%
和 类似