Zmienianie wysokości indeksów dolnych

Zdarza się, że TeX umieszcza indeks dolny na innej wysokości, niż byśmy chcieli. Przykładowo, zapiszmy definicję granicy górnej ciągu liczbowego: $ \displaystyle\limsup_{n\to\infty} a_n=\inf_{n\in\mathbb{N}}\sup_{k\ge n} a_k $. Jak widać, ponieważ sup ma literę p “wystającą w dół”, a inf nie, napisy $ n\in\mathbb{N} $ i $ k\ge n $ są na różnej wysokości, co nie każdemu odpowiada.

Co z tym zrobić? Prawdopodobnie można zmienić odpowiednie parametry TeXa, ale, przyznam szczerze, nigdy nie zagłębiałem się dokładnie w Dodatek G TeXbooka, gdzie jest to opisane. Można jednak poradzić sobie w inny sposób. (Uwaga: ja tego nie wymyśliłem, wyczytałem daaawno temu w takim czasopiśmie, był to bodaj PCKurier; niestety, nie pamiętam nazwiska autora…) Otóż TeX (ściślej: plain TeX, ale LaTeX też) ma dwie komendy: \smash oraz \vphantom, które są bardzo przydatne w takich sytuacjach. Pierwsza z nich składa swój parametr normalnie poza tym, że ustawia jego wysokość i głębokość na zero; druga z nich wstawia (niewidoczne) “pudełko” (box) o wysokości i głębokości takiej, jak podany parametr (to nie do końca ścisły opis, ale nam wystarczy). Można więc uzyskać np. taki efekt: $ \displaystyle \inf_{n\in\mathbb{N}}\operatorname*{\smash{\textup{sup}}}_{k\ge n} a_k $ pisząc

\begin{equation*}
  \inf_{n\in\mathbb{N}}
  \operatorname*{\smash{\textup{sup}}}_{k\ge n} a_k
\end{equation*}

(Zauważmy, że korzystamy z komendy \operatorname w wariancie “gwiazdkowym” – por. definiowanie operatorów typu sin, log itp. – oraz że wewnątrz parametru komendy \smash jesteśmy znów w zwykłym trybie matematycznym, więc musimy wymusić pismo proste.)

Oczywiście, można też tak (prościej, choć nie wiem, czy ładniej): $ \displaystyle \operatorname*{\vphantom{p}inf}_{n\in\mathbb{N}}\sup_{k\ge n} a_k $, czyli

\begin{equation*}
  \operatorname*{\vphantom{p}inf}_{n\in\mathbb{N}}\sup_{k\ge n} a_k
\end{equation*}

Dodajmy jeszcze, że można sobie wyobrazić analogiczną zabawę z indeksami górnymi, co jednak (chyba) rzadziej się przydaje.

Na koniec dodam dla porządku, że istnieje analogiczna komenda \hphantom, zaś w przypadku “poziomym” komenda \smash ma dwa odpowiedniki: \llap i \rlap, również niekiedy bardzo przydatne (ale o tym innym razem).

KategoriaTeX, KategoriaPlainTeX, KategoriaLaTeX, KategoriaLaTeXPorady