我是 LaTeX 的新手,当时正在做学校作业,我认为将图像放在两个表格旁边而不是下面会很好看。不幸的是,这比想象的要困难。我最终使用 wrapfigures 解决了大部分问题,但图像的位置仍然有点不对。我该如何正确定位它?
以下是代码:
%Tables are generated using tablesgenerator.com
\begin{table}[!t]
\begin{wrapfigure}{r}{0.5\textwidth}
\advance\leftskip1cm
\includegraphics[width=0.48\textwidth, angle =180, right]{picture.JPG}
\end{wrapfigure}
\advance\leftskip-1cm
\advance\rightskip-1cm
\begin{tabular}{lll}
\begin{tabular}[c]{@{}l@{}}
Angular Amplitude \\
(in cm from base)
\end{tabular}& 30 Periods & Average Period \\
1.5 & 39.55 & 1.32 sec. \\
3 & 39.67 & 1.32 sec. \\
4.5 & 39.76 & 1.33 sec. \\
6 & 39.98 & 1.33 sec. \\
7.5 & 39.84 & 1.33 sec. \\
\end{tabular}
\end{table}
\begin{table}[!t]
\advance\leftskip-1cm
\begin{tabular}{lll}
\begin{tabular}[c]{@{}l@{}}
Length of Pendulum\\
(in cm)
\end{tabular} & 30 Periods & Average Period \\
20 & 26.91 sec. & 0.897 sec. \\
22 & 28.88 sec. & 0.963 sec. \\
26 & 31.40 sec. & 1.047 sec. \\
31 & 34.30 sec. & 1.143 sec. \\
35 & 35.82 sec. & 1.194 sec. \\\\\\
\end{tabular}
\end{table}
答案1
使用它的唯一原因wrapfigure
是如果你想让文本围绕图像流动——即使这样,使用起来也很麻烦。
要将内容放在一起,您可以使用 minipages。在下面的示例中,我还使用了环境tblr
而不是普通tabular
环境。这使得添加多行单元格变得非常容易,因此您不必使用唯一生成器给您的带有嵌套表格的丑陋代码。
\documentclass{article}
\usepackage{graphicx}
\usepackage{tabularray}
\begin{document}
\noindent\begin{minipage}{.6\textwidth}
\begin{tblr}{lll}
{Angular Amplitude \\ (in cm from base)}
& {30\\ Periods} & {Average\\ Period} \\
1.5 & 39.55 & 1.32 sec. \\
3 & 39.67 & 1.32 sec. \\
4.5 & 39.76 & 1.33 sec. \\
6 & 39.98 & 1.33 sec. \\
7.5 & 39.84 & 1.33 sec. \\
\end{tblr}
\end{minipage}
\hfill
\begin{minipage}{.35\textwidth}
\includegraphics[width=\textwidth]{example-image-duck}
\end{minipage}
\end{document}
答案2
正如所说, wrapfig
这很麻烦,因为正确使用有多种限制,如手册中所述。其中一个限制(并非特定于此包)是,您永远不应嵌套浮点数(即永远不要将 a 放在figure
a 中table
!)。
我也同意,如果目标是在表格环境中将图形图像顶部对齐,那么使用这个工具是错误的。但是,假设您确实希望文本围绕图像底部流动,您可以通过设置行数(下面 MWE 中的行数)来控制换行图形的垂直空间,也可以在本地设置。wrapfig
[8]
\intextsep
我改变了表格,使其在改变宽度后自动适应可用空间wrapfigure
,但请注意,在这种情况下也应相应地改变行数,即,如果您将换行图的宽度更改为 50% 或 30%,表格将自动适应,但您必须 [8]
根据图像的新尺寸增加/减少到正确的行数。
\documentclass{article}
\usepackage{geometry}
\usepackage{wrapfig,graphicx,tabulary,booktabs,lipsum}
\begin{document}
\lipsum[1][1-5]\par
{\intextsep 5pt
\begin{wrapfigure}[8]{r}{.4\linewidth}
\includegraphics[width=\linewidth]{example-image-9x16}
\end{wrapfigure} \par
\noindent\begin{tabulary}{\linewidth}[t]{CCC}\toprule
Angular Amplitude\par (in cm from base) & Thirty Periods & Average Period \\\midrule
1.5 & 39.55 & 1.32 sec. \\
3 & 39.67 & 1.32 sec. \\
4.5 & 39.76 & 1.33 sec. \\
6 & 39.98 & 1.33 sec. \\
7.5 & 39.84 & 1.33 sec. \\\bottomrule
\end{tabulary}\par
\bigskip
\noindent\begin{tabulary}{\linewidth}[t]{CCC}\toprule
Length of Pendulum (in cm) & Thirty Periods & Average Period \\\midrule
20 & 26.91 sec. & 0.897 sec. \\
22 & 28.88 sec. & 0.963 sec. \\
26 & 31.40 sec. & 1.047 sec. \\
31 & 34.30 sec. & 1.143 sec. \\
35 & 35.82 sec. & 1.194 sec. \\\bottomrule
\end{tabulary}
\section{Discusion}
\subsection{Definitions}
\lipsum[1-5][1-13]\par}
The \verb|\intextsep| return now to \the\intextsep. \lipsum[6][1-13]
\end{document}