更新:我尝试使用 overpic 解决方案,效果很好。但问题是,有时我的实验设置会发生变化,我必须使用与 Matlab 不同的参数重现 eps 文件。这导致我再次重新调整坐标以对齐与图像中不同对象(eps 格式)相对应的 tex 代码。当我不得不经常这样做时,这很困难。有什么解决方案吗?
问:我有一张 Matlab 格式的实心矩形图像eps
。假设我没有其他方法可以生成相同的图像(这个矩形内还有其他复杂的东西)。我想标记这个矩形角的坐标。因此,我想插入一些文本形式
$(\lambda_{min},\lambda_{max})$
在图像内。Matlab 的内置编辑器不令人满意。LaTeX 中是否有任何选项可以执行相同的操作?
答案1
聚苯乙烯碎片是一个 LaTeX 包,允许将封装的 PostScript (EPS) 图形与任意 LaTeX 结构叠加。我知道它适用于使用 MATLAB 创建的图形,但我忘记是否有任何注意事项。我很少使用 MATLAB 为我的文档创建图片。我经常将 PSfrag 与 Xfig 一起使用。它包含在大多数 TeX 发行版中,KerTeX 除外。
答案2
这是一个非常简单的问题。在现有的 EPS 上叠加文本可以按如下方式进行。
创建一个新的输入文件,仅用于覆盖现有的 EPS。使用
standalone
文档类,这样我们就能得到一个紧凑的输出(所有外部的空白都会自动被修剪)。以下代码片段可以用作模板。密钥border
应该在最后阶段被删除。您需要更改
\filename
和\scale
(如有必要)。指定要放置标签的坐标。
latex-dvips-ps2pdf
使用(快得多)或(慢得多)编译此输入文件xelatex
以获得紧密的 PDF 输出。使用 从主输入文件中导入 PDF 输出,
\includgraphics
并使用 编译此主输入文件pdflatex
。完毕!
\documentclass[pstricks,border=12pt]{standalone}% remove border key in the final stage.
\usepackage{graphicx}
\def\filename{example-image-a}% change it to your filename
\def\scale{1}
\def\row{10}
\def\column{10}
\newsavebox\IBox
\savebox\IBox{\includegraphics[scale=\scale]{\filename}}
\psset
{
xunit=\dimexpr\wd\IBox/\column,
yunit=\dimexpr\ht\IBox/\row,
}
\begin{document}
\begin{pspicture}(\column,\row)
\rput[bl](0,0){\usebox\IBox}
\psgrid% turn this grid off in the final stage.
\rput(5,8){\color{red}\Huge$(\lambda_{min},\lambda_{max})$}
\end{pspicture}
\end{document}
答案3
使用上图,假设没有标记的 eps 文件可与 psfrag 一起使用。ctan 上的 overpic 相对示例。
借助覆盖网格将数学标签放置在目标位置。设置数学标签后,禁用网格,类似于 PSTricks 的答案。
\documentclass{article}
\usepackage[percent]{overpic}
\begin{document}
%\begin{overpic}[width=\linewidth,grid,tics=10]{sphere-example}
% sphere generated from matlab % sphere; cpmmand
\begin{overpic}[width=\linewidth]{sphere-example}
\put(0,15){\Large$\lambda_{max}$}
\put(40,-3){\Large$\lambda_{min}$}
\put(50,-3){\Large$\lambda_{min}$}
\put(98,10){\Large$\lambda_{max}$}
\end{overpic}
\end{document}
这psfrag 包
替换带标签的 eps 文件中的文本字符串(例如:x
、y
或 tags)。建议.eps
在适当位置生成带标签的(小标签),以便用 psfrag 替换它们。请参阅在 LATEX 中使用 Encapsulated PostScript 的指南了解更多 psfrag。
相关问题: 如何将 LaTeX 叠加到图片上?