以下代码片段生成一个具有两个并排子图的图形:
\begin{figure}[H]
\centering
\begin{subfigure}[b]{0.4\textwidth}
\includegraphics[width=\textwidth,height=5cm]{osc_fft_rect.jpg}
\caption{Espectre de la resposta al tren de polsos rectangulars}
\label{fig:4a}
\end{subfigure}
~
\begin{subfigure}[b]{0.4\textwidth}
\includegraphics[width=\textwidth,height=5cm]{osc_fft_tri.jpg}
\caption{Espectre de la resposta al tren de polsos triangulars}
\label{fig:4b}
\end{subfigure}
\caption{}
\label{fig:4}
\end{figure}
这是输出:(我喜欢)
现在我想突出显示两个示波器的特定区域。为了实现这一点,我使用 tikz 绘制红色矩形,如这个问题。
我把以前的代码修改如下:
\begin{figure}[H]
\centering
\begin{subfigure}[b]{0.4\textwidth}
\begin{tikzpicture}
\node[anchor=south west,inner sep=0] (image) at (0,0) {\includegraphics[width=\textwidth,height=5cm]{osc_fft_rect.jpg}};
\begin{scope}[x={(image.south east)},y={(image.north west)}]
\draw[red,ultra thick,rounded corners] (0.65,0.10) rectangle (1,0.20);
\end{scope}
\end{tikzpicture}
\end{subfigure}
\caption{Espectre de la resposta al tren de polsos rectangulars}
\label{fig:4a}
~
\begin{subfigure}[b]{0.4\textwidth}
\begin{tikzpicture}
\node[anchor=south west,inner sep=0] (image) at (0,0) {\includegraphics[width=\textwidth,height=5cm]{osc_fft_tri.jpg}};
\begin{scope}[x={(image.south east)},y={(image.north west)}]
\draw[red,ultra thick,rounded corners] (0.65,0.08) rectangle (1,0.18);
\end{scope}
\end{tikzpicture}
\end{subfigure}
\caption{Espectre de la resposta al tren de polsos triangulars}
\label{fig:4b}
\end{figure}
但是,这是我得到的输出:
请注意,图形的分布已经发生变化,并且它们也被视为单独的图形(图 4 和图 5,而不是图 4a 和 4b)。
我怎样才能恢复原始子图分布(并排)?
这是我的文档的序言:
\documentclass{article}
\usepackage[catalan]{babel}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[a4paper,top=1.75truecm,bottom=1.75truecm,left=1.75truecm,right=1.75truecm]{geometry}
\usepackage{datetime}
\usepackage{listings}
\usepackage{graphicx}
\usepackage{caption}
\usepackage{subcaption}
\usepackage{epstopdf}
\usepackage{amsmath}
\usepackage{amssymb}
\usepackage{gensymb}
\usepackage{bm}
\usepackage{multicol}
\usepackage{multirow}
\usepackage{tabto}
\usepackage{float}
\usepackage{pgfplots}
\usepackage{tikz}
\setcounter{section}{2}
\usepackage[hidelinks]{hyperref}
答案1
子图的标题应在subfigure
环境内。尝试以下 MWE 是否给出您想要获得的内容:
\documentclass{article}
%\usepackage[catalan]{babel}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[a4paper,
top=1.75truecm,bottom=1.75truecm,
left=1.75truecm,right=1.75truecm]{geometry}
%\usepackage{datetime}
%\usepackage{listings}
\usepackage{graphicx}
\usepackage{caption}
\usepackage{subcaption}
%\usepackage{epstopdf}
%\usepackage{amsmath}
%\usepackage{amssymb}
%\usepackage{gensymb}
%\usepackage{bm}
%\usepackage{multicol}
%\usepackage{multirow}
%\usepackage{tabto}
%\usepackage{float}
%\usepackage{pgfplots}
\usepackage{tikz}
\setcounter{section}{2}
\usepackage[hidelinks]{hyperref}
\begin{document}
\begin{figure}[htb]
\centering
\begin{subfigure}[b]{0.4\textwidth}
\begin{tikzpicture}
\node[inner sep=0] (image) {\includegraphics[width=\linewidth] {example-image-a}};;
\begin{scope}[x={(image.south east)},y={(image.north west)}]
\draw[red,ultra thick,rounded corners] (0.65,0.10) rectangle (1,0.20);
\end{scope}
\end{tikzpicture}
\caption{Espectre de la resposta al tren de polsos rectangulars}
\label{fig:4a}
\end{subfigure}
~
\begin{subfigure}[b]{0.4\textwidth}
\begin{tikzpicture}
\node[anchor=south west,inner sep=0] (image) {\includegraphics[width=\linewidth] {example-image-b}};
\begin{scope}[x={(image.south east)},y={(image.north west)}]
\draw[red,ultra thick,rounded corners] (0.65,0.08) rectangle (1,0.18);
\end{scope}
\end{tikzpicture}
\caption{Espectre de la resposta al tren de polsos triangulars}
\label{fig:4b}
\end{subfigure}
\end{figure}
\end{document}
我评论了所有与该图无关的包。