Suponha que eu gostaria de ter um título de suposição sendo Assumption 1-$\mathcal F$.
, Assumption 2-$\mathcal F$.
e assim por diante, para ser chamado no texto com símbolos diferentes de $\mathcal F$
. Deixe-me lhe dar um exemplo:
\documentclass[10pt, a4paper]{amsart}
\usepackage{amsmath}
{
\theoremstyle{plain}
\newtheorem{assumption}{Assumption}
}
\begin{document}
\section{The first section}
\subsection{The first subsection}
There are three classes of interest: $\mathcal a$, $\mathcal b$ and $\mathcal c$.
Let $\mathcal f$ be a symbolic variable which takes its values
from the set $\{\mathcal a,\mathcal b,\mathcal c\}$.
\begin{assumption}-$\mathcal f$\label{as:1}
The class $\mathcal f$ is not empty.
\end{assumption}
\begin{assumption}-$\mathcal f$\label{as:2}
The derivative $\mathrm d(\mathcal f)$ is positive.
\end{assumption}
Examples of using the assumptions above are as follows:
\begin{itemize}
\item By saying that Assumption \ref{as:1}-$\mathcal a$ is satisfied,
we mean that the class $\a$ is not empty.
\item By saying that Assumption \ref{as:2}-$\mathcal c$ is satisfied,
we mean that the derivative $\mathrm d(\mathcal c)$ is positive.
\end{itemize}
\end{document}
Neste exemplo está tudo bem, exceto os títulos das suposições. Atualmente eles são Assumption 1. -$\mathcal F$
, enquanto eu preciso $\mathcal F$
fazer parte do título. Como abaixo. Porém, sempre que uso \ref
no corpo do texto, a referência é no formato Assumption 1.1
e não Assumption 1
. Na verdade, a numeração não funciona bem: parece depender apenas do número da seção/subseção onde o pressuposto foi definido como aqui.
{
\theoremstyle{plain}
\newtheorem*{assumption1f}{Assumption 1-$\mathcal f$}
\newtheorem*{assumption2f}{Assumption 2-$\mathcal f$}
}
\begin{document}
\section{The first section}
\subsection{The first subsection}
There are three classes of interest: $\mathcal a$, $\mathcal b$ and $\mathcal c$.
Let $\mathcal f$ be a symbolic variable which takes its values
from the set $\{\mathcal a,\mathcal b,\mathcal c\}$.
\begin{assumption1f}\label{as:1}
The class $\mathcal f$ is not empty.
\end{assumption1f}
\begin{assumption2f}\label{as:2}
The derivative $\mathrm d(\mathcal f)$ is positive.
\end{assumption2f}
Examples of using the assumptions above are as follows:
\begin{itemize}
\item By saying that Assumption \ref{as:1}-$\mathcal a$ is satisfied,
we mean that the class $\mathcal a$ is not empty.
\item By saying that Assumption \ref{as:2}-$\mathcal c$ is satisfied,
we mean that the derivative $\mathrm d(\mathcal c)$ is positive.
\end{itemize}
\end{document}
Existe alguma maneira de corrigir isso? Conforme sugerido por egreg, implementei o código a seguir. Os títulos agora estão bons, como acima - mas a numeração ainda não está correta: em vez de Assumption 1-$\mathcal A$
se referir à primeira suposição, necessariamente obtenho $\mathcal F$ na referência.
\newtheorem*{assumption*}{\assumptionnumber}
\providecommand{\assumptionnumber}{}
\makeatletter
\newenvironment{assumption}[2]
{%
\renewcommand{\assumptionnumber}{Assumption #1-$\mathcal{#2}$}%
\begin{assumption*}%
\protected@edef\@currentlabel{#1-$\mathcal{#2}$}%
}
{%
\end{assumption*}
}
\makeatother
\begin{document}
\section{The first section}
\subsection{The first subsection}
There are three classes of interest: $\mathcal a$, $\mathcal b$ and $\mathcal c$.
Let $\mathcal f$ be a symbolic variable which takes its values
from the set $\{\mathcal a,\mathcal b,\mathcal c\}$.
\begin{assumption}{1}{F}\label{as:1}
The class $\mathcal f$ is not empty.
\end{assumption}
\begin{assumption}{2}{F}\label{as:2}
The derivative $\mathrm d(\mathcal f)$ is positive.
\end{assumption}
Examples of using the assumptions above are as follows:
\begin{itemize}
\item By saying that Assumption \ref{as:1}-$\mathcal a$ is satisfied,
we mean that the class $\mathcal a$ is not empty.
\item By saying that Assumption \ref{as:2}-$\mathcal c$ is satisfied,
we mean that the derivative $\mathrm d(\mathcal c)$ is positive.
\end{itemize}
\end{document}
Resumindo: na primeira versão as referências estão do jeito que eu quero, mas os títulos não. Nos outros dois (tentativa minha e código sugerido por @egreg) os títulos são bons, mas as referências diferem do primeiro caso.
Responder1
De \newtheorem*
eu acho que você está usando amsthm
. Esta é uma maneira de fazer isso:
\documentclass{article}
\usepackage{amsthm}
\newtheorem*{assumption*}{\assumptionnumber}
\providecommand{\assumptionnumber}{}
\makeatletter
\newenvironment{assumption}[2]
{%
\renewcommand{\assumptionnumber}{Assumption #1-$\mathcal{#2}$}%
\begin{assumption*}%
\protected@edef\@currentlabel{#1-$\mathcal{#2}$}%
}
{%
\end{assumption*}
}
\makeatother
\begin{document}
\begin{assumption}{1}{F}\label{1F}
Something
\end{assumption}
Here's the reference: \ref{1F}
\end{document}
Apenas um \newtheorem*
é necessário. O assumption
ambiente toma como argumento o número e o rótulo; também define o texto de referência atual.
Aqui está uma modificação que parece estar fazendo o que você gostaria. Talvez: as especificações continuem vagas.
\documentclass{article}
\usepackage{amsthm}
\newtheorem*{assumption*}{\assumptionnumber}
\providecommand{\assumptionnumber}{}
\makeatletter
\newenvironment{assumption}[2]
{%
\renewcommand{\assumptionnumber}{Assumption #1-$\mathcal{#2}$}%
\begin{assumption*}%
\protected@edef\@currentlabel{#1}%
}
{%
\end{assumption*}
}
\makeatother
\newcommand{\asref}[2]{\ref{#1}-$\mathcal{#2}$}
\begin{document}
\section{The first section}
\subsection{The first subsection}
There are three classes of interest: $\mathcal{A}$, $\mathcal{B}$ and $\mathcal{C}$.
Let $\mathcal{F}$ be a symbolic variable which takes its values
from the set $\{\mathcal{A},\mathcal{B},\mathcal{C}\}$.
\begin{assumption}{1}{F}\label{as:1}
The class $\mathcal{F}$ is not empty.
\end{assumption}
\begin{assumption}{2}{F}\label{as:2}
The derivative $\mathrm{d}(\mathcal{F})$ is positive.
\end{assumption}
Examples of using the assumptions above are as follows:
\begin{itemize}
\item By saying that Assumption \asref{as:1}{A} is satisfied,
we mean that the class $\mathcal{A}$ is not empty.
\item By saying that Assumption \asref{as:2}{C} is satisfied,
we mean that the derivative $\mathrm d(\mathcal{C})$ is positive.
\end{itemize}
\end{document}