我不明白 Overleaf 对以下代码的两点抱怨。它说它插入了一个 missing{
和一个 missing }
。有人能解释一下吗?
%%%%% Preamble
%%% Document class, packages
\documentclass{book}
\usepackage{fancyhdr}
\usepackage{titlesec}
%%% Fancy headers
\fancyhf{}
\pagestyle{fancy}
\renewcommand\headrulewidth{0pt}
\renewcommand{\chaptermark}[1]{\markboth{#1}{}}
\fancyhead[LE]{\thepage \hspace{1cm} \leftmark}
\renewcommand\sectionmark[1]{\markboth{#1}{}}
\fancyhead[RO]{\leftmark \hspace{1cm} \thepage}
%%% Section formatting
% Chapters
\titleformat{\chapter}[display]
{\normalfont\fillast}
{{\Huge \uppercase\romannumeral\thechapter}}
{1ex minus .1ex}
{\large \thispagestyle{empty}}
\titlespacing{\chapter}
{3pc}{*3}{*2}[3pc]
%%%%% Document
\begin{document}
\chapter{Lorem ipsum}
\end{document}
答案1
\uppercase\romannumeral\thechapter
是错的:\uppercase
需求可以看到括号中标示需要转换为大写的标记。
你可以用正确的语法来做到这一点
\uppercase\expandafter{\romannumeral\thechapter}
但为什么这样做而不是
\renewcommand{\thechapter}{\Roman{chapter}}
并\thechapter
在您想要以罗马数字打印章节编号时使用?