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: [Error: dvipng binary and convert binary not found at /usr/bin/dvipng or ]. Jak widać, ponieważ sup ma literę p “wystającą w dół”, a inf nie, napisy [Error: dvipng binary and convert binary not found at /usr/bin/dvipng or ] i [Error: dvipng binary and convert binary not found at /usr/bin/dvipng or ] 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: [Error: dvipng binary and convert binary not found at /usr/bin/dvipng or ] 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): [Error: dvipng binary and convert binary not found at /usr/bin/dvipng or ], 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