我正在遵循这个 SE 问题将 amsthm 中的“证明”文本更改为증명,这是韩语中相同的单词。
如果我输入拉丁文本,它就可以正常工作。
\documentclass[12pt]{article}
\usepackage{amsthm}
\usepackage{kotex}
\renewcommand*{\proofname}{My proof}
\begin{document}
\begin{proof}
To get a contradiction, suppose that $3 = 4$.
\end{proof}
\end{document}
打印My proof. To get ...
但是,将第三行更改为
\renewcommand*{\proofname}{증명}
打印증명 To get a contradiction, suppose that 3=4.
时点缺失。另一方面,
\renewcommand*{\proofname}{증명.}
打印증명.. To get a contradiction, suppose that 3=4.
两个点!
我怎样才能只得到一个点?
答案1
我可以用 重现该问题pdflatex
,但不能用 XeLaTeX 或 LuaLaTeX 重现该问题。
原因是韩语字符后的空间因子设置为 1001:我相信它用于决定是否在转换时在韩语之前中断。
然而,这与\@addpunct
仅当当前空间因子为 1000 或更小的时候才添加其参数相冲突。
解决方案:添加\@
\documentclass[12pt]{article}
\usepackage{amsthm}
\usepackage{kotex}
\renewcommand*{\proofname}{증명\@}
\begin{document}
\begin{proof}
To get a contradiction, suppose that $3 = 4$.
\end{proof}
\end{document}