当章节标题本身采用多种不同颜色的字体时,如何使标题中的章节标题具有相同的颜色?

当章节标题本身采用多种不同颜色的字体时,如何使标题中的章节标题具有相同的颜色?

假设我需要在以缅甸语为主的章节标题中夹入英文单词。我希望这些夹入的英文单词为红色。但是我希望所有标题文本都为灰色,并保持原始章节标题中的字体相同。我该如何实现呢?这是我的 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}}}{}}

在此处输入图片描述

相关内容