表格中的图片带标题

表格中的图片带标题

在我的文档中,我使用两个不同的命令来添加图片。首先,我有一个命令在表格中添加图片,因为标题和说明文字必须带有彩色背景,这样看起来更美观。我为此使用了以下代码:

\newcommand{\inputpicture}[3]{
\begin{table}[ht]
\begin{tabular}{|l|}
\hline
\parbox[0pt][2em][c]{0cm}{} \textbf{\textcolor{lightgreen}{#1}} \cellcolor{lightgreen} \hspace{12cm}    \\ \hline 
\\
\includegraphics[width=0.6\textwidth]{#3}   \\ 
\\\hline
\parbox[0pt][2em][c]{0cm}{}\footnotesize\textbf{\textcolor{lightgreen}{#2}}\cellcolor{lightgray}\\ \hline
\end{tabular}
\end{table}
}

第二条命令如下所示:只是一个带有图片的图形,没有表格,没有边框:

\newcommand{\inputpicsimple}[2]{
\begin{figure}[h] 

\includegraphics[width=0.6\textwidth]{#2}

\caption{\footnotesize\color{lightgreen}\bf #1}
\end{figure}}

一切都运行正常,但我唯一想改变的是表格的标题。现在,标题为\inputpicsimple每张图片添加了图 1、图 2...,我希望表格也能这样做,这样 latex 也会将图 1、图 2... 放入表格中,因为实际上它不应该是表格,而是图片,但是当我尝试将图形用于表格时,它不起作用,而且很难将表格更改为普通图形。所以最后,如果我添加两个和一,\inputpicture例如\inputpicsimple。那么第一个\inputpicture应该有一个“图 1”标题,第二个应该有\inputpicture一个“图 2”,\inputpicsimple一个“图 3”...

感谢您的帮助 :)

答案1

我很确定还有其他方法可以实现这种特殊的背景,而无需使用cellcolor(例如 \colorbox 或\tcolorbox)。

如果 OP 坚持这一点,\captionsetup{type=figure}那么实现Figure描述的一种可能方法

\documentclass{article}


\usepackage[table]{xcolor}
\usepackage[demo]{graphicx}
\usepackage{caption}


\newcommand{\inputpicture}[3]{%
\captionsetup{type=figure}%
\begin{table}[ht]
\begin{tabular}{|l|}
\hline
\parbox[0pt][2em][c]{0cm}{} \textbf{\textcolor{green}{#1}} \cellcolor{blue} \hspace{12cm}    \\ \hline 
\\
\includegraphics[width=0.6\textwidth]{#3}   \\ 
\\\hline
\parbox[0pt][2em][c]{0cm}{}\footnotesize\textbf{\textcolor{green}{#2}}\cellcolor{lightgray}\\ \hline
\end{tabular}
\end{table}
}

\newcommand{\inputpicsimple}[2]{%
\captionsetup{type=figure}
\begin{figure}[h] 

\includegraphics[width=0.6\textwidth]{#2}

\caption{\footnotesize\color{blue}\bfseries #1}
\end{figure}
}


\begin{document}

\inputpicture{Foo}{foo}{Foo again}
\caption{The fake figure}

\inputpicsimple{foo}{Foo again}


\end{document}

更新

我已切换到tcolorbox后台命令,\inputpic该命令具有星号变体,用于无背景的简单显示。可选的第二个参数用于背景框,可选的第 5 个参数用于下部标题框,如果使用星号变体,则该参数将被忽略

对于屏幕截图,我改变了颜色以使其更加出众。

\documentclass{article}


\usepackage[dvipsnames,svgnames,x11names]{xcolor}
\usepackage[demo]{graphicx}
\usepackage{caption}

\usepackage[most]{tcolorbox}
\usepackage{xparse}

\newtcolorbox{picbackbox}[1][]{%
  nobeforeafter,
  halign=center,
  enhanced,
  sharp corners,
  colback=LightGreen,
  colbacktitle=LightGreen,
  coltitle={LightGreen},
  colframe=black,
  #1
}

\NewDocumentCommand{\inputpic}{sO{}mmO{}}{%
  \IfBooleanTF{#1}{%
    \begin{figure}[ht] 
      \centering% ???
    \includegraphics[width=0.6\textwidth]{#3}
    \caption{\footnotesize\color{LightGreen}\bfseries #4}
  \end{figure}
  }{%
    \begin{figure}[ht]
      \begin{picbackbox}[#2,width={12cm},bottomrule=0pt] % 
      \includegraphics[width=0.6\textwidth]{#4}
      \end{picbackbox}%
      \offinterlineskip

      \begin{picbackbox}[colback=LightGray,width={12cm},natural height,bottom=0pt,#5]
        \caption{\footnotesize\color{LightGreen}\bfseries #4}
      \end{picbackbox}%
    \end{figure}
  }
}

\begin{document}

\inputpic{Foo}{foo}
\inputpic*{Foo}{foo}

\inputpic{Foo}{foo}[colback=yellow]
\inputpic*{Foo}{foo}


\end{document}

在此处输入图片描述

相关内容