[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