scrlttr2가 페이지 하단을 모두 소모하지 않는 이유는 무엇입니까?

scrlttr2가 페이지 하단을 모두 소모하지 않는 이유는 무엇입니까?

다음 파일이 있습니다 test.tex.

\documentclass[a4paper,10pt,version=last]{scrlttr2}%,fontsize=10pt

\usepackage{fontspec}% for lualatex 
\usepackage{geometry}
\usepackage[latin]{babel} % for lipsum
\usepackage{lipsum}
\usepackage{showframe}

\setkomavar{subject}[]{Geometrie}


%\KOMAoptions{firstfoot=false}

\begin{document}

\begin{letter}{%
  CapMini GmbH \\
  Egon Walther\\
  Walthershofener Straße 20\\
  88444 Walthershofen\\
} 
  \opening{Salve Egon,}
  \lipsum{1}
  
  \closing{Regards\\[2\baselineskip]}

\end{letter}
\end{document}

어떤 의미에서 이 파일은 fontspec최소 입니다 . 단지 힌트를 주기 위한 것일 뿐, 없이도 문제가 발생합니다.lualatexbabellipsumshowframe

결과 PDF 파일에서 볼 수 있듯이 텍스트는 로 표시된 프레임의 아래쪽 경계까지 도달하지 않습니다 showframe.

\KOMAoptions{firstfoot=false} 일종의 해결 방법인 주석 처리를 제거하면 문제가 사라집니다 .

다른 변형도 유익합니다. 제거하면 geometry(응용 프로그램에는 옵션이 없음) 문자 높이는 변경되지 않지만 경계는 실제 문자의 아래쪽 경계에 맞춰집니다.

흥미로운 점은 옵션 10pt이나 대안을 제거하면 어떤 일이 발생하는지입니다 fontsize=10pt. 그러면 텍스트가 아래쪽 경계까지 내려갑니다.

또 다른 힌트: 이 문제는 새로운 것 같습니다. 예를 들어 도구(lualatex 및 기타 컴파일러) 또는 패키지/문서 클래스의 최근 업데이트와 관련이 있습니다.

도움을 주셔서 대단히 감사합니다. 1페이지짜리 편지를 자주 쓰는데 지금은.. 어렵네요.

답변1

응답 의 첫 번째 페이지 scrlttr2. scrletter왠지 특별해요. 예를 들어 바닥글의 위치는 typearea또는 를 사용하여 설정한 레이아웃 geometry뿐만 아니라의사 길이 firstfootvpos. 다음을 사용하여 해당 위치를 시각화할 수 있습니다.

\LoadLetterOption{visualize}
\showfields{foot}

이미 설명했듯이Schweinebacke의 답변에게:scrlttr2를 사용할 때 페이지 끝에 빈 공간을 피하는 방법은 무엇입니까?옵션을 사용하면 첫 번째 페이지의 큰 텍스트 영역을 얻을 수 있습니다 firstfoot=false,enlargefirstpage.

옵션은 firstfoot=false바닥글을 페이지 아래로 어느 정도 이동합니다.

옵션은 enlargefirstpage바닥글의 레이아웃 위치( geometry귀하의 경우에서 설정) 아래의 텍스트 영역을 확대하기도 합니다. 따라서 아래쪽 여백은 \footskip첫 번째 페이지로 줄어듭니다.

그러나 IMHO는 둘 다 필요하지 않으며 귀하의 경우에는 원하지 않습니다. firstfoot=false다소 실수로 해결 방법입니다.

코드의 주요 문제점은 로드 시 geometry레이아웃 매개변수가 변경되지만 그에 따라 자동으로 조정되지 않는다는 것입니다.의사 길이. 이는 default 를 로드하여 이미 설정되어 있으며 DIN.lco, 여기에서 다음을 찾을 수 있습니다.

    \setplength{firstfootvpos}{1in}%
    \addtoplength{firstfootvpos}{\topmargin}%
    \addtoplength{firstfootvpos}{\headheight}%
    \addtoplength{firstfootvpos}{\headsep}%
    \addtoplength{firstfootvpos}{\textheight}%
    \addtoplength{firstfootvpos}{\footskip}%

따라서 firstfootvpos하나의 레이아웃 길이뿐만 아니라 geometry글꼴 크기에 따라 설정되는 여러 레이아웃 길이에 따라 달라집니다. 따라서 geometry문자 옵션을 다시 로드하지 않고 글꼴 크기를 변경하고 로드하면 DIN.lco다소 이상한 설정이 발생하는 것은 예상치 못한 일이 아닙니다 .

따라서 유효한 결과를 얻는 첫 번째 단계는 다음을 추가하는 것입니다.

\LoadLetterOption{DIN}% or whatever letter option you are using

로딩 후 geometry:

\documentclass[a4paper,10pt,version=last]{scrlttr2}%,fontsize=10pt

\usepackage{fontspec}% for lualatex 
\usepackage{geometry}
\usepackage[latin]{babel} % for lipsum
\usepackage{lipsum}
\usepackage{showframe}

\setkomavar{subject}[]{\the\dimexpr\useplength{firstfootvpos}\relax}
\LoadLetterOption{DIN}% Load it again after changing the layout by loading geometry
\LoadLetterOption{visualize}
\showfields{foot}

%\KOMAoptions{enlargefirstpage}
%\KOMAoptions{firstfoot=false}

\begin{document}

\begin{letter}{%
  CapMini GmbH \\
  Egon Walther\\
  Walthershofener Straße 20\\
  88444 Walthershofen\\
} 
  \opening{Salve Egon,}
  \lipsum{1}
  
  \closing{Regards}% IMHO \\[2\baselineskip] is nonsense here, so I've removed it

\end{letter}
\end{document}

10pt 또는 글꼴 크기=10pt 사용

이제 옵션이 없는 결과 10pt또는 fontsize=10pt기본값은 12pt매우 유사합니다.

10pt를 사용하지 않고 기본 12pt를 사용합니다.

관련 정보