2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




Начать новую тему Ответить на тему
 
 Нумерация отдельных уравнений системы (с фигурной скобкой)
Сообщение19.03.2007, 22:25 


22/06/05
164
Как изобразить средствами \LaTeX систему уравнений, чтобы слева была фигурная скобка, а каждое уравнение имело свой номер? Номер должен выбираться автоматически и ставиться в обычном месте (возле правого или левого края страницы).

Видимо, логичнее использовать один номер для всей системы либо не ставить фигурную скобку. Но всё-таки любопытно, есть ли нормальное решение для исходной задачи.

 Профиль  
                  
 
 
Сообщение20.03.2007, 11:38 
Заслуженный участник
Аватара пользователя


18/05/06
13438
с Территории
Я бы залудил собственный счётчик и \refstepcounter'ов везде понатыкал.
(Это не отменяет того, что у проблемы может существовать уже готовое штатное решение.)

 Профиль  
                  
 
 
Сообщение20.03.2007, 17:24 
Заслуженный участник
Аватара пользователя


26/11/06
696
мехмат
Можно сделать так:
Код:
$$\left\{\begin{align*}... \eqno (1)\\ ...\eqno (2)\end{align*}$$


Еще можно переопределить окружнение \align*, чтобы оно само нумеровало формулы. Для этого достаточно сделать то, о чем писал ИСН.

 Профиль  
                  
 
 Проблема с размещением номеров
Сообщение20.03.2007, 19:08 


22/06/05
164
Насчёт автоматической нумерации понятно, спасибо ИСН. Осталась проблема, как нарисовать номера уравнений возле правого края страницы и фигурную скобку слева от системы. Для рисования левой фигурной скобки пытаюсь группировать уравнения в array или aligned, а команда eqno оттуда не работает.
Lion писал(а):
Можно сделать так:
Код:
$$\left\{\begin{align*}... \eqno (1)\\ ...\eqno (2)\end{align*}$$


А разве можно помещать align* внутрь двойных долларов? У меня ругается:
Код:
Package amsmath Error: Erroneous nesting of equation structures;

Если заменить align* на aligned, то пишет, что eqno в неподходящем месте.

 Профиль  
                  
 
 
Сообщение20.03.2007, 20:29 
Заслуженный участник
Аватара пользователя


26/11/06
696
мехмат
Да, я поспешил, разумеется, окружение \align* оформляется без долларов, а с помощью команды \eqno можно нумеровать только формулы, ограниченые долларами.

Еще вариант --- окружение \gather:
Код:
\left\{\begin{gather}..\\ .. \end{gather}\right.


Если и это не будет работать, воспользуйтесь окружением \eqnarray:
Код:
\left\{\begin{eqnarray}..\\ ..\end{eqnarray}\right.

 Профиль  
                  
 
 почти получилось
Сообщение20.03.2007, 21:34 


22/06/05
164
Lion писал(а):
Еще вариант --- окружение \gather:
Код:
\left\{\begin{gather}..\\ .. \end{gather}\right.


Это как раз то, что нужно! Только у меня, похоже, \LaTeX какой-то неправильный или устаревший - отказывается исполнять команду "\left\{" вне формулы. :cry:

Наткнулся на описание этой же задачки в другом форуме (решения там нет):
Цитата:
Итак, как это же саное сделать так, чтобы нумерация формул была отдельной для каждого из уравнений системы (связанной, как и в данном примере фигурной скобкой). Меня интересует регулярный способ. Как извратно выкрутиться, я могу и сам додуматься. С уважением, пользователь LaTeX'а с 13-летним стажем.

Впечатляет последняя фраза (о стаже).

 Профиль  
                  
 
 
Сообщение17.03.2008, 14:36 


14/08/07
14
Москва
В принципе, для этих целей можно попробовать пакет mathenv. Примерный код будет выглядеть так
Код:
\documentclass[12pt]{article}

\usepackage[russian]{babel}
\usepackage[cp1251]{inputenc}
\usepackage[T2A]{fontenc}

\usepackage{amsmath, amssymb, amsthm}
\usepackage{mathtext}
\usepackage{mathenv}

\begin{document}

Система уравнений имеет вид
\begin{EqSystem}
    a_1 x_1 & = b_1 \\
    a_2 x_2 & = b_2 \\
    a_3 x_3 & = b_3 \\
    a_4 x_4 & = b_4
\end{EqSystem}

\end{document}

 Профиль  
                  
 
 Спасибо за решение проблемы!
Сообщение17.03.2008, 19:00 


22/06/05
164
AKalinin, спасибо за решение проблемы! Пакет mathenv умеет делать как раз то, чего хотелось.

 Профиль  
                  
 
 
Сообщение18.03.2008, 01:58 
Модератор
Аватара пользователя


11/01/06
5702
Кстати, уравнения с фигурной скобкой проще изображать с помощью окружения cases:
$$\begin{cases} x=y-1;\\ y=z-1;\\ z=x+y.\end{cases}$$

 Профиль  
                  
 
 проблема была в расположении меток (номеров)
Сообщение18.03.2008, 02:58 


22/06/05
164
maxal писал(а):
Кстати, уравнения с фигурной скобкой проще изображать с помощью окружения cases

Да, если не нужна нумерация отдельных уравнений системы, то годятся и cases, и array. Проблема была в том, как в нужное место ставить номера.

 Профиль  
                  
 
 
Сообщение29.11.2008, 11:38 


29/11/08
65
Селенгинск
Как ни странно у меня возникла такая же потребность как и у автора темы - нумеровать каждое уравнение системы и лепить к системе фигурную скобочку.
Пакет mathenv даёт решение, НО...
Во-первых, он переопределяет ограничители для выключенных уравнений, которыми я пользуюсь \[ и \], но это полбеды, достаточно во всём тексте заменить их на \begin{displaymath} и \end{displaymath} :)
Во-вторых, я выравниваю уравнения влево с помощью опции fleqn, а система которая получается с помощью окружения EqSystem, не хочет выравниваться! С моим средненьким знанием инглиша в документации к пакету ничего на эту тему не нашёл :(
Кстати, код который был выше, лучше поправить
Код:
\begin{EqSystem}
    a_1 x_1 = b_1 \\
    a_2 x_2 = b_2 \\
    a_3 x_3 = b_3 \\
    a_4 x_4 = b_4
\end{EqSystem}

без & т.к. они используются для подписей к уравнениям.
В итоге вопрос: как выровнять полученную систему влево? Или может кто-то знает способ без этого пакета?

 Профиль  
                  
 
 
Сообщение29.11.2008, 15:36 
Аватара пользователя


11/09/08
150
Могилев
Можно попробовать так:
в преамбуле:
Код:
\usepackage{numcases}

потом в тексте:
Код:
\begin{numcases}{}
Lpart1 = Rpart1;\\
Lp2 = Rp2;\\
Lprt3 = Rprt3.
\end{numcases}

 Профиль  
                  
 
 
Сообщение29.11.2008, 18:12 


29/11/08
65
Селенгинск
К сожалению у меня пакета numcases не оказалось :( Поставлю, посмотрю как получится. В любом случае, спасибо ;)

 Профиль  
                  
 
 
Сообщение21.01.2009, 16:25 


14/08/07
14
Москва
Да, сутя по всему numcases самое правильное решение. FAQ на www.ams.org говорит:
    How can I get something like the "cases" environment that permits a separate equation number for each line?
    Try the "cases" package of Donald Arseneau. It is available from CTAN if it isn't already on your system.
Этот пакет, например, можно взять вот тут CTAN на chg.ru.

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 14 ] 

Модераторы: Karan, Toucan, PAV, maxal, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group