输入单独的连字文件

输入单独的连字文件
\documentclass{article}
\usepackage[english]{babel}
\usepackage{filecontents}

\begin{filecontents*}{english.yp}
    hom-ony-mous
    gene-ral-ly
\end{filecontents*}{english.yp}

\hyphenation{
    \input english.yp
}

\begin{document}
spinach.
\end{document}

这不能编译,(但如果我移动文件的第一行和最后一行,就会编译。)为什么不呢\hyphenation{}

答案1

LaTeX 实现\input不可扩展,因此无法进行括号测试。但是,\hyphenation需要一个完全扩展为文本的参数。因此,您必须使用底层原语

\documentclass{article}
\usepackage[english]{babel}
\usepackage{filecontents}

\begin{filecontents*}{english.yp}
    hom-ony-mous
    gene-ral-ly
\end{filecontents*}
\makeatletter
\hyphenation{
    \@@input english.yp
}
\makeatother
\begin{document}
spinach.
\end{document}

相关内容