点和交换数字

点和交换数字

我想要一些类似的东西1.1.1. Theorem而不是Theorem 1.1.1. 所以我曾经\swapnumbers这样做过,但它给了我1.1.1 Theorem

我只是想在定理/定义编号后面添加一个点。

\documentclass[11pt]{article}
\usepackage{setspace}
\setstretch{1.05}
\usepackage{graphicx}
\usepackage{amsthm}
\usepackage[svgnames]{xcolor}
\usepackage{xspace}
\usepackage{verbatim}

\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\usepackage[frenchb]{babel}

\setcounter{section}{1}  
\setcounter{subsection}{1}

\swapnumbers
\theoremstyle{plain}
\newtheorem{thm}{Théorème}[subsection]
\newtheorem{prop}{Proposition}[subsection]
\newtheorem{coro}{Corollaire}[subsection]
\theoremstyle{definition}
\newtheorem{mydef}{Définition}[subsection] 

\begin{document}
\begin{thm} 
Il y avais une fois \dots
\end{thm}
\begin{mydef} 
Il y avais une autre fois \dots
\end{mydef}
\end{document}

答案1

似乎没有比修补负责排版该部分定理的宏更好的解决方案。

\usepackage{amsthm}
\usepackage{xpatch}
\xpatchcmd\swappedhead{~}{.~}{}{}

在此处输入图片描述

\documentclass[11pt]{article}
\usepackage{amsthm}
\usepackage{xpatch}
\xpatchcmd\swappedhead{~}{.~}{}{}
\swapnumbers
\theoremstyle{plain}
\newtheorem{thm}{Theorem}[subsection]
\begin{document}
\section{Some section}
\subsection{Some subsection}
\begin{thm}
  Sometimes 2 plus 2 does not add up to 4.
\end{thm}
\end{document}

在了解如何获得所需内容之后,也许可以重新考虑这是否是一个好的设计决策。根据我几十年的写作定理等经验,我给出了以下建议:

  • 尽量缩短数字,以便于记忆。记住它是定理 1.2.1 还是引理 1.1.2 是一种不必要的负担。对于一篇文章,不需要在章节、小节等内进行编号。

  • 为了帮助找到定理、引理、例子等,使用相同的计数器全部定理类环境。这样,您将拥有一个连续的编号环境流,并且不难在引理 3 和定理 5 之间找到示例 4。

按照您当前的编号方案,您将拥有

1.1.1. 定理

1.1.1 部分子节

并排显示,字体大小大致相同。这可能会造成混淆。

答案2

使用 可以很容易地做到这一点,它与 以及thmtools配合使用。这里有两个例子,一个在左边距有定理编号,另一个在左边距有编号:amsthmntheorem

\documentclass[11pt]{article}
\usepackage[showframe]{ geometry}%
 \usepackage{amsthm}
\usepackage{thmtools}%
\declaretheoremstyle[
spaceabove=6pt, % spacebelow=6pt,
headfont=\normalfont\bfseries,
notefont=\mdseries, notebraces={(}{)},
bodyfont=\normalfont\itshape,
postheadspace=.5em, %
headformat=\NUMBER.~\NAME\NOTE%
]{plainswap}
\declaretheoremstyle[
spaceabove=6pt, % spacebelow=6pt,
headfont=\normalfont\bfseries,
notefont=\mdseries, notebraces={(}{)},
bodyfont=\normalfont\itshape,
postheadspace=.5em, %
headformat={\llap{\NUMBER.~}\NAME\NOTE}
]{plainmarginno}

\declaretheorem[style=plainswap, numberwithin=subsection, name=Theorem]{thm}
\declaretheorem[style=plainmarginno, sibling=thm, name=Theorem]{marginthm}

\begin{document}

\section{Some section}
\subsection{Some subsection}

\begin{thm}
  Sometimes 2 plus 2 does not add up to 4.
\end{thm}

\begin{marginthm}
  Sometimes 1 plus 1 does not add up to 2.
\end{marginthm}

\end{document}

在此处输入图片描述

相关内容