[cstex] powerdot a cstex

Petr Olsak petr at olsak.net
Fri Oct 16 10:29:46 CEST 2015



On Fri, 16 Oct 2015, Petr Sojka wrote:

> On Fri, Oct 16, 2015 at 09:59:20AM +0200, Petr Olsak wrote:
> Dobrý den.
>
>>>>> %Tesaříkova patch \cline pro babel s czech a slovak
>>>>> \makeatletter
>>>>> \begingroup
>>>>> \catcode`\-=\active
>>>>> \def\x{\endgroup
>>>>> \let\cs at cline\@cline
>>>>> \expandafter\def\expandafter\@cline
>>>>>  \expandafter##\expandafter1\expandafter
>>>>>    -\expandafter##\expandafter2\expandafter\@nil\expandafter
>>>>> {\expandafter\cs at cline\expandafter##\expandafter1\minus##2\@nil}
>>>>> }\x
>>>>> \makeatother
>>>>
>>>> Není zcela zřejmé, proč je to makro tak hrůzostrašné. Ale při
>>>> pohledu do maker většiny LaTeXových balíčků i LaTeXu samotného se to
>>>> asi jeví bohužel jako standard.
>>
>>> Pokusím se trochu "hrůzostrašnost" vysvětlit: je to kvůli portabilitě.
>>> Níže užitý primitiv \detokenize totiž není
>>> v Knuthově originálním TeXu, ale až v e-TeXu. e-TeX
>>> je sice dnes již poměrně rozšířen, ale LaTeX používá tolik lidi,
>>> že jako _obecné_ řešení nelze řešení zkracující délku
>>> makra využitím \detokenize místo mnohých \expandafter akceptovat.
>>> Řešení je samozřejmě korektní pro ty jednotlivce, kteří ví
>>> o nevyřčeném předpokladu rozšířeného TeXu (e-TeXu),
>>
>> Petr Sojka nemá pravdu a (možná záměrně) mate čtenáře tohoto listu.
> Aaah, Petr mi vidí do hlavy ;-).
>
>> eTeX je již několik let (desítky?) přirozenou součástí LaTeXu a i
>> zcela základní LaTeXové balíčky si bez něj neškrtnou. Protože
> Dohledal jsem, že eTeX je využíván LaTeXem již od roku 2004;
> to však neznamená, že je vhodné se snažit dehonestovat
> řešení jako je Tesaříkovo, které funguje i hodně konzervativním
> uživatelům LaTeXu (na rozdíl od navrhovaného), jen pro ušetření
> délky zápisu makra. Je třeba brát v potaz všechna pro a proti.

Doplnil bych, že to není jen pro ušetření délky zápisu makra, ale řešení s 
\detokenize funguje při aktivaci i deaktivaci znaku "-" stejně, jak jsem 
uvedl dříve. Je třeba brát v potaz všechna pro a proti.

Zdravím

Petr Olšák


> (Možná záměrné) neustálé navážení se do LaTeXu mi připadá
> nevkusné. Volba značkovacího jazyka je volba uživatelů TeXu,
> a nechť je respektována.
>
> --ps
>
>> problém s \cline je problém LaTeXu, který má eTeX *vždy*
>> inicializován, navrhnul jsem záměrně toto řešení opírající se o
>> eTeX.
>>
>> Na druhé straně ukázky v TBN se opírají jen o klasický TeX a tudíž
>> tam \detokenize není použito.
>>
>> Zdravím
>>
>> Petr Olšák
>>
>>> P.S. Mnohé příklady TBN z kap. 2 by určitě také šly
>>
>>
>>> "asi lépe řešit" pomocí \detokenize, a na první pohled
>>> vypadají pro čtenáře "hrůzostrašně".
>>
>>>> Nicméně, problém by se dal asi lépe řešit pomocí:
>>>>
>>>> \let\clineori=\cline
>>>> \def\cline#1{\expandafter\clineori\expandafter{\detokenize{#1}}}
>>>>
>>>> Toto navíc funguje bez ohledu na to, zda je nebo není
>>>> \usepackage[czech]{babel} použito.
>>>>
>>>> Zdravím
>>>>
>>>> Petr Olšák
>>> _______________________________________________
>>> csTeX mailing list
>>> csTeX at cs.felk.cvut.cz
>>> https://lists.felk.cvut.cz/mailman/listinfo/cstex
>>>
>
>> _______________________________________________
>> csTeX mailing list
>> csTeX at cs.felk.cvut.cz
>> https://lists.felk.cvut.cz/mailman/listinfo/cstex
>
> _______________________________________________
> csTeX mailing list
> csTeX at cs.felk.cvut.cz
> https://lists.felk.cvut.cz/mailman/listinfo/cstex
>


More information about the csTeX mailing list