我想将文章中的一些重要引文写到浮动(不可见)框中,突出它们,这些框一半位于(左/右)边距,一半位于相应的列中。我更喜欢一种可以自动运行的解决方案,独立于页面的右列或左列。
\fbox
我认为这是使用和来完成的\minipage
。
答案1
尝试以下定义:
\usepackage[colaction]{multicol}
\newcommand\stickout[1]{%
\docolaction{\begin{wrapfigure}[11]{l}[50pt]{.3\textwidth}\hspace{20pt}}% first col
{\ERROR}% middle
{\begin{wrapfigure}[11]{r}[50pt]{.3\textwidth}\hspace{-20pt}}% last
\begin{minipage}{140pt}
\Large ``#1''\par
\end{minipage}%
\end{wrapfigure}}
然后只需使用\stickout{Lorem ipsum dolor...}
并观察它神奇地移动到正确的位置(它需要至少 2 次运行)。
之后,您的示例经过适当简化,给出
您需要一个能够实现“colaction”的当前 multicol。当然,可以使定义更灵活,以便将一些固定值作为(可选)参数传递给命令……这是一个很好的用例,xparse
但我今晚很累。
答案2
我找到了一个解决方案。需要手动编辑以适应引文的长度,并且需要更改左/右列,但它有效。
\documentclass[a4paper,oneside]{文章} \usepackage[ascii]{输入框} \usepackage[T1]{fontenc} \usepackage[english]{babel} \usepackage[left=3cm,bottom=2cm]{几何} \usepackage{amssymb,amsfonts,textcomp} \usepackage{多列} \setlength{\columnsep}{1cm} \寡妇惩罚10000 \clubpenalty10000 \usepackage{wrapfig} \usepackage{lipsum} \开始{文档} \begin{多列}}{2} \lipsum[1] Lorem ipsum dolor sit amet,consectetur adipiscing elit。 Proin ac tempus dui。这不是马蒂斯的错。临时慈善家, 马萨阿卢克图斯 \begin{wrapfigure}[11]{l}[50pt]{.3\textwidth} \hspace{20pt} \开始{迷你页面}{140pt} \Large{``Lorem ipsum dolor sit amet, consectetur adipiscing elit luctus sollicitudin, elit massa auctor velit, eu mattis lacus arcu nec est.''} \end{迷你页面} \end{wrapfigure} \lipsum[2] \begin{wrapfigure}[11]{r}[50pt]{.3\textwidth} \hspace{-20pt} \开始{迷你页面}{140pt} \Large{``Lorem ipsum dolor sit amet, consectetur adipiscing elit luctus sollicitudin, elit massa auctor velit, eu mattis lacus arcu nec est.''} \end{迷你页面} \end{wrapfigure} \lipsum[2] \lipsum[2] \end{多列} \结束{文档}
它在分页符和分栏符处严重混乱。因此,引文应放在文本结束后。