gpt4 book ai didi

github - 潘多克 : set document title to first title

转载 作者:行者123 更新时间:2023-12-01 11:13:46 28 4
gpt4 key购买 nike

我正在 github 上创建一个库,所以我为此使用了一个 Markdown 文件,其结构如下:

# My main title
## My first section
...
## My second section
...

但不幸的是,当我使用 pandoc 将此文档转换为 latex 时:
pandoc README.md --number-sections -f markdown -t latex -s -o doc.tex

文档没有任何标题,编号从主标题开始:
1. My main title
1.1. My first section
...
1.2. My second section
...

虽然我想要类似的东西
My main title <=== document title
1. My first section
...
2. My second section
...

我当然可以使用 sed 将所有 ## 更改为 #,并将主标题替换为 % Document My main title但对我来说它看起来很脏。什么是继续的好方法?

谢谢!

最佳答案

注意:此答案适用于 > 2.0 的所有 pandoc 版本,但请参阅 @sww1235 的答案以了解适用于更高 pandoc 版本的更简单方法。

最好使用 pandoc 过滤器来做到这一点。这是一个 Lua 过滤器,可以满足您的需求。将其存储在文件中,例如promote-headers.lua并用 pandoc --lua-filter=promote-headers.lua 调用 pandoc .

local title

-- Promote all headers by one level. Set title from level 1 headers,
-- unless it has been set before.
function promote_header (header)

if header.level >= 2 then
header.level = header.level - 1
return header
end

if not title then
title = header.content
return {}
end

local msg = '[WARNING] title already set; discarding header "%s"\n'
io.stderr:write(msg:format(pandoc.utils.stringify(header)))
return {}
end

return {
{Meta = function (meta) title = meta.title end}, -- init title
{Header = promote_header},
{Meta = function (meta) meta.title = title; return meta end}, -- set title
}

关于github - 潘多克 : set document title to first title,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56004886/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com