假设我需要在以缅甸语为主的章节标题中夹入英文单词。我希望这些夹入的英文单词为红色。但是我希望所有标题文本都为灰色,并保持原始章节标题中的字体相同。我该如何实现呢?这是我的 MWE:
\documentclass[twoside, openright]{book}
\XeTeXlinebreaklocale "my_MM" %Myanmar line and character breaks
\XeTeXinterwordspaceshaping = 2
\usepackage{fontspec}
\usepackage[dvipsnames]{xcolor}
\usepackage{titlesec}
\newfontfamily{\ubuntumono}{Fira Mono}[Script=Latin]% replace Fira with Ubuntu
\DeclareTextFontCommand{\textubuntumono}{\ubuntumono}
\newcommand{\class}{\myCodePar{class}}
\newcommand{\turnLeft}{\myCodePar{turnLeft}}
\NewDocumentCommand{\myCodePar}{om}{%
% #1 = optional color, #2 = text
\textubuntumono{\IfValueT{#1}{\addfontfeatures{Color=#1}}#2}%
}
\definecolor{myParColor}{HTML}{4E4D4D}
\definecolor{myParColor1}{rgb}{1,0,0}
\titleformat{\chapter}[display]
{\Huge}{\color{blue}\thechapter}{10pt}{\color{blue}}
{\filcenter}
\renewcommand{\chaptermark}[1]{%
% header မှာ အခန်း ၁ ကို boldfont နဲ့ မစောင်းပဲပေါ်အောင်
\markboth{{\color{gray}\bfseries{\chaptername\ \thechapter~~~}}%
% chapter title ကို italic နဲ့ ပေါ်အောင်
{\color{gray}\bfseries{#1}}}{}}
\begin{document}
\chapter{Burmese Txt \myCodePar[red]{Some Eng Txt} Burmese Txt}
\newpage
sometext
\newpage
sometext
\end{document}
答案1
您无法\myCodePar
在标题内做任何事。
\NewDocumentCommand{\NotmyCodePar}{om}{#2}
\renewcommand{\chaptermark}[1]{%
% header မှာ အခန်း ၁ ကို boldfont နဲ့ မစောင်းပဲပေါ်အောင်
\markboth{{\color{gray}\bfseries{\chaptername\ \thechapter~~~}}%
% chapter title ကို italic နဲ့ ပေါ်အောင်
{\color{gray}\bfseries{\let\myCodePar\NotmyCodePar#1}}}{}}