我想对所有章节标题使用小写小型大写字母。我还想使用旧式数字,在本例中我使用的是mathpazo
。现在,假设我在文档中添加附录,并使用章节编号作为计数器对定理进行编号,如本 MWE 所示:
\documentclass{article}
\usepackage[osf,sc]{mathpazo}
\usepackage[explicit]{titlesec}
\usepackage{amsthm}
\titleformat{\section}[hang]{\Large\scshape\lowercase}{}{0pt}{#1\quad\scshape\thesection}[]
\newtheorem{lem}{Lemma}[section]
\begin{document}
\appendix
\renewcommand\thesection{\alph{section}}
\section{Appendix}
\begin{lem}
Something or other.
\end{lem}
\end{document}
结果是这样的:
我不喜欢这个结果。我希望引理中的节计数器也采用小写字母。我尝试添加以下内容:
\renewcommand{\thelem}{\textsc{\alph{section}}.\arabic{lem}}
但它不起作用:\textsc
似乎被忽略了。
有什么提示吗?
答案1
您不想在定理标签中使用粗体,原因有两个:一是粗体太多,二是mathpazo
没有粗体小写字母。由于标题中有小写字母,因此在定理标签中也自然会使用小写字母。
请注意,\lowercase
这\titleformat
完全不合适,您还需要对未编号的部分做一些事情。
\documentclass{article}
\usepackage[osf,sc]{mathpazo}
\usepackage{titlesec}
\usepackage{amsthm}
\titleformat{name=\section}[hang]
{\Large\scshape}
{}
{0pt}
{\numberaftertitle}
\newcommand{\numberaftertitle}[1]{#1\quad\MakeLowercase{\thesection}}
\titleformat{name=\section,numberless}[hang]
{\Large\scshape}
{}
{0pt}
{}
\newtheoremstyle{oldstylenumbers}
{\topsep} % ABOVESPACE
{\topsep} % BELOWSPACE
{\itshape} % BODYFONT
{0pt} % INDENT (empty value is the same as 0pt)
{\scshape} % HEADFONT
{.} % HEADPUNCT
{5pt plus 1pt minus 1pt} % HEADSPACE
{\thmname{#1}\thmnumber{ \MakeLowercase{#2}}\thmnote{ (#3)}} % CUSTOM-HEAD-SPEC
\theoremstyle{oldstylenumbers}
\newtheorem{lem}{Lemma}[section]
\begin{document}
\section*{Introduction}
\section{Work}
\begin{lem}
Something or other.
\end{lem}
\appendix
\section{Appendix}
\begin{lem}
Something or other.
\end{lem}
\end{document}
如果您确实想要使用粗体小型大写字母作为前缀,那么您必须伪造它。
\documentclass{article}
\usepackage[osf,sc]{mathpazo}
\usepackage{titlesec}
\usepackage{amsthm}
\titleformat{name=\section}[hang]
{\Large\scshape}
{}
{0pt}
{\numberaftertitle}
\newcommand{\numberaftertitle}[1]{#1\quad\MakeLowercase{\thesection}}
\titleformat{name=\section,numberless}[hang]
{\Large\scshape}
{}
{0pt}
{}
\newtheoremstyle{oldstylenumbers}
{\topsep} % ABOVESPACE
{\topsep} % BELOWSPACE
{\itshape} % BODYFONT
{0pt} % INDENT (empty value is the same as 0pt)
{\bfseries} % HEADFONT
{.} % HEADPUNCT
{5pt plus 1pt minus 1pt} % HEADSPACE
{\thmname{#1}\thmnumber{ \fakescinappendix{#2}}\thmnote{ (#3)}} % CUSTOM-HEAD-SPEC
\ExplSyntaxOn
\NewDocumentCommand{\fakescinappendix}{m}
{
\apc_fakesc:e { #1 }
}
\bool_new:N \g_apc_appendix_bool
\AddToHook{cmd/appendix/after}{\bool_gset_true:N \g_apc_appendix_bool}
\cs_new_protected:Nn \apc_fakesc:n
{
\bool_if:NTF \g_apc_appendix_bool
{
\__apc_appendix_format:w #1 \q_stop
}
{
#1
}
}
\cs_generate_variant:Nn \apc_fakesc:n { e }
\cs_new_protected:Npn \__apc_appendix_format:w #1.#2 \q_stop
{
\use:c{check@mathfonts}{\fontsize{\use:c{sf@size}}{0}\selectfont #1}.#2
}
\ExplSyntaxOff
\theoremstyle{oldstylenumbers}
\newtheorem{lem}{Lemma}[section]
\begin{document}
\section*{Introduction}
\section{Work}
\begin{lem}
Something or other.
\end{lem}
\appendix
\section{Appendix}
\begin{lem}
Something or other.
\end{lem}
\end{document}