[cstex] powerdot a cstex

Petr Sojka sojka at fi.muni.cz
Fri Oct 16 10:21:10 CEST 2015


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.
(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




More information about the csTeX mailing list