我有一个图形和一个表格并排放置,但它们的宽度大于文本宽度。现在我想将它们居中,这样它们就会超出文本宽度的边距。可以这样做吗?
编辑:目前我有类似的东西,但我似乎无法让它比文本宽度更宽。
\begin{figure}
\begin{floatrow}
\ffigbox{%
\includegraphics[height=5cm]{figure}
}{%
\caption{figure caption}%
\label{figure}
}
\capbtabbox{%
\begin{tabular}{ |c|}
HERE COMES THE TABLE
\end{tabular}
}{%
\caption{table}%
}
\end{floatrow}
%\vspace{-1cm}
\end{figure}
答案1
使用\DeclareMarginSet
,您可以声明一个边距集,允许您将对象悬挂在两个边距上(每个边距都有预定义的设置hangleft
,hangright
但不能同时为它们设置);然后,您可以调用此边距集以及 和 的适当值floatwidth
。rowfill=yes
大致如下:
\documentclass{article}
\usepackage{graphicx}
\usepackage{floatrow}
\usepackage{lipsum}% just to generate text for the example
\DeclareMarginSet{hangboth}{\setfloatmargins*{\hskip-4cm}{\hskip-4cm}}
\begin{document}
\thisfloatsetup{floatwidth=\paperwidth,rowfill=yes,margins=hangboth}
\lipsum[4]
\begin{figure}[!ht]\CenterFloatBoxes
\begin{floatrow}
\ffigbox[\FBwidth]
{\includegraphics[width=10cm,height=4cm]{example-image-a}}
{\caption{figure caption}\label{figure}}
\ttabbox[\FBwidth]
{\begin{tabular}{lll}
column1a & column2a & column3a \\
column1b & column2b & column3b \\
column1c & column2c & column3c \\
column1d & column2d & column3d
\end{tabular}}
{\caption{table}}
\end{floatrow}
\end{figure}
\lipsum[4]
\end{document}
该选项[!ht]
仅用于示例;我不推荐使用它。
要让表格的标题位于其下方(尽管表格标题通常出现在表格上方),您可以使用\floatbox
而不是\ttabbox
表格,并且可能使用heightadjust
和对垂直对齐方式做一些额外的调整valign
:
\documentclass{article}
\usepackage{graphicx}
\usepackage[rawfloats]{floatrow}
\usepackage{lipsum}
\DeclareMarginSet{hangboth}{\setfloatmargins*{\hskip-4cm}{\hskip-4cm}}
\begin{document}
\thisfloatsetup{floatwidth=\paperwidth,rowfill=yes,margins=hangboth,heightadjust=all,valign=b}
\lipsum[4]
\begin{figure}[!ht]
\begin{floatrow}
\ffigbox[\FBwidth]
{\includegraphics[width=10cm,height=4cm]{example-image-a}}
{\caption{figure caption}\label{figure}}
\floatbox{table}[\FBwidth]
{\caption{table}}
{\begin{tabular}{lll}
column1a & column2a & column3a \\
column1b & column2b & column3b \\
column1c & column2c & column3c \\
column1d & column2d & column3d
\end{tabular}}
\end{floatrow}
\end{figure}
\lipsum[4]
\end{document}