如何在不修改原模板的情况下更改Typst中#show调用的字体?
解决方案
当然可以在不修改原模板的前提下更改字体,根据你要修改的范围,有两种可行方法:
方法一:仅修改正文内容的字体
在你的文档内容开头添加#set text规则,覆盖模板中设置的字体。这个方法只会改变你编写的正文(标题、段落等),模板自带的页面顶部标题仍会使用原模板的字体:
// 这是我的文档 #show: template.with( title: [This is the Title] ) // 自定义正文字体,替换成你需要的字体名称 #set text(font: "Arial", size: 11pt) = Headline #lorem(50)
方法二:修改整个文档的字体(包括模板中的标题)
如果需要连模板里的页面顶部标题也一起改字体,可以使用全局的show规则拦截所有文本元素,强制替换字体:
// 这是我的文档 // 全局替换所有文本的字体,替换成你需要的字体名称 #show text: content => text(font: "Arial", content) #show: template.with( title: [This is the Title] ) = Headline #lorem(50)
补充说明
- 替换时请确保Typst能识别你指定的字体名称(比如系统已安装或通过Typst内置字体引用)
size参数可选,如果不需要改字号可以省略
内容的提问来源于stack exchange,提问作者woerndl
相关产品推荐
相关产品推荐

