2013-11-02 29 views
4

右对齐适用于字母地址。不幸的是,根据作者John MacFarlanePandoc中的右对齐(地址)

pandoc文档模型不允许在表中对齐,所以对齐信息被忽略。

我们可以诉诸生乳酸。

在试错(以及使用Google)我发现这个TeX的语法按预期工作:

\rightline{Address 1} 
\rightline{Address 2} 
\rightline{etc} 

另外,乳胶等效的作用:

\begin{flushright} 

Address 1\\ 
Address 2\\ 
etc 

\end{flushright} 

的侵入性较小的语法,根据该乳胶命令raggedleft,遗憾的是不起作用:

{\raggedleft 
Address 1\\ 
Address 2\\ 
etc\\ 
} 

这个我因为大括号是逐字传递的(\{\})而不是原始的LaTeX。

参照中心对齐,我发现了一个user声称降价支持这种原生(美)语法:

-> This is center align <- 

,但我没有找到一个编辑器/转换器,支持它。

事实上我的工作示例都是针对约翰·格鲁伯markdown philosophy

减价格式的文档要发布的原样,纯文本,而不会像它被打上了标签或格式化指令。

你能找到更好的方法吗?

特别是有可能简单地编写一个Pandoc模板来重新定义头的对齐方式,比如说:###### Right aligned

+0

而不是使用'{\ raggedleft ...}',\ begingroup \ raggedleft ... \ endgroup'怎么样? – Werner

+0

@Werner:因为我正在寻找更轻的语法,而且你的入侵比'\ begin {flushright} ... \ end {flushright}'更有侵略性。 – antonio

回答

2

处理此问题的最佳方法是将地址放入YAML元数据块(由pandoc 1.12+支持)中,然后在自定义模板中进行对齐。那么你的源文件将是干净的,没有原始的LaTeX,你可以修改模板以获得任何输出格式的所需外观。

源文件看起来是这样的:

--- 
address: 
    | 23 Main St. 
    | Somewhere, MT 23434 
... 

Dear so and so, 

然后在你的LaTeX模板,你会碰到这样的:

\begin{flushright} 
$address$ 
\end{flushright} 

如果你写了一封信,虽然,它可能会最好使用LaTeX letter class来编写模板。

7

对于那些正在寻找类似的问题在这里是如何左对齐/在同一行右对齐:

**Some bolded text** **\hfill some right aligned on same line bolded text** 

你必须想象的结果,因为我不知道如何重新创建它在SO上。