Portál AbcLinuxu, 10. května 2025 08:28
Řešení dotazu:
A jen co se zeptám, najdu ve svých hledáních na Googlu lepší řešení. To zní \null\vfill.
Nicméně mi to stále nezodpovědělo na to, proč se tak LaTeX chová.
Nechová se tak LaTeX, chová se tak TeX. Zjednodušeně řečeno se při skládání stránky ignorují všechny vertikální mezery na jejím začátku, aby vám každou chvíli stránka nezačínala níž jen proto, že tam zrovna vyšla nějaká vertikální mezera (odstavec, nadpis apod.). Pokud explicitně chcete začít stránku vertikální mezeru, je potřeba nad ni dát něco, co není mezera, ale není to vidět.
Podrobnější (a přesnější) vysvětlení viz Knuthův The TeXbook nebo Olšákův TeXbook naruby.
Čistší než "neviditelný odstavec" je vodorovná čára nulové výšky, tj. \hrule height 0pt\vfill
Případně lze jít víc do hloubky a použít \shipout\vbox{}\advancepageno
, ale to by možná kolidovalo s LaTeXovou output routine.
\vfill
může být málo, pokud za tím odstavcem hned neuděláte \break
, protože jinak vám za něj může vyjít buď pevná mezera nebo automatický \vfill
např. z konce textu nebo konce kapitoly.
\vbox to \vsize{}
Nějakou knížku pro plain TeX jsem z více než poloviny zchroustal, ale drtivou většinu už jsem z ní touto dobou zapomněl. LaTeX je moudřejší volba.
Na TeXbook naruby se podívám, díky.
\hskip 3pt plus1fil
, tak nechápavě hledám kučeravé závorky a při spatření tabulky pomocí \halign
prchám s křikem do tmy...
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.