我正在编写一份文档,想要将列表环绕在文本框周围,最终得到以下结果:
我花了几个小时在网上搜索,才找到一种方法将列表包裹在框中。Wrapfig 显然不适用于列表。除非你进行一些修改,否则 Insbox 也不行。这是我最终得到的代码:
\documentclass[11pt]{article}
\input{insbox}
\usepackage[spanish]{babel}
\usepackage{tcolorbox}
\usepackage{tikz}
\usepackage{parskip}
\newcommand*{\wrapitem}{\apptocmd{\labelitemi}{\hskip\leftmargin}{}{}\item\apptocmd{\labelitemi}{\hskip-\leftmargin}{}{}}
\newcommand{\InsertListR}[3][]{%
\mbox{}\vspace*{-\baselineskip}\setlength{\leftskip}{\leftmargin}%
\InsertBoxR{#2}{\hskip-\leftmargin#3\hskip\leftmargin}[#1]%
}%
\begin{document}
Un par de cosas importantes:
\begin{itemize}
\wrapitem%
\InsertListR{1}{\tcbox[title=Recuerda,tikznode={align=left}]{%
Una ecuación\\ forma parte de una oración\\así que no te olvides\\de usar la puntuación.}}\vspace{0.4ex}%
Las ecuaciones normalmente \textbf{no} son un nuevo párrafo. No cojas costumbre de añadir líneas en blanco antes y después de las ecuaciones en el código, porque introduce demasiado espacio.
\end{itemize}
%
\begin{itemize}
\wrapitem%
\InsertListR[-6]{0}{\phantom{\tcbox[title=Recuerda,tikznode={align=left}]{%
Una ecuación\\ forma parte de una oración\\así que no te olvides\\de usar la puntuación.}}}%
Las ecuaciones son parte de una oración. Al final de ellas, por tanto, suele haber una coma o un punto, igual que en cualquier otra oración.
\item Evita introducir todas tus ecuaciones con dos puntos, queda muy mal.
\end{itemize}
\end{document}
它用胶带粘在一起,并发出一系列有关水平盒子过满的警告。我甚至不得不制作一个幻像版本的盒子,以确保第二项与右边距的距离相同,然后手动更正幻像盒子必须覆盖的行数。
使用 LibreOffice Writer(本质上是 MS Word 的免费版本),我花了 5 分钟完成了以下操作:
当然,现在文本框看起来不太好看,但拜托。我可以拖动文本框,将其放置在任何我想要的位置,程序会动态调整其周围的文本。
这不仅仅与列表有关;使用 LaTeX 将文本环绕在图像或文本框周围时,通常很难获得良好的效果。我想我只是想了解为什么这个对于许多文本编辑器来说看似微不足道的任务在 LaTeX 中却很难无缝完成。或者也许我只是错过了什么,而有一种我尚未找到的超级简单的方法来实现这一结果?