LaTeX 中中文书名号 (《》) 书名的自定义格式

LaTeX 中中文书名号 (《》) 书名的自定义格式

在中文排版惯例中,书名通常用书名号“《》和“》”括起来,它们是 UTF-8 Unicode 符号。可以使用 xeCJK 包(将中文、日文和韩文的所有字符和符号的 \catcode 设置为 11)支持这些符号。我想咨询是否有方法(类似于 shortvrb 处理 `|' 符号的方式)为“《》和“》”设置控制序列,让这些符号括起来的书名排版具有特定的格式,例如斜体或以蓝色显示等。

汉字排版tex文件通常如下:

% !TEX program = xelatex
\documentclass{article}
\usepackage{xeCJK}
\begin{document}
Here is a book title in chinese book title marks
《A Chinese Book》
\end{document}

保存为UTF-8编码的.tex文件。

答案1

您可以使用活动类别代码来创建命令。但是这样做的缺点是未配对会导致错误。

\documentclass{ctexart}

\begin{document}

\catcode`《 = \active 
\def《#1》{\emph{#1}}

中文

《中文》

《Chinese》

\end{document}

答案2

您可以使用\newunicodechar

\documentclass{article}
\usepackage{xeCJK}
\usepackage{newunicodechar}

\newunicodechar{《}{\begingroup《\em\ignorespaces}
\newunicodechar{》}{\/\endgroup》}

\begin{document}

Here is a book title in chinese book title marks
《A Chinese Book》

\end{document}

在此处输入图片描述

替代方法:

\documentclass{article}
\usepackage{xeCJK}
\usepackage{newunicodechar}

\newunicodechar{《}{《\hzzhangbook|}
\NewDocumentCommand{\hzzhangbook}{r|》}{\emph{#1}》}

\begin{document}

Here is a book title in chinese book title marks
《A Chinese Book》

\end{document}

区别在于,使用后一种代码,缺失将引发错误;使用前一种代码,格式化将继续。选择您喜欢的。

相关内容