兩欄文檔中的圖形和文字垂直對齊

兩欄文檔中的圖形和文字垂直對齊

geometry我正在嘗試為具有特定頁面佈局(由套件指定)和帶有特定頁面佈局的雙欄書籍設定佈局兩列中的文字彼此對齊。為此,我已經調整了段落之間以及浮動前後的空格長度:

%%% adjust all spacings to \baselineskip to align text paragraphs and floats 
\usepackage{setspace}
\setstretch{1.5}
\setlength{\parskip}{\baselineskip}
\usepackage{etoolbox}
\BeforeBeginEnvironment{figure}{\kern \baselineskip}

對於標準頁面佈局來說效果很好*:

在此輸入影像描述

然而,一旦我改變了頁面佈局,特別是正文,geometry它就停止工作了。

在此輸入影像描述

有人可以解釋為什麼會發生這種情況以及如何解決它嗎?

這是 MWE。

\documentclass[twocolumn]{book}

% page layout settings with geometry 
\usepackage[papersize={240mm,300mm}
            ,hmargin={25mm}
            ,top={20mm}
            ,columnsep={10mm}
            ,body={190mm, 220mm} % <- when textbody is changed, fig/float placement changes!
            ]{geometry} %,

\usepackage{lipsum}         % generates filler dummy text          
\usepackage[demo]{graphicx} % demo option replace images with black rectangles for testing purposes
\usepackage{caption}

% adjust all spacings to \baselineskip to align text paragraphs and floats 
\usepackage{setspace}
\setstretch{1.5}
\setlength{\parskip}{\baselineskip}
\usepackage{etoolbox}
\BeforeBeginEnvironment{figure}{\kern \baselineskip}

\begin{document}

\lipsum[4]    

\begin{figure}[tb]
  \centering
  \includegraphics[width=0.8\columnwidth]{castle}
  \caption{This is a caption This is a caption This is a caption This is a cThis is a captionThis is a captionThis is a captionThis is a captionaption This is a caption.}
\end{figure}

\lipsum

\end{document}

答案1

看看你的例子,沒有什麼可以強製文字行與網格對齊,因此,在一種情況下,這些行可能看起來緊密對齊,這只是運氣。

如果您想將文字與網格對齊,那麼全部垂直放置的材料必須是 的倍數\baselineskip。您已經設定了長度,但圖形似乎是任意高度,圖像在縮放寬度時具有任意高度,並且標題似乎設定為不同的字體大小,因此圖形不會是主體\baselineskip。因此,圖形後面的文字將脫離網格,並且與下一列的對齊將丟失。

強制調整圖形大小的一種方法是使用 a ,minipage並將其可選高度參數設為 的倍數\baselineskip,並將\includegraphics和放在\caption其中。

有些軟體套件旨在幫助網格佈局,可能會自動執行一些所需的測量。

相關內容