答案1
以下结果可能是所需的输出。由于使用了[t]
attabular
和valign=t
at\includegraphics
命令,图像和表格顶部对齐。当然,如果您想分别使用c
或将两个元素垂直居中或底部对齐,您可以调整这一点b
。
\documentclass{article}
\usepackage{graphicx}
\usepackage[export]{adjustbox}
\usepackage{enumerate}
\begin{document}
\begin{enumerate}[i]
\item Lorem ipsum dolor sit amet, consectetuer adipiscing elit.
\begin{tabular}[t]{ll}
Head 1 & Head 2\\
\hline
Foo & Bar \\
Foo & Bar
\end{tabular}
\includegraphics[width=3cm,valign=t]{example-image}
\item Lorem ipsum dolor sit amet, consectetuer adipiscing elit.
\end{enumerate}
\end{document}
答案2
我将使用来minipage
创建两列,然后将表格添加到第一个小页面中,并将图像添加到第二个小页面中。
\documentclass{article}
\usepackage{graphicx}
\usepackage{tabularx}
\usepackage{enumerate}
\begin{document}
\begin{enumerate}[i]
\item Lorem ipsum dolor sit amet, consectetuer adipiscing elit.\\%
\begin{minipage}{.5\linewidth}
\begin{tabular}{@{}c|c@{}}
Head 1 & Head 2\\
\hline
Foo & Bar \\
Foo & Bar
\end{tabular}
\end{minipage}\,%
\begin{minipage}{3cm}
\includegraphics[width=3cm]{example-image-a}
\end{minipage}
\item Lorem ipsum dolor sit amet, consectetuer adipiscing elit.\\%
\begin{minipage}{.5\linewidth}
\begin{tabular}{@{}c|c|c@{}}
Head 1 & Head 2 & Head 3\\
\hline
Foo & Bar & Bacon \\
Foo & Bar & Bacon
\end{tabular}
\end{minipage}\,%
\begin{minipage}{3cm}
\includegraphics[width=3cm]{example-image-a}
\end{minipage}
\end{enumerate}
\end{document}
正如你提到的,你不希望你的图片出现在最右边,我想,使用两个同样宽度的迷你页面是不确切地您在寻找什么。不幸的是,我想不出一种不需要固定宽度的方法。如果您希望图片位于表格旁边,请为小页面设置固定宽度,并为表格使用相同的宽度(需要tabularx
)。
\documentclass{article}
\usepackage{graphicx}
\usepackage{tabularx}
\usepackage{enumerate}
\begin{document}
\begin{enumerate}[i]
\item Lorem ipsum dolor sit amet, consectetuer adipiscing elit.\\%
\begin{minipage}{5cm}
\begin{tabularx}{5cm}{@{}X|X@{}}
Head 1 & Head 2\\
\hline
Foo & Bar \\
Foo & Bar
\end{tabularx}
\end{minipage}\,%
\begin{minipage}{3cm}
\includegraphics[width=3cm]{example-image-a}
\end{minipage}
\item Lorem ipsum dolor sit amet, consectetuer adipiscing elit.\\%
\begin{minipage}{5cm}
\begin{tabularx}{5cm}{@{}X|X|X@{}}
Head 1 & Head 2 & Head 3\\
\hline
Foo & Bar & Bacon \\
Foo & Bar & Bacon
\end{tabularx}
\end{minipage}\,%
\begin{minipage}{3cm}
\includegraphics[width=3cm]{example-image-a}
\end{minipage}
\end{enumerate}
\end{document}
按照@leandriis 的想法,无论表格有多宽或多窄,图像都会始终位于表格旁边。这样,您实际上不需要列,因为图像不会对齐,但是正如您所说,您希望图像位于表格旁边,我想这是您预期的行为。您只需在表格和图像之间添加 1 em 的水平空间,这样它们就不会通过在表格\hspace{1em}
后和图像前添加来接触。\\[.5\baselineskip]
您还可以在项目文本(“Lorem ipsum dolor sit amet, consectetuer adipiscing elit.”)和表格/图形之间添加一些间距。
\documentclass{article}
\usepackage{graphicx}
\usepackage{enumerate}
\usepackage[export]{adjustbox}
\begin{document}
\begin{enumerate}[i]
\item Lorem ipsum dolor sit amet, consectetuer adipiscing elit.\\[.5\baselineskip]%
\begin{tabular}[t]{@{}c|c@{}}
Head 1 & Head 2\\
\hline
Foo & Bar \\
Foo & Bar
\end{tabular}
\hspace{1em}
\includegraphics[width=3cm,valign=t]{example-image-a}
\item Lorem ipsum dolor sit amet, consectetuer adipiscing elit.\\[.5\baselineskip]
\begin{tabular}[t]{@{}c|c|c@{}}
Head 1 & Head 2 & Head 3\\
\hline
Foo & Bar & Bacon \\
Foo & Bar & Bacon
\end{tabular}
\hspace{1em}
\includegraphics[width=3cm,valign=t]{example-image-a}
\end{enumerate}
\end{document}
答案3
举个粗略的起点例子——
它使用两个小页面(宽度分别为 \textwidth 的 60% 和 30%(因此其边距仍为 10%))嵌入到图形环境中,以使其“浮动”。 (您也可以使用另一个小页面,或者什么都不用。)
两个小页面相对于另一个小页面垂直居中(参见它们的 [c] 参数)。
数组(我使用 tabularx 来显示它的宽度)使用相对长度 \linewidth 来定义它的宽度:实际上,它必须使用它所嵌入的小页面的所有线宽。这样,你只需要关心小页面的宽度。)
两个小页面之间用分隔线 \hfill 隔开,并在它们之间插入一个水平“弹簧”。
\documentclass{scrartcl}
\usepackage{array,multicol,booktabs,tabularx}
\usepackage{graphicx}
% \usepackage{showframe}
\begin{document}
\begin{enumerate}
\item ss
\begin{figure}[h]
\begin{minipage}[c]{.6\textwidth}% or {.6\linewidth}, it's the same here
\begin{tabularx}{\linewidth}{lX}% caution: here you cannot replace \linewidth by \textwidth, since within this minipage, \linewidth=.6\textwidth
\toprule
Text & Text
\\\midrule
Text & Text
\\
\dots & \dots
\\\bottomrule
\end{tabularx}
\end{minipage}
\hfill
\begin{minipage}[c]{.3\textwidth}
\includegraphics[width=\linewidth]{example-image}% caution: here you cannot replace \linewidth by \textwidth, since within this minipage, \linewidth=.3\textwidth
\end{minipage}
\end{figure}
\item dd
\begin{figure}[h]
\begin{minipage}[c]{.6\textwidth}% or {.6\linewidth}, it's the same here
\begin{tabularx}{\linewidth}{lX}% caution: here you cannot replace \linewidth by \textwidth, since within this minipage, \linewidth=.6\textwidth
\toprule
Text & Text
\\\midrule
Text & Text
\\
\dots & \dots
\\\bottomrule
\end{tabularx}
\end{minipage}
\hfill
\begin{minipage}[c]{.3\textwidth}
\includegraphics[width=\linewidth]{example-image}% caution: here you cannot replace \linewidth by \textwidth, since within this minipage, \linewidth=.3\textwidth
\end{minipage}
\end{figure}
\end{enumerate}
\end{document}