a^2 nebo a^{2} ?
Alexej Sveshnikov
svesh at seznam.cz
Fri Feb 24 13:31:53 CET 2006
> Dobry den,
Dobry den,
> Je v LaTeXu rozdil mezi zapisy $a^2$ a $a^{2}$ ?
>
> Zvykl jsem si pouzivat prvni formu, ale ted ve mne hloda pochybnost,
> jsou-li oba zapisy opravdu plne ekvivalentni. Lamport pouziva
> $a^{2}$, instrukce pro autory od Springeru ji uvadi take.
>
> Podobne napr. $x_\mathrm{abc}$ a $x_{\mathrm{abc}}$.
Kdyz TeX narazi v matematickem modu na _ nebo ^, podiva se na dalsi
token a pokud to je nejake makro, pak ho nejdriv rozvine. Pak se vrati k
_ nebo ^ a interpretuje je jako makra s jednim parametrem. Jinymi slovy,
plati nasledujici kod v pseudo-TeXu:
\catcode`\_=\active
\catcode`\^=\active
\def_{\expandafter\makesubscript}
\def^{\expandafter\makesuperscript}
\def\makesubscript#1{
% Vnitrni makro TeXu, ktere vysadi svuj parametr jako spodni index
}
\def\makesuperscript#1{
% Vnitrni makro TeXu, ktere vysadi svuj parametr jako horni index
}
Tim padem zadny rozdil mezi $a^2$ a $a^{2}$ nebo $x_\mathrm{abc}$ a
$x_{\mathrm{abc}$ neexistuje. Existuje ovsem velky rozdil mezi $a^12$ a
$a^{12}$, kde prvni zapis je ekvivalentni $a^{1}2$. Lamport systematicky
pouziva slozene zavorky, protoze to pomaha predejit nekterym druhum
chyb. Predstavte si situaci velmi podobnou vasemu prikladu s \mathrm,
ale tentokrat pouzijeme vlastni makro:
\newcommand{\nasemakro}[1]{#1}
$x_\nasemakro{abc}$.
Tentokrat TeX na zacatku rozvine makro a dostane $x_abc$. Vysledek:
$x_{a}bc$. Muzeme bud dodat slozene zavorky do definice \nasemakro
\newcommand{\nasemakro}[1]{{#1}}
anebo pouzit zapis $x_{\nasemakro{abc}}$.
Hezky den preji,
Alexej Sveshnikov
More information about the csTeX
mailing list