在 itemize 环境中将文本环绕在表格周围

在 itemize 环境中将文本环绕在表格周围

我想在环境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。这种方法使用 来定义剪切的内容windowpagestuffcutout然后使用环境将剪切放置在段落内。在本例中,我从段落的第二行开始剪切,剪切延伸 4 行。有关更多详细信息,请参阅示例。

结果如下:

enter image description here

这是代码:

\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}

相关内容