![\markboth{}{} 和 CJK](https://linux22.com/image/251690/%5Cmarkboth%7B%7D%7B%7D%20%E5%92%8C%20CJK.png)
我正在使用CJKutf8
LaTeX 中的包编写一本日语词典。我编写了一些宏来创建条目,除了使用 设置标题外,其他一切都运行正常fancyhdr
。
使用宏:
\newcommand{\J}[1]{\begin{CJK}{UTF8}{song}#1\end{CJK}}
我在 Unicode 中输入日语,但在
\markboth{\J{#1}}{\J{#1}}
它无法编译并且会出现奇怪的错误。
这是一个有效的例子:
\documentclass[twocolumn]{book}
\usepackage[T1,OT4]{fontenc}
\usepackage{CJKutf8}
\usepackage{hanging}
\usepackage{ragged2e}
\usepackage{fancyhdr}
\usepackage{fix2col}
\pagestyle{fancy}
\fancyhf{}
\fancyhead[LE,RO]{\textbf{\rightmark\ -- \leftmark}}
\fancyhead[LO,RE]{\textsf{\textbf{\thepage}}}
\newcommand{\J}[1]{\begin{CJK}{UTF8}{song}#1\end{CJK}}
\newcommand{\E}[4]{\hangpara{3em}{1}\textbf{\J{#2・}}\J{#1}\ #3\ \textit{#4}\J{\markboth{#2}{#2}\cleardoublepage\par}}
\begin{document}
\E{愛}{あい}{miłość}{cn}
\E{青い}{あおい}{niebieski; \emph{rz.} zielony}{ia}
\E{青信号}{あおしんごう}{zielone światło na sygnalizatorze}{mn}
\end{document}
当然,我不想将每个条目放在单独的页面上,因此当我删除 \cleardoublepage 时,它无法编译。
我怎样才能制作包含日语单词的标题?
答案1
使用您的代码,您可能会看到以下错误:
name = cyberb53, rootname = cyberb, pointsize = 53 mktexmf: empty or non-existent rootfile!
...
事实上,TeX 文件没有问题,但是您没有为CJK
捆绑包安装适当的字体。
最简单的解决方案是改变
\begin{CJK}{UTF8}{song}
到
\begin{CJK}{UTF8}{min}
请注意,song
CJKfamily 实际上适用于中文而不是日语。
还有许多其他解决方案,我就不多解释了。另请参阅 如何用 LaTeX 写日语?