解决 LaTeX 索引的路径中存在波浪号的问题
波浪号 (~, tilde)
kymot
2021-04-10 20:47:43 +0800
问题
前段时间写的讲 LaTeX 中自定义中文字体的文章里提到要把需要用的中文字体放到生成文件的目录下, 但这样实在有点麻烦, 而且不太"健康". LaTeX 其实是有提供设定路径的选项的: [Path]
. 加上这一点后, 具体设置大致如下:
\setCJKmainfont[Path="D:/fonts/", BoldFont=NotoSansCJKsc-Medium.otf]{NotoSerifCJKsc-Regular.otf}
但我做静态文件存储的目录一般会以 ~
开头, 来让它在按文件名的索引里排到最前面; 所以我的字体文件目录实际上是 D:/~fonts/
. 但直接把这放到里面又有问题, 没法正常生成. 恼人的是错误信息基本派不上用场, 提示的是 "找不到 \begin{document}
" 云云, 然而我的源文件里根本就有这一行啊. 经过交叉对比, 终于发现问题的源头是路径中的 ~
. 但要怎么解决呢?
我以 latex 和 tilde 为关键词搜索, 找到了 Stack Exchange 上的这个问题. 虽然跟我的问题并没有直接关系, 但我捕捉到了提问者错误信息中的这一行—
! LaTeX Error: File `~/mypic not found.
嗯? 这不是实现了么. 来看看他是怎么实现的:
\newcommand\HomeFolder{\string~}
看来 \string~
就对应于 ~
了. 替换之后, 果然解决了问题.
碎碎念
LaTeX 果然还是有些"前现代"了. 功能强大, 语义标记丰富… 但对于初学者和轻度使用者来说还是不太友好. 但另一方面, 所见即所得的编辑器又会惯坏用户, 搞得弄出来的文件在语义标记上一塌糊涂. 理想的调和点应该类似于 Markdown, 足够简单, 又具备相当的扩展性. 又或者像是介于 LaTeX 和 其他所见即所得数学公式编辑器之间的 TeXmacs, —虽然 TeXmacs 导出的 LaTeX 不是很好看和直观, 但至少在操作形式上比较友好.
形式和语义的争斗可以延伸到很多话题上, 又比如命令行和图形窗口. 在这一点上, RStudio 或许是一个比较好的调和点; 最新最in的 Visual R Markdown 尤然.