Per alcune occorrenze di un ambiente "teorema", possiamo rimuovere le parentesi - "(" e ")" - dall'argomento facoltativo dell'ambiente?
Per alcune occorrenze possiamo rimuovere le parentesi -- (
e )
-- da un theorem
argomento facoltativo di ?
Sono pronto per utilizzare un comando come \nobracket
, come mostrato di seguito:
\documentclass{article}
\usepackage{amsthm}
\begin{document}
\nobrackets
\begin{theorem}[aaa]
For this theorem don't want bracket ()
\end{theorem}
\begin{theorem}[bbb]
For this theorem need bracket ()
\end{theorem}
\end{document}
Risposte
Mico
A pagina 10 della guida per l'utente del amsthm
pacchetto, si trovano le istruzioni su come creare uno stile di teorema che condivide la maggior parte delle proprietà dello plain
stile di teorema predefinito, tranne per il fatto che non vengono poste parentesi attorno all'argomento facoltativo di un teorema.
La seguente soluzione si basa su questo materiale.
\documentclass{article}
\usepackage{amsthm}
\theoremstyle{plain} % the default
\newtheorem{theorem}{Theorem}
\newtheoremstyle{noparens}% cf. p. 10 of user guide of 'amsthm' package
{}{}{\itshape}{}%
{\bfseries}{.}{ }%
{\thmname{#1}\thmnumber{ #2}\thmnote{ {\mdseries #3}}}
\theoremstyle{noparens} % switch to the new theorem style
\newtheorem{theoremnp}[theorem]{Theorem} % 'theoremnp' and 'theorem' share same counter
\begin{document}
\begin{theoremnp}[aaa]
For this theorem we don't want parentheses.
\end{theoremnp}
\begin{theorem}[bbb]
For this theorem we need parentheses.
\end{theorem}
\end{document}
egreg
Devi in qualche modo contrassegnare quando non vuoi le parentesi.
Con la tua sintassi proposta:
\documentclass{article}
\usepackage{amsthm}
\usepackage{lipsum} % for mock text
\newtheoremstyle{funny}
{}{}
{\itshape}
{}
{\bfseries}
{.}
{ }
{%
\thmname{#1}% the label
\thmnumber{ #2}% the number
\thmnote{ {\mdseries\iffunny(\fi#3\iffunny)\fi}}% the note
\global\funnytrue % restore the standard
}
\newif\iffunny
\newcommand{\nobrackets}{\global\funnyfalse}
\theoremstyle{funny}
\newtheorem{theorem}{Theorem}
\begin{document}
\lipsum[1][1-6]
\nobrackets
\begin{theorem}[aaa]
For this theorem we don't want parentheses.
\end{theorem}
\lipsum[2][1-6]
\begin{theorem}[bbb]
For this theorem we need parentheses.
\end{theorem}
\lipsum[3][1-6]
\end{document}
Con una sintassi migliore:
\documentclass{article}
\usepackage{amsthm}
\usepackage{lipsum} % for mock text
\newtheoremstyle{funny}
{}{}
{\itshape}
{}
{\bfseries}
{.}
{ }
{%
\thmname{#1}% the label
\thmnumber{ #2}% the number
\thmnote{ {\mdseries\iffunny(\fi#3\iffunny)\fi}}% the note
}
\newif\iffunny
\funnytrue
\theoremstyle{funny}
\newtheorem{theorem}{Theorem}
\newenvironment{theorem*}{\funnyfalse\theorem}{\endtheorem}
\begin{document}
\lipsum[1][1-6]
\begin{theorem*}[aaa]
For this theorem we don't want parentheses.
\end{theorem*}
\lipsum[2][1-6]
\begin{theorem}[bbb]
For this theorem we need parentheses.
\end{theorem}
\lipsum[3][1-6]
\end{document}