amsmathの¥newtheoremにセクション番号をつけたいけどセクションマークまでついてしまう

amsmathの¥newtheoremにセクション番号をつけたいけどセクションマークまでついてしまう

- 匿 名 の投稿
返信数: 9
まず,¥renewcommand{¥thesection}{¥S¥arabic{section}}というように,¥sectionにセクションマークをつけるようにしてから,¥newtheorem{Theorem}{定理}[section]としています.

すると,出力が,定理¥S 1.1のようにセクションマークが出てしまいます.

これを定理1.1のようにセクションマークをつけなくする方法はないでしょうか.

¥newtheorem{Theorem}{定理}[section]を先に書いて,あとに¥renewcommand{¥thesection}{¥S¥arabic{section}}を書いても同じように出力されてしまいます.

いろいろ調べた結果,よくわからなかったので質問させてもらいました.よろしくお願いします.
匿 名 への返信

Re: amsmathの¥newtheoremにセクション番号をつけたいけどセクションマークまでついてしまう

- 匿 名 の投稿
経緯がよく分からないのですが、何故 ¥S を付けているのでしょう。またコレを外すとどうなりますか?つまり

¥renewcommand{¥thesection}{¥S¥arabic{section}}

から

¥renewcommand{¥thesection}{¥arabic{section}}

へ変更する。
匿 名 への返信

Re: amsmathの¥newtheoremにセクション番号をつけたいけどセクションマークまでついてしまう

- 匿 名 の投稿
セクションには¥Sをつけたかったのです。わかりにくくてすいません。
あたらしいカウンタを定義することで解決しました。ありがとうございました。

\renewcommand{\thesection}{\S\ \arabic{section}}
\newcounter{thmcounter}
\renewcommand{\thethmcounter}{\arabic{section}}
\newtheorem{thm}{theorem}[thmcounter]
匿 名 への返信

Re: amsmathの¥newtheoremにセクション番号をつけたいけどセクションマークまでついてしまう

- Z. R. の投稿

\newtheorem{thm}{theorem}[thmcounter]

これだと、thecounter は(表示を偽装しているものの) section とは違うカウンタなので 、節が変わっても定理番号がリセットされませんよ。

\newtheoremthm 環境を作った場合、定理番号を表す thm カウンタが同時に定義されます。ということはその表示形式 \thethm が再定義できますね…。

Z. R. への返信

Re: amsmathの¥newtheoremにセクション番号をつけたいけどセクションマークまでついてしまう

- 匿 名 の投稿
はい。そうでした。ありがとうございます。
結局自分で作った方がはやいとおもって作りました。

\renewcommand{\thesection}{\S\ \arabic{section}}
\newcounter{thmcounter}[section]
\renewcommand{\thethmcounter}{\arabic{section}.\arabic{thmcounter}}
\newcommand{\Thm}[3]{\refstepcounter{thmcounter}\noindent \bf{定理\thethmcounter #1}\label{#2}#3}

\Thm{(定理の名前)}{ラベル}{定理の内容}で使えます。
匿 名 への返信

Re: amsmathの¥newtheoremにセクション番号をつけたいけどセクションマークまでついてしまう

- 匿 名 の投稿
http://hp.vector.co.jp/authors/VA014445/macros/secnme11.zip
匿 名 への返信

Re: amsmathの¥newtheoremにセクション番号をつけたいけどセクションマークまでついてしまう

- 匿 名 の投稿
¥Sを指定しようとするとエラーがでました。これ以外だといけたのですが・・・

もうひとつカウンタを置くことで解決しました!

ありがとうございました。
匿 名 への返信

Re: amsmathの¥newtheoremにセクション番号をつけたいけどセクションマークまでついてしまう

- 匿 名 の投稿
> ¥Sを指定しようとするとエラーがでました。

??? \S を指定しても,エラーにはならないようですが...

> 結局自分で作った方がはやいとおもって作りました。

結局 \thesection を再定義されたのですね...


\documentclass{jarticle}
%\usepackage{secname}

\makeatletter
%%% ----- secname.sty より -----
% \NeedsTeXFormat{pLaTeX2e}
% \ProvidesPackage{secname}[1998/08/12 v1.1 section name customize]

\def\presectionname{}
\def\postsectionname{}
\def\presubsectionname{}
\def\postsubsectionname{}
\def\presubsubsectionname{}
\def\postsubsubsectionname{}

\def\@seccntformat#1{%
    \csname pre#1name\endcsname
    \csname the#1\endcsname
    \csname post#1name\endcsname
    \quad
}
%%% ----- secname.sty より -----
\makeatother

\renewcommand{\presectionname}{\S}

\newtheorem{Theorem}{定理}[section]


\begin{document}

\section{}

\begin{Theorem}
123
\end{Theorem}


\section{}

\begin{Theorem}
456
\end{Theorem}


\end{document}
匿 名 への返信

Re: amsmathの¥newtheoremにセクション番号をつけたいけどセクションマークまでついてしまう

- 帯田 木偶太 の投稿
カウンター出力形式の再定義にあたっては、周辺に伝染させるかどうかの見極めが 難しいですね。 吉永さんのところにあるまとまった解説に一見の価値ありです。
帯田 木偶太 への返信

Re: amsmathの¥newtheoremにセクション番号をつけたいけどセクションマークまでついてしまう

- 匿 名 の投稿
参考になりました。ありがとうございます。
けど、難しくて自分で編集するのは無理そうです。