Latex 子图将索引放在带有图片环境的图形内部

Latex 子图将索引放在带有图片环境的图形内部

我想要实现的目标
我想并排放置几个图形,并且我想将图形索引放在左上角的图形内。

我目前所做的
第一部分,即图像可以通过使用轻松地并排放置在网格中subfig。但仅使用subfig图像索引无法将其放在图中。为此,我使用了 latexpicutre环境,并想出了这个


\documentclass[a4,12pt]{article}
\textheight 9.0in
\textwidth 6.8in
\topmargin -0.7cm
\oddsidemargin -0.5cm
\renewcommand{\baselinestretch}{1.5}


\usepackage{graphicx}  
\usepackage{subfig} 
\usepackage{hyperref} 
\usepackage{color} 


\captionsetup[subfigure]{justification=raggedright,farskip=12pt,captionskip=12pt,position=auto,labelfont=bf,labelformat=empty}
\hypersetup{colorlinks=true,citecolor=blue,linkcolor=blue}


\newcommand{\len}{}

\setlength{\unitlength}{0.2\textheight}


\begin{document}
    
\begin{figure}[!htp]
\centering

\subfloat[Sample fig 1 \label{mysubfig1}]{
    \begin{picture}(1,1)
        \put(0,0){\includegraphics[height=0.2\textheight]{example-image-a}}
        \put(0,0.9){(a)}
    \end{picture}
}
    
\subfloat[Sample fig 2 \label{mysubfig2}]{
    \begin{picture}(1,1)
        \put(0,0){\includegraphics[height=0.2\textheight]{example-image-b}}
        \put(0,0.9){(b)}
    \end{picture}
}\\
    
        \caption{A sample image grid with \ref{mysubfig1}, \ref{mysubfig2}. }
        \label{fulfig1}
\end{figure}
    
        
    
\end{document}

问题
这些模型不能并排摆放,它们看起来像一个在另一个的底部。而且尺寸也不太方便携带,我必须通过反复试验来设置它们。

有什么方法可以将图形很好地并排放置,并将图像索引放在图形内部的左上角。

答案1

  • 为了使图像并排显示,请删除subfloat图像之间的空行。
  • 但这样做后,您仍会在下方看到子标题文本。这是您想要的吗?或者您想删除此文本?
  • 由于图像太宽,所以会重叠。使用\includegraphics选项“width=... . For example withwidth=0.4\textwidth”限制其宽度。
  • 目前尚不清楚,图像是否应该分开一定距离或应该相互接触。

解决问题的一种方法是使用tikz包和以下稍长的代码:

\documentclass{article}
\usepackage{tikz}
\usepackage{graphicx}
\usepackage{caption}
\usepackage{subcaption}
\usepackage{hyperref} 
\hypersetup{colorlinks=true,citecolor=blue,linkcolor=blue}

\begin{document}
    \begin{figure}
    \captionsetup[subfigure]{labelformat=empty}

    \tikzset{inner sep=0pt}
    \setkeys{Gin}{width=0.45\textwidth}
    \centering
\subfloat[\label{mysubfig1}]{%
\tikz{\node (a) {\includegraphics{example-image-a}};
      \node[below right=2mm] at (a.north west) {(a) Sample fig. 1};  
%     \node[below right=2mm] at (a.north west) {(a)}; % when you not liked to have text in image caption
      }}
\hfil
\subfloat[\label{mysubfig2}]{%
\tikz{\node (a) {\includegraphics{example-image-b}};
      \node[below right=2mm] at (a.north west) {(b) Sample fig. 2};
      }}

\caption{A sample image grid with subimages \subref{mysubfig1} and \subref{mysubfig2}. }
\label{fulfig1}
    \end{figure}
\end{document}

在此处输入图片描述

注意:在这种情况下,图像应该互相接触,\hfil删除subfloat

答案2

我改变我的答案。

像这样:

在此处输入图片描述

使用此代码(实际上您的代码几乎没有变化):

\documentclass[a4,12pt]{article}
\textheight 9.0in
\textwidth 6.8in
\topmargin -0.7cm
\oddsidemargin -0.5cm
\renewcommand{\baselinestretch}{1.5}


\usepackage{graphicx}  
\usepackage{subfig} 
\usepackage{hyperref} 
\usepackage{color} 


\captionsetup[subfigure]{justification=raggedright,farskip=12pt,captionskip=12pt,position=auto,labelfont=bf,labelformat=empty}
\hypersetup{colorlinks=true,citecolor=blue,linkcolor=blue}


\newcommand{\len}{}

\setlength{\unitlength}{0.2\textheight}


\begin{document}
    
    \begin{figure}[t]
        \centering
        
        \subfloat[\label{mysubfig1}]{
            \begin{picture}(1,1)
                \put(0,0){\includegraphics[height=0.2\textheight]{example-image-a}}
                \put(0,0.9){(a) Sample fig. 1}
            \end{picture}
        }
        \qquad \qquad
        \subfloat[\label{mysubfig2}]{
            \begin{picture}(1,1)
                \put(0,0){\includegraphics[height=0.2\textheight]{example-image-b}}
                \put(0,0.9){(b) Sample fig. 2}
            \end{picture}
        }\\
        \vspace{-1cm}
        \caption{A sample image grid with \ref{mysubfig1}, \ref{mysubfig2}. }
        \label{fulfig1}
    \end{figure}    
\end{document}

相关内容