我正在寻找一种方法来布局一系列国际象棋问题,每个问题都有一个图形(棋盘图)和一些文字。每个图形大约 70x70 毫米。为了避免浪费太多页面空间,我尝试使用包floatflt
并将wrapfig
文本排版为环绕图形。但是,这并不能防止图形相互重叠——如果一个问题的文本太少,以至于其图形延伸到页面下方比文本更远,就会发生这种情况。
那么我该如何防止图形重叠?
最好在最低数字正下方或文本最低行正下方的 y 坐标处恢复排版,以较低者为准。
我设想了一种类似\FloatBarrier
但不受数字影响的控件。也许可以与类似控件相结合,用于\parshape
控制包含多个段落的文本块的边距行为。
我尝试将每个问题(图片和文本)放在
\begin{minipage}[l]{\textwidth}
...
\end{minipage}
(\textwidth
整页边距之间的距离是多少)但这仍然无法将图形分开。
我试过
\begin{tabular}{cc}
\rule{0mm}{70mm}&
\begin{minipage}[l]{\textwidth}
...
\end{minipage}
\end{tabular}
但结果是,当文本太少以至于占据的垂直空间比图形还小时,印刷效果就会很糟糕。同样,图形会重叠。我原本打算使用类似于\strut
但更高的东西,并且对包含几个段落的文本块起作用。
梅威瑟:
\documentclass[12pt,a4paper]{article}
\usepackage[utf8]{inputenc}
\usepackage[LSBC4,T1]{fontenc} % use fontenc before chessboard
\usepackage{chessboard}
\usepackage{placeins,floatflt}
\usepackage{lipsum}
\setboardfontencoding{LSBC4}
\setlength{\hoffset}{-20mm}
\setlength{\textwidth}{180mm}
\setlength{\voffset}{-30mm}
\setlength{\textheight}{262mm}
\newcommand{\figWidth}{69mm}
\begin{document}
\begin{floatingfigure}[l]{\figWidth}
\setchessboard{setfen=/PP/k//K///1q}
\chessboard
\end{floatingfigure}
Frank M\"uller
Mezija, Jan-Mar 1997, no. 883
s\#3
Solution: 1 a8=Q+ Kb6 2 b8=Q+ Kc5 3 Qb4+ Qxb4\#
%\FloatBarrier
%\subsubsection{}
\begin{floatingfigure}[r]{\figWidth}
\setchessboard{setfen=2kr1B/p1pNK1p/RPp2P/4P/2P/1p}
\chessboard
\end{floatingfigure}
Gustav Jönsson
Eskilstuna Kuriren, 1939; FIDE Album 1914--44, no. 334
Proca-retractor. White retracts four moves and then checkmates in one
Keywords: Valladao theme (castling, en passant capture and underpromotion)
Solution: \lipsum[1] And some of this text has overlapped the figure's bottom.
\end{document}