我有一些包含外部文件的图形,并且我想在包含的文件周围包含一条水平线,结果是:
------------
figure
------------
caption
我努力了
\begin{figure}
\centering
\hrulefill\\
\includegraphics{foo.pdf}
\hrulefill\\
\caption{A figure.}
\end{figure}
但第二个\hrulefill
不会打印。
答案1
答案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}
将会删除所有地方的规则。