在带有“amsthm”的计数器中使用小型大写字母?

在带有“amsthm”的计数器中使用小型大写字母?

我想对所有章节标题使用小写小型大写字母。我还想使用旧式数字,在本例中我使用的是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}

在此处输入图片描述

相关内容