在pdfLaTeX(Overleaf)中使用长s(ſ)字符报错,求解决方案
解决pdfLaTeX中使用长s(ſ)的问题
方案1:加载支持长s的字体包
pdfLaTeX默认字体不包含长s字符,必须使用自带该字符的字体包:
用yfonts包
在导言区添加这行代码:
\usepackage{yfonts}
文本里不用直接输入ſ,换成\texts命令即可:
Here is a \texts{}imple example
用Libertine字体
Libertine字体原生支持长s,导言区添加:
\usepackage{libertine}
之后直接输入ſ就能正常显示,部分版本也支持用\longs命令替代。
方案2:映射Unicode字符(不换字体)
不想更换字体的话,用newunicodechar包把ſ映射成LaTeX能识别的内容:
导言区添加:
\usepackage{newunicodechar} \newunicodechar{ſ}{\fontencoding{OT1}\selectfont s}
这种方法利用OT1编码的CM字体特性,仅在单词开头等场景显示长s,适合轻度需求。
备选方案:切换编译器
pdfLaTeX对Unicode支持有限,要是上面的方法都不好用,直接在Overleaf里把编译器换成XeLaTeX或LuaLaTeX,这两款编译器对Unicode兼容更好,直接输入ſ就能正常使用,无需额外配置。
内容的提问来源于stack exchange,提问作者user19580664
相关产品推荐
相关产品推荐

