letter-boilerplate

Finest letter typesetting from the command line
授权协议 Readme
开发语言
所属分类 企业应用、 LaTeX排版系统
软件类型 开源软件
地区 不详
投 递 者 井疏珂
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

Letter Boilerplate

A boilerplate to quickly and painlessly generate high-quality letters through LaTeX.

Why settle for MS Word when you can get the job done using your text editor?

Dependencies

  1. LaTeX with the following extra packages: fontspec geometry ragged2e enumitem xunicode xltxtra hyperref polyglossia footmisc (also, datetime2 plus its language modules if you want to use a custom date, see below in the settings section)
  2. Pandoc, the universal document converter.

I highly recommend TinyTeX as LaTeX distribution. All additional packages can be installed with tlmgr as needed.

Getting started

  1. Open letter.md and fill the YAML frontmatter with your details, your recipient's details, optional subject line, and the desired settings.
  2. Write your letter in markdown below.
  3. Run make to compile the PDF.

If a file named signature.pdf is present in the directory, the boilerplate will automatically print it after the letter's body as a final touch. Follow this method to import your own signature.

Note: this template needs to be compiled with XeTeX.

Note for Windows users

Although I didn't test it, you can probably use this on Windows, too. Both Pandoc and LaTeX can be installed on Windows and you should be able to run makefiles on Windows through Cygwin. If that's too much hassle, this command should do the trick in Powershell:

pandoc letter.md -o output.pdf --template=template.tex --pdf-engine=xelatex

Available settings

  • subject: The letter's subject (optional)
  • mainfont: Hoefler Text is the default, but every font installed on your system should work out of the box thanks to XeTeX.
  • altfont: Used to render the recipient address so that it stands out from the rest of the letter.
  • fontsize: Possible values here are 10pt, 11pt and 12pt.
  • lang: Sets the main language through the polyglossia package. This is important for proper hyphenation and date format.
  • geometry: A string that sets the margins through geometry. Read this to learn how this package works.
  • letterhead: include custom letterhead in the PDF (see below).
  • customdate: Allows you to specify a custom date in the format YYYY-MM-DD in case you need to pre/postdate your letter. Caveat: Requires datetime2 along with its language module (ex: if lang is set to german do tlmgr install datetime2 datetime2-german)

Custom letterhead

If you have already designed your own letterhead and want to use it with this template, including it should be easy enough. Set the letterhead option to true to activate the wallpaper package in the template. wallpaper will look for a file named letterhead.pdf in the project root folder and print it on the PDF before compiling the document. Change the fonts to match the ones in your letterhead, adjust the margins with geometry and you should be all set.

Recommended readings

Resources

  • TinyTeX is a lightweight, cross-platform, portable, and easy-to-maintain LaTeX distribution based on TeX Live.
  • Refer to pandoc's documentation to learn more about how templates work.
  • If you're not familiar with the YAML syntax, here's a good overview.
  • If you want to edit the template but LaTeX scares you, these docs put together by ShareLaTeX cover most of the basics and are surprisingly kind to the beginner.
  • Odds are your question already has an answer on TeX Stack Exchange. Also, pretty friendly crowd in there.
  • Need to fax that letter? Check out Phaxio and learn how to send your faxes from the command line with a simple API call.

See also

License

MIT

 相关资料
  • Letter by Letter JS 是一个轻量级的 jQuery 插件,它能在 HTML 页面上显示文本信息。此文本信息在输入的时候会显示,或者是慢慢地淡化。

  • 描述 (Description) :first-letter伪元素用于向文本的第一个字母添加特殊效果。 以下属性适用于此伪元素 - 字体属性 颜色属性 背景属性 保证金属性 填充属性 边境物业 text-decoration vertical-align text-transform line-height float clear 例子 (Example) 下面是演示如何使用的示例:first-l

  • 描述 (Description) letter-spacing属性修改相邻字符之间放置的空间量。 可能的值 (Possible Values) normal - 字母之间的默认间距不会更改。 实际上,这相当于将值设置为0。 length - 这将增加字母之间的间距 - 长度越大,字母之间的空间就越大。 允许负值。 适用于 (Applies to) 所有HTML元素。 DOM语法 (DOM Synt

  • UILabel letter touch 实现相应点击 UILabel 中的任意一个字母。

  • 当我们需要扩大或者减少字符之间的距离时候,会用到这个属性。这里要注意它只能作用英文,对于中文是无效的,所以在中文设置中一般很少用到它。 1. 官方定义 letter-spacing 属性增加或减少字符间的空白(字符间距)。 2. 慕课解释 该属性定义了在文本字符框之间插入多少空间。由于字符字形通常比其他字符框要窄,指定长度值时,会调整字母之间通常的间隔。因此,normal 就相当于值为 0。 这个

  • Letter Combinations of a Phone Number 描述 Given a digit string, return all possible letter combinations that the number could represent. A mapping of digit to letters (just like on the telephone button