
특정 페이지 레이아웃(패키지로 지정됨 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
필요한 일부 측정을 자동화하는 그리드 레이아웃을 지원하는 패키지가 있습니다.