bug-texinfo
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Paragraph indentation suppression


From: Simon Law
Subject: Re: Paragraph indentation suppression
Date: Wed, 9 Apr 2003 09:39:50 -0400
User-agent: Mutt/1.3.28i

On Wed, Apr 09, 2003 at 09:08:19AM +0200, Stepan Kasal wrote:
> Hello,
>       I have a few more comments on your patch.
> I'm sorry that I'm so late.  (I live in Europe.)
> 
> 1) move \suppressfirstparagraphindent
> =====================================
> You call this macro at three places.  It can be called only once,
> within \sectionheading.  I beleive it's also more readable this way.

        OK.  I will try that.  (I haven't quite groked the sectioning
commands yet.)

> 2) not cleaning \everypar
> =========================
> > +    \gdef\suppressfirstparagraphindent{%
> > +      \gdef\gobblefirstindent{ [...] }%
> > +      \gdef\indent{ [...] }%
> > +      \global\everypar = {\gobblefirstindent}%
> > +    }%
> 
> So at the beginning of the section, you assign \everypar.
> And it stays assigned all the time (but \gobblefirstindent
> is \relax).
> 
> I'd suggest using this:
> \global\everypar = {\gobblefirstindent \global\everypar={}}%
> 
> To get back the empty \everypar.

        Hmm, yes.  That way, we can make \gobblefirstindent permanent,
and never have to \relax it.

> 3) redefining \everypar
> =======================
> You use:
> [within \def\group]
> > +    \everypar = {\gobblefirstindent\strut}%
> [within \def\setupverbatim]
> > +  \everypar{\gobblefirstindent\starttabbox}%
> [within \def\dofootnote]
> > +  \everypar = {\gobblefirstindent\hang}%
> 
> I don't like any of these.  The last one can cause bad formatting
> of a @footnote, if it is ever executed.

        I believe I handle this in an acceptable fashion by calling
\indent within @footnote.  I thought I tried removing
\gobblefirstindent, but I could have been wrong.

> The first two ones are harmless, as \parindent is probably 0pt.
> They even serve the purpose of resetting \gobblefirstindent to
> \relax.
> 
> But I'd suggest to remove all these occurences, leaving the original
> values of \everypar.

        I will try removing these additional gobbles and see if it is
unaffected.

> Sure, a problem can appear:
> What if a @section starts with a table, an example, or whatever...
> Should the paragraph which starts immediately after that object
> be indented?
> 
> If it should not be indented, we can reset \gobblefirstindent
> in the definition of the respective object.
> Not via \everypar mechanism, but directly.
> (Or we can \def\resetgobblefirstindent{%
> \global\let\gobblefirstindent = \relax} )
> 
> Identify all such objects, and change their definition (or
> definition of somethingg which is common to a number of them).
> 
> This approach is more tedious but much more systematic.
> (I'd remove the above three occurences even if you don't have
> time to do this tedious work.)

        I think we should go with "worse is better" just like LaTeX.  If
a @table begins the section, then the first paragraph will actually be
indented, and you will want to use @noindent to fix it.

> Wow, I've managed to write so much about what should be done
> without submitting a single byte of code.  ;-)
> 
> Thank you for all this work, Simon.

        No problem.

Simon




reply via email to

[Prev in Thread] Current Thread [Next in Thread]