Latex 标题全部大写

Latex 标题全部大写

我希望我的 Latex 文档(特别是部分和章节)中的一些标题的标题为大写,就像经典论文。我还想避免更改目录。我正在使用 Pandoc 生成文档,因此除了我在开头插入的样式文件之外,我希望避免手动向文档添加代码。我正在使用 KOMA Scriptscrbook和 LuaLatex。

这是我迄今为止尝试过的:

  1. titlesec该包不适用于 KOMA 脚本,因此我使用命令\setkomafont
  2. \setkomafont不能与\MakeUppercase或一起使用,\uppercase因为这些命令需要参数。
  3. 这是受到推崇的使用字体使文本变为大写,但是Letters=Uppercase在EB Garamond 中\newfontfamily使用设置fontspec不起作用。
  4. 使用\renewcommandfor\part\chapter适用于部分但不适用于章节,并且它也会更改目录。
  5. 使用较大字体的小型大写字母,例如本论给出了错误的光学尺寸。
  6. 我的最后一个选择是使用这个LuaTex脚本但它缺少一些连字符tt,我现在必须手动将其添加到脚本中。

我是不是漏掉了什么?一定有更简单的方法来获取大写文本?

答案1

您可以使用 pandoc Lua 过滤器来执行此操作:

-- file: uppercase-headings.lua
local text = require 'text'
function Header (h)
  return pandoc.walk_block(h,
    {Str = function (s) return pandoc.Str(text.upper(s.text)) end}
  )
end

通过选项将其传递给 pandoc 来使用--lua-filter

相关内容