昨天,我非常兴奋地开始学习 latex,很快我就发现了可以渲染任何源代码的包。但在我的程序中,有些 Unicode(多字节)字符无法使用标准字体系列进行渲染。因此,我为此使用了 emoji 包。但不久之后,我无法在 minted 块内的(TypeScript)字符串中渲染这些特殊字符。
当然,我可以通过在字符串:内的乳胶代码周围使用相同类型的引号来实现这一点"string "|\escaped|" string"
,但这会在 PDF 中呈现另一对引号,因此这不起作用。
据我所知,我应该使用其他软件包,但 minted 非常好。如何在不放弃 minted 软件包的情况下解决问题?
以下是一个简短的例子:
\documentclass[a4paper]{article}
\usepackage[cachedir=../.cache, outputdir=output]{minted}
\usepackage{emoji}
\def\done{\emoji{check-mark-button}}
\begin{document}
\noindent It shows here (outside minted) -> \done
\begin{minted}[escapeinside=||]{typescript}
...
hbs.registerHelper("list", function(this: any) {
...
entries.forEach(entry => {
|It shows here (inside minted) -> \done|
rows += `
|But not in here (inside minted and backticks) -> \done|
...
`
})
...
});
...
\end{minted}
\end{document}
答案1
不确定您想要什么,但是这个怎么样?
用于反引号(重音符号)的间接(=meta)命令,选项 1;或混合一些 Pygment 元命令,选项 2。
在这两种情况下,特殊字符对于词法分析器来说都是“隐藏”的,可以说是“手动”插入的。
为了演示目的,1 和 2 任意选择了字体和红色。选项 3 是铸造的配色方案。
平均能量损失
\documentclass{article}
\usepackage{minted}
\usepackage{fontspec}
\newfontface\fsym{Noto Sans Symbols2}
\newfontface\fsymb{Noto Emoji}
\def\done{{\fsym ☑✓✔