放大 scrlttr2 中的位置

放大 scrlttr2 中的位置

我读过这个问题scrlttr2 位置定位问题现在有一个后续问题。

如何放大 KOMA-Script 类中的位置scrlttr2?我添加的行(带有注释的行)只是一种解决方法,但并没有放大框(?),因此警告继续存在。

\documentclass[foldmarks=true,foldmarks=blmtP,
version=last]{scrlttr2}

\usepackage[showframe]{geometry} % just to show the frame

\usepackage[ngerman]{babel}
\usepackage{graphics}
\usepackage{lipsum}

\makeatletter
  \@setplength{lochpos}{\oddsidemargin}
  \@addtoplength{lochpos}{1in}
  \@addtoplength{lochpos}{24pt}%only moves the location, but doesn't enlange it
\makeatother

\begin{document}
\setkomavar{location}{\raggedleft
verylongline12345678901234}
\begin{letter}{%
Joana Public\\
Hillside 1\\
12345 Public-City%
}
\opening{Dear ...,}
\lipsum[1-2]
\closing{Regards}

\end{letter}
\end{document}

答案1

为了扩大 KOMA-Script 中scrlttr2名为 location 的类,你需要添加以下行

  \@addtoplength{locwidth}{6cm} % enlarges location <===================

6cm到您的代码中。根据您的需要更改该值。

为了让您更好地了解情况,我在以下 MWE 中删除了您使用的geometry行(因为它改变了字母的布局,最好使用包showframe)并添加了以下三行

\LoadLetterOption{visualize} % <========================================
\showfields{address,location,refline} % <===============================
\usepackage{showframe} % just to show the frame <=======================

现在您可以看到用黑色框架可视化的位置。

使用以下 MWE

\documentclass[%
  foldmarks=true, foldmarks=blmtP,
  version=last
]{scrlttr2}

\LoadLetterOption{visualize} % <========================================
\showfields{address,location,refline} % <===============================
\usepackage{showframe} % just to show the frame <=======================

\usepackage[ngerman]{babel}
\usepackage{graphics}
\usepackage{lipsum}

\makeatletter
  \@setplength{lochpos}{\oddsidemargin}
  \@addtoplength{lochpos}{1in}
  \@addtoplength{locwidth}{6cm} % enlarges location <===================
\makeatother

\begin{document}
\setkomavar{location}{\raggedleft
verylongline12345678901234}
\begin{letter}{%
Joana Public\\
Hillside 1\\
12345 Public-City%
}
\opening{Dear ...,}
\lipsum[1-2]
\closing{Regards}

\end{letter}
\end{document}

你得到了想要的结果:

在此处输入图片描述

使用 KOMA-Script 3.26 或更高版本,您可以改用命令\addtoplength\@addtoplength。为确保您的 cade 只能使用正确版本或更高版本进行编译,请添加[2019/02/01 v3.26b]scrlttr2

\documentclass[%
  foldmarks=true, foldmarks=blmtP,
  version=last
]{scrlttr2}[2019/02/01 v3.26b] % <============== compiles only with version v3.26b or more

\LoadLetterOption{visualize} % <========================================
\showfields{address,location,refline} % <===============================
\usepackage{showframe} % just to show the frame <=======================

\usepackage[ngerman]{babel}
\usepackage{graphics}
\usepackage{lipsum}

% no @ needed with version KOMA-Script 3.26 <===========================
\setplength{lochpos}{\oddsidemargin} % <================================
\addtoplength{lochpos}{1in} % <=========================================
\addtoplength{locwidth}{6cm} % enlarges location <======================


\begin{document}
\setkomavar{location}{\raggedleft
verylongline12345678901234}
\begin{letter}{%
Joana Public\\
Hillside 1\\
12345 Public-City%
}
\opening{Dear ...,}
\lipsum[1-2]
\closing{Regards}

\end{letter}
\end{document}

如上图所示!

相关内容