treti derivace

VALDMAN4 at hermes.zcu.cz VALDMAN4 at hermes.zcu.cz
Fri Oct 27 09:10:14 CET 1995


Dobry den,
 jeden kolega mne pozadal o makro pro sazbu treti derivace (obdoba
 \dot a). Neco jsem splacal (viz konec mailu), ale potreboval bych
 radu nejakeho kouzelnika:
    1) Makro centruje jeden \hbox nad druhym.
    2) Nad sklonenymi pismeny to ale nedopadne dobre a ja neumim
       nejak zjistit, kde je opticky stred pismene. Jde to nejak
       vytahnout z fontu nebo aspon zjistit korekci pro italiku???
    3) Na radce oznacene vykricniky musim pridat zaporne lepidlo,
       jinak se \TeX vzteka. Nevite proc?
    4) Spadne dopadne porovnavani \ifnum \ht\pisbox> 1em. Proto musim
       pouzit box s "M". Jde to vyresit nejak elegantneji ?


                                S pozdravem
                                    Jan Valdman


\documentstyle []{article}
%=================================================================
\def\dddot#1{%
        \newbox\dotbox       %box pro tri tecky
        \newbox\pisbox       %box pro pismeno
        \newbox\Mbox         %box pro "M" na test (1em nestaci)
        \newdimen\delka      %celkova delka = delka sirsiho
        \newdimen\vyska      %vyska pro raise
        \setbox\pisbox=\hbox{$#1$}
        \setbox\dotbox=\hbox{.\kern-.3ex.\kern-.3ex.}%
        \setbox\Mbox=\hbox{M}
                             %urcime, co je delsi:
        \ifnum\wd\pisbox>\wd\dotbox \delka=\wd\pisbox \else
                                    \delka=\wd\dotbox \fi
                             %vyska pro mala a velka pisena:
        \ifnum\ht\pisbox<\ht\Mbox \vyska=1.4\ht\pisbox \else
                                  \vyska=1.2\ht\pisbox \fi
        \hbox to \delka{%
                 \usebox\pisbox%
                 \kern-0.5\wd\pisbox\kern-0.5\wd\dotbox%
                 \raise\vyska\hbox{\usebox\dotbox}
                 \hskip 0pt plus 0pt minus 3.2pt}    %!!!!!
                                %proc tady zlobi overfull hbox ??
        }
%=================================================================

\begin{document}
Z nasledujicich p+ikladu jsou prvni a druhe derivace vytvo+eny
\TeX{em} a t+eti derivace novym makrem \verb|\dddot|. Pro mala a
kolma pismena to dopadne dob+e, pro (velka) ?ikma nic moc (Z):

\small
$$\ddot x  \quad\dddot{x}   \quad\dot x  \qquad \ddot m
\quad\dddot{m}   \quad\dot m$$
$$\ddot a  \quad\dddot{a}   \quad\dot a  \qquad \ddot a
\quad\dddot{a}   \quad\dot a$$
$$\ddot \i \quad\dddot{\i}  \quad\dot \i \qquad \ddot \j
\quad\dddot{\j}  \quad\dot \j$$
$$\ddot l  \quad\dddot{l}   \quad\dot l  \qquad \ddot q
\quad\dddot{q}   \quad\dot q$$
$$\ddot Z  \quad\dddot{Z}   \quad\dot Z  \qquad \ddot I
\quad\dddot{I}   \quad\dot I$$
$$\ddot O  \quad\dddot{O}   \quad\dot O  \qquad \ddot W
\quad\dddot{W}   \quad\dot W$$
\normalsize
$$\ddot x  \quad\dddot{x}   \quad\dot x  \qquad \ddot m
\quad\dddot{m}   \quad\dot m$$
$$\ddot a  \quad\dddot{a}   \quad\dot a  \qquad \ddot a
\quad\dddot{a}   \quad\dot a$$
$$\ddot \i \quad\dddot{\i}  \quad\dot \i \qquad \ddot \j
\quad\dddot{\j}  \quad\dot \j$$
$$\ddot l  \quad\dddot{l}   \quad\dot l  \qquad \ddot q
\quad\dddot{q}   \quad\dot q$$
$$\ddot Z  \quad\dddot{Z}   \quad\dot Z  \qquad \ddot I
\quad\dddot{I}   \quad\dot I$$
$$\ddot O  \quad\dddot{O}   \quad\dot O  \qquad \ddot W
\quad\dddot{W}   \quad\dot W$$
\Large
$$\ddot x  \quad\dddot{x}   \quad\dot x  \qquad \ddot m
\quad\dddot{m}   \quad\dot m$$
$$\ddot a  \quad\dddot{a}   \quad\dot a  \qquad \ddot a
\quad\dddot{a}   \quad\dot a$$
$$\ddot \i \quad\dddot{\i}  \quad\dot \i \qquad \ddot \j
\quad\dddot{\j}  \quad\dot \j$$
$$\ddot l  \quad\dddot{l}   \quad\dot l  \qquad \ddot q
\quad\dddot{q}   \quad\dot q$$
$$\ddot Z  \quad\dddot{Z}   \quad\dot Z  \qquad \ddot I
\quad\dddot{I}   \quad\dot I$$
$$\ddot O  \quad\dddot{O}   \quad\dot O  \qquad \ddot W
\quad\dddot{W}   \quad\dot W$$
\end{document}



More information about the csTeX mailing list