A. *_*nda 12 markdown latex pandoc
在pandoc风格的Markdown中考虑以下标题栏:
% Higgelty Pigglety Pop!
or
There Must Be More to Life
% Maurice Sendak
Run Code Online (Sandbox Code Playgroud)
在这里,换行符是标题的一部分.可以重新格式化标题,以便将其插入到常规文本流中,例如"Higgelty Pigglety Pop!或者,必须有更多的生命",但是当没有谈到但是在文档的标题页上使用时,保留换行是至关重要的.根据样式,它可能如下所示:
Higgelty Pigglety Pop! or There Must Be More to Life Maurice Sendak
我的问题:如何在pandoc的输出中实现正确的多行标题显示?
便携版本是首选,但我也满足于仅限LaTeX的黑客攻击.
Chr*_*ris 16
% Higgelty Pigglety Pop! \
or \
There Must Be More to Life
% Maurice Sendak
Run Code Online (Sandbox Code Playgroud)
Pandoc Markdown 默认启用escaped_line_breaks
扩展:
反斜杠后跟换行也是一个强硬的突破.注意:在多行和网格表单元格中,这是创建硬换行符的唯一方法,因为单元格中的尾随空格将被忽略.
使用YAML元数据块时,以下内容也适用:
---
title: |
| First line
| Second line
---
Run Code Online (Sandbox Code Playgroud)
在这个主题中找到了主意。
一个非常通用但不太简单的方法是使用原始 HTML 来指示换行符,并使用pandoc 过滤器将它们转换为正确的换行符。下面是一个Lua 过滤器,它将源中的任何<br>
(或<br />
)转换为硬换行符。
--- Transform a raw HTML element which contains only a `<br>`
-- into a format-indepentent line break.
function RawInline (el)
if el.format:match '^html' and el.text:match '%<br ?/?%>' then
return pandoc.LineBreak()
end
end
Run Code Online (Sandbox Code Playgroud)
将文件另存为linebreaks.lua
.
然后标题可以写成
% Higgelty Pigglety Pop!<br>or<br>There Must Be More to Life
% Maurice Sendak
Run Code Online (Sandbox Code Playgroud)
上面的脚本必须通过--lua-filter
选项传递给 pandoc :
$ pandoc -o test.pdf --lua-filter ./linebreaks.lua test.md
Run Code Online (Sandbox Code Playgroud)
这种方法的优点是它更通用,并且也适用于人们可能想要添加换行符的其他位置。例如,可以使用相同的语法在标题中添加换行符:# first line<br>second line
.
归档时间: |
|
查看次数: |
4721 次 |
最近记录: |