在图形和表格之间添加两条水平线

在图形和表格之间添加两条水平线

我想在每个图形和每个表格之间添加两条水平线,但每次都必须添加此命令:\rule[0.6ex]{\textwidth}{0.3mm}

我怎样才能减少标题和图片之间的红色空间?有没有办法将图片和表格放在中间而不添加\begin{center} ... \end{center}?如果我能做到这一点,我想我就不会再有红色空间了。

分数维:

\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage{graphicx}
\usepackage{hyperref}
\usepackage{caption}
\captionsetup{labelfont=bf,textfont=bf,justification=raggedright,singlelinecheck=false,format=hang}
\begin{document}
\begin{figure}
\caption{Figure-Example.}
\begin{center}
\rule[0.6ex]{\textwidth}{0.3mm}
\includegraphics[scale=0.25]{logo.png}
\rule[0.6ex]{\textwidth}{0.3mm} 
\end{center}
\textit{Source :} \href{google.com}{https://google.com}
\end{figure}
%Table :
\begin{table}
\caption{Table-Example.}
\begin{center}
\rule[0.6ex]{\textwidth}{0.3mm}
\begin{tabular}{c|c}
\hline
 A & B \\
 C & D \\
\hline
\end{tabular}
\rule[0.6ex]{\textwidth}{0.3mm}
\end{center}
\textit{Source :} \href{google.com}{https://google.com}
\label{tab:my_label}
\end{table}
\end{document}

结果 :

在此处输入图片描述

答案1

使用\newenvironment{name}{begin}{end}可以做到:

\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage{graphicx}
\usepackage{hyperref}
\usepackage{caption}
\captionsetup{labelfont=bf,textfont=bf,justification=raggedright,singlelinecheck=false,format=hang}
\newenvironment{tablewithrule}[2]{\begin{table} \caption{#1} \centering \rule[0.6ex]{\textwidth}{0.3mm} \caption*{\textit{Source}: #2}  }{\vspace{1mm}\rule[0.6ex]{\textwidth}{0.3mm}  \end{table}}
\begin{document}
\begin{tablewithrule}{Table Example}{\url{www.google.com}}
\begin{tabular}{c|c}
\hline
 A & B \\
 C & D \\
\hline
\end{tabular}
\end{tablewithrule}
\end{document}

但是,在订单的结束部分不能有参数。因此,您必须在开始部分添加它(如果您希望自动执行此操作...)。

可以通过 来改变与规则的距离\vspace{},也可以输入负值,例如\vspace{-0.4cm}

编辑:您也可以使用\renewenvironment而不是\newenvironment。不过,我不喜欢干预基本定义,而是根据现有命令执行新命令。

相关内容