将第一章字母改为大写并改变颜色?

将第一章字母改为大写并改变颜色?

我想改变我的章节的外观:

  • 首字母应大写。
  • 第一个字母应该采用不同的颜色。
  • 在章节前后,我想要一些装饰:| 我的章节 |
  • 如果可以的话,不显示章节号。

可以这样做吗?

谢谢!

答案1

你可以使用类似这样的方法。要了解更多信息,我们需要知道你目前尝试过什么:

在此处输入图片描述

\documentclass{book}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}

\usepackage{xcolor}
\usepackage[explicit]{titlesec}
\usepackage{lipsum}

% This approach will break with diacritics on pdfTeX
% \def\getfirst#1#2\nil{#1}%
% \def\getrest#1#2\nil{#2}%
% \titleformat\chapter
%   [block]
%   {\Huge\bfseries}
%   {}% no label
%   {0pt}
%   {| {\color{red}\MakeUppercase{\getfirst#1\nil}}\getrest#1\nil\ |}

% This won't, I hope :)
\usepackage{xstring}
\titleformat\chapter
  [block]
  {\Huge\bfseries}
  {}% no label
  {0pt}
  {\StrLeft{#1}{1}[\first]%
  | {\color{red}\MakeUppercase{\first}}\StrGobbleLeft{#1}{1}\ |}

\begin{document}

\chapter{íorem}

\lipsum[1]

\chapter{ipsum}

\lipsum[2]

\end{document}

据报道,上述代码因 而中断\tableofcontents。如果用户不介意添加一对额外的括号,则可以使用更强大的替代方法:

\documentclass{book}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}

\usepackage{xcolor}
\usepackage[explicit]{titlesec}
\usepackage{lipsum}

% A more robust solution:
% Requires the user to type \chapter{{Í}orem} instead of \chapter{íorem}
\titleformat\chapter
  [block]
  {\Huge\bfseries}
  {}% no label
  {0pt}
  {| \textcolor{red}#1 |}

\begin{document}

\tableofcontents

\chapter{{Í}orem}

\lipsum[1]

\chapter{{I}psum}

\lipsum[2]

\end{document}

相关内容