2009-10-16 10 views
23

Próbuję dodać równanie w nowej linii. Problem polega na tym, że równanie jest zbyt długie dla linii i muszę je ręcznie złamać. W przeciwnym razie po prostu nakłada się na prawą kolumnę lub na prawe marginesy (i wygląda brzydko ...). Czy istnieje sposób, w jaki LaTeX może zahamować dla mnie równanie, więc wydaje się to miłe?Jak mogę złamać długie równanie nad liniami?

Ja załączając mój kod lateksową:

\begin{align*} 
f(n)-f(0) &= A(n)-B(n)-C(n)-D(n)\cdot d-\left(A(0)-B(0)-C(0)-D(0)\cdot d\right) \\ 
      &= A(n)-0-X-D(n)\cdot d-\left(0-0-0-0\right) \\ 
      &= A(n)-X-D(n)\cdot d 
\end{align*} 

Problematyczny jest to pierwsza linia, która jest zbyt długa.

+0

To nie jest to, co wyrównanie * oznacza: linie traktowane są jako oddzielne równania, a jest to (IMO) jedno równanie. Zamiast tego użyj \ [\ begin {split} .... \ end {split} \]. W ten sposób, jeśli zdecydujesz się policzyć wszystko, blok otrzyma jedną liczbę zamiast trzech. – Martijn

Odpowiedz

13

Pakiet breqn jest przeznaczony do automatycznego dzielenia długich równań. Działa bardzo dobrze w większości sytuacji, ale nie jest tak dojrzały jak pakiet amsmath. Oto jak chcesz napisać przykładowy wzór:

 
\documentclass{article} 
\usepackage{breqn} 
\begin{document} 
\begin{dmath} 
f(n)-f(0) = A(n)-B(n)-C(n)-D(n)\cdot d-\left(A(0)-B(0)-C(0)-D(0)\cdot d\right) 
      = A(n)-0-X-D(n)\cdot d-\left(0-0-0-0\right) 
      = A(n)-X-D(n)\cdot d 
\end{dmath} 
\end{document} 

Uwaga Nie ma żadnych znaczników dla wyrównania lub znakami nowej linii, ale wyjście wygląda zasadniczo takie same jak w przypadku korzystania align.

+0

Wow! Ten działa naprawdę naprawdę dobrze! To pasuje do całego pomysłu Latex, nie musisz się martwić, jeśli twój kod jest w wielkolumnowym małym formacie czcionki lub wielkolumnowej czcionce jednokolumnowej. Dzięki! – Anna

+0

Po obejrzeniu go trochę więcej, widzę, że to nie jest panaceum, i czasami będę musiał korzystać z podzielonego środowiska.Ale i tak jest to miłe. – Anna

0

O ile mi wiadomo, nie jest to możliwe. Podczas pracy na wyświetlaczu odpowiadasz za podziały linii. Jak przełamanie linii i jak przejść do następnej linii w przypadku nawiasów, jest trudnym pytaniem dla ludzi (sprawdź na przykład odpowiednią sekcję w Grätzer, "Math to LaTeX"), nie mówiąc już o komputerze.

Przykład: po złamaniu pierwszego wiersza po \ left (, potrzebujesz \ right. Na końcu i \ left na początku następnego wiersza (w przeciwnym razie pojawi się błąd). , że chcesz początek następnej linii, aby być dalej niż prawy wspornik produkowanego przez \ left (

+0

Nie jestem pewien, czy się z tym zgadzam. Lateksowi udaje się ładnie umieszczać słowa i zdania z marginesu. +1 za podzieloną wskazówkę dotyczącą początku i końca. – Anna

+0

breqn właściwie radzi sobie z rozwiązaniem problemu. A jeśli coś pójdzie nie tak, zawsze możesz ręcznie złamać pakiet. –

1

standardowe podejście Użyłem w przeszłości stanowi eqnarray. Patrz np this page.

+0

eqnarray wydaje się być miły. Nie jestem pewien, czy jest lepszy niż podzielony czy nie i dlaczego. – Anna

+3

Nie używaj 'eqnarray'! http://www.tug.org/pracjourn/2006-4/madsen –

+0

W rzeczywistości, 'align' i' align * ', rodzina środowisk używanych przez OP, to droga, którą należy przejść, gdy chcesz użyć czegoś jak 'eqnarray'. – njsg

10

Zwykle wolę sobie z tym poradzić, używając pakietu amsmath i używając struktury split. Jest tam kilka przydatnych struktur do podziału equatio ns wzdłuż linii, ale zwykle jest to najprostsze w użyciu.

Wiele instalacji TeX będzie już mieć pakiet, ale można go również uzyskać od the AMS website.

+0

Dzięki za link do strony internetowej AMS. W środku jest kilka dżinów. – Anna

Powiązane problemy