[cstex] znovu o skrtnuti vice znaku

Pavel Striz striz at fame.utb.cz
Sun Jun 13 16:31:24 CEST 2010


Hezkou nedeli, jedna se o krasne cviceni.

Na nakresleni usecky o urcite delce, vysce a hloubce by mohly reagovat nastroje Metapost, PSTricks i TikZ. Prikladam ukazku v TikZ. Nevyhoda je, ze kdyz se rozpaluji mezery, tak delka boxu neodpovida delce sazby. To asi v diskuzi uz zaznelo. Je to videt na ne uplne vyskrnute tecce v tretim vyskrtnuti (pri lupe 1500 procent). Obecne staci rozmery ulozit do pomocneho souboru a nic dalsiho nam jiz nebrani.

Zpet k vasemu dotazu. Ten prikaz \Skrt o trech parametrech ma vyznam, nebot takto jsme schopni svest vice grafickych objektu (nyni usecek) k jedne pozici. Automaticke generovani identifikatoru nam tuto moznost neumozni.

Pokud pouzijeme \immediate (pred \openout, \write a \closeout), tak se dockame identifikatoru pochazejici z citacu posA a posB, ale nedockame se spravnych souradnic.

Pokud zacneme michat \immediate\write (jen identifikatory) s \write (jen souradnice), tak se nam vypisou spravne identifikatory (nyni ctyri), nasledovane souradnicemi (ctyri pary hodnot). To je prijemny ukol na zpracovani dat, jak tyto oddelene radky dat opet dohromady.

Obvykle bych na tohle sel neTeXovsky, kdy bych si TeXem vypsal jen souradnice a z nich pres bash nadelal pozadovane prikazy mezi dvema behy TeXu. 

Prikladam jinou realizaci. 
Jednak je vhodne zacit pouzivat \arabic u citacu, nebot tento format u vetsich cisel nezkolabuje. Zkuste si \setcounter{posA}{100} pri \Alph formatu.
Docasny .pos soubor se TeXem predzpracuje na pozadovany tvar mezi dvema behy TeXu. To samotne by nam vsak nestacilo, ponevadz k aktivaci prikazu \AbsLineFromTwoMarks (pri kompletaci stranky) by doslo az by citace mely vysoke hodnoty (5 a 6). Ve vysledku by se nic nevykreslilo. Proto se vygeneruji i tyto prikazy u kazde sude hodnoty pomocneho citace \mujcitac (budouci prvni parametr prikazu \posDef).

Zdravi PS



----- Původní zpráva ----- 
Od: "Tomas Davidek" <Tomas.Davidek at cern.ch>
Komu: "Czech and Slovak TeX-related mailing list" <cstex at cs.felk.cvut.cz>
Odesláno: 12. června 2010 22:51
Předmět: [cstex] znovu o skrtnuti vice znaku


> Dobry vecer vespolek,
>    pred casem jsem se ptal na radu, jak skrtnout sikmou carou (od 
> leveho dolniho okraje k pravemu hornimu okraji) skupinu vice znaku. 
> Pekne reseni nakonec nabidl pan Zyka, kteremu timto jeste jednou dekuji. 
> Lechce modifikovany funkcni zdrojovy kod vypada nasledovne:
> --------------------------
> \documentclass[a4paper,11pt]{article}
> \usepackage[utf8]{inputenc}
> \usepackage[czech]{babel}
> \usepackage{ifpdf,eso-pic,afterpage}
> 
> \input pdf-pos-lt
> \def\Skrt#1#2#3{%
>   \bgroup
>   \setbox0=\hbox{#1}%
>   \raise-\dp0\hbox{\posMark{#2}}%
>   \copy0
>   \raise\ht0\hbox{\posMark{#3}}%
>   \egroup%
>   \AbsLineFromTwoMarks{#2}{#3}%
> }
> \begin{document}
> Ahoj \Skrt{padouch}{A}{B} a take \Skrt{CP}{C}{D} naruseni.
> \afterpage{\ClearShipoutPicture}
> \end{document}
> -----------------------------------------------
> 
> Chtel jsem to jeste vylepsit tak, ze by se znacky A, B atd delaly 
> automaticky pomoci citacu, tj:
> \newcounter{posA}
> \setcounter{posA}{1}
> \newcounter{posB}
> \setcounter{posB}{2}
> \def\Skrt#1{%
>   \bgroup
>   \setbox0=\hbox{#1}%
>   \raise-\dp0\hbox{\posMark{\Alph{posA}}}%
>   \copy0
>   \raise\ht0\hbox{\posMark{\Alph{posB}}}%
>   \egroup%
>   \AbsLineFromTwoMarks{\Alph{posA}}{\Alph{posB}}%
>   \stepcounter{posA}\stepcounter{posA}%
>   \stepcounter{posB}\stepcounter{posB}%
> }
> 
> Jenze do souboru \jobname.pos se zapise pro vsechny znacky vzdy posledni 
> hodnota citacu posA, posB. Predpokladam, ze je potreba LaTeX donutit, 
> aby hodnotu citace v danem miste zapsal okamzite do souboru, ale nevim 
> jak na to. Nebo je problem s expanzi v makru
> \def\posMark#1{%
>   \pdfsavepos
>   \write\posHandle{%
>     \string\posDef\string{#1\string}%
>     \string{\the\pdflastxpos\string}\string{\the\pdflastypos\string}}%
> }
> viz. prilozeny pdf-pos-lt.tex ??
> 
> Diky predem za rady,
> 
> zdravi
>               Tomas Davidek
> 
> 
> 
> 
> 
> ___ Information from ESET Mail Security, ver. 5192 (20100612) ___
> The message was checked by ESET Mail Security. www.eset.com
> 
>


--------------------------------------------------------------------------------


> _______________________________________________
> csTeX mailing list
> csTeX at cs.felk.cvut.cz
> http://lists.felk.cvut.cz/mailman/listinfo/cstex
> 
> 
> 
> ___ Information from ESET Mail Security, ver. 5192 (20100612) ___
> The message was checked by ESET Mail Security. www.eset.com
> 
>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: pozice.rar
Type: application/octet-stream
Size: 15736 bytes
Desc: not available
URL: <http://lists.felk.cvut.cz/pipermail/cstex/attachments/20100613/30dc60e3/attachment-0006.obj>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: vyskr-tikz.rar
Type: application/octet-stream
Size: 20989 bytes
Desc: not available
URL: <http://lists.felk.cvut.cz/pipermail/cstex/attachments/20100613/30dc60e3/attachment-0007.obj>


More information about the csTeX mailing list