图形的 toprule 和 bottomrule

图形的 toprule 和 bottomrule

我有一些包含外部文件的图形,并且我想在包含的文件周围包含一条水平线,结果是:

------------
figure
------------
caption

我努力了

\begin{figure}
\centering
\hrulefill\\
\includegraphics{foo.pdf}
\hrulefill\\
\caption{A figure.}
\end{figure}

但第二个\hrulefill不会打印。

答案1

使用\rule

\documentclass{scrartcl}
\usepackage{graphicx}
\usepackage[skip=1ex]{caption}

\begin{document}
\begin{figure}[ht]
\centering
\rule[0.5ex]{\linewidth}{1pt} % <---
\includegraphics{example-image-duck}
\rule[2ex]{\linewidth}{1pt}   % <---
\caption{A figure.}
\end{figure}
\end{document}

在此处输入图片描述

答案2

您可以定义一个ruled内部使用的环境tabular*和规则booktabs

\documentclass{article}
\usepackage{booktabs}
\usepackage{graphicx}

\newenvironment{ruled}{%
  \par
  \begin{tabular*}{\textwidth}{@{\extracolsep{\fill}}ccc@{}}
  \toprule\addlinespace&
}{%
  &\\\bottomrule
  \end{tabular*}\par
}

\begin{document}

\begin{figure}[htp]

\begin{ruled}
\includegraphics[width=0.3\textwidth]{example-image}
\end{ruled}

\caption{A figure}\label{label}

\end{figure}

\begin{figure}[htp]

\begin{ruled}
\includegraphics[width=0.3\textwidth]{example-image-a}\quad
\includegraphics[width=0.3\textwidth]{example-image-b}
\end{ruled}

\caption{Two figures}\label{label2}

\end{figure}

\end{document}

在此处输入图片描述

这样,如果你改变主意,你可以简单地修改 的定义ruled。例如,

\newcommand{ruled}{\par\centering}{\par}

将会删除所有地方的规则。

在此处输入图片描述

相关内容