The two examples obviously produce different results, at least because the \hbox
will be overfull in the first case and underfull in the second one.
Example code
\tracingonline=1
\showboxbreadth=\maxdimen
\showboxdepth=\maxdimen
\setbox0=\vbox{
\parindent=0pt \leavevmode
\hbox to 0pt{\hskip -\parindent \bf 8.}%
Lorem.
}\showbox0
\setbox0=\vbox{
\noindent
\hbox to 0pt{\hskip -\parindent \bf 8.}%
Lorem.
}\showbox0
\bye
Output for the first box
Overfull \hbox (8.9444pt too wide) detected at line 8
\tenbf 8.|
\hbox(6.44444+0.0)x0.0
.\glue 0.0
.\tenbf 8
.\tenbf .
.\rule(*+*)x5.0
> \box0=
\vbox(6.83331+0.0)x469.75499
.\hbox(6.83331+0.0)x469.75499, glue set 439.0327fil
..\hbox(0.0+0.0)x0.0
..\hbox(6.44444+0.0)x0.0
...\glue 0.0
...\tenbf 8
...\tenbf .
...\rule(*+*)x5.0
..\tenrm L
..\tenrm o
..\tenrm r
..\tenrm e
..\tenrm m
..\tenrm .
..\penalty 10000
..\glue(\parfillskip) 0.0 plus 1.0fil
..\glue(\rightskip) 0.0
! OK.
Output for the first box
Underfull \hbox (badness 10000) detected at line 15
\tenbf 8.
\hbox(6.44444+0.0)x0.0
.\glue -20.0
.\tenbf 8
.\tenbf .
> \box0=
\vbox(6.83331+0.0)x469.75499
.\hbox(6.83331+0.0)x469.75499, glue set 439.0327fil
..\hbox(6.44444+0.0)x0.0
...\glue -20.0
...\tenbf 8
...\tenbf .
..\tenrm L
..\tenrm o
..\tenrm r
..\tenrm e
..\tenrm m
..\tenrm .
..\penalty 10000
..\glue(\parfillskip) 0.0 plus 1.0fil
..\glue(\rightskip) 0.0
! OK.
You can clearly see the “overfull” message for the first case and the “underfull” message for the second one. The box
\hbox to 0pt{\hskip -\parindent\bf 8.}
will be neither overfull nor underfull if and only if \parindent
is the same as the width of 8.
in boldface.
We can also examine what's shown after \box0=
and the only difference, apart from the value of \parindent
applied for the \skip
is that in the first case there's \hbox(0.0+0.0)x0.0
which corresponds to the indentation box (it would be \hbox(0.0+0.0)x20.0
, if the value of \parindent
had been the default one), that's missing in the second case, because \noindent
starts horizontal mode but does not add the indentation box.
It's not clear what you're after. If what you need is hanging paragraphs with the number flush to the left margin, with hanging indentation equal to the \parindent
, you can do
Lorem ipsum dolor sit amet lorem ipsum dolor sit amet
lorem ipsum dolor sit amet lorem ipsum dolor sit amet
lorem ipsum dolor sit amet lorem ipsum dolor sit amet
lorem ipsum dolor sit amet lorem ipsum dolor sit amet
lorem ipsum dolor sit amet lorem ipsum dolor sit amet
lorem ipsum dolor sit amet lorem ipsum dolor sit amet.
\hangindent=\parindent
\hangafter=1
\leavevmode
\llap{\hbox to\parindent{\bf 8.\hfil}}%
Lorem ipsum dolor sit amet lorem ipsum dolor sit amet
lorem ipsum dolor sit amet lorem ipsum dolor sit amet
lorem ipsum dolor sit amet lorem ipsum dolor sit amet
lorem ipsum dolor sit amet lorem ipsum dolor sit amet
lorem ipsum dolor sit amet lorem ipsum dolor sit amet
lorem ipsum dolor sit amet lorem ipsum dolor sit amet.
\bye

Finally, what does it mean that \noindent
is independent of \parindent
? Simply that it behaves the same whatever value the \parindent
parameter has: it starts horizontal mode without adding the indentation box (and does nothing if TeX is already in horizontal mode).
to 0pt
). And it does. As defined, the box has no width to the right and only width to the left. So it all works out. In the first case, the box has no width to right or to left of here (to 0pt
). so it has nowhere to go and the text collides with it.Lorem
before the\hbox
to see what I mean. It is kind of hard (for me) to explain. Or just wait and somebody good with explanations who understands this stuff better will explain it properly anyway.\hskip-\parindent
acts differently when\parindent
is zero than\parindent
has default value 20pt. But the\hbox to0pt
position is exactly at the same place in both examples. The box itself is overfull in first example (text laps to the right plus overfull rule is printed). The same box is underfull in second example, because first the typesetting point is moved 20pt left and then\bf 8
(which has width less than 20pt) is printed. The rest to 20pt is space in this underfull box. Both examples look like if somebody don't understand TeX.\hangindent
or perhaps\noindent\llap{\bf 8.}
or perhaps\noindent\kern-2cm{\bf 8.}
or....