[cstex] Jak na tvorbu harmonogramu (matematicke schema)?
Petr Olsak
petr at olsak.net
Sun Feb 1 19:02:16 CET 2015
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
More information about the csTeX
mailing list