方法是构造一个对称的 wrapfigure
,这一步必须在确定的位置手动实现。
\documentclass[twocolumn]{ctexart}
\usepackage{zhlipsum}
\usepackage{wrapfig2}
\begin{document}
\begin{wrapfigure}[18]{r}[\dimexpr 20mm+.5\columnsep\relax]{40mm}
\centering\unitlength=1mm
\begin{picture}(40,100)
\polygon(0,0)(40,0)(40,100)(0,100)
\Line(0,0)(40,100)\Line(0,100)(40,0)
\end{picture}
\end{wrapfigure}
\zhlipsum[1,4-8,12,13][name=zhufu]
% “18” 行,为了构造对称的 wrapfigure,这个参数必须和与之对称的那个 wrapfigure 相近,
\begin{wrapfigure}[18]{l}[\dimexpr 20mm+.5\columnsep\relax]{40mm}
\vfill
\end{wrapfigure}
\zhlipsum[2]
\end{document}
参考:http://tug.ctan.org/tex-archive/macros/latex/contrib/wrapfig/multiple-span.txt,
https://tex.stackexchange.com/questions/53073,
https://tex.stackexchange.com/questions/473478。
第二个链接中还提到了 pullquote
宏包,它也能实现类似的效果,不过不能分页。
(CTAN 未收录 pullquote
宏包,需要自行编译。)
\documentclass{article}
\usepackage{ctex,zhlipsum}
\usepackage[a4paper,margin=2cm]{geometry}
\usepackage{tikz}
\usepackage[nomicrotype,noimageshapes]{pullquote}
\begin{document}
\begin{pullquote}{object={\tikz\draw (0,0)--(4cm,12cm)--(4cm,0cm)--(0cm,12cm)--(0,0);},
objvalign=top}
\zhlipsum[1-14][name=zhufu]
\end{pullquote}
\end{document}
另外,使用 tcolorbox
宏包的 magazine
(poster
)库,只能实现类似于三栏的排版效果,而且也不能分页。
\documentclass{article}
\usepackage{ctex}
\usepackage[poster]{tcolorbox}
\usepackage{zhlipsum}
\usepackage[a4paper,margin=2cm]{geometry}
\begin{document}
\noindent
\begin{tcbposter}[poster={spacing=2mm,columns=3,rows=2},]
\begin{posterboxenv}[blankest]{name=pic,column=2,below=top}
\centering
\tikz\draw (0,0)--(4cm,12cm)--(4cm,0cm)--(0cm,12cm)--(0,0);
\end{posterboxenv}
\begin{posterboxenv}[blankest]{sequence=1 between top and bottom then
2 between pic and bottom then
3 between top and bottom}
\setlength\parindent{2\ccwd}
%
\zhlipsum[1-14][name=zhufu]
%
\end{posterboxenv}
\end{tcbposter}
\end{document}
请问大佬,tcolorbox 宏包的 magazine (poster)库如何实现这个效果呢?
@u7483 @u7483 我更新了回答。
tcolorbox
不能完全复刻类似的效果,昨天我说得过于草率了。