[cstex] Vybalancovani vicesloupcove sazby v ConTeXtu

Jaroslav Hajtmar hajtmar at gyza.cz
Sun Nov 1 11:07:03 CET 2009


Dobrý den.
Potřeboval bych poradit s tím, jak (alespoň manuálně) "vybalancovat" 
text při vícesloupcové sazbě uskutečňované pomocí COLUMNS, tj. s 
použitím příkazů jako:
\definecolumnset, \definecolumnsetspan, \setupcolumnsetlines, 
\setupcolumnsetstart, \startcolumnsetspan, \stopcolumnsetspan, 
\startcolumnset, \stopcolumnset, atd...


Jde o to, že bych potřeboval sázet stránku jakýchsi novin, na které 
budou články současně ve tří, dvou i jednosloupcové sazbě (prakticky by 
mi asi stačilo 3 a 2 sloupcová sazba). Výsledný vzhled A4 stránky by měl 
být následující:

     NADPIS1
xxxxx  xxxxx  xxxxx
xxxxx  xxxxx  xxxxx
xxxxx  xxxxx  xxxxx

      NADPIS2
xxxxxxxx  xxxxxxxx
xxxxxxxx  xxxxxxxx
xxxxxxxx  xxxxxxxx
xxxxxxxx  xxxxxxxx

      NADPIS3
xxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxx


Bohužel se mi to ale nedaří, a to z důvodu, že se mi nikdy (ani při 
ručním nastavování počtu řádků ve sloupcích)  nedaří zobrazit celý článek.
Vždy se zobrazí jen dva sloupce nebo dokonce jen jeden sloupec (při 
zadání většího počtu řádků ve sloupcích). nevím čím to je, co 
zapříčiňuje to, že se zobrazí jen část článku. Někdy text "odplave" na 
následující stránku.

Výsledný text pak po vysázení vypadá takto:

     NADPIS1
xxxxx  xxxxx 
xxxxx  xxxxx 
xxxxx  xxxxx 

      NADPIS2
xxxxxxxx 
xxxxxxxx 
xxxxxxxx 
xxxxxxxx 

atd. v závislosti na nastavení...


Existuje nějaká možnost, jak (i metodou pokus-omyl) třeba i ručně 
(přidáváním či odebíráním počtu řádků ve sloupcích nebo zvětšováním 
mezisloupcové mezery) vybalancovat text tak aby se zobrazil celý? Na co 
si dát pozor? Osobně neznám princip fungování - asi plovoucí sazba...

Díky za případné rady či náměty jak nejlépe celou věc řešit. Minimální 
zdrojový text přikládám níže.


Zdraví Jarda Hajtmar


%--------------------------------------------------------------------------------------------------------
% Minimální zdrojový text:
%--------------------------------------------------------------------------------------------------------

\setupoutput[pdftex] % pokud nekompilujeme s volbou --pdf 
\enableregime[cp1250]
\mainlanguage[cz]

\setuptolerance [verytolerant,stretch]

\definelayout[mypage][width=fit, height=fit,backspace=10mm, 
topspace=0mm, header=10mm, footer=10mm,bottom=0mm, 
rightmargin=10mm,leftmargindistance=0mm,rightmargindistance=0mm, grid=yes]
\setuplayout[mypage]


% nastavení vlastností sloupců
\definecolumnset[sloupce3][n=3,distance=3mm, balance=yes]%
\definecolumnsetspan[sloupce3-span][n=3]
\definecolumnset[sloupce2][n=2, distance=3mm, balance=yes]
\definecolumnsetspan[sloupce2-span][n=2]

\setupcolumnsetlines[sloupce3][1][1][10] %    když nastavím na 20 
nezobrazí se již ani druhý sloupec
\setupcolumnsetlines[sloupce3][1][2][10] % Počet řádků ve 2. sloupci atd...
\setupcolumnsetlines[sloupce3][1][3][10]

\setupcolumnsetstart[sloupce2][1][1][12] % Začátek 1. sloupce na 12. řádku
\setupcolumnsetstart[sloupce2][1][2][12]
\setupcolumnsetlines[sloupce2][1][1][20] % Počet řádků v 1. sloupci
\setupcolumnsetlines[sloupce2][1][2][20]



\starttext



\startcolumnset[sloupce3]

        \startcolumnsetspan[sloupce3-span]%
             Nadpis  nad třemi sloupci
        \stopcolumnsetspan

\input tufte
Konec tohoto textu ve třísloupcovém režimu se již nezobrazí.

\stopcolumnset



\startcolumnset[sloupce2]

        \startcolumnsetspan[sloupce2-span]
            Nadpis nad dvěma sloupci
        \stopcolumnsetspan

\input tufte
Konec tohoto textu ve dvousloupcovém režimu se již nezobrazí.

\stopcolumnset


\stoptext



More information about the csTeX mailing list