使用 Psfrag 自动替换/渲染轴刻度

使用 Psfrag 自动替换/渲染轴刻度

我和一位朋友正在使用LaTeX 字体在报告中psfrag包括和编辑eps图表。但是,在包括 MatLab 图时,未替换的文本字体是 MatLab 导出的字体。这导致轴上的值未以 LaTeX 字体呈现。

有没有办法自动完成这个?手动操作真的很麻烦,我们不想经历。 在此处输入图片描述

答案1

我认为您需要输入一些数字,但以下意味着您只需执行

\psfragloop{-10}{10}{2}
\psfragloop{-150}{150}{50}

指定(*10)每个轴的起始值、结束值和步长。

正如所发布的,它只是键入,但如果你注释掉它并取消注释,%\x它应该会执行替换。我明白了

macro:->\psfrag {-1}{$-1$}
macro:->\psfrag {-0.8}{$-0.8$}
macro:->\psfrag {-0.6}{$-0.6$}
macro:->\psfrag {-0.4}{$-0.4$}
macro:->\psfrag {-0.2}{$-0.2$}
macro:->\psfrag {0}{$0$}
macro:->\psfrag {0.2}{$0.2$}
macro:->\psfrag {0.4}{$0.4$}
macro:->\psfrag {0.6}{$0.6$}
macro:->\psfrag {0.8}{$0.8$}
macro:->\psfrag {1}{$1$}
macro:->\psfrag {-15}{$-15$}
macro:->\psfrag {-10}{$-10$}
macro:->\psfrag {-5}{$-5$}
macro:->\psfrag {0}{$0$}
macro:->\psfrag {5}{$5$}
macro:->\psfrag {10}{$10$}
macro:->\psfrag {15}{$15$}

从运行这个:

\makeatletter

\def\tenth{%
\ifnum\count@<\z@-\fi
\expandafter\xtentha\number\ifnum\count@<\z@-\fi\count@\relax}

\def\xtentha#1#2{%
\ifx\relax#2%
  0\ifx0#1\else.#1\fi
\else
  #1\expandafter\xtenth\expandafter#2%
\fi}

\def\xtenth#1#2{%
\ifx\relax#2%
  \ifx0#1\else.#1\fi
\else
  #1\expandafter\xtenth\expandafter#2%
\fi}

\def\psfragloop#1#2#3{%
\count@#1
\loop
\edef\x{\noexpand\psfrag{\tenth}{$\tenth$}}%
%\x
\typeout{\meaning\x}%
\ifnum\count@<#2
\advance\count@#3
\repeat}

\makeatother

\psfragloop{-10}{10}{2}
\psfragloop{-150}{150}{50}


\stop

相关内容