我正在使用 ConTeXt 给某人写信。我遇到了一些格式问题。以下是我的代码和 PDF 输出。有两件事我想修复。
\usemodule[letter]
\starttext
\setupletter
[fromname={HazySmoke},
fromaddress={Address Line One\\Address Line Two\\Address Line Three},
toname={Mr.\ So-and-so},
toaddress={Address Line 4\\Address Line 5\\Address Line 6}]
\setupletter
[opening={Dear Mr. So-and-so},
closing={Sincerely,},
signature={HazySmoke}]
\startletter
How have you been? I've doing great!
\stopletter
\stoptext
我在上图中标出了这封信的两个问题。首先,ConTeXt 决定将我的发件人地址写两次。一次写在信的最顶部(这正是我想要的),另一次则以非常小的字体写在正下方。我不太明白为什么它默认这样做,但正如你所见,小字体与收件人地址重叠,很烦人。我想把它去掉。
其次,收件人地址和日期之间有很多垂直空间。我的信刚好超过一页长,我想缩小垂直空间,以便有更多空间写信体。
我一直在 Google 上寻找有关字母模块的参考资料。我看过一些带有示例的教程,但我没有看到任何全面的指南告诉我如何解决这些特定问题。因此,除了字母格式问题外,我还想知道有哪些好的资源可以用来了解有关 ConTeXt 中字母的更多信息。
答案1
尝试调整“地址”层的垂直位置:
\setupletterlayer[address][alternative=example,y=8cm,]
并调整包含日期的“参考”层的垂直位置:
\setupletterlayer[reference][y=5cm]
看看http://www.ntg.nl/pipermail/ntg-context/2013/074165.html
\usemodule[letter]
\starttext
\setupletter
[name={Hazy Smoke},
address={My Address Line One\\My Address Line Two\\My Address Line Three},
toname={Mr.\ So-and-so},
toaddress={Address Line 4\\Address Line 5\\Address Line 6}]
\defineletterelement[layer][location][example]{\correspondenceparameter{address}\par}
\setupletterlayer[location][alternative=example,y=2cm,x=30mm]
\defineletterelement[layer][addressee][example]%
{\correspondenceparameter{toname}\\\correspondenceparameter{toaddress}\par}
\setupletterlayer[addressee][alternative=example,y=8cm,]
%% Delete the word "Date"
\setuplettertext[en][date=]
%% Move the date line so that it starts 8 cm from the top of the page
\setupletterlayer[reference][y=8cm]
\startletter
[opening={Dear \correspondenceparameter{toname}},
closing={Sincerely,},
signature={\correspondenceparameter{name}}]
How have you been? I've doing great!
\stopletter
\stoptext