![在 itemize 环境中将文本环绕在表格周围](https://linux22.com/image/360487/%E5%9C%A8%20itemize%20%E7%8E%AF%E5%A2%83%E4%B8%AD%E5%B0%86%E6%96%87%E6%9C%AC%E7%8E%AF%E7%BB%95%E5%9C%A8%E8%A1%A8%E6%A0%BC%E5%91%A8%E5%9B%B4.png)
我想在环境wraptable
内部创建一个简单的表格itemize
,将其浮动到右侧,并将文本从左侧换行,但表格会移到页面底部甚至另一个页面。尝试在环境wraptable
外部使用itemize
,结果相同。示例:
\documentclass[letterpaper,12pt,oneside]{article}
\usepackage{geometry}
\usepackage[spanish]{babel}
\usepackage[utf8]{inputenc}
\usepackage{fontenc}
\usepackage{lipsum}
\usepackage{wrapfig}
\begin{document}
\lipsum[1-1]
\begin{itemize}
\item \lipsum[1-1]
\begin{wraptable}{r}{0.45\textwidth}
\begin{tabular}{l l}
\hline
Some random text & More random text\\
Some random text & More random text\\
\hline
\end{tabular}
\end{wraptable}
\lipsum[1-1]
\end{itemize}
\end{document}
如果这还不够,那么编写此示例会导致wraptable
不起作用!表格移到页面底部,没有换行,也没有向右浮动(查看图片)。
请帮忙。必须在周一之前完成这篇文章 :( 谢谢!
答案1
这里有两种方法。
第一种是wrapfig
在 内使用adjustbox
。这种方法的一个特点是使用strut
来创建足够的空间来放置图形。这会将图形放置在第 1 行,这是无法更改的(据我所知)。
第二种方法是使用cutwin
。这种方法使用 来定义剪切的内容windowpagestuff
。cutout
然后使用环境将剪切放置在段落内。在本例中,我从段落的第二行开始剪切,剪切延伸 4 行。有关更多详细信息,请参阅示例。
结果如下:
这是代码:
\documentclass[letterpaper,12pt,oneside]{article}
\usepackage{geometry}
\usepackage[spanish]{babel}
\usepackage[utf8]{inputenc}
\usepackage{fontenc}
\usepackage{wrapfig}
\usepackage{graphicx}
\usepackage{multicol}
\usepackage{adjustbox}
\usepackage{enumitem}
\usepackage{lipsum}
\usepackage{cutwin}
\newlength{\strutheight}
\settoheight{\strutheight}{\strut}
\begin{document}
\begin{itemize}[leftmargin=*]
\item aaa
\item \begin{adjustbox}{valign=T,raise=\strutheight,minipage={1.0\linewidth}}
\begin{wrapfigure}{c}{0.55\linewidth}
\begin{tabular}{l l}
\hline
Some random text & More random text\\
Some random text & More random text\\
\hline
\end{tabular}
\end{wrapfigure}%
%
\lipsum[2]
\end{adjustbox}
\item aaa
\end{itemize}
\bigskip
\opencutright
\renewcommand\windowpagestuff{% setup the image to be placed in the cutout
\centering
\begin{tabular}{l l}
\hline
Some random text & More random text\\
Some random text & More random text\\
\hline
\end{tabular}
}
% {2} = Cutout starts in row 2
% {0pt} = Cutout is flush left (0pt from left edge)
% {0.50\linewidth} = text covers 0.50\linewidth relative to right margin
% {4} = cutout extends 8 rows
\begin{itemize}[leftmargin=*]
\item aaa
\item \begin{adjustbox}{valign=T,minipage={1.0\linewidth}}
\begin{cutout}{2}{0.40\linewidth}{0pt}{4}
\lipsum[2]
\end{cutout}
\end{adjustbox}
\item aaa
\end{itemize}
\end{document}