如何在每个“伪子图”上方添加标题?

如何在每个“伪子图”上方添加标题?

以下子图不是真正的子图,但我将它们称为伪子图,因为我想在它们上面添加标题,就像对真正的子图轻松做到的那样。

但是,我不想使用真实的子图(在遇到许多兼容性问题后决定,我记不清全部了)。

这可能是人们更喜欢使用伪子图的一些原因(我可能错了,因为我的记忆错了):

  • 看起来这是一项艰巨的任务(参见强制子图具有相同的高度并占据 LaTeX 中线宽的总体 X%) 才能拥有同等高度的真实子图,而伪子图则不费吹灰之力 &(如果想与前一个一起)似乎更难以将伪子图紧密地放在一起(参见减少两个子图之间的空间)。
  • 我认为使用真实的子图也会与那里的脚注相冲突......
  • 不知何故会出现一些其他兼容性问题,与自定义相关的一些特色列表项图形环境(参见代码)。无论如何,我将使用图形环境对于我的目的文档中的每个图,因此也将使用其编号。因此,在某些情况下,我不想恢复使用真正的主图标题。

平均能量损失

PS:您需要使用 LuaLaTex 来编译它...

\documentclass{article}
\usepackage{graphicx}% images from mwe package

\usepackage[framemethod=tikz]{mdframed}
\usetikzlibrary{calc}
\newcounter{picture}

%%%%% figurer environment

\newmdenv[
hidealllines=true,
innertopmargin=16pt,
innerbottommargin=10pt,
leftmargin=0cm,
rightmargin=0cm,
skipabove=10pt,
skipbelow=10pt,
singleextra={
  \coordinate (aux) at ( $ (O)!0.5!(P) $ );
  \fill[rounded corners=6pt,line width=1pt,blue!30]
    (O|-P) -- 
    (aux|-P) --
    ([yshift=12pt]aux|-P) --
    ([yshift=12pt,xshift=4cm]aux|-P) --
    ([xshift=4cm]aux|-P) -- 
    (P) {[sharp corners] --
    ([yshift=-6pt]P) -- 
    ([yshift=-6pt]O|-P) } -- cycle;
  \draw[rounded corners=6pt,line width=1pt,blue]
    (O|-P) -- 
    (aux|-P) --
    ([yshift=12pt]aux|-P) --
    ([yshift=12pt,xshift=4cm]aux|-P) --
    ([xshift=4cm]aux|-P) -- 
    (P) --
    (P|-O) --
    (O) -- cycle;
  \node at ([xshift=2cm,yshift=3pt]aux|-P)
    {\refstepcounter{picture}\large Figure~\thepicture} ; 
  },
firstextra={
  \coordinate (aux) at ( $ (O)!0.5!(P|-O) $ );
  \fill[rounded corners=6pt,line width=1pt,blue!30,overlay]
    (O|-P) -- 
    (aux|-P) --
    ([yshift=12pt]aux|-P) --
    ([yshift=12pt,xshift=4cm]aux|-P) --
    ([xshift=4cm]aux|-P) -- 
    (P) {[sharp corners] --
    ([yshift=-6pt]P) -- 
    ([yshift=-6pt]O|-P) } -- cycle;
  \draw[rounded corners=6pt,line width=1pt,blue,overlay]
    (O) --
    (O|-P) -- 
    (aux|-P) --
    ([yshift=12pt]aux|-P) --
    ([yshift=12pt,xshift=4cm]aux|-P) --
    ([xshift=4cm]aux|-P) -- 
    (P) --
    (P|-O);
  \node[overlay] at ([xshift=2cm,yshift=3pt]aux|-P)
    {\refstepcounter{picture}\large Figure~\thepicture} ; 
  },
middleextra={
  \draw[rounded corners=6pt,line width=1pt,blue,overlay]
    (O|-P) -- 
    (O);
  \draw[rounded corners=6pt,line width=1pt,blue,overlay]
    (P) -- 
    (P|-O);
  },
secondextra={
  \coordinate (aux) at ( $ (O)!0.5!(P|-O) $ );
  \draw[rounded corners=6pt,line width=1pt,blue,overlay]
    (O|-P) -- 
    (O) --
    (P|-O) --
    (P);
  },
]{figurer}

%%%%% begin the beguine

\begin{document}

\begin{figurer}

\begin{center}
\includegraphics[height=1cm]{example-image}
\includegraphics[height=1cm]{example-image} 
\includegraphics[height=1cm]{example-image}
\includegraphics[height=1cm]{example-image}
\includegraphics[height=1cm]{example-image}

This would be my caption here (We can even have footnotes here).\footnote{I like how the footnote stays inside the figure box.}

\end{center}

\end{figurer}

\end{document}

是否有可能在每个伪子图上方添加伪子标题?它们不需要编号:因此不需要A)b)C)ETC...

假设这些照片来自一个人,并且人们只是想在每张照片上方简单地标明这个人的年龄?

PS:我想要一个动态解决方案,它可以处理任意数量的图片(至少 1 行上的任意数量的图片),同时所有图片(至少 1 行)可以具有相同的高度(但每个 MWE 不同)。

MWE 示例

请注意文本“这将是我的标题”被视为此处主“伪图”的“伪标题”,而不是任何单独“伪子图”的标题。

答案1

我建议将所有伪子图设置在tabular

在此处输入图片描述

\documentclass{article}

\usepackage{graphicx}

\begin{document}

\begin{center}
  \begin{tabular}{ *{5}{c} }
    \small A & \small B & \small C & \small D & \small E \\
    \includegraphics[height=1cm]{example-image} &
    \includegraphics[height=1cm]{example-image} &
    \includegraphics[height=1cm]{example-image} &
    \includegraphics[height=1cm]{example-image} &
    \includegraphics[height=1cm]{example-image}
  \end{tabular}

This is a pseudo-caption.
\end{center}

\end{document}

tabular列相对于最宽元素(标题或图像)扩展。您还可以调整列间距(由 给出\tabcolsep)。

相关内容