我需要重新创建一种为“图形”添加字幕的特定样式。
这种风格的主要特点是:
- 子图中未包含子标题。
- 子图的位置在表格中重新创建(可以使用表格吗?)位于图的标题上方。我希望 MWE 和图片有助于理解这个想法
请注意,子图的位置可以遵循任何类型的定位,例如图中是 2-2 对齐。其他类型的对齐可能是 2-2-1、1-2-2 等等。
到目前为止,我的工作都遵循 MWE。表格可以(显然)改进。此外,表格仍必须包含在图形标题中,从“图形”的字母“F”正上方开始。
\documentclass{article}
\usepackage{graphicx}
\usepackage{subcaption}
\usepackage{booktabs}
\usepackage{array}
\newcolumntype{M}{>{\centering\arraybackslash}p{.3cm}}
\renewcommand\arraystretch{1.5}
\usepackage{tikz}
\usepackage[framemethod=default]{mdframed}
\newcommand{\mybox}[1]{
\begin{tikzpicture}
\node[draw,rectangle,line width =0.5pt,text width=0.4cm,
minimum width=0.4cm,minimum height=0.4cm]{#1};
\end{tikzpicture}
}
\begin{document}
\begin{figure}
\centering
\begin{subfigure}[b]{0.4\textwidth}
\includegraphics[width=\textwidth]{example-image-a}
\end{subfigure} \quad
\begin{subfigure}[b]{0.4\textwidth}
\centering
\includegraphics[width=\textwidth]{example-image-b}
\end{subfigure}
\begin{subfigure}[b]{0.4\textwidth}
\centering
\includegraphics[width=\textwidth]{example-image-c}
\end{subfigure}
\mybox{a} \mybox{b} \\
\mybox{c}
\caption{TOF depth cameras a) Letter A, b) Letter B and c) Letter C}\label{fig:TOF}
\end{figure}
\end{document}
任何帮助都将不胜感激。您可以在以下位置找到此类图的示例:
所需字幕 http://www.tsc.uc3m.es/imagine/Curso_ProcesadoMorfologico/imagenes/morfologia2.jpg
答案1
我只需要对您的 MWE 进行一些更改。首先,我修改了您的 定义,以便\mybox
在那里放置一个支柱,使婴儿箱的高度统一,然后我\hfil
编辑了标签,以便将其置于婴儿箱的中心。我还使用了\framebox
而不是tikz
盒子。
我还将 限制\centering
在人物本身,而不是婴儿盒上。为了居中对齐但左对齐并堆叠婴儿盒阵列,我使用了包stackengine
。我确实必须添加一些内容\hspace
以将其放置在单词 上Figure
,如您的示例所示。
已编辑,使婴儿箱变成灰色。
\documentclass{article}
\usepackage{graphicx}
\usepackage{subcaption}
\usepackage{booktabs}
\usepackage{array}
\usepackage{stackengine}
\usepackage{xcolor}
\newcolumntype{M}{>{\centering\arraybackslash}p{.3cm}}
\renewcommand\arraystretch{1.5}
\usepackage{tikz}
\usepackage[framemethod=default]{mdframed}
\fboxsep=0pt
\newcommand{\mybox}[1]{\colorbox{lightgray}{%
\framebox[.4cm]{\hfil\strut\textbf{#1}\hfil}%
}}
\begin{document}
\begin{figure}
{\centering
\begin{subfigure}[b]{0.4\textwidth}
\includegraphics[width=\textwidth]{example-image-a}
\end{subfigure} \quad
\begin{subfigure}[b]{0.4\textwidth}
\centering
\includegraphics[width=\textwidth]{example-image-b}
\end{subfigure}
\begin{subfigure}[b]{0.4\textwidth}
\centering
\includegraphics[width=\textwidth]{example-image-c}
\end{subfigure}
}
~\\\hspace*{1.4em}
\stackunder[0pt]{\mybox{a}\mybox{b}}{\mybox{c}}
\caption{TOF depth cameras a) Letter A, b) Letter B and c) Letter C}\label{fig:TOF}
\end{figure}
\end{document}
如下面简单的代码所示:
\stackunder[0pt]{\mybox{a}\mybox{b}}{\mybox{c}\mybox{d}}
~~~
\def\stackalignment{l}\stackunder[0pt]{\mybox{a}\mybox{b}}{\mybox{c}}
~~~
\belowbaseline[-.75\baselineskip]{\stackanchor[0pt]{\mybox{a}}{\mybox{b}}\mybox{c}}
其他堆叠盒子布置也很容易获得。