我想要实现的目标:
我想并排放置几个图形,并且我想将图形索引放在左上角的图形内。
我目前所做的:
第一部分,即图像可以通过使用轻松地并排放置在网格中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 with
width=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}