我看了一些关于在图片上添加文本的帖子,但找不到对我有帮助的答案。如果有人能提出一种新方法或简单地提出一种更好地实现 tikz 或 overpic 的方法,我会很高兴,尽管 \begin{tikzpicutre} 或 \begin{overpic} 对我来说不起作用。此外,当我尝试 \put 时,它会将文本放在图像后面。
我正在写一份科学报告,我需要将图片编号为 A、B、C、D,这些图片都包含在同一个 \begin{figure} \end{figure} 中。我猜是因为我使用的是 \subfloat tikz,或者 overpic 不起作用。
有没有什么办法可以让我文本在左上角每个子浮点图像并可能选择颜色,字体和背景文本的?
\documentclass[12pt,a4paper]{report}
\usepackage[pdftex]{graphicx}
\usepackage{url}
\usepackage[bookmarks, colorlinks=false, pdfborder={0 0 0}, pdftitle={<pdf title here>}, pdfauthor={<author's name here>}, pdfsubject={<subject here>}, pdfkeywords={<keywords here>}]{hyperref}
\usepackage{mathptmx}
\usepackage{subfig} %for sub figures
\usepackage{float}
\usepackage[utf8]{inputenc}
\usepackage{graphicx}
\usepackage{amsmath} %use with \mathrm for non italic
\usepackage{upgreek} % for non-italic greek letters
\usepackage{amssymb}
\usepackage{setspace}
\usepackage{indentfirst}
\usepackage[percentpdf]{overpic}
\usepackage[style=nature]{biblatex}
\addbibresource{main.bib}
\usepackage{hyperref}
\begin{document}
\begin{figure}[H]
\centering
\hfill
\subfloat{\includegraphics[width=0.45\textwidth]{Images/img1.jpg}}
\hfill
\subfloat{\includegraphics[width=0.45\textwidth]{Images/img2.jpg}}
\subfloat{\hbox{\hspace{0em}\includegraphics[width=0.49\textwidth]{Images/img3.png}}}
\hfill
\subfloat{\hbox{\hspace{0.5em}\includegraphics[width=0.49\textwidth]{Images/img4.png}}}
\caption{ a) img1 b) img2 c) img3 d) img4}
\label{fig:imgs}
\end{figure}
\end{document}
答案1
这使用\llap
、\makebox
和\raisebox
来重叠文本。第一步是使用保存框测量图像的宽度和高度。
我使用\subfloat
子图是为了熟悉,但既然您知道宽度,您也可以轻松使用子图。第二幅图像覆盖了完整的子图标题。
\documentclass[12pt,a4paper]{report}
\usepackage{xcolor}
\usepackage[pdftex]{graphicx}
\usepackage{url}
\usepackage[bookmarks, colorlinks=false, pdfborder={0 0 0}, pdftitle={<pdf title here>}, pdfauthor={<author's name here>}, pdfsubject={<subject here>}, pdfkeywords={<keywords here>}]{hyperref}
\usepackage{mathptmx}
%\usepackage{subfig}% obsolete
\usepackage{subcaption}
\usepackage{float}
\usepackage[utf8]{inputenc}
\usepackage{graphicx}
\usepackage{amsmath} %use with \mathrm for non italic
\usepackage{upgreek} % for non-italic greek letters
\usepackage{amssymb}
\usepackage{setspace}
\usepackage{indentfirst}
\usepackage[percentpdf]{overpic}
\usepackage[style=nature]{biblatex}
\addbibresource{main.bib}
\usepackage{hyperref}
\begin{document}
\begin{figure}[ht]% friends don't let friends use [H]
\centering
\sbox0{\includegraphics[width=0.45\textwidth]{example-image-a}}%{Images/img1.jpg}}
\subfloat[]{\usebox0%
\llap{\makebox[\dimexpr \wd0-2pt][l]{% left side
\raisebox{\dimexpr \ht0-\ht\strutbox}[0pt][0pt]% top
{\textcolor{red}{Text goes here}}}}}
\hfil
\sbox1{\includegraphics[width=0.45\textwidth]{example-image-b}}%{Images/img2.jpg}}
\begin{subfigure}[b]{\wd1}
\usebox1%
\llap{\raisebox{\ht1}[0pt][0pt]{\begin{minipage}[t]{\dimexpr \wd1-4pt}
\captionsetup{font={color=red}, skip=0pt, singlelinecheck=off}%
\caption{A subfigure caption}
\end{minipage}\hspace{2pt}}}
\end{subfigure}
\vskip\floatsep
\subfloat[]{\includegraphics[width=0.49\textwidth]{example-image-c}}%{Images/img3.png}}}
\hfil
\subfloat[]{\includegraphics[width=0.49\textwidth]{example-image}}%{Images/img4.png}}}
\caption{ a) img1 b) img2 c) img3 d) img4}% begins and ends with \par
\label{fig:imgs}
\end{figure}
\end{document}