Archiwum: LaTeX

LaTeX – nawiasy

Pisząc dokument ze wzorami matematycznymi na pewno natrafimy na problem z nawiasami. Póki wyrażenie w nawiasie ma normalną wysokość wszystko jest w porządku. Problem zaczyna się, gdy zechcemy w nawiasie umieścić na przykład wysoki ułamek, lub zagnieździć nawiasy wewnątrz siebie.

Korzystając ze zwykłych nawiasów otrzymamy taki, nieestetyczny i nieakceptowalny wynik:

Latex, nawiasy, wyrażenie

Od razu narzuca się potrzeba uzyskania takiego efektu:

Latex, nawiasy, wyrażenie

Jest to wbrew pozorom bardzo proste do uzyskania:

$$\left(\frac{e^{x}}{\frac{1}{x}+1}\right)$$

Jak widać korzystamy (zamiast zwykłych nawiasów) z komend \left( i \right). Możliwe są oczywiście inne rodzaje nawiasów:

  • kwadratowe [] \left[ oraz \right]

LaTeX, nawiasy

  • klamrowe {} \left\{ oraz \right\}

LaTeX, macierz, nawiasy

  • proste || \left| oraz \right|

LaTeX, macierz, nawiasy

Rodzaje nawiasów można dowolnie łączyć (inny z lewej, inny z prawej). Można również stosować nawias tylko z jednej strony. Należy wtedy nieistniejący nawias zastąpić kropką: np. \left\{ cośtamcośtam \right.

LaTeX, układ równań, klamra, klamry

Nie podaję kodów źródłowych do wszystkich powyższych przykładów, bo jedynym ważnym elementem są komendy \left i \right, których zastosowanie opisałem powyżej. Skorzystałem w powyższych przykładach z układu równań i macierzy stworzonych za pomocą środowiska array, o którym następnym razem.

goto

| Komentarze

LaTeX – indeks nad znakiem równości

Pisząc w LaTeX’u dokumenty o matematyczno fizycznej treści prędzej czy później zostaniemy zmuszeni do wpisania indeksu lub numeru innego równania nad znakiem równości, aby zaznaczyć na jakiej podstawie wykonaliśmy przekształcenie.

Przyznam, że długo nie mogłem dość jak to robić, a okazało się całkiem proste. Musimy skorzystać z komendy \stackrel{góra}{dół}. Przykładowo wpisując

$$A\stackrel{k}{\approx}B$$

otrzymamy:

LaTeX, index, równość

Moży też użyć jako argumentu komendy \stackrel innej komendy, np. \ref{etykieta}. Poniżej zwracamy uwagę czytelnika, że wartość b w trzecim równaniu otrzymaliśmy powołując się na równanie 2.

LaTeX, równania, numerowanie, równość, znak

Kod potrzebny do wygenerowania dokumentu jak powyżej:

\begin{equation}
a=17
\end{equation}
\begin{equation}
b=a\label{e1}
\end{equation}
\begin{equation}
b\stackrel{(\ref{e1})}{=}17
\end{equation}

goto

| Komentarze (3)

LaTeX – tryb matematyczny

Witam, przed nami kolejna część przygód w LeTeX’u (czyt. lateszku). Dzisiaj coś dla początkujących, czyli parę słów o różnych odsłonach trybu matematycznego.

Najprostszym przykładem trybu matematycznego jest umieszczanie symboli matematycznych bądź równań bezpośrednio w treści (w środku zdania) dokumentu:

LaTeX, równanie, suma

Jak widać w przestawionym poniżej kodzie potrzebnym do wygenerowania powyższego napisu tryb matematyczny wewnątrz tekstu otrzymujemy za pomocą znaków $.

To jest sobie z suma $\sum_{n=1}^{\infty}\frac{1}{x}$
- dodajemy po prostu $1+\frac{1}{2}+\frac{1}{3}\dots$,
aż do $\frac{1}{\infty}$.

Ważne równania wymagają wyróżnienia, którym zazwyczaj jest umieszczenie w nowej linii:

LaTeX, równanie, numerowanie

Kod potrzebny do wygenerowania takiego dokumentu przedstawiam poniżej. Zauważ, że powyższe równanie nie zostało ponumerowane. Taki tryb matematyczny uruchamiamy podwójnym znakiem dolara: $$ (i tak samo zamykamy).

Poniższe równanie jest przykładem równania nienumerowanego:
$$a=x+\frac{1}{x}+\frac{1}{x^2}+\dots$$
Widać, że jest ono bardzo ciekawe.

Często równania trzeba numerować, żeby potem móc się do nich odwołać w dokumencie:

LaTeX, równanie, numerowanie

Kod potrzebny do wygenerowania takiego dokumentu przedstawiam poniżej:

Poniższe równanie jest bardzo skomplikowane i ma swój numerek
\begin{equation}
3=\frac{1}{1+\frac{1}{1+\frac{1}{1+\frac{1}{1+\frac{1}{x}}}}}
\end{equation}
Umiesz rozwiązać takie równanie?

Jak widać uruchomienie trybu matematycznego z numerowaniem wymaga napisania niekrótkiego kawałka kodu, więc proponuję zdefiniowanie własnego “początku” i “końca” numerowanego trybu matematycznego. Na przykład w taki sposób (kod ten należy umieścić w preambule dokumentu):

\renewcommand{\[}{\begin{equation}}
\renewcommand{\]}{\end{equation}}

Teraz możemy otwierać tryb matematyczny znakami \[ i zamykać \].

Często zdarza się potrzeba zapisania układu równań. Można to zrobić na dwa sposoby:

LaTeX, układ równań

Jak widać nasz układ równań wygląda bardziej jak cztery zupełnie sobie obce równania. Powyższy układ wygenerowałem następującym kodem:

Poniżej mamy układ równań, który jest bardzo brzydko zapisany:
\[a=b\]
\[a+b=d\]
\[d+c+2=a\]
\[c=8\]
Można by go ładniej zapisać!

Można było to zrobić o wiele ładniej stosując specjalne środowisko matematyczne do układów równań:

LaTeX, układ równań

Poniżej kod potrzebny do wygenerowania ładnego układu równań. Zwróć uwagę na celowe wyłączenie numerowania drugiego równania:

O, ten układ równań jest ładnie zapisany:
\begin{eqnarray}
a&=&b\\
a+b&=&d\nonumber\\
d+c+2&=&a\\
c&=&8
\end{eqnarray}
Ciekawe czy da się rozwiązać?

To są właśnie cztery podstawowe typy trybów matematycznych w LaTeX’u. Warto jednak czasami popracować nad wyglądem równań. Poniżej przedstawię modyfikacje dwóch powyższych przypadków za pomocą polecenia \displaystyle:

LaTeX, równanie, suma

Powyższe zdanie wygenerowałem następującym kodem (porównaj z pierwszym przykładem):

To jest sobie z suma $\displaystyle\sum_{n=1}^{\infty}\frac{1}{x}$
- dodajemy po prostu $\displaystyle1+\frac{1}{2}+\frac{1}{3}\dots$,
aż do $\displaystyle\frac{1}{\infty}$.

LaTeX, równanie, numerowanie

Porównaj to równanie z trzecim przykładem. Oto kod:

Poniższe równanie jest bardzo skomplikowane, ładnie wygląda i ma swój
numerek\begin{equation}
\frac{1}{\displaystyle 1+\frac{1}{\displaystyle 1+\frac{1}{\displaystyle 1+
\frac{1}{\displaystyle 1+\frac{1}{x}}}}}
\end{equation}
Umiesz rozwiązać takie równanie?

goto

| Komentarze (11)

LaTeX – sąsiadujące rysunki

Pisząc sobie dokument w latex’u spotkałem się z problemem natury estetycznej. Chciałem wstawić trzy małe rysunki do tekstu, co nie jest specjalnym wyzwaniem. Niestety rysunki te pojawiają jeden pod drugim i (mimo że są małe) zajmują, a właściwie marnują, ponad pół strony. Rozwiązaniem tego problemu jest wstawienie rysunków obok siebie. Jak tego dokonać? Są dwie drogi do sukcesu:

Droga 1:

Korzystamy z możliwości zagnieżdżania pudełek i stosujemy środowisko \minipage.

Do dyspozycji mamy 3 rysunki: AND.eps, OR.eps o NAND.eps:

\begin{figure}[h]
\begin{center}
\begin{minipage}[b]{4cm}
\centering
\includegraphics[width=4cm]{AND.eps}\\\textit{AND}
\end{minipage}
\begin{minipage}[b]{4cm}
\centering
\includegraphics[width=4cm]{OR.eps}\\\textit{OR}
\end{minipage}
\begin{minipage}[b]{4cm}
\centering
\includegraphics[width=4cm]{NAND.eps}\\\textit{NAND}
\end{minipage}
\caption{Bramki logiczne}
\label{bramki}
\end{center}
\end{figure}
W tekscie możemy odwołać się tylko do całego rysunku \ref{bramki}.

Po kompilacji dostajemy:

Obrazki sąsiadujące

Wadą tego rozwiązania jest brak możliwości odwołania się do składowej części rysunku oraz konieczność definiowania szerokości środowiska \minipage.

Droga 2:

Korzystamy z pakietu subfigure. Należy pamiętać o dodaniu tego pakietu do dokumentu.

Teraz kod wygląda tak:

\begin{figure}[h]
\begin{center}
\subfigure[AND]{
\includegraphics[width=4cm]{AND.eps}
\label{AND}
}
\subfigure[OR]{
\includegraphics[width=4cm]{OR.eps}
\label{OR}
}
\subfigure[NAND]{
\includegraphics[width=4cm]{NAND.eps}
\label{NAND}
}
\caption{Bramki logiczne}
\label{bramki1}
\end{center}
\end{figure}
W tekscie możemy odwołać się do całego rysunku \ref{bramki1},
lub do składowych tego rysunku \ref{AND}, \ref{OR} i \ref{NAND}

A wynik tak:

Obrazki sąsiadujące

Jak widać efekt jest podobny do poprzedniego. Zyskaliśmy jednak możliwość odwoływania się w tekście do składowych naszego rysunku.

goto

| Komentarze (8)

« Nowsze wpisy