我已经实现了一个基本的页面布局算法脚注的位置。基本上:
排版正文。
如果它包含脚注引用,请逐行排列脚注。
转到1。
在每一步,我都检查总高度(正文+脚注文本+间隙)是否超过页面高度。如果是这样,我删除了最近布局的行,页面就完成了。
我的问题是:如何处理正文分为两列的情况?
我基本上需要提前知道允许的正文总高度,以便正确地排列列,但在我知道脚注文本的高度之前,这是不可能知道的。
由于行高、行距、段落间距等的不同,我也不能只把正文行的累计高度除以2。
最佳答案
你有三个区块-两个用于列,一个用于脚注。显然(列的高度+脚注的高度+间隙)必须低于页面高度。
你可以在第一列使用你的旧算法。对于第二列,添加脚注时,如果第一列太长,请将行从第一列的末尾移到第二列的开头如果这使第二列太长,请将行移回第一列并删除最后一个脚注行。
关于algorithm - 带列的脚注布局算法,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3540413/