[cstex] Jak na tvorbu harmonogramu (matematicke schema)?

Jaroslav Hajtmar hajtmar at gyza.cz
Sun Feb 1 19:52:42 CET 2015


Dobrý den pane Olšáku.
hmm... kecal bych kdybych řekl, že jste mne překvapil :-)..

Každopádně to ze začátku vypadalo moc dobře a plainem jsem to krásně 
přeložil. Nakonci to dopadlo ještě líp :-) ...

Nevím proč mne napadl takový bláznivý nápad nainputovat makro apnum do 
ConTeXtu a pak použít Vaše definice makra \spectable...
ConTeXt vše napoprvé bez jakéhokoliv problému přeložil a vytvořil PDF 
jak se patří ..

Takže překvapení ... funguje to i v ConTeXtu ... což bych nikdy neřekl 
že se to nikde nezasekne ...

Každopádně k dokonalosti mi schází možnost sázet nulové body ve tvaru 
zlomků a odmocnin ... popř. logaritmů atd...

Nezvážil byste možnost úpravy, spočívající v dalším parametru tj popisu 
osy pomocí matematických formulí typu $\frac{3}{2}$, resp $\sqrt{3}$ atd??


Každopádně díky mnohokrát za pomoc ...

Zdraví Jarda Hajtmar





Láká mne na tom ta obecnost... že by šlo udělat to pro libovolný počet 
výrazů v řádku a nulových bodů (tvořících sloupce).
Jako výchozí bod pro mne dobrý... Momentálně je pro mne zbytečné 
vyhodnocování znamének

Dne 1.2.2015 v 19:02 Petr Olsak napsal(a):
>
> Dobrý den,
>
> navrhuji makro \spectable, které například po
>
> \spectable {\x+2, 4*\x-6} {-2, 3/2}
>
> vytvoří tabulku
>
>     x+2  | - | + | +
>    4x+6  | - | - | +
>             -2  3/2
>
> tj. do parametrů se dají čárkami oddělené výrazy (vytištěné vlevo)
> a dále čárkami oddělené nulové body jednotlivých výrazů (vytištěné 
> dole) a makro automaticky dopočítá obsah tabulky, tj. ty plusy a mínusy.
> Počet výrazů a počet nulových bodů pochopitleně není omezen.
>
> Pro vyhodnocování výrazů jsem použil své vlastní makro apnum (které je 
> na CTANu) protože ho nejlépe znám a také proto, že to makro nemá nic 
> společního s LaTeXem.
>
> Makro \spectable může vypadat v jednoduché podobě třeba takto:
>
> --------------------------------------------------
>
> \input apnum
>
> {\catcode`*=13 \gdef*{}}
>
> \def\spectable #1#2{\def\tmp{#1}%
> \vbox{\hbox{\vbox{\def\x{x}\printformula#1,,}\kern1em\vrule\kern1em
>                \dopointsA#2,\relax\dopointsB#2,,}\null}%
> }
> \def\printformula#1,{\ifx,#1,\else
>    \hbox{\mathcode`*="8000 $#1$}\expandafter\printformula\fi
> }
> \def\dopointsA#1,#2\relax{\evaldef\x{(#1)-0.01}%
>    \vbox{\expandafter\printresults\tmp,,}%
> }
> \def\dopointsB#1,{\ifx,#1,\else \printpoint{#1}%
>    \evaldef\x{(#1)+0.01}%
>    \vbox{\expandafter\printresults\tmp,,}
>    \expandafter\dopointsB \fi
> }
> \def\printresults#1,{\ifx,#1,\else
>
> \evaldef\y{#1}\hbox{$\ifnum\SIGN>0+\else-\fi$}\expandafter\printresults\fi 
>
> }
> \def\printpoint#1{\kern1em \vrule
>    \vbox to0pt{\kern4pt\hbox to0pt{\hss$#1$\hss}\vss}\kern1em }
>
> \spectable {\x+2, 4*\x-6} {-2, 3/2}
>
> \end
>
> ------------------------------------------------
>
> Pochopitelně na zpracování této ukázky potřebujete plainTeX, například 
> csplain.
>
> Zdravím
>
> Petr Olšák
>
>
>>> >  Dobrý den.
>>> >  Chci se zeptat, zda náhodou někdo neřešil např. v LaTeXu, ale obecně
>>> >  čímkoliv podobný problém, ať nevymýšlím kolo...
>>> > >  Jde mi o tip na nějaké jednoduché makro, které by dokázalo 
>>> vysázet >  schéma -
>>> >  harmonogram pro zjištění znaménka výrazu na daném intervalu. Rád 
>>> bych >  aby to
>>> >  vypadalo podobně jako tohle:
>>> >  http://tempfiles.hajtmar.com/files/harmonogram.jpg
>>> > >  Lze to asi udělat různě, ale rád bych to co nejvíce 
>>> zautomatizoval - >  čeká
>>> >  mne sazba většího počtu takových schémat...
>>> >  Osobně mám zájem to nakonec nějak naportovat do ConTeXtu ale 
>>> nepohrdnu
>>> >  jakýmkoliv nápadem na automatizaci ...
>>> > >  Díky za případný tip a jsem s pozdravem všem v konferenci...
>>> > >  Zdraví Jarda Hajtmar
>
>
> _______________________________________________
> csTeX mailing list
> csTeX at cs.felk.cvut.cz
> https://lists.felk.cvut.cz/mailman/listinfo/cstex




More information about the csTeX mailing list