在 ConTeXt 中写信,格式问题

在 ConTeXt 中写信,格式问题

我正在使用 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

信件 PDF

我在上图中标出了这封信的两个问题。首先,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

相关内容