O co jde a o co nejde

Petr Olsak olsak at math.feld.cvut.cz
Thu Mar 23 15:41:18 CET 1995



On Thu, 23 Mar 1995, Petr Sojka wrote:

> O co jde:
> volbu kodovani doporucovanou a dale podporovanou CSTUG.
>
> Petr Sojka
>
Ano, jde o to, zda ma smysl zavadet cs-standardy. Zatim jsem formuloval
nasledujici text, na nejz neprisly zadne fakticke pripominky.

Toto je muj navrh na cs-standard, ktery jsem pred mesicem dal k diskusi
a pripominkovani na forum tvurcu "csTeXu". Bez ohlasu.

Petr Olsak


Pokus o definici standardu prace s cestinou/slovenstinou v \TeXu.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

Tento dokument definuje standard pro tzv. \uv{jadro} kazde instalace
\TeX{}u, ktera bude podporovana sdruzenim \cs TUG. Pod pojmem \uv{jadro}
rozumime zalezitosti nezavisle na systemu, tj. nevenujeme se problematice
textovych editoru, textovych formatu souboru, zpusobu distribuce
a instalace, softwarovymi prostredky pro uzivatelska rozhrani apod.

Instalaci, ktara splnuje nize stanovene podminky, nazyvame pracovne
\cs-instalaci.


1. Zakladni fonty
%%%%%%%%%%%%%%%%%

1.1 \cs-instalace musi obsahovat tzv. \cs-fonty. Jejich rozlozeni znaku je
definovano tabulkou v priloze k tomuto dokumentu.

1.2 \cs-fonty tvori doplnek ke Knuthovym CM fontum (Volume E: Computers \&
Typefaces) v tomto smyslu:

* Kazdy textovy CM font ma svuj odpovidajici \cs-font.
* Rozlozeni znaku je pro pozice z CM fontu totozne v odpovidajicim
  \cs-fontu. Jsou \uv{nadmozinou} CM fontu.
* Nazev \cs-fontu je odvozen z CM fontu zamenou prvnich dvou pismen {\tt cm}
  za {\tt cs}.
* Kerningove pary jsou pro znaky v CM shodne s pary v \cs-fontech, az na
  opodstatnene vyjimky. Totez plati pro ligacni tabulky.
* Akcentovane znaky ceske abecedy jsou v \cs-fontech kodovany podle
  standardu ISO 8859-2.

1.3 \cs-instalace musi podporovat take zpracovani dokumentu, ktery se opira
pouze o CM fonty. Vetsinou staci pritomnost fontu CM emulovat pomoci
\cs-fontu ruznymi softwarovymi postupy (substitucni tabulky v em\TeX{}u,
linky cm*pk->cs*pk v UNIXu, virtualni fonty apod.).

1.4 Metriky textovych fontu jsou v \cs-instalaci k dispozici dvoji.
Originalni CM metriky a metriky k \cs-fontum.

1.5 Matematicke CM fonty jsou v \cs-instalaci pritomne beze zmeny.

1.6 Fyzicka implementace \cs-fontu (umisteni bitmap na disk, generovani
\mf{}em pouze podle potreby, zlata stredni cesta) je zalezitost zavisla na
systemu a neni v tomto dokumentu specifikovana. Stejne tak skala ruznych
zvetseni pro dany font v pripade, ze jsou fonty ulozeny jako bitmapy, neni
specifikovana.

1.7 Nasleduje seznam vsech \cs-fontu:

Matematicke fonty (zustavaji originalnimi CM fonty): cmmi12,10,9,8,7,6,5,
cmmib10, cmtex10,9,8, cmsy10,9,8,7,6,5, cmbsy10, cmex10.

Textove fonty: csr17,12,10,9,8,7,6,5, csbx12,10,9,8,7,6,5, cssl12,10,9,8,
cstt12,10,9,8, cssltt10, csvtt10, csss17,12,10,9,8, csssi17,12,10,9,8,
csssdc10, csssbx10, csssqi8, csssq8, csdunh10, csbxsl10, csb10, csff10,
csfib8, csti12,10,9,8,7, csbxti10, csitt10, csu10, csfi10, cscsc10,
cstcsc10, csinch.

1.8 Pritomnost dalsich fontu neni samozrejme v \cs-instalaci vyloucena.
Pouze je treba pocitat s tim, ze pouziva-li dokument jine fonty, nez jsou
zde uvedeny, nemusi byt snadna prenositelnost na jinou \cs-instalaci.

1.9 Fonty, ktere nejsou kodovany jako \cs-fonty se musi jmenovat jinak,
ackoli kresby znaku vypadaji shodne.



2. PostScriptove fonty
%%%%%%%%%%%%%%%%%%%%%%

2.1 Neni predepsana mnozina PostScriptovych fontu, se kterymi by mela
prostrednictvim virtualnich popisu umet manipulovat kazda \cs-instalace.
Lze pouze doporucit, aby mezi temito fonty bylo zakladnich 32 fontu, ktere
jsou k dispozici v kazdem PostScriptovem RIPu. Jedna se o tyto fonty:

...

2.2 Metriky a virtualni popisy PostScriptovych fontu, pokud jsou kodovany
v souladu s \cs-fonty, by mely mit odvozeny nazev z nazvu pro neprekodovany
font {\tt r*.tfm,vf}, kde pismeno {\tt r} zamenime za pismeno {\tt c}.
Napriklad {\tt rptmr.vf} (raw) bude po prekodovani mit nazev {\tt
cptmr.vf}.

2.3 Rozlozeni znaku v popisech pro PostScriptovy font musi byt nadmnozinou
kodovani odpovidajiciho \cs-fontu. Zbyvajici neobsazena mista mohou byt
obsazena jakkoli, ovsem doporucuje se dodrzet kodovani ISO-8859-2. Ani toto
kodovani ale neurcuje vsechny pozice ve fontu. Opira-li se dokument
o pozice, ktere nejsou v \cs-fontech, musi se pocitat se snizenou
prenositelnosti dokumentu.

2.4 Vyjimkou z pravidla v bodu 2.3 je pozice "20 (cross for polish l, L --
skrtatko polskeho L). Tento znak neni mozne sestavit z bezneho materialu
PostScriptoveho fontu v AdobeStandardEncoding. Misto nej jsou k dispozici
obe skrtnute varianty l a L. Jejich umisteni by melo odpovidat ISO-8859-2,
tj. "A3 pro L a "B3 pro l (skrtnuta).

2.5 Pritomnost jinak kodovanych popisu PostScriptovych fontu, napr.
mezinarodne sirenych popisu fontu prekodovanych pro T1, neni vyloucena,
ovsem neni (z duvodu nizsi kvality sazby a neslucitelnosti s kodovanim
\cs-fontu) doporucena.


3. Prenositelnost dvi
%%%%%%%%%%%%%%%%%%%%%

3.1 Rikame, ze vystup \TeX{}u (soubor dvi) vola \cs-fonty, pokud jsou
v tomto souboru odkazy na \cs-fonty a na zadne jine. Takovy dvi soubor je
bez problemu prenositelny na vsech \cs-instalacich.

3.2 Kazda \cs-instalace musi obsahovat softwarove prostredky, pomoci
kterych lze konvertovat dvi, ktere vola \cs-fonty, na mezinarodne
prenositelne dvi, v nemz jsou odkazy pouze na CM fonty. Ztrata kvality
sazby pri takove konverzi neni vyloucena (mene vhodne usazeni akcentu
apod.).


4. Standardni \TeX{}ovske formaty (fmt)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

4.1 Kazda \cs-instalace obsahuje k standardnim mezinarodnim formatum plain,
LaTeX, AMSTeX, ... sve protejsky, ktere tam, kde mezinarodni format pracuje
s CM fontem, pouzivaji \cs-font.

4.2 Nazvy techto formatu jsou odvozeny z nazvu mezinarodnich formatu tak,
ze pred nazev je pridana predpona cs. Toto pravidlo ma dve vyjimky:
a) Format "plain" byva obvykle ztotoznovat s nazvem "tex" napr. pomoci
   linku v UNIXu. Odpovidajici \cs-format se jmenuje pouze "csplain".
b) V systemech, ktere maji omezenou delku nazvu souboru je pripadne
   \uv{zaokrouhlen} konec nazvu na danou delku.
Priklady: csplain, csLaTeX, csAMSLaTeX (v DOSu jenom CSAMSLAT).
Souhrnne temto formatum rikame \cs-formaty.

4.3 Kazdy \cs-format obsahuje definici prikazu \chyph, resp. \shyph, ktere prepnou
na ceske, resp. slovenske deleni slov. Zpracovani dokumentu \cs-formatem
implicite startuje s US delenim slov. Kazda \cs-instalce musi mit prostredky
pro vygenerovani formatu se vzory deleni pro cestinu i slovenstinu. Tam,
kde se nepracuje s obema jazyky, neni samozrejme nutne oba vzory deleni do
aktivne pouzivaneho formatu zarazovat.

4.4 Pro interni cislo pouzite primitivem \language a \setlanguage je pro
cestinu pouzit registr \czech a pro slovenstinu \slovak.

4.5 Vnitrni kodovani \TeX{}u, podle nehoz se definuji hodnoty pro primitivy
\uppercase a \lowercase a podle nehoz se nacitaji vzory deleni slov, se
v \cs-formatech predpoklada shodne s kodovanim podle tabulky na str. 368
v \TeX{}booku s nadstavbou pro akcentovane znaky c/s abecedy podle
ISO-8859-2. Ostatni pozice zustavaji nedefinovany. Toto kodovani nazyvame
kodovani IL2. Kodovani je uvedeno v tabulce v dodatku k dokumentu.

4.5 Formaty vetsinou definuji prepinace mezi fonty (napr. \bf, \it apod.),
ktere v pripade mezinarodnich formatu prepinaji mezi ruznymi CM fonty.
V pripade \cs-formatu prepinaji uvedene prepinace mezi \cs-fonty.

4.6 \cs-formaty jsou sestaveny tak, aby dokument, ktery lze zpracovat
mezinarodnimi formaty a opira se pouze o CM fonty slo zpracovat i
\cs-formaty. Po dodatecne konverzi dvi souboru na dvi, ktere vola pouze CM
fonty bychom meli dostat stejny vysledek, jako pri pouziti mezinarodniho
formatu rovnou. Priklad:
   tex dokument            ... zpracovani plain-\TeX{}em, by melo vest
ke stejnemu vysledku, jako
   csplain dokument        ... zpracovani \cs-verzi plain-\TeX{}u
   konverze dokument.dvi   ... nasledna konverze dvi podle bodu 3.2.

4.7 Vzhledem k bodu 4.6 neni nutne, aby \cs-instalace obsahovala
mezinarodni formaty aktivne pouzivane jako fmt. Na druhe strane
je nutne, aby v \cs-instalaci byly zdrojove texty k temto mezinarodnim
formatum, aby bylo mozno pri selhani ci neduvere k postupu podle bodu 3.2
vygenerovat puvodni mezinarodni formaty.

4.8 Instalace formatu, ktere se opiraji o jine kodovani, nez je IL2,
se povazuji za \uv{nadstandard} se vsemi dusledky z toho plynoucimi.
Napriklad neni mozne pocitat s prenositelnosti dokumentu opirajicich se
o nadstandardni formaty na jine \cs-instalace.


5. Kodovani vstupnich textu
%%%%%%%%%%%%%%%%%%%%%%%%%%%

5.1 Kodovani vstupniho textu se predpoklada v IL2. Pak lze pri pouziti
\cs-formatu psat napr. {\bf osmibitovy text} a text bude primo vysazen
\cs-fontem (nebo pripadne fontem stejne kodovanym). Nejsou nutne konverze
na urovni \TeX{}ovskych maker ani virtualnich fontu.

5.2 V operacnich systemech, ktere pracuji obvykle s jinym kodovanim
textovych souboru, je nutne zajistit softwarovou podporu pro prevod do
kodovani IL2. Vhodnou implementaci \TeX{}u ze zdrojoveho souboru .web lze
dosahnout pro dany system s jinym nez IL2 kodovanim konverzi na urovni
vstupnich a vystupnich proudu programu \TeX. Napr. v DOSu jsou zname tcp
tabulky z em\TeX{}u, ktere umozni bez problemu psat vstupni texty treba
v kodovani podle Kamenickych, ackoli vnitrni kodovani \TeX{}u pri pouziti
\cs-formatu je IL2.


6. Styl czech.sty, slovak.sty
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

6.1 Po zavedeni stylu czech.sty, resp. slovak.sty je dalsi zpracovani dokumentu
ovlivneno podle bodu 6.3 az 6.7. Zkratka c/s znamena cesky nebo slovensky
podle toho, jaky styl je zaveden.

6.2 Zavedeni techto stylu vyzaduje zpracovani v \cs-formatu. Styly nemusi
byt kompatibilni s jinymi formaty.

6.3 Inicializuje se c/s deleni slov (tj. prikaz \chyph nebo \shyph)
a definuji se prikazy pro prepinani mezi deleni slov ruznych jazyku:
\selectlanguage{n} (n=\czech,\slovak,\USenglish).

6.4 Pri zavedeni a pri prepnuti pomoci \selectlanguage se meni
\spacefactors nekterych znaku, tj. napr. mezery za teckou ve vete budou
pro c/s dokument kratsi nez pro anglicky.

6.5 Definuji se prikazy pro sazbu c/s uvozovek. Levych: \clqq, \clq a
pravych \crqq, \crq. Take se definuje makro \uv pro sazbu textu v c/s
uvozovkach.

6.6 Makro \today vysazi datum v c/s jazyce. Makra \dateenglish,
\dateUSenglish, \dateczech, \dateslovak redefinuji makro \today pro
prislusny jazyk.

6.7 Redefinuji se makra pouzivana v mezinarodnich formatech k automatickemu
generovani nekterych slov (napr. Chapter, Contents). Rikame jim tzv. makra
typu \chapter. Predefinovana makra typu \chapter sazi tato slova v c/s
jazyce (napr. Kapitola, Obsah). Redefinovani maker typu \chapter  tedy
neni soucasti \cs-formatu, ale predefinovani se provede az po zavedeni
stylu. Styly dale definuji prikazy \captionsenglish, \captionsczech
a \captionsslovak, ktere predefinuji makra typu \chapter pro prislusny
jazyk.

6.8 Styly czech.sty a slovak.sty se mohou zavest soucasne a nesmi dojit
ke kolizi. Naopak, toto zavedeni spojuje moznosti obou stylu (napriklad
prikaz \captionsslovak je definovan pouze ve stylu slovak.sty).


7. Doplnujici pomucky
%%%%%%%%%%%%%%%%%%%%%

7.1 Kazda \cs-instalce by mela disponovat softwarovymi prostredky, ktere
umozni transformovat textove soubory mezi nejbezneji pozivanymi kodovanimi
s pripadnou transformaci systemove zavislych znacek v textovych souborech.
Napr. konce radku v DOSu jsou jine nez v UNIXu. Tim je zarucena
prenositelnost textovych souboru pro ruzne systemy.

7.2 Doporucuje se instalovat softwarove prostredky pro kontrolu preklepu a
pro kontrolu ci automaticke nastaveni zalezitosti charakteristickych pro
c/s sazbu (napr. vazani neslabicnych predlozek s dalsim slovem). Tyto
prostredky jsou ovsem vetsinou zavisle na systemu a casto byvaji sireny jen
komercne. Nelze proto v \cs-instalaci pouzivani techto prostredku blize
specifikovat ani narizovat.

7.3 Doporucuje se instalovat softwarove prostredky pro konverzi ruznych
datovych struktur fontu na jine datove struktury s durazem na podporu
datovych struktur v kodovani fontu podle \cs-fontu.


8. Zaverecna ustanoveni
%%%%%%%%%%%%%%%%%%%%%%%

8.1 Pokud instalace nesplnuje imperativni pozadavky, uvedene v tomto
dokumentu, nemuze byt nazyvana \cs-instalaci. Pozadavky, ktere jsou zde
pouze uvedeny jako doporuceni, nemaji na tuto sutecnost vliv.

8.2 Balik \cs\TeX, ktery siri sdruzeni \cs TUG je \cs-instalace podle zde
uvedeneho doumentu. Pod hlavickou \cs TUGu nebudou sireny ani podporovany
takove baliky \TeX{}u, ktere nejsou \cs-instalacemi.

8.3 Provozovani \cs-instalace dava zaruku, ze dokumenty budou prenositelne
na jine \cs-instalace, archivovatelne a kdykoli v bodoucnu bez problemu
znovu pouzitelne.




More information about the csTeX mailing list