<html>
  <head>
    <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    Dobrý den,<br>
    <br>
    děkuji za odpověď, a rozhodně děkuji i za její délku — pro mne je
    naopak přínosem. Moje TeXování je spíše nárazové, takže i mé
    znalosti jsou leckde nesystematické a různě hluboké, tudíž takovéto
    podrobné vysvětlení jednoho konkrétního jevu je to nejlepší, co si
    mohu přát.<br>
    <br>
    Velice to oceňuji a ještě jednou děkuji. Zdravím<br>
    Marcel Svitalský<br>
    <br>
    <br>
    <div class="moz-cite-prefix">On 26.8.2015 18:47, Petr Olsak wrote:<br>
    </div>
    <blockquote
      cite="mid:alpine.LNX.2.00.1508261712490.13862@newton.feld.cvut.cz"
      type="cite">
      <br>
      Dobrý den,
      <br>
      <br>
      má odpověď asi znovu sníží Vaši důvěru v TeX :).
      <br>
      <br>
      Pomocí \dimen\footins=\vsize nelze zajistit, aby se do stránky
      nedostalo někdy trochu hlavního textu na stránkách, které obsahují
      pokračující dlouhou poznámku. Že se Vám to projevilo při použití
      varianty Vámi označované jako "OPmac" a ne "plain" je dílem
      náhody.
      <br>
      <br>
      Upozorňuji a omlouvám se: vysvětlující text bude delší.
      <br>
      <br>
      Nejprve vysvětlím princip, pak vysvětlím rozdíl mezi Vámi
      zaslanými dvěma
      <br>
      variantami.
      <br>
      <br>
      Prncip. Na pokračující stránce s dlouhou poznámkou nejprve TeX
      interně udělá
      <br>
      <br>
      \vsplit\footins to D
      <br>
      <br>
      kde D je maximum z \vsize a \dimen\footins. Takto odlomený
      materiál s textem poznámky typicky nemá přesně výšku D a je díky
      meziřádkovým penaltám a pružnostem mezi odstavci ochoten se
      odlomit dřív než na výšce D, typicky mezi odstavci. Pak odlomený
      text splaskne na přirozený rozměr bez pružností. Dejme tomu, že
      přirozená výška odlomené poznámky je D-x. Do vzniklého místa x se
      TeX pokusí vložit \skip\footins (plainTeX ji nastavuje na 12 pt
      plus pružnost z \bigskip) a pokud stále je ještě místo, skusí tam
      TeX narvat řádky hlavního textu.
      <br>
      <br>
      Je tedy zřejmé, že pokud je x > 12 pt a rozdíl je takový, že se
      tam vejdou
      <br>
      řádky hlavního textu a tyto řádky jsou od sebe odlomitelné (nejsou
      slepené
      <br>
      \nobreak penaltou), pak se na té stránce bohužel objeví.
      <br>
      <br>
      Nyní vysvětlím rozdíl mezi variantou
      <br>
      <br>
      A) \footnote{$^1$}{\typoscale[800/800] text poznámky}  a
      <br>
      <br>
      B) \fnote{text poznámky} (z OPmac)
      <br>
      <br>
      Především si můžete povšimnout, že první řešení A) je nesprávné,
      protože nedodrží správné řádkování u posledního odstavce poznámky,
      tedy na straně 7 Vašeho díla. Je to tím, že \footnote z plain.tex
      expanduje (po vynechání expanze značky v hlavním textu) zhruba
      řečeno na:
      <br>
      <br>
      \insert{nastavení \splittopskip=\ht\strutbox a dalších
      <br>
              zahájení prvního odstavce poznámky značkou (tj. zde $^1$)
      <br>
              {obsah parametru}%
      <br>
              \strut
      <br>
      }
      <br>
      <br>
      Můžete si všimnout, že obsah parametru je uzavřen do skupiny,
      takže poslední odstavec (formátovaný implicitním \par v místě
      konce \insert za \strut) už neobsahuje zmenšený \baselineskip,
      pokud toto nastavení provedete uvnitř parametru. Navíc uvozující
      značka $^1$ není zmenšena na 80 %, protože zmenšení písma proběhne
      až na začátku obsahu parametru. Pokud byste chtěl opravit
      řádkování posledního odstavce tím, že byste obsah parametru
      ukončil \par, pak se Vám to povede jen se zavlečením další chyby,
      neboť nyní \strut v makru zahájí další, tentokrát prázdný
      odstavec, takže v poznámce na konci budete mít jeden (neviditelný)
      prázdný řádek, který se projeví, když si to pořádně změříte nebo
      když za jednou poznámkou následuje další.
      <br>
      <br>
      Ale toto řešení mělo pro Vás čistě náhodu tu výhodu, že neprosákl
      hlavní
      <br>
      text na pokračující stránky.
      <br>
      <br>
      B) OPmac obchází výše popsané problémy při zmenšování písma a
      řádkování tak, že \fnote zhruba řečeno expanduje na:
      <br>
      <br>
      {\typoscale[800/800] \insert volaný pomocí plainTeXového
      \vfootnote}
      <br>
      <br>
      tedy po rozepsání:
      <br>
      <br>
      {\typoscale[800/800]
      <br>
        \insert{nastavení \splittopskip=\ht\strutbox a dalších
      <br>
                zahájení prvního odstavce poznámky značkou
      <br>
                {obsah parametru}%
      <br>
                \strut
      <br>
        }%
      <br>
      }
      <br>
      <br>
      Protože \typoscale[800/800] zmenšuje nejen \baselineskip, ale i
      další parametry závislé na řádkování (například \strutbox) a
      protože \splittopskip je nastaven v plainTeXovém \vfootnote na
      výšku \strutboxu, je při \fnote z OPmac nastaven menší
      \splittopskip (o 1.7 pt) než při klasické \footnote. Výsledek
      zlomu poznámky je tedy o 1.7 pt menší a tedy x je o 1.7 pt větší.
      A tak se stalo, že do takto zvětšeného x se už vešel řádek z
      hlavního textu.
      <br>
      <br>
      Je tedy vidět, že OPmac nastavuje věci správně, protože mít
      \splittopskip nastaven na výšku aktuálního (na 80 % zmenšeného)
      \strutboxu je daleko logičtější než ho mít podle strutboxu
      hlavního textu. Jen má pak OPmac tu smůlu, že když se dlouhá
      poznámka na pokračující stránce zlomí ve stejném místě, je ve
      výsledku x větší a může se asi s větší pravděpodobností stát, že
      se tam propasíruje řádek hlavního textu.
      <br>
      <br>
      Nemám jednoduché řešení, které absolutně zajistí nepropasírování
      řádku
      <br>
      textu do mezýrky x. Pro Váš případ tedy by stačilo
      <br>
      <br>
      \advance\skip\footins by1.7pt
      <br>
      <br>
      coz dá do prostoru x větší mezeru a tím zmenší zbytek x na stejnou
      velikost, jako při Vašem řešení A). Ovšem mezera mezi hlavním
      textem a čárou poznámky je o 1.7 pt větší. Zatímco ve Vašem řešení
      A) je větší mezera mezi čarou poznámky a prvním řádkem poznámky
      (což právě způsobuje \splittopskip).
      <br>
      <br>
      Uff. Zdravím
      <br>
      <br>
      Petr Olšák
      <br>
      <br>
      <br>
      <br>
      On Wed, 26 Aug 2015, Marcel Svitalský wrote:
      <br>
      <br>
      <blockquote type="cite">Dobrý den,
        <br>
        <br>
        mám zde další možná bug report ? tentokrát k OPmac ?,možná jen
        dotaz. Mám v textu
        <br>
        velmi ? velmi! ? dlouhou poznámku pod čarou, přes několik
        stránek. Proto nastavuji
        <br>
        \dimen\footins = \vsize, aby na stránkách následujících začátek
        poznámky tato
        <br>
        vyplnila celou stranu (má-li k tomu dost materiálu).
        <br>
        <br>
        Toto řešení funguje dobře při použití plainovského makra
        \footnote, nefunguje
        <br>
        však (někdy) s makrem \fnote z OPmac:
        <br>
              % toto funguje správně (číslo poznámky je v tomto příkladu
        natvrdo)
        <br>
              \long\def\fnoteBegin
        <br>
             
        #1\fnoteEnd{\footnote{$^1$)}{\typobase\typoscale[800/800]#1}}
        <br>
        <br>
              % toto občas nefunguje správně
        <br>
              \long\def\fnoteBegin #1\fnoteEnd{\fnote{#1}}
        <br>
        <br>
        Přikládám ilustrativní soubor dilo.tex vyTeXovaný jednou s prvou
        <br>
        (dilo-footnote-plain.pdf) a podruhé se druhou
        (dilo-footnote-opmac.pdf) definicí.
        <br>
        Ve druhém PDF souboru je na stránkách čtyři a pět nahoře vidět,
        že ač poznámka
        <br>
        zdaleka není vyčerpána, na stránku se vecpaly jednou dva a
        jednou jeden řádek
        <br>
        hlavního textu.
        <br>
        <br>
        Nemohu samozřejmě vyloučit, že k témuž nedojde při jiné
        konfiguraci i s
        <br>
        plainovským makrem footnote, ale mně se tak děje jen s OPmac
        variantou. Pokud se
        <br>
        nejedná o bug, pokud je tedy takové chování při \dimen\footins
        rovné \vsize
        <br>
        přípustné, rád bych se zeptal, jak zařídit, tedy jaké další
        parametry nastavit a
        <br>
        na jaké hodnoty, aby k tomu nemohlo docházet.
        <br>
        <br>
        Děkuji a zdravím
        <br>
        Marcel Svitalský
        <br>
        <br>
        --
        <br>
        Marcel Svitalský 
        <br>
        <br>
        <br>
      </blockquote>
      <br>
      <fieldset class="mimeAttachmentHeader"></fieldset>
      <br>
      <pre wrap="">_______________________________________________
csTeX mailing list
<a class="moz-txt-link-abbreviated" href="mailto:csTeX@cs.felk.cvut.cz">csTeX@cs.felk.cvut.cz</a>
<a class="moz-txt-link-freetext" href="https://lists.felk.cvut.cz/mailman/listinfo/cstex">https://lists.felk.cvut.cz/mailman/listinfo/cstex</a>
</pre>
    </blockquote>
    <br>
    <div class="moz-signature">-- <br>
      Marcel Svitalský<i> </i>
    </div>
  </body>
</html>