Пользовательское форматирование названий книг, заключенных в китайские знаки названий книг (《》) в LaTeX

Пользовательское форматирование названий книг, заключенных в китайские знаки названий книг (《》) в LaTeX

В китайских соглашениях о наборе заголовки книг обычно заключаются в знаки заголовков книг "《" и "》", которые являются символами Unicode UTF-8. Эти символы могут поддерживаться с помощью пакета 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}

сохранен как файл .tex в кодировке UTF-8.

решение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}

Разница в том, что в последнем коде пропуск приведет к ошибке; в первом коде форматирование продолжится. Выбирайте сами.

Связанный контент