我读过这个问题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}
如上图所示!