nezlomitelna mezera (WAS: LyX a vlna, opet cestina)

Hans Ginzel hans at kolej.mff.cuni.cz
Wed Oct 23 12:09:25 CEST 2002


	Dobrý den,

   vzhledem k tomu, že se nedávno diskutovalo o nastavení "češtiny"
(psaní, zobrazování a tisk akcentovaných znaků; mrtvých kláves)
i v konferenci czdebian, dovoluji si zaslat tento příspěvek také tam.

   Často se zapomíná, a W3c, M$, Netscape opravdu v začátcích {ht,x}ml,
přesto že se měli odkud poučit, zapoměli, na to, že součástí zápisu (již)
angličtiny je nezlomitelná mezera. Chybějící znak v ASCII Knuth obešel
vlnkou, v kódování ISO-8859-* je už přítomen.

On Fri, Oct 18, 2002 at 05:53:30PM +0200, Matej Cepl wrote:
> Jediné co mi na tom vadí je, že já v podstatě NECHCI měnit
> samotný LyXový dokument, ale preferoval bych až zpracování
> následného meziLaTeXu nebo něco takového. V rámci dodržování
> WYSIWYM principu (resp.  ,,separation of presentation and
> content`` -- nevím co má co dělat zachovávání zvrhlých českých
> pravidel s obsahem mého dokumentu) bych si myslel, že přetahování
> předložek má být součástí zpracování dokumentu a ne provádění
> změn v původním dokumentu.

On Sat, Oct 19, 2002 at 06:39:39PM +0200, David Necas wrote:
> Problém je v tom, že existuje spousta dalších míst, kde je
> nevhodné zlomit řádek (a řadu z nich nelze strojově poznat).
> Např.
>
> 1.~7. 2002
> Václav~II.
> 20~kg
> obrázek~3
> M.~Cepl
> tady~-- a~nebo taky jinde
>
> Domnívat se, že mi správné zalomení zajistí nějaký program
> v rámci zpracování dokumentu je naprosto zcestné.
> Nezlomitelná mezera je součást obsahu a nikoli presentace
> (pokud někde má být, má tam být *vždy*, nezávisle na
> presentaci), a měl byste se je naučit raději psát, kam
> patří, protože se nejedná o presentaci, ale
> o obsah (ostatně i v Unicode je nezlomitelná mezera
> samosatný znak).

    Nejen v Unicode, ale i v ISO-8859-{1,2}, CP1250,...
Jedná se o znak s hodnotou 160 (0xA0), MAC ho má pozici 202 (0xCA).
Já ho s oblibou používám. Ve fontech Martina Marese (ucw*) je
namapován na znak vypadající jako ten první (prohlížej
neproporcionálním fontem, např. Courier)

........        ........        ........        ........
........        ........        .#####..        ........
........        ........        ##...##.        ...#....
........        .#....#.        .##.....        ..###...
........        ..####..        ..###...        .##.##..
........        .##..##.        .##.##..        ##...##.
........        .##..##.        ##...##.        ##...##.
........        ..####..        ##...##.        #######.
........        .#....#.        .##.##..        ##...##.
........        ........        ..###...        ##...##.
........        ........        ....##..        ##...##.
...#....        ........        ##...##.        ##...##.
........        ........        .#####..        ........
........        ........        ........        ........
........        ........        ........        ........
........        ........        ........        ........

Tj. na obrazovce ze všech (8)9x16 bodů svítí právě jeden. Vypadá to jako
mezera, ale mezera to není -- při běžném čtení nevadí, při soustředění se
ji lze odlišit od běžné mezery.

    Klávesu zařídíme jednoduše:

	echo "Control keycode 57 = nobreakspace" |loadkeys

Stisk control+mezerníku vloží nezlomitelnou mezeru. Někde byl namapován
na stisk Ctrl+Space znak NULL (0x00), ale ten je podle definice
control+@, tj. Ctrl+Shift+2 na anglické/programátorské klávesnici.

    V TeXu je pak řešení jednoduché

	\catcode`\ =\active
	\edef {~}

Záměrně v předchozím nepíši 160, ale přímo znak nezlomitelné mezery,
aby TeXování souboru bylo odolné vůči překódování a poštovnímu přenosu.

    A v čem je problém? No přeci M$ je celý jeden velký problém,
kterého se i americká vláda/soudnictví bojí více než terorismu!
Když jsem takový dokument někomu poslal, předal, tak z toho "nebyl
nadšený". A to nejen uživatel Windows, ale i ten, kdo neměl
nakonfigurovanou svoji konsoli. Schválně:

	D. E. Knuth
	28. 10. Sv Šimona a Judy

Ukázka obsahuje nezlomitelné mezery (znak 160). Jak se Vám zobrazily?

    Budeme ochotni upravit naše programy, aby při testech na mezeru
počítali i s nezlomitelnou mezerou? Všechny ty tvrdé regulání výrazy
(neobsahující \s nebo [[:space:]])? Máme ke všem programům zdrojový kód?
Najde se dostatek uživatelů, kteří budou požadovat po svých
dodavatelích patche na klávesovou mapu? Najde se dostatek znalých lidí,
kteří uživatelům vysvětlí, že to mají chtít? Třeba v jazykovém koutku
některých novin? Kdo se obětuje?

	Pěkný den přeje
					Hans Ginzel

--
Fight against terorism? What about users which are terorised by Windows?






More information about the csTeX mailing list