[cstex] \language v csplain

Petr Olsak petr at olsak.net
Tue Aug 25 16:18:29 CEST 2015


On Tue, 25 Aug 2015, Marcel Svitalský wrote:

> Dobrý den,
> 
> děkuji za odpověď. Přečetl jsem si mezi tím informace v sekci Recent changes na
> stránce https://math.feld.cvut.cz/olsak/cstex-e.html a došlo mi, jak asi problém
> vznikl. Pokud jde o tu důvěru, jsem si vědom rozdílu mezi bugem a úmyslnou změnou
> rozhraní ? sám jsem za svoji kariéru pár bugů myslím vyrobil ? a jsem velmi rád, že
> šlo jen o bug.
> 
> To řešení s \language = 0 je nepřijatelné, nechci si pamatovat ani psát do kódu
> žádné konstanty, dokonce ani tak ?základní?, jako nula pro americkou angličtinu ?
> nejsem americký patriot ?,avšak chápu-li to dobře, mělo by pomoci přidat do mých
> obecných maker něco jako:
>       \ifx\USenglish\undefined\let\USenglish\enPatt\fi
> 
> To by pak mělo fungovat správně i s příští, opravenou verzí.
> 
> Děkuji a zdravím,
> Marcel Svitalský

Dobrý den,

mě \language=0 nepřipadá nepřijatelné, protože to funguje zaručeně všude, 
nejen v CSplainu, ale i v eplainu, klasickém TeXu atd. Naopak mi připadá 
nevhodné se opírat o různé maskovače této nuly, jednou \USenglish, s čímž 
přišel Olin Ulrych, podruhé \enPatt, s čím přišel Olšák, potřetí 
\necojineho, s čímž přijde někdo další. V každém případě mohu garantovat, 
že nula bude mapovat US Knuthovy vzory dělení vždy stejně. Analogicky v 
csplainu je zaručeně 5 pro české vzory dělení v IL2, 15 v T1 a 115 v 
Unicode. A dokonce všechny jazyky mají v csplainu přiděleno fixní číslo, 
nikoli dynamicky generované, jak je možné se přesvědčit pohledem do 
hyphen.lan.

Pokud Vám připadá nevhodné psát explicitně nulu do makra, můžete na 
začátku dokumentu napsat:

\chardef\USpatternsMYname=0

a v makru psát:  \language=\USpatternsMYname

A překvapivě Vám to bude funovat všude, nejen v csplainu.

Chcete-li se oprostit od přímé manipulace s \language a od práce s 
konkrétními konstantami, pak jsou v csplainu k dispozci
uživatelská makra \ehyph, \chyph, \shyph a další, jak je popsáno v 
dodatku G TeXu pro pragmatiky.

Zdravím

Petr Olšák


> On 24.8.2015 17:05, Petr Olsak wrote:
>
>       Dobrý den,
>
>       to, co píšete, se dá považovat za report chyby. Došlo k ní v
>       listopadu 2013, když mi nedošlo, že při úpravě názvů pro vzory dělení
>       dle ISO 939-1 (zejména opravy cz -> cs) jsem zlikvidoval původní
>       řídicí sekvenci \USenglish a nahradil ji logicky více vyhovujcí
>       sekvecí \enPatt. Měl jsem do sekce souboru hyphen.lan označenou jako
>       "for backward compatibility" (která je už nyní bohužel dost dlouhá)
>       přidat ještě příkaz \chardef\USenglish=0, ale zapomněl jsem na to.
>
>       Tento omyl napravím v příští verzi, ale obávám se, že Vaše důvěra ve
>       stabilitu csplainu se tím nevrátí.
>
>       K otázce, jak bych něco tak prostého, jako je \language=\USenglish
>       řešil já, odpovídám: \language=0.
>
>       Zdravím
>
>       Petr Olšák
> 
>
>       On Mon, 24 Aug 2015, Marcel Svitalský wrote:
>
>             Zdravím ctěnou konferenci!
>
>             Rád bych položil jeden dotaz: nějakou dobu ? cca od
>             podzimu 1911 ? jsem TeX-oval
>             jen velmi minimálně. Teď si potřebuji osvěžit znalosti,
>             protože mne čeká
>             jeden větší projekt, a pro začátek si zkouším prostudovat
>             a přeložit (s
>             TeXLive 2015) některé své starší věci. Přitom mne velmi
>             překvapilo, že
>             nefunguje něco tak prostého, jako:
>                   \language = \USenglish
>
>             Musím říci, že to poněkud otřáslo mou důvěrou v
>             deklarovanou stabilitu a
>             zpětnou kompatibilitu csplainu, a rád bych se zeptal, jak
>             se tedy nyní
>             přepínání jazyků v textu řeší.
>
>             Děkuji předem,
>             Marcel Svitalský
>
>             --
>             Marcel Svitalský 
> 
> 
> 
> 
> _______________________________________________
> csTeX mailing list
> csTeX at cs.felk.cvut.cz
> https://lists.felk.cvut.cz/mailman/listinfo/cstex
> 
> 
> --
> Marcel Svitalský 
> 
>


More information about the csTeX mailing list