7

I'm writing a letter to someone, using ConTeXt. I'm running into some formatting issues. The following is the code I have, and the PDF output. There are two things that I'd like to fix.

\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

Letter PDF

I've highlighted the two problems with the letter in the above picture. First, ConTeXt decided to write my from-address twice. Once at the very top of the letter (which is what I want), and again in very fine print just below it. I don't quite understand why it does this by default, but as you can see, the fine print annoyingly overlaps with the to-address. I'd like to just get rid of it.

Second, there is a lot of vertical space between the to-address and the date. My letter is just over a page long, and I'd like to shrink that vertical space so I have more room for the letter body.

I've been trying to find reference material about the letter module on Google. I've come across some tutorials with examples, but I haven't seen any comprehensive guide that tells me what to do to fix those specific problems. So, along with my letter formatting questions, I'm also wondering what are some good resources that I can use to learn more about letters in ConTeXt.

2

Try adjusting the vertical position of the "address" layer:

\setupletterlayer[address][alternative=example,y=8cm,]

and adjusting the vertical position of the "reference" layer, which includes the date:

\setupletterlayer[reference][y=5cm]

and see 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

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.