TeX 新手。我想将 scrlttr2 中的参考字段行定位到通常显示“补充数据”的位置(在右上角,标题下方)。
我以为这会很简单
\makeatletter
\@setplength{refvpos}{\useplength{locvpos}}
\@setplength{refhpos}{\useplength{lochpos}}
\@setplength{refwidth}{\useplength{locwidth}}
\makeatother
但那不起作用,参考字段行显示在文档顶部。任何帮助都将不胜感激!我正在制作发票模板。
答案1
垂直位置:显然,
locvpos
您的样式的值为 0 pt,这在许多字母样式中很常见。您可以自行设置或使用toaddrvpos
。水平位置:
refhpos
表示距离纸张左边缘和lochpos
纸张右边缘的距离。因此,您必须计算,从中减去lochpos
和才能得到新的。locwidth
\paperwidth
refwidth
宽度:您可以
locwidth
像以前一样简单地使用,也许该选项refline=narrow
对您也有用。
由于您自己设计模板,因此您不必使用预定义的值,您可以设置自己的值。
例子:
\documentclass[refline=narrow]{scrlttr2}
\setkomavar{yourref}{Z7H88}
\setkomavar{yourmail}{10/28/2011}
\setkomavar{myref}{A124}
\setkomavar{customer}{42}
\setkomavar{invoice}{I-2011-22}
\setkomavar{date}{11/01/2011}
\usepackage{calc}
\makeatletter
\@setplength{refvpos}{\useplength{toaddrvpos}}
\@setplength{refhpos}{\paperwidth-7cm}
\@setplength{refwidth}{3cm}
\makeatother
\begin{document}
\begin{letter}{Reader}
\opening{Dear reader,}
\closing{Yours Sincerely}
\end{letter}
\end{document}
另一种方法
你可以使用
\setkomavar{location}{...}
在设计您自己的参考字段块时使用位置字段,而不是使用预定义的参考字段。这样您就不必更改位置和宽度。