可以在 fancyhdr 中使用大写字母和小写字母

可以在 fancyhdr 中使用大写字母和小写字母

有没有办法让大写的章节名称在 fancyhdr 中仅以首字母大写的形式显示?

我的部分名称是 HELLO,我希望它在标题中显示为 Hello(小写大写)。

姆菲斯特克包似乎没有提供已经大写的字母的选项,所以我\MakeLowercase在应用\xcapitalisewords或之前尝试使用\capitalisewords,但它似乎并不那么简单。

有任何想法吗?

梅威瑟:

\documentclass[11pt]{article}
\usepackage{fancyhdr}
\usepackage{blindtext}
\usepackage{mfirstuc}

\fancypagestyle{normal}{%
\fancyhf{}
\renewcommand{\headrulewidth}{0pt}
\fancyhead[LO]{\raisebox{-3pt}{\xcapitalisewords{\MakeLowercase\footnotesize\leftmark}}\quad\hrulefill\qquad}
\fancyhead[RO, LE]{\raisebox{-3pt}{\footnotesize\thepage}}}

\pagestyle{normal}
\renewcommand{\sectionmark}[1]{\markboth{#1}{}}\renewcommand{\subsectionmark}[1]{\markright{#1}{}}
\begin{document}
\section{HELLO}

\blindtext

\end{document}

平均能量损失

编辑 1.这就是我想要的。

通缉

答案1

\leftmark 是一个相当复杂的命令。最好更改 \markboth 命令中的文本。

\documentclass[11pt]{article}
\usepackage{fancyhdr}
\usepackage{blindtext}
\usepackage{mfirstuc}

\fancypagestyle{normal}{%
\fancyhf{}
\renewcommand{\headrulewidth}{0pt}
\fancyhead[LO]{\raisebox{-3pt}{\scshape\footnotesize\leftmark}\quad\hrulefill\qquad}
\fancyhead[RO, LE]{\raisebox{-3pt}{\footnotesize\thepage}}}

\pagestyle{normal}
\ExplSyntaxOn
\renewcommand{\sectionmark}[1]{\markboth{\text_titlecase:n{#1}}{}}
\ExplSyntaxOff
\renewcommand{\subsectionmark}[1]{\markright{#1}{}}
\begin{document}
\section{HELLO}

\blindtext

\end{document}

在此处输入图片描述

答案2

在我看来,你应该反过来做:正常​​输入章节标题并在打印时将其大写,这样你就可以完全控制标题。

\documentclass[11pt,twoside]{article}
\usepackage{fancyhdr}
\usepackage{titlesec}
\usepackage{blindtext}

\titleformat{\section}
  {\normalfont\Large\bfseries}
  {\thesection}
  {1em}
  {\MakeUppercase}

\fancypagestyle{normal}{%
  \fancyhf{}%
  \renewcommand{\headrulewidth}{0pt}%
  \fancyhead[LO]{\footnotesize\leftmark\quad\xhrulefill[3pt]\qquad}%
  \fancyhead[RE]{\footnotesize\qquad\xhrulefill[3pt]\quad\rightmark}%
  \fancyhead[RO, LE]{\footnotesize\thepage}%
}

\pagestyle{normal}
\renewcommand{\sectionmark}[1]{\markboth{#1}{}}
\renewcommand{\subsectionmark}[1]{\markright{#1}}

\newcommand{\xhrulefill}[1][0pt]{%
  \leavevmode\leaders\hrule height\dimexpr0.4pt+#1\relax depth-#1 \hfill\kern0pt
}

\begin{document}

\section{Hello}

\blindtext
\blindtext
\blindtext
\blindtext

\blinddocument

\end{document}

我添加了提高规则的代码,这比降低其他部分要好。

在此处输入图片描述

相关内容