bug-texinfo
[Top][All Lists]
Advanced

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

Re: Paragraph indentation suppression


From: Stepan Kasal
Subject: Re: Paragraph indentation suppression
Date: Wed, 9 Apr 2003 09:08:19 +0200
User-agent: Mutt/1.2.5.1i

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.

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.

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.

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.

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.)

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.

Have a nice day,
        Stepan Kasal




reply via email to

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