Формулы позиционирования в латексе - PullRequest
6 голосов
/ 06 апреля 2009

Я инженер-механик, который делает ее расчеты в Слово. Тем не менее, с тех пор, как я сбил стену своей спальни, стуча головой от слова постоянно сводит меня с ума, я смотрю на латекс, и это нравится Это относительно удобно и не слишком сложно получить привыкли.

Однако у меня есть проблема с этим. Просто чтобы упомянуть, распределение miktex 2.7 на winxp, если это имеет значение.

Я пытаюсь написать свои формулы таким образом:

text text text text text text text text text text text text  
text text text text text text text text text text text text
a = b + c = 12m    measure of length of great importance  
   b = 6m          a measure of length  
   b1 = 28m        new text
   c1 + d = a + b  new text
   c = 8m          another measure of length  
                   and it is in meters  

Каков будет правильный способ оправдать это таким образом? Это вообще возможно ? У меня их много (толщина книги 2 см).

Я новичок в области текстов, так что, возможно, это звучит для вас банально. Но для меня, после поиска в Google, это все еще проблема. Пожалуйста помоги. Сохранить стена.

РЕДАКТИРОВАТЬ мной: Просто подумал, что я объясню немного лучше (хотя вы, ребята, уже рассмотрели почти все возможности). Я пытаюсь выровнять b и c по левому краю (остальная часть формулы будет меняться, поэтому это не имеет значения), а текст, который объясняет формулы, также выровнять по левому краю.

Ответы [ 7 ]

8 голосов
/ 06 апреля 2009

Да, оправдание является распространенным случаем и хорошо поддерживается в LaTeX. Вы хотите использовать среду align (\begin{align} ... \end{align}). В рамках этого каждая строка LaTeX (разделенная \) будет соответствовать одной формуле, и вы можете выбрать, какой символ вы хотите выровнять по каждой строке, поместив амперсанд (&). В вашем примере:

\begin{align}
a = b + c &= 12m\\
b &= 6m\\
c &= 8m\\
\end{align}

Должен делать что-то вроде того, что вы ищете (в зависимости от того, как вы хотите оправдать первую строку). Это будет нумерация каждого уравнения для справки в тексте; если это не требуется или не требуется, используйте вместо этого среду align *. Добавление звездочки после имени среды - это распространенная идиома в LaTeX, которая означает «не нумеруйте их» и может использоваться для разделов и т. Д.

РЕДАКТИРОВАТЬ: Вот еще одна интерпретация обоснования, я думаю, вы хотите:

text text text text text text text text text text text text  
text text text text text text text text text text text text
\begin{align*}
a = &b + c = 12m &\text{measure of length of great importance}\\  
&b = 6m &\text{a measure of length}\\
&c = 8m &\text{another measure of length}\\ 
& &\text{and it is in meters}
\end{align*}  

Примечание:

  • Вы можете разместить несколько амперсандов на строка для указания множественного выравнивания точки, но все линии должны иметь такое же количество точек выравнивания.
  • align - математическая среда.
  • \ text {...} позволяет поместить обычный текст в математической среде. Есть многие другие команды для форматирования текст в математической среде.
1 голос
/ 06 апреля 2009

Вы можете использовать стандартную среду eqnarray или посмотреть на более мощные инструменты, доступные в пакете amsmath .


Если вы используете eqnarray, вы бы поставили хотя бы на позиции привязки между работой и текстом, подобным этому

\begin{eqnarray}
a = b + c = 12m  & & \mbox{measure of length of great importance}\\
   b = 6m        & & \mbox{a measure of length}\nonumber\\
...
\end{eqnarray}
По умолчанию строки

нумеруются, но \nonumber подавляет это. Чтобы запретить номера строк, используйте eqnarray*.


Если вы настаиваете, вы могли бы также использовать таблицы, но я не рекомендую это. Если вы это сделаете, сохраните всю формулу в одной ячейке, например:

\begin{tabular}{cl}
    $a = b + c = 12m$  & \mbox{measure of length of great importance}\\
    $b = 6m$           & \mbox{a measure of length}\\
 ...
\end{tabular}

затрудняет нумерацию.

1 голос
/ 06 апреля 2009

Вы можете быть первым человеком, которого я когда-либо слышал, описывать LaTeX как "удобный для пользователя"; -)

В любом случае, не совсем ясно, пытаетесь ли вы выровнять конкретные части уравнений или просто отцентрируете их. Существуют разные среды уравнений для разных видов выравнивания, например, среда gather, которая центрирует каждое уравнение на отдельной строке.

Примечание: я бы рекомендовал взглянуть на Не очень краткое введение в LaTeX2e , с которого я начал изучать LaTeX, и Руководство пользователя по пакету amsmath , которое описывает различные виды выравнивания.

0 голосов
/ 08 декабря 2011

Для этого вы можете использовать eqnarray или выровненную среду в minipage env.

Eqnarray (или выровненный) позволяет вам заставить ваши формулы выглядеть так, как вы хотите, а мини-страница позволяет обернуть уравнения в текст.

0 голосов
/ 06 апреля 2009

Вот другое решение, которое позволяет вам писать математику и объяснения, не чередуя их в источнике.

\newcommand\aligntext[1]{&\text{#1}\\}
\[\begin{aligned}
a+b&=c\\
x&=y\\
c&=d+e
\end{aligned}
\hspace{1em}
\begin{aligned}
\aligntext{text 1}
\\
\aligntext{text text text}
\end{aligned}\]

Есть несколько разных способов решения подобных проблем. (Приведенный выше код не позволяет, например, пронумеровать каждую строку уравнения.) Помимо amsmath, полезно взглянуть и на пакет mathtools .

0 голосов
/ 06 апреля 2009

Я бы порекомендовал абстрагироваться от align и использовать это:

\begin{tabular}{rcll}
$a$ & $=$ & $12m$ & measure of length of great importance \\
$b$ & $=$ & $6m$  & a measure of length \\
\end{tabular}
0 голосов
/ 06 апреля 2009

Я не буду пытаться ответить на ваш вопрос напрямую, так как он, кажется, был рассмотрен выше. Однако я предлагаю вам попробовать LyX, чтобы погрузиться в мир TeX. Он представляет графический интерфейс с немедленным предварительным просмотром, который может быть более интуитивным, учитывая ваш фон, используя слово и так далее. Он основан на базе LaTeX, поэтому вы используете команды LaTeX, где это применимо, но это все же (на мой взгляд), гораздо более простое введение в TeX.

LyX

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...