\begin{theorem}
...
\end{theorem}
blah blah blah
causes "blah.." to be indented as if it was a new paragraph, while
vanilla
LaTeX2e doesn't. Is there a resonable way of preventing the indentation
in
AmS-LaTeX?
A similar question: Writing
\begin{theorem}
...
\end{theorem}
blah blah blah
you expect "blah.." to start a new paragraph, but in my opinion this
paragraph
shouldn't be indented since the extra space after a theorem (or a similar
construction) is sufficient to indicate a new paragraph. (Compare this to
the
discussion whether or not to let the first paragraph in a section be
indented.)
Of course, this can be prevented by inserting a "\noindent" but
I thought it would be neater to change \@endtheorem to do this. So I
wrote
a macro to make the next paragraph unindented and added this to
\@endtheorem, but much to my surprise, this didn't work. However, it
worked fine when i explicitly put it in the source code as
\end{theorem}\noindentnext but not when I tried to include it in
\@endtheorem. Is there some internal command executed between the end of
\@endtheorem and the next command in the source?
I'd be grateful for any comments or solutions!
------------------------------------------------------------------------
Frank Wikström fra...@abel.math.umu.se
Department of Mathematics http://www.math.umu.se/~frankw
Umeå University, S-901 87 Umeå, Sweden
This sounds like a bug. However, the author of the amsthm package is
/deliberately/ setting the \if@endpe flag false at the end of theorem
environments, although I have no idea why. It seems wrong to me. Could
Mr Michael Downes or some other representative person please comment on
this oddness?
> A similar question: Writing
>
> \begin{theorem}
> ...
> \end{theorem}
>
> blah blah blah
>
> you expect "blah.." to start a new paragraph, but in my opinion this
> paragraph shouldn't be indented since the extra space after a theorem
> (or a similar construction) is sufficient to indicate a new
> paragraph. (Compare this to the discussion whether or not to let the
> first paragraph in a section be indented.)
I'd disagree here. If you're going to indent paragraphs, you should do
this consistently. New paragraphs are indented in the standard styles
except after headings (but see indentfirst.sty). If you want to start a
new paragraph, leave a line after the environment; otherwise don't. All
the list-making environments work in this way, so there's ample
precedent.
> Of course, this can be prevented by inserting a "\noindent" but I
> thought it would be neater to change \@endtheorem to do this. So I
> wrote a macro to make the next paragraph unindented and added this to
> \@endtheorem, but much to my surprise, this didn't work. However, it
> worked fine when i explicitly put it in the source code as
> \end{theorem}\noindentnext but not when I tried to include it in
> \@endtheorem. Is there some internal command executed between the end
> of \@endtheorem and the next command in the source?
The following hacking should end your plight:
\expandafter\let\csname @endtheorem\endcsname\endtrivlist
A more robust method would be to say
\makeatletter
\toks@\expandafter{\@endtheorem\@endpetrue}
\edef\@endtheorem{\the\toks@}
\makeatother
in case Mr Downes or someone else changes the original macro further.
--
(` t r a y l i g h t / `Beware of bugs in the above code; I
,_) cs...@csv.warwick.ac.uk / have only proved it correct, not actually
/ tried it.'
Mark Wooding / Donald Knuth
Frank Wikstršm <fra...@abel.math.umu.se> wrote:
> When using AmS-LaTeX
>
> \begin{theorem}
> ...
> \end{theorem}
> blah blah blah
>
> causes "blah.." to be indented as if it was a new paragraph, while
> vanilla LaTeX2e doesn't. Is there a resonable way of preventing the
> indentation in AmS-LaTeX?
This sounds like a bug. However, the author of the amsthm package is
/deliberately/ setting the \if@endpe flag false at the end of theorem
environments, although I have no idea why. It seems wrong to me.
In AMS publications theorem objects are nearly always paragraph-level
objects, not subordinate objects to be embedded inside paragraphs,
therefore *not* forcing a paragraph break at the end of all theorems
would be conceptually rather strange, as it would run counter to the
nature of 99% of the theorems that occur in our material. Exceptional
cases are so rare that they are just handled by ad hoc application of
\noindent.
And of course the amsthm package is expressly designed to work well for
the kind of material that occurs in AMS publications. Anyone wanting
other behavior can adapt it to their own ends (along the lines you
suggested later in your post). Maybe we ought to add a package option in
a future release, though, to allow switching this aspect of theorem
behavior.
Michael Downes <m...@ams.org>
Me, too. I reported this on c.t.t. a couple of weeks ago and
later got an e-mail reply from AMS tech support that disagreed.
So you may want to write them and voice your opinion.
>> Of course, this can be prevented by inserting a "\noindent" but I
>> thought it would be neater to change \@endtheorem to do this.
>
>The following hacking should end your plight:
>
> \expandafter\let\csname @endtheorem\endcsname\endtrivlist
>
>A more robust method would be to say
>
> \makeatletter
> \toks@\expandafter{\@endtheorem\@endpetrue}
> \edef\@endtheorem{\the\toks@}
> \makeatother
I received a bug fix from Young U. Ryu <ryo...@utdallas.edu>,
which I'll post here for comparison. I have no idea which fix is
better.
At 7:21 AM 4/5/96, Young U . Ryu wrote:
>Either change
>
> \def\@endtheorem{\endtrivlist\@endpefalse }
>to
> \def\@endtheorem{\endtrivlist}
>in amsthm.sty
>
>OR
>
>place
> \makeatletter
> \def\@endtheorem{\endtrivlist}
> \makeatother
>between
> \usepackage{...,amsthm,...}
>and
> \newtheorem{theorem}{Theorem}
The above works for me!
Cheers,
--
Tom Scavo
mailto:trs...@syr.edu
http://web.syr.edu/~trscavo/
>In article <slrn4ov0i9...@pretzel.csv.warwick.ac.uk>,
>Mark Wooding <cs...@csv.warwick.ac.uk> wrote:
>>Frank Wikstršm <fra...@abel.math.umu.se> wrote:
>>> When using AmS-LaTeX
>>>
>>> \begin{theorem}
>>> ...
>>> \end{theorem}
>>> blah blah blah
>>>
>>> causes "blah.." to be indented as if it was a new paragraph, while
>>> vanilla LaTeX2e doesn't. Is there a resonable way of preventing the
>>> indentation in AmS-LaTeX?
>>
>>This sounds like a bug. However, the author of the amsthm package is
>>/deliberately/ setting the \if@endpe flag false at the end of theorem
>>environments, although I have no idea why. It seems wrong to me.
>Me, too. I reported this on c.t.t. a couple of weeks ago and
>later got an e-mail reply from AMS tech support that disagreed.
>So you may want to write them and voice your opinion.
You don't say if they gave any reason for their disagreement, but I will
give my own opinion: A theorem is not like a math display that merely
interupts a paragraph. It should be a paragraph in its own right (both
at the TeX level and in the sense of writing good prose). Thus, the
previous paragraph should say all it needs to say before the theorem
starts, and anything following the theorem should be a new paragraph.
Of course, if you are just using the theorem environment to get
something other than a theorem formatted like a theorem, then by all
means, hack away.
Dan Luecking
--
luec...@comp.uark.edu | "...today's top mathematicians
Department of Mathematical Sciences | are in fact a group of exciting,
University of Arkansas | dynamic, and glamorous
Fayetteville, Arkansas | individuals." -- Dave Barry