为图指定定理编号

为图指定定理编号

我如何将定理的编号分配给图形的编号?我有一个特定的图形,而不是将其称为图 2.1:定理 2.2 的图,最好把它简单地命名为图 2.2,以免读者感到困惑。

单个定理可能不会有多张图片,但为了防止我的文档中出现意外情况,是否可以(手动或自动)添加(A)(二),标题后面还有什么?

或者,我不介意完全手动添加标题(所以我会自己输入整个“图 2.2”)...我该如何实现这一点?

答案1

这是你想要的吗?

\documentclass{amsart} 
\usepackage{amsthm}
\newtheorem{theorem}{Theorem}
\makeatletter
\let\oldfig\thefigure%
\newcommand{\thmfig}[2][]{%
\renewcommand{\figurename}{Figure for Theorem}%
\renewcommand{\thefigure}{\ref{#2}}%
\caption{#1}
\addtocounter{figure}{-1}
}
\renewcommand{\thefigure}{\oldfig}%
\makeatother
\usepackage[demo]{graphicx}
\usepackage{lipsum}
\begin{document}
 \begin{theorem}[Pythagoras] \label{thm:pythagoras} 
For a right triangle ABC, right angled at $A$, $a^2 = b^2 + c^2$.  
 \end{theorem}

\begin{figure}[htbp]
\includegraphics[width = 0.4\textwidth]{pyth}
\thmfig{thm:pythagoras} 
\end{figure}
\lipsum[1]
\begin{figure}[htbp]
\includegraphics[width = 0.4\textwidth]{pyth}
\caption{Figure not associated to a theorem} 
\end{figure}

\begin{theorem}[Pythagoras] \label{thm:rectsq} 
   All squares are rectangles. 
\end{theorem}

\begin{figure}[htbp]
\includegraphics[width = 0.4\textwidth]{play}
\thmfig[Rectangle but not a square]{thm:rectsq} 
\end{figure}

\end{document}

输出

pythl1.png.png pythl2 代码示例

答案2

概述。

我的方法是创建一个新的计数器和变量,分别保存现有的图形计数器值和图形标签格式。然后可以暂时将格式更改为所需的样式,并将图形计数器的值暂时重置为 0,以便可以实现特定于该定理的局部编号和样式。

这是通过新环境实现的,在环境最终确定之前,现有的图形值和样式会重新应用,就好像什么都没有改变一样。

定理中的图形在其编号前加上 ,'T/'以便于区分与定理的关联,并将Theorem 1有名为 、 等的图形Figure T/1-1Figure T/1-2由此可见Figure T/1-3,一个定理可以有多个图形。

标准序言。

\documentclass[10pt,a4paper]{article}
\usepackage{lipsum}
\usepackage[latin1]{inputenc}
\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{amssymb}
\usepackage{amsthm}
\usepackage[demo]{graphicx}

自定义环境。

\newtheorem{thm}{Theorem}
\newcounter{oldfigure}
\newenvironment{mythm}{
    \setcounter{oldfigure}{\value{figure}}
    \thm
    \setcounter{figure}{0}
    \let\theoldfigure\thefigure
    \renewcommand{\thefigure}{T/\thethm-\arabic{figure}}    
}{
    \let\thefigure\theoldfigure
    \endthm
    \setcounter{figure}{\value{oldfigure}}
}

虚拟文档,展示正在改变并重新应用的数量和样式。

\begin{document}
    \figure[h]
        \centering
        \includegraphics[width = 0.4\textwidth,height=30pt]{figure}
        \caption{My Figure}
    \endfigure

    \hrule
    \begin{mythm}
        \lipsum[2]
        \figure[h]
            \centering
            \includegraphics[width = 0.4\textwidth,height=30pt]{figure}
            \caption{My Figure}
            \vspace{10pt}
            \includegraphics[width = 0.4\textwidth,height=30pt]{figure}
            \caption{My Figure}
        \endfigure
        \lipsum[2]
    \end{mythm}
    \hrule

    \figure[h]
        \centering
        \includegraphics[width = 0.4\textwidth,height=30pt]{figure}
        \caption{My Figure}
    \endfigure
\end{document}

示例输出。

结果

相关内容