![将标题放在图片顶部](https://linux22.com/image/380757/%E5%B0%86%E6%A0%87%E9%A2%98%E6%94%BE%E5%9C%A8%E5%9B%BE%E7%89%87%E9%A1%B6%E9%83%A8.png)
我有一个由三个子图组成的图形,但它们都包含在一个 .png 文件中。图形的右下部分有一个空白区域,我想将图形标题显示在那里。是否可以将图形标题叠加在图形顶部,如下图所示?我尝试使用“overpic”,以及下面的 MWE,但它没有按说明工作。
\documentclass[]{article}%
\usepackage{graphicx}
\usepackage[demo,abs]{overpic}
\begin{document}
\begin{figure}[!ht]
\centering
\begin{overpic}[width=\textwidth]{TEMP.png}
\caption{Caption goes here}
\end{overpic}
\label{fig}
\end{figure}
\end{document}
答案1
答案2
图片模式!overmypicture
是一个包装器picture
,它将设置\unitlength
为参考内容的宽度(这是环境的强制参数)。参考内容放置在坐标处(0,0)
。坐标是参考内容宽度的倍数。整体尺寸与参考内容的尺寸相匹配。
\documentclass{article}
\usepackage{picture}
\usepackage{graphicx}
\newsavebox\mysavebox
\newenvironment{overmypicture}[1]
{%
\savebox\mysavebox{#1}%
\edef\myheight{\the\dimexpr\ht\mysavebox+\dp\mysavebox\relax}%
\edef\mywidth{\the\wd\mysavebox}%
\setlength\unitlength{\the\wd\mysavebox}%
\begin{picture}(\unitlength,\myheight)
\put(0,0){\unhbox\mysavebox}%
}
{%
\end{picture}%
}
\begin{document}
\begin{figure}[!ht]
\centering
\begin{overmypicture}{\includegraphics[width=\textwidth]{example-image-duck}}
\put(.5,.2){\parbox{.45\textwidth}{\caption{Caption goes here\label{fig}}}}%
\end{overmypicture}
\end{figure}
\end{document}