Aby umieścić blok cases między wyrównanymi krokami w jednym równaniu LaTeX, wstaw cases do wiersza środowiska aligned, a następnie obejmij całą strukturę środowiskiem equation. Dzięki temu znaki równości są wyrównane, a całe wyprowadzenie otrzymuje jeden numer równania.

Ten poradnik jest przeznaczony dla osoby edytującej dokument .tex na Macu, która chce umieścić zwykłe kroki algebraiczne nad wyrażeniem przedziałowym i pod nim. Główny przykład korzysta wyłącznie z amsmath; alternatywy wyjaśniają, kiedy odpowiednie są mathtools lub niezależnie wyśrodkowane bloki.

Jak zachować kroki i przypadki w jednym wyrównanym równaniu?

Użyj trzech zagnieżdżonych poziomów: equation obejmuje cały wzór, aligned porządkuje wyprowadzenie, a cases tworzy wyrażenie w nawiasie klamrowym w jednym wierszu. Oficjalny poradnik opisuje aligned jako element składowy, który mieści się w otaczającym wyrażeniu, oraz wymaga, by zarówno aligned, jak i cases znajdowały się w trybie matematycznym. Zobacz sekcję 3.7 w User’s Guide for the amsmath Package.

Oto kompletny dokument. Niech n będzie liczbą całkowitą, a a skalarem. Wyrażenie ma wartość a zarówno wtedy, gdy n jest parzyste, jak i wtedy, gdy jest nieparzyste; blok cases pokazuje ten pośredni tok rozumowania.

\documentclass{article}
\usepackage{amsmath}

\begin{document}
Let \(n\) be an integer and \(a\) be a scalar.
\begin{equation}
\label{eq:cases-chain}
\begin{aligned}
S(n) &= a\bigl[(-1)^n+1-(-1)^n\bigr] \\
     &= a(-1)^n+a\bigl(1-(-1)^n\bigr) \\
     &= \begin{cases}
          a+0,   & \text{if } n \text{ is even}, \\
          -a+2a, & \text{if } n \text{ is odd}
        \end{cases} \\
     &= a.
\end{aligned}
\end{equation}
The result is recorded in \eqref{eq:cases-chain}.
\end{document}

Przykład składa się z czterech zewnętrznych wierszy. Pierwsze dwa rozwijają wyrażenie, trzeci oblicza jego wartość w zależności od parzystości, a czwarty podaje wspólny wynik. Obie gałęzie upraszczają się do a, więc końcowa równość zachodzi dla każdej liczby całkowitej n. To algebraiczny przykład poglądowy; zastąp go wyrażeniami i warunkami z własnego wyprowadzenia.

Które znaki ampersand i podziały wiersza należą do poszczególnych środowisk?

Zewnętrzny &= wyznacza punkt wyrównania przed każdym znakiem równości. Wewnątrz cases ampersand oddziela wyrażenie w gałęzi od jej warunku. Te dwa poziomy pełnią różne funkcje: blok cases zajmuje część jednego zewnętrznego wiersza, mimo że zawiera kilka wierszy gałęzi. Pakiet implementuje cases jako dwukolumnową tablicę z lewym nawiasem klamrowym, co pokazano w dokumentacji pakietu amsmath.

Kluczowe przejście w tym przykładzie to \end{cases} \\. Zamknięcie cases kończy wyrażenie przedziałowe; następujące po nim \\ kończy zewnętrzny wiersz środowiska aligned. Następny &= a może wtedy rozpocząć się pod wcześniejszymi znakami równości. Podział wiersza wewnątrz cases przechodzi jedynie do kolejnej gałęzi.

Dostosowując przykład, zachowaj najpierw tę strukturę. Zmieniaj po jednym wyrażeniu w gałęzi lub jednym warunku, a następnie sprawdzaj wynik. Dzięki temu łatwiej ustalić, czy nieoczekiwany układ wynika z otaczającego wyprowadzenia, czy z samego wyrażenia przedziałowego.

Jak użyć przykładu na Macu?

Potrzebujesz działającej dystrybucji LaTeX i edytora źródła. Jeśli korzystasz już z TeXShop, program udostępnia edytor i podgląd PDF oraz używa TeX Live do składu. Zgodnie ze stroną About TeXShop dewelopera domyślny proces tworzenia PDF korzysta z pdftex i pdflatex.

  1. Utwórz nowy dokument źródłowy i wklej cały przykład.
  2. Zapisz go jako cases-between-steps.tex.
  3. Użyj silnika składu LaTeX, na przykład pdflatex.
  4. Wybierz Typeset z menu Typeset w TeXShop. To polecenie składa bieżący dokument, jak opisano w TeXShop Changes.
  5. Jeśli odwołanie do równania jest nierozstrzygnięte, ponownie wykonaj skład, a następnie sprawdź PDF.

W podglądzie sprawdź trzy elementy: zewnętrzne znaki równości tworzą jedną pionową kolumnę, nawias klamrowy obejmuje tylko dwie gałęzie, a wyprowadzenie ma jeden numer równania. Przeczytaj także oba warunki i ostatni wiersz, aby upewnić się, że edycja nie zmieniła matematyki.

Przykłady sprawdzono pod kątem zgodności z dokumentacją, ale nie skompilowano ich tutaj, ponieważ nie był dostępny silnik LaTeX. Przed włączeniem kodu do większego projektu wypróbuj ten niewielki samodzielny dokument.

Które środowiska i pakiety wybrać?

Wybierz strukturę zewnętrzną stosownie do relacji między krokami. W przypadku jednego ciągu równości użyj wspólnego wyrównania. Jeśli osobne grupy mają jedynie znaleźć się nad blokiem cases i pod nim, zastosuj niezależnie wyśrodkowaną alternatywę z następnej sekcji.

Oczekiwany wynik Struktura Pakiet
Wspólne wyrównanie znaków równości i jeden numer equation zawierające aligned z zagnieżdżonym cases amsmath
Niezależnie wyśrodkowane grupy i jeden numer equation zawierające gathered z zagnieżdżonymi blokami amsmath
Większe ułamki we wszystkich wierszach cases Zastąp cases przez dcases mathtools
Warunki automatycznie zapisane tekstem Użyj cases* lub dcases* mathtools

Kompaktowe elementy składowe opisano w podręczniku użytkownika amsmath; dodatkowe warianty cases opisano w sekcji 3.4.3 dokumentacji The mathtools package.

Kiedy zastąpić cases środowiskiem dcases?

Zwykłe cases używa matematyki w stylu tekstowym. Środowisko dcases z pakietu mathtools używa stylu wyświetlanego, co jest przydatne, gdy ułamki potrzebują więcej miejsca. Wczytanie mathtools wczytuje także amsmath. Wariant z gwiazdką dcases* zapisuje drugą kolumnę jako tekst; umieść tam warunki matematyczne w delimitatorach trybu matematycznego inline. Te właściwości opisano w The mathtools package.

Ta kompletna alternatywa wykorzystuje ułamki. Dla liczby całkowitej n mianownik w pierwszym wierszu wynosi trzy albo jeden, więc obie gałęzie są określone.

\documentclass{article}
\usepackage{mathtools}

\begin{document}
Let \(n\) be an integer and \(a\) be a scalar.
\begin{equation}
\begin{aligned}
T(n) &= \frac{2a}{2+(-1)^n} \\
     &= \begin{dcases}
          \frac{2a}{3}, & \text{if } n \text{ is even}, \\
          2a,          & \text{if } n \text{ is odd}
        \end{dcases} \\
     &= \frac{a}{1+\frac{1}{2}(-1)^n}.
\end{aligned}
\end{equation}
\end{document}

W tym przypadku zmiana stylu gałęzi pozostawia zewnętrzny układ bez zmian. Wybierz cases dla zwartych gałęzi, a dcases, gdy ułamki zyskują na użyciu stylu wyświetlanego. W przypadku cases lub dcases umieszczaj tekst wewnątrz \text{...}; w wariantach z gwiazdką wpisuj tekst bezpośrednio w drugiej kolumnie.

A co, jeśli bloki mają być tylko ustawione jeden pod drugim?

Użyj gathered, gdy górna i dolna grupa wymagają własnego lokalnego wyrównania. Jest to zastosowanie kompaktowych elementów składowych opisanych w poradniku: każda grupa aligned staje się jednym wierszem zawierającej ją struktury gathered. Zobacz elementy składowe wyrównania w amsmath.

\documentclass{article}
\usepackage{amsmath}

\begin{document}
Let \(n\) be an integer and \(a,b\) be scalars.
\begin{equation}
\begin{gathered}
  \begin{aligned}
    S(n) &= a\bigl[(-1)^n+1-(-1)^n\bigr] \\
         &= a(-1)^n+a\bigl(1-(-1)^n\bigr)
  \end{aligned} \\
  S(n)=\begin{cases}
         a+0,   & \text{if } n \text{ is even}, \\
         -a+2a, & \text{if } n \text{ is odd}
       \end{cases} \\
  \begin{aligned}
    S(n)   &= a, \\
    S(n)+b &= a+b.
  \end{aligned}
\end{gathered}
\end{equation}
\end{document}

W tym układzie górna grupa, środkowe wyrażenie i dolna grupa mają celowo osobne położenie poziome. Ich znaki równości nie muszą pokrywać się między grupami. Powtórzenie S(n) jasno pokazuje związek, a ostatni wiersz dodaje konsekwencję wyniku.

Jeśli potrzebujesz jednej ciągłej kolumny znaków równości, wróć do pierwszego przykładu. Osobne grupy aligned nie mogą współdzielić punktu wyrównania tylko dlatego, że występują w tym samym równaniu.

Jak diagnozować typowe problemy z układem?

Sprawdzaj strukturę od zewnątrz do środka. Zidentyfikuj numerowany wzór, następnie strukturę tworzącą jego wiersze, a na końcu blok cases. Zanim dodasz korekty odstępów, skorzystaj z poniższej sekwencji diagnostycznej:

  • Dolne kroki pojawiają się obok bloku cases: sprawdź, czy bezpośrednio po \end{cases} znajduje się zewnętrzny \\.
  • Pozorna kontynuacja pojawia się pod nawiasem klamrowym: sprawdź, czy przed tą kontynuacją występuje \end{cases}.
  • Górne i dolne znaki równości różnią się położeniem: sprawdź, czy należą do oddzielnych grup aligned. Użyj jednego zewnętrznego aligned, aby je wspólnie wyrównać.
  • Dokument zgłasza błędne zagnieżdżenie: sprawdź, czy w equation znajduje się align. W tej pozycji użyj podrzędnego środowiska aligned.
  • Ułamki wyglądają na zbyt małe: rozważ użycie dcases i wczytaj mathtools.

Diagnozę zagnieżdżenia potwierdza opisana w dokumentacji pakietu procedura odzyskiwania po niepoprawnym zagnieżdżeniu struktur equation, która zastępuje je przez aligned; zobacz dokumentację pakietu amsmath. Alternatywa dla ułamków jest zgodna z dokumentacją środowisk cases w mathtools.

Aby dodać niewielki odstęp po bloku cases, zastąp zakończenie jego zewnętrznego wiersza przez \end{cases} \\[4pt]. Podana wartość to przykładowa wartość początkowa. Nie umieszczaj też pustych wierszy w środowisku matematycznym i pomiń końcowe \\ po ostatnim wierszu. Konwencje te opisano w sekcjach 3.1 i 3.9 podręcznika użytkownika amsmath.

Istotnym ograniczeniem jest podział na strony: aligned i gathered tworzą struktury, których nie można dzielić, więc \allowdisplaybreaks nie podzieli ich między strony. W przypadku wyjątkowo długiego wyprowadzenia zmień strukturę wzoru zamiast oczekiwać, że to polecenie podzieli taki zagnieżdżony układ. Ograniczenie to opisano w wskazówkach amsmath dotyczących podziału stron.

W przypadku typowego krótkiego wyprowadzenia zacznij od jednego equation, jednego aligned i zagnieżdżonego wiersza cases. Zachowaj zewnętrzny podział wiersza po bloku cases, sprawdź każdy warunek w gałęziach i przejdź do innej struktury tylko wtedy, gdy potrzebujesz innego wyrównania poziomego lub rozmiaru zapisu matematycznego.

Źródła