带框的标题和图片,带彩色标题

带框的标题和图片,带彩色标题

我正在尝试重新创建期刊中的图片和标题效果。可以在 PDF 版本的图 1 中看到此示例,网址为本文

在此处输入图片描述

它基本上是一个大的灰色边框,围绕着图像和标题,底部的标题用灰色填充。

我目前正在使用

\usepackage{xcolor}
\usepackage{mdframed}
\mdfdefinestyle{mystyle1}{
    backgroundcolor=white!20
}
\mdfdefinestyle{mystyle2}{
    backgroundcolor=lightgray!20
}

在序言中,

\begin{figure}[htb!]
\centering
    \begin{mdframed}[style=mystyle1]
        \includegraphics[width=1.0\textwidth]{foo.pdf}
        \begin{mdframed}[style=mystyle2]
            \caption[foo]{foo}
        \end{mdframed}
    \end{mdframed}
\label{fig:foo}
\end{figure}

这会在整个图形和标题周围创建一个框,然后在标题周围创建一个子框,但它们没有对齐,而且我不知道如何更改边框颜色。

任何帮助,将不胜感激。

答案1

下面我提出一个使用tcolorbox定义一个figurebox环境。此环境有一个可选参数来指定放置选项(就像标准图形环境一样)。

我没有使用两个框,而是只使用了一个框;上面的部分用于放置图像,下面的部分用于放置标题。\tcblower在 之前使用\caption

caption包用于轻松更改标题标签的颜色。根据需要更改设置:

\documentclass{article}
\usepackage[many]{tcolorbox}
\usepackage{graphicx}
\usepackage{caption}
\usepackage{lipsum}

\definecolor{captioncol}{RGB}{46,86,145}

\newtcolorbox{mycaptionbox}{
  freelance,
  enhanced,
  colframe=gray,
  arc=0pt,
  middle=2pt,
  outer arc=0pt,
  boxrule=0.7pt,
  enlarge left by=-5mm,
  enlarge right by=-5mm,
  text width=\textwidth-1.4pt,
  nobeforeafter,
  segmentation hidden=true,
  interior code={
  \path[draw=none,fill=gray!30]
    (interior.south west) rectangle (segmentation.north east);
  \path[draw=none,fill=white]
    (segmentation.west) rectangle (interior.north east);
  \draw[draw=gray,line width=0.7pt]
    (segmentation.west) -- (segmentation.east);
  },
}

\newenvironment{figurebox}[1][tbp]
  {\begin{figure}[#1]\begin{mycaptionbox}}
  {\end{mycaptionbox}\end{figure}}

\DeclareCaptionFormat{colorlabel}{\textcolor{captioncol}{#1#2}#3}
\captionsetup{format=colorlabel}

\begin{document}

\lipsum[4]
\begin{figurebox}
\includegraphics[height=3cm,width=.6\linewidth]{example-image-a}
\tcblower
\caption{\protect\lipsum[2]}
\end{figurebox}

\end{document}

输出:

在此处输入图片描述

答案2

你说的排队是什么意思?要更改边框颜色,请查看此链接中的答案: 如何改变 mdframed 的边框? 以下是我电脑上的结果

\documentclass{article}
\usepackage{amsmath,amssymb}
\usepackage{pgfplots}
\usepackage{xcolor}
\usepackage{mdframed}
\mdfdefinestyle{mystyle1}{
    backgroundcolor=white!20,
    linecolor=red
}
\mdfdefinestyle{mystyle2}{
    backgroundcolor=lightgray!20,
    linecolor=blue
}
\begin{document}

\begin{figure}[htb!]
\begin{mdframed}[style=mystyle1]
\centering
\begin{tikzpicture}
  \begin{axis}
    \addplot[domain=-1:1] {x^2};
  \end{axis}
\end{tikzpicture}
  \begin{mdframed}[style=mystyle2]
    \caption{Caption.}
  \end{mdframed}
\end{mdframed}
\label{fig:foo}
\end{figure}
\end{document}

以下是我在电脑上使用 pdflatex 的结果

相关内容