두 열 문서의 그림 및 텍스트 세로 정렬

두 열 문서의 그림 및 텍스트 세로 정렬

특정 페이지 레이아웃(패키지로 지정됨 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. 따라서 그림 뒤의 텍스트는 그리드에서 벗어나고 다음 열과의 정렬이 손실됩니다.

그림의 크기를 강제로 조정하는 한 가지 방법은 minipage선택적 높이 인수를 의 배수로 설정하고 그 안에 및 \baselineskip를 넣는 것입니다 .\includegraphics\caption

필요한 일부 측정을 자동화하는 그리드 레이아웃을 지원하는 패키지가 있습니다.

관련 정보