6

右对齐对于字母地址很方便。不幸的是,根据作者John MacFarlane的说法:

pandoc 文档模型不允许在表格中以外的其他对齐方式,因此简单地忽略对齐信息。

我们可以求助于原始的 LaTeX。

经过反复试验(和谷歌搜索),我发现这个 TeX 语法按预期工作:

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

LaTeX 等价物也可以:

\begin{flushright}

Address 1\\
Address 2\\
etc

\end{flushright}

不幸的是,基于 LaTeX 命令的侵入性较小的语法raggedleft不起作用:

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

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

关于中心对齐,我发现一个用户声称 markdown 支持这种原生(漂亮)语法:

-> This is center align <-

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

事实上,我的工作示例都与 John Gruber降价哲学背道而驰

Markdown 格式的文档应该可以按原样以纯文本形式发布,而不会看起来像是用标签或格式说明进行了标记。

你能找到更好的方法吗?

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

4

2 回答 2

9

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

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

您必须想象结果,因为我不确定如何在 SO 上重新创建它。

于 2014-12-03T08:40:28.790 回答
4

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

源文档可能如下所示:

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

Dear so and so,

然后在你的 LaTeX 模板中你会有类似的东西:

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

但是,如果您正在写一封信,最好使用 LaTeX 信函类来编写模板。

于 2013-11-03T19:25:03.123 回答