przejście do nowego wiersza (latex)

Mathematica, Matlab, Statistica, LaTeX i wszelkiego rodzaju oprogramowanie przydatne matematykowi w pracy. Miejsca w sieci poświęcone zagadnieniu.
july04
Użytkownik
Użytkownik
Posty: 98
Rejestracja: 18 cze 2018, o 21:12
Płeć: Mężczyzna
Lokalizacja: Polska
Podziękował: 15 razy
Pomógł: 1 raz

przejście do nowego wiersza (latex)

Post autor: july04 »

Mam pytanie odnośnie kilku przypadków zapisów w latex długich formuł i/lub wypunktowanych formuł. Znam oznaczenia symboli, chodzi mi raczej o sposób formatowania formuły aby wiersze miały odpowiednie wcięcia i wycięcia i obecności tekstu obok.
przykład 1
przykład 1
przykład 2
przykład 2
przykład 3
przykład 3
przykład 4
przykład 4
a4karo
Użytkownik
Użytkownik
Posty: 22296
Rejestracja: 15 maja 2011, o 20:55
Płeć: Mężczyzna
Lokalizacja: Bydgoszcz
Podziękował: 38 razy
Pomógł: 3768 razy

Re: przejście do nowego wiersza (latex)

Post autor: a4karo »

Poczytaj np o środowisku align
july04
Użytkownik
Użytkownik
Posty: 98
Rejestracja: 18 cze 2018, o 21:12
Płeć: Mężczyzna
Lokalizacja: Polska
Podziękował: 15 razy
Pomógł: 1 raz

Re: przejście do nowego wiersza (latex)

Post autor: july04 »

dla przykładu 4 użyłem takiej formuły:

Kod: Zaznacz cały

\begin{equation*}
\begin{split}
& f(x_1, \dotsc, x_n) = f_0(x_1, \dotsc, x_{n-1}) + f_1(x_1, \dotsc, x_{n-1}) \cdot x_n +\\
&\ \ \ \ \quad + \dotsc + f_r(x_1, \dotsc, x_{n-1})x_n^r, \ \text{gdzie} \ f_r \neq 0\text{.}
\end{split}
\end{equation*}
I niestety nie wygląda to zgodnie z moimi intencjami:
Załączniki
a.png
Awatar użytkownika
Janusz Tracz
Użytkownik
Użytkownik
Posty: 4123
Rejestracja: 13 sie 2016, o 15:01
Płeć: Mężczyzna
Lokalizacja: hrubielowo
Podziękował: 82 razy
Pomógł: 1412 razy

Re: przejście do nowego wiersza (latex)

Post autor: Janusz Tracz »

Jeśli próbujesz odwzorować przykład 4 to za radą a4karo zrobił bym to tak:

Kod: Zaznacz cały

\begin{align} 
f(x_1,\dots,x_n) =f_0(x_1, \dots&, x_{n-1}) + f_1(x_1, \dots, x_{n-1}) \cdot x_n +\\  
&+\dots + f_r(x_1, \dotsc, x_{n-1})x_n^r, \quad \text{gdzie} \quad f_r \neq 0
\end{align}
\(\displaystyle{
\begin{align}
f(x_1,\dots,x_n) =f_0(x_1, \dots&, x_{n-1}) + f_1(x_1, \dots, x_{n-1}) \cdot x_n +\\
&+\dots + f_r(x_1, \dotsc, x_{n-1})x_n^r, \quad \text{gdzie} \quad f_r \neq 0
\end{align}
}\)
Albo z wykorzystaniem aligned do układania linii typowo w trybie matematycznym

Kod: Zaznacz cały

\begin{equation}\begin{aligned} 
f(x_1,\dots,x_n) =f_0(x_1, \dots&, x_{n-1}) + f_1(x_1, \dots, x_{n-1}) \cdot x_n +\\  
&+\dots + f_r(x_1, \dotsc, x_{n-1})x_n^r, \quad \text{gdzie} \quad f_r \neq 0
\end{aligned}\end{equation}
\(\displaystyle{
\begin{equation}\begin{aligned}
f(x_1,\dots,x_n) =f_0(x_1, \dots&, x_{n-1}) + f_1(x_1, \dots, x_{n-1}) \cdot x_n +\\
&+\dots + f_r(x_1, \dotsc, x_{n-1})x_n^r, \quad \text{gdzie} \quad f_r \neq 0
\end{aligned}\end{equation}
}\)
Można też identyczny efekt osiągnąć przez split

Kod: Zaznacz cały

\begin{split} 
f(x_1,\dots,x_n) =f_0(x_1, \dots&, x_{n-1}) + f_1(x_1, \dots, x_{n-1}) \cdot x_n +\\  
&+\dots + f_r(x_1, \dotsc, x_{n-1})x_n^r, \quad \text{gdzie} \quad f_r \neq 0
\end{split}
\(\displaystyle{
\begin{split}
f(x_1,\dots,x_n) =f_0(x_1, \dots&, x_{n-1}) + f_1(x_1, \dots, x_{n-1}) \cdot x_n +\\
&+\dots + f_r(x_1, \dotsc, x_{n-1})x_n^r, \quad \text{gdzie} \quad f_r \neq 0
\end{split}
}\)

W każdym z tych przypadków zwróć uwagę na miejsce występowania & bo to do et wyrównywany jest tekst. Ponadto warto kontrolować odstępu między liniami kończąc je np.: \\[1ex] lub jakąś większą wartością (inne jednostki też działają)

Kod: Zaznacz cały

\begin{align} 
f(x_1,\dots,x_n) =f_0(x_1, \dots&, x_{n-1}) + f_1(x_1, \dots, x_{n-1}) \cdot x_n +\\[2ex]  
&+\dots + f_r(x_1, \dotsc, x_{n-1})x_n^r, \quad \text{gdzie} \quad f_r \neq 0
\end{align}
\(\displaystyle{
\begin{align}
f(x_1,\dots,x_n) =f_0(x_1, \dots&, x_{n-1}) + f_1(x_1, \dots, x_{n-1}) \cdot x_n +\\[2ex]
&+\dots + f_r(x_1, \dotsc, x_{n-1})x_n^r, \quad \text{gdzie} \quad f_r \neq 0
\end{align}
}\)

W ogólności nie powinno się robić płotków \ \ \ \ to prawie zawsze kończy się źle. Czasem może się przydać funkcja \phantom{} która wstawia coś w rodzaju pustego ciągu znaków dokładnie takiej długości jak jej argument. Przykładowo można zapisać

Kod: Zaznacz cały

\begin{align} 
f(x_1,\dots,x_n)  &=f_0(x_1, \dots, x_{n-1}) + f_1(x_1, \dots, x_{n-1}) \cdot x_n +\\[1.2ex] 
&\phantom{f_0(x_1, \dots,}+\dots + f_r(x_1, \dotsc, x_{n-1})x_n^r, \quad \text{gdzie} \quad f_r \neq 0
\end{align}
\(\displaystyle{
\begin{align}
f(x_1,\dots,x_n)&=f_0(x_1, \dots, x_{n-1}) + f_1(x_1, \dots, x_{n-1}) \cdot x_n +\\[1.2ex]
&\phantom{f_0(x_1, \dots,}+\dots + f_r(x_1, \dotsc, x_{n-1})x_n^r, \quad \text{gdzie} \quad f_r \neq 0
\end{align}
}\)

Choć tego też bym raczej unikał (szczególnie w takiej postaci jak tu pokazuje) \quad oraz \qquad powinny wystarczyć. Swoją drogą warto też trzymać się jednego stylu (tu tego nie robiłem od początku aby maksymalnie odzwierciedlić przykład 4) ale \cdot nie powinno się znaleźć w tym napisie. Zobacz też jakie są standardy przy przenoszeniu znaków. Ja bym nie dawał + na końcu linii i napisał tak:

Kod: Zaznacz cały

\begin{align} 
f(x_1,\dots,x_n)  &=f_0(x_1, \dots, x_{n-1}) + f_1(x_1, \dots, x_{n-1})x_n \\[1.2ex] 
&\phantom{xxxxxxxxx}+\dots + f_r(x_1, \dotsc, x_{n-1})x_n^r, \quad \text{gdzie} \quad f_r \neq 0
\end{align}
\(\displaystyle{ \begin{align}
f(x_1,\dots,x_n) &=f_0(x_1, \dots, x_{n-1}) + f_1(x_1, \dots, x_{n-1})x_n \\[1.2ex]
&\phantom{xxxxxxxxx}+\dots + f_r(x_1, \dotsc, x_{n-1})x_n^r, \quad \text{gdzie} \quad f_r \neq 0
\end{align}}\)
july04
Użytkownik
Użytkownik
Posty: 98
Rejestracja: 18 cze 2018, o 21:12
Płeć: Mężczyzna
Lokalizacja: Polska
Podziękował: 15 razy
Pomógł: 1 raz

Re: przejście do nowego wiersza (latex)

Post autor: july04 »

Dziękuję wam obu za pomoc. przy innych przykładach użyłem align. W tym mi nie wychodziło.
ODPOWIEDZ