Предположим, я хотел бы иметь заголовок предположения, являющийся Assumption 1-$\mathcal F$.
, Assumption 2-$\mathcal F$.
и так далее, чтобы в тексте его называли символами, отличными от $\mathcal F$
. Приведу пример:
\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}
В этом примере все в порядке, кроме названий предположений. В настоящее время они есть, Assumption 1. -$\mathcal F$
тогда как мне нужно $\mathcal F$
быть частью заголовка. Как показано ниже. Однако всякий раз, когда я использую \ref
в основном тексте, ссылка имеет форму , Assumption 1.1
а не Assumption 1
. На самом деле нумерация работает не очень хорошо: она, похоже, зависит только от номера раздела/подраздела, где предположение было определено, как здесь.
{
\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}
Есть ли способ это исправить? Как предложил egreg, я реализовал следующий код. Заголовки теперь в порядке, как и выше, но нумерация все еще не в порядке: вместо Assumption 1-$\mathcal A$
того, чтобы ссылаться на первое предположение, я обязательно получаю $\mathcal F$ в ссылке.
\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}
Подводя итог: в первой версии ссылки такие, как я хочу, а вот заголовки — нет. В двух других (моя попытка и код, предложенный @egreg) заголовки хорошие, а вот ссылки отличаются от первого случая.
решение1
Из \newtheorem*
Я полагаю, вы используете amsthm
. Вот как это сделать:
\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}
\newtheorem*
Нужен только один . assumption
Среда принимает в качестве аргумента номер и метку; она также устанавливает текущий текст ссылки.
Вот модификация, которая, кажется, делает то, что вам нужно. Возможно: спецификации продолжают оставаться неопределенными.
\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}