Как сделать так, чтобы уравнение охватывало всю страницу / строку в LaTeX? - PullRequest
3 голосов
/ 10 октября 2009

У меня есть это уравнение, и оно довольно большое (в основном, FDM), но оно выравнивается с текстом и затем продолжается справа от небытия. Я пробовал такие вещи, как \begin{center} и \hspace*{-2.5cm}, но безрезультатно. Я хочу, чтобы он использовал всю строку не только от левого поля, но и до правого.

Как мне это сделать, и мне нужно установить какой-то специальный пакет для него?

Я использую \[ вместо displaymath, как это

\[
  Equation arrays here
\]

код

\[
 \left(
   \begin{array}{cccccc}
      -(2\kappa+\frac{hV\rho}{2}) & (\frac{hV\rho}{2}-\kappa) & 0 & \cdots  & 0 \\
      -\kappa & -(2\kappa+\frac{hV\rho}{2}) & (\frac{hV\rho}{2}-\kappa) & 0 & \cdots \\  
      0 & -\kappa & -(2\kappa+\frac{hV\rho}{2}) & (\frac{hV\rho}{2}-\kappa) & 0 & \cdots \\  
      \vdots  & 0  & \ddots & \vdots  \\
      \vdots & \vdots  & \vdots  & -\kappa & -(2\kappa+\frac{hV\rho}{2}) & (\frac{hV\rho}{2}-\kappa) \\  
      0 & \vdots  & \vdots  & 0 & \kappa - \frac{2h\kappa_{v}}{\kappa}(\frac{hv\rho}{2} - \kappa) & -2\kappa \\  
   \end{array} 
 \right)
 \left(
   \begin{array}{c}
      T_{1} \\
      T_{2} \\
      \vdots \\
      T_{n} \\
   \end{array} 
 \right)
 =  
 \left(
   \begin{array}{c}
      Q(0) + \kappa T_{0} \\
      Q(h) \\
      Q(2h) \\
      \vdots \\
      Q((n-1)h) \\
      2\frac{\kappa_{v}}{\kappa_{v}}T_{out} \\
   \end{array} 
 \right)  
\]

Ответы [ 4 ]

5 голосов
/ 10 октября 2009

Разделители \[ \] предназначены для однолинейных уравнений. В базовом LaTeX вы можете использовать среду eqnarray для составления многострочных уравнений или использовать среду multline из пакета amsmath. Среда eqnarray позволяет использовать \\ для разрывов строк, но если вы хотите, чтобы уравнение было пронумеровано, вам также необходимо использовать команду \nonumber для всех строк, кроме одной, чтобы предотвратить нумерацию всех строк. Среда multline предназначена для одного уравнения, поэтому она всегда создает только одно число уравнений.

РЕДАКТИРОВАТЬ: Это не то, что я обычно делал бы, но так как ваше уравнение, кажется, помещается в одну строку, вот код, который я использовал, чтобы получить вещи, охватывающие всю строку:

\newenvironment{widefig}[1][1in]{%
  \begin{list}{}{\setlength{\itemindent}{-#1}%
      \setlength{\leftmargin}{0pt}%
      \setlength{\rightmargin}{0pt}}\item
  }{%
  \end{list}
}

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

Как я изменил ваш пример, заключив его в пару \begin{widefig}[1.5in] - \end{widefig}, добавив

\relpenalty=10000
\binoppenalty=10000

после строки \begin{widefig}, чтобы запретить разрыв строки внутри формулы, и изменил \[\] на \(\), поскольку среда widefig работает только для встроенного, а не для отображения. Вам также может понадобиться немного поиграть с количеством места в строке \begin, чтобы уравнение было правильно отцентрировано.

Однако я не считаю, что это очень хороший стиль набора текста, поэтому вы должны быть очень осторожны с его использованием и, желательно, стараться, чтобы все было в пределах поля. Например, в этом случае вы также можете избавиться от нескольких столбцов в вашей первой матрице; обычный стандарт состоит в том, чтобы иметь только первый, второй и последний, но вы, вероятно, также хотите, чтобы строки и столбцы были от второго к последнему, поскольку изменения в значениях для последней строки и столбца немного удивляют. Если бы вы это сделали, это могло бы подойти (но я не проверял).

1 голос
/ 10 октября 2009

Если вы действительно не хотите разбивать уравнение на строки и , вы не против разбить ширину текста, вы можете попробовать что-то вроде: (не проверено)

\centerline{$\displaystyle <long equation here>$}
0 голосов
/ 10 октября 2009

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

0 голосов
/ 10 октября 2009

не могли бы вы добавить разрыв строки, используя \\? Начальный центр выравнивает только такие вещи, как фигуры, это не повлияет на линейные уравнения.

Вы можете посмотреть руководство Американского математического общества по их пакетам FTP: //ftp.ams.org/pub/tex/doc/amsmath/amsldoc.pdf

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