Журнал LinuxFormat - перейти на главную

LXF85:LaTeX

Материал из Linuxformat
(Различия между версиями)
Перейти к: навигация, поиск
(to be continued…)
 
м ({{Цикл/LaTeX}})
 
(не показаны 2 промежуточные версии 1 участника)
Строка 1: Строка 1:
==Компьютерные Teхнологии: Учимся использовать культовую систему вёрстки LaTeX==
+
{{Цикл/LaTeX}}
===Набор математики: снова в школу===
+
<big>ЧАСТЬ 3: Успешно пройдя две ступени посвящения, вы готовы двинуться в путь к вершинам мастерства. Вашим проводником в этом нелегком деле будет Евгений Балдин.</big>
ЧАСТЬ 3: Успешно пройдя две ступени посвящения, вы готовы двинуться в путь к вершинам мастерства. Вашим проводником в этом нелегком деле будет '''Евгений Балдин'''.
+
  
<blockquote>Полиграфисты относят математические работы к каторжным…  
+
== Компьютерные Teхнологии: Учимся использовать культовую систему вёрстки LaTeX ==
 +
<blockquote>Полиграфисты относят математические работы к каторжным…
  
Д.Э. Кнут. Математическая типография.</blockquote>
+
Д. Э. Кнут. Математическая типография.</blockquote>
  
 +
=== Набор математики: снова в школу ===
 
Иногда от незнакомых с TeXнологиями людей приходится слышать, что LaTeX годится только для набора математики. При знакомстве же с истинными TeXнологиями возникает понимание, что LaTeX настолько хорош, что с его помощью можно набирать даже математику.
 
Иногда от незнакомых с TeXнологиями людей приходится слышать, что LaTeX годится только для набора математики. При знакомстве же с истинными TeXнологиями возникает понимание, что LaTeX настолько хорош, что с его помощью можно набирать даже математику.
  
Набор математических формул всегда считался вершиной типографского искусства. Дело в том, что формулы, для концентрации информации и дополнительной выразительности по сравнению с обычным текстом, являются многоуровневыми. Д.Э. Кнут к своей программе компьютерной типографии создал и язык для описания формул. После короткого периода обучения пользователь в состоянии читать и набирать на этом языке формулы практически любой сложности.  
+
Набор математических формул всегда считался вершиной типографского искусства. Дело в том, что формулы, для концентрации информации и дополнительной выразительности по сравнению с обычным текстом, являются многоуровневыми. Д. Э. Кнут к своей программе компьютерной типографии создал и язык для описания формул. После короткого периода обучения пользователь в состоянии читать и набирать на этом языке формулы практически любой сложности.
  
LaTeX не единственная программная среда, использующая TeXнотацию. Эта же нотация рекомендуется при наборе всех скольконибудь сложных формул на страницах Википедии (http://ru.wikipedia.org статья «[[wikipedia:ru:Википедия:Формулы|Википедия:Формулы]]»).Становлению TeX как стандарта для набора формул в значительной степени поспособствовало Американское математическое сообщество (The American Mathematical Society – AMS), которое субсидировало разработку расширения  TeX, известного как  AMSTeX, в начале восьмидесятых годов прошлого столетия. В 1987 году наработки AMSTeX были добавлены в LaTeX в виде пакета amsmath. Вместе с amsmath в LaTeX было добавлено множество улучшений, позволяющих набирать действительно изощрённую математику. Поэтому при использовании в тексте математики в шапке документа следует в обязательном порядке загружать пакет amsmath:
+
LaTeX не единственная программная среда, использующая TeXнотацию. Эта же нотация рекомендуется при наборе всех сколько-нибудь сложных формул на страницах Википедии (http://ru.wikipedia.org статья «[[wikipedia:ru:Википедия:Формулы|Википедия:Формулы]]»).
\usepackage{amsmath}
+
  
В дальнейшем предполагается, что этот пакет уже загружен.Полностью описать все команды языка для набора формул в рамках короткой статьи нереально, так как математика, как и способы её представления, безгранична. Поэтому основное внимание будет уделено базовым правилам и русскому стилю в формулах. В любой сколько-нибудь большой книге по LaTeX будет полный список всех команд. Если серьёзно работать с математикой, то подобная книжка, в любом случае, понадобится.
+
Становлению TeX как стандарта для набора формул в значительной степени поспособствовало Американское математическое сообщество (The American Mathematical Society — AMS), которое субсидировало разработку расширения TeX, известного как AMSTeX, в начале восьмидесятых годов прошлого столетия. В 1987 году наработки AMSTeX были добавлены в LaTeX в виде пакета amsmath. Вместе с amsmath в LaTeX было добавлено множество улучшений, позволяющих набирать действительно изощрённую математику. Поэтому при использовании в тексте математики в шапке документа следует в обязательном порядке загружать пакет amsmath:
 +
<source lang="latex">\usepackage{amsmath}</source>
  
===Набор формул===
+
В дальнейшем предполагается, что этот пакет уже загружен. Полностью описать все команды языка для набора формул в рамках короткой статьи нереально, так как математика, как и способы её представления, безгранична. Поэтому основное внимание будет уделено базовым правилам и русскому стилю в формулах. В любой сколько-нибудь большой книге по LaTeX будет полный список всех команд. Если серьёзно работать с математикой, то подобная книжка, в любом случае, понадобится.
При формировании текста формулы подразделяются на строчные и выносные. Строчные формулы набираются внутри абзаца вместе текстом. По описанию формулы LaTeX создаёт бокс, который обрабатывается наравне с обычными текстовыми боксами. Как правило, строковые формулы это небольшие вставки, вроде E=mc2. Выносные или выключенные формулы выводятся за пределы абзаца.
+
  
Строчная формула в тексте ограничивается<ref>Есть более формальное оформление строчной формулы как окружения: \begin{math} «формула» \end{math}. Но, в силу понятных причин, никто подобное описание не использует.</ref> с помощью символа доллара $«формула»$ или с помощью команд-скобок \(«формула»\). При наборе предпочтительнее использовать второй вариант оформления, так как он позволяет легко определить, где начинается, а где кончается формула. «Долларовое» ($) окружение лучше тем, что оно чуть-чуть короче, кроме этого, команда $ крепкая<ref>Начав изучать команды LaTeX, довольно быстро сталкиваешься с понятиями «хрупкости»/«крепкости». «Крепкие» команды, в отличие от «хрупких», можно использовать в качестве аргументов других команд. С другой стороны, хрупкие команды тоже можно использовать как параметры, защитив их с помощью команды \protect. Эти понятия в большинстве своём пережитки прошлого и их постепенно изживают, но пока следует иметь их в виду.</ref>, в отличие от команд-скобок.
+
=== Набор формул ===
 +
При формировании текста формулы подразделяются на строчные и выносные. Строчные формулы набираются внутри абзаца вместе текстом. По описанию формулы LaTeX создаёт бокс, который обрабатывается наравне с обычными текстовыми боксами. Как правило, строковые формулы это небольшие вставки, вроде E=mc2. Выносные или выключенные формулы выводятся за пределы абзаца.
 +
 
 +
Строчная формула в тексте ограничивается<ref>Есть более формальное оформление строчной формулы как окружения: \begin{math} «формула» \end{math}. Но, в силу понятных причин, никто подобное описание не использует.</ref> с помощью символа доллара $«формула»$ или с помощью команд-скобок \(«формула»\). При наборе предпочтительнее использовать второй вариант оформления, так как он позволяет легко определить, где начинается, а где кончается формула. «Долларовое» ($) окружение лучше тем, что оно чуть-чуть короче, кроме этого, команда $ крепкая<ref>Начав изучать команды LaTeX, довольно быстро сталкиваешься с понятиями «хрупкости»/«крепкости». «Крепкие» команды, в отличие от «хрупких», можно использовать в качестве аргументов других команд. С другой стороны, хрупкие команды тоже можно использовать как параметры, защитив их с помощью команды \protect. Эти понятия в большинстве своём пережитки прошлого и их постепенно изживают, но пока следует иметь их в виду.</ref>, в отличие от команд-скобок.
  
 
Однострочные выносные формулы формируются с помощью окружения equation. Так как в этом случае формула вынесена за пределы абзаца, то её можно пронумеровать. Например:
 
Однострочные выносные формулы формируются с помощью окружения equation. Так как в этом случае формула вынесена за пределы абзаца, то её можно пронумеровать. Например:
  
 
{|
 
{|
|
+
|<source lang="latex">\begin{equation}
\begin{equation}
+
  \label{eq:math:ex1}
  \label{eq:math:ex1}
+
  \int\limits_{-\infty}^{\infty}
  \int\limits_{-\infty}^{\infty}
+
      e^{-x^2/2}dx=\sqrt{2\pi}
      e^{-x^2/2}dx=\sqrt{2\pi}
+
\end{equation}</source>
\end{equation}
+
|<math>\int\limits_{-\infty}^{\infty}e^{-x^2/2}dx=\sqrt{2\pi}</math>
|<math>\begin{equation}\label{eq:math:ex1}\int\limits_{-\infty}^{\infty}e^{-x^2/2}dx=\sqrt{2\pi}\end{equation}</math>
+
 
|}
 
|}
  
Нумерация формул удобна для того, чтобы позже в тексте на неё можно было легко сослаться с помощью команды \eqref{eq:math:1}<ref>Метка выставляется с помощью команды \label.</ref>.  
+
Нумерация формул удобна для того, чтобы позже в тексте на неё можно было легко сослаться с помощью команды \eqref{eq:math:1}<ref>Метка выставляется с помощью команды \label.</ref>.
Если же формул немного и не хочется никакой нумерации, то можно воспользоваться окружением equation*<ref>К equation добавляется звёздочка. Подобный приём в создании команд применяется  
+
Если же формул немного и не хочется никакой нумерации, то можно воспользоваться окружением equation*<ref>К equation добавляется звёздочка. Подобный приём в создании команд применяется
достаточно часто. Команда со * обычно не нумеруется и не отображается ни в каких  
+
достаточно часто. Команда со * обычно не нумеруется и не отображается ни в каких
автоматически составляемых списках.</ref>. При создании выключенной формулы размер шрифта для улучшения читаемости немного увеличивается. LaTeX имеет несколько стилей для оформления математических формул. При желании можно выбрать необходимый стиль вручную:
+
автоматически составляемых списках.</ref>. При создании выключенной формулы размер шрифта для улучшения читаемости немного увеличивается. LaTeX имеет несколько стилей для оформления математических формул. При желании можно выбрать необходимый стиль вручную:
* \displaystyle стиль, используемый для выносных формул,
+
* \displaystyle стиль, используемый для выносных формул,
* \textstyle стиль строчных формул,
+
* \textstyle стиль строчных формул,
* \scriptstyle в этом стиле набираются индексы,
+
* \scriptstyle в этом стиле набираются индексы,
* \scriptscriptstyle индексы второго уровня.
+
* \scriptscriptstyle индексы второго уровня.
  
С помощью этих команд можно увеличить размер шрифта для формул внутри абзаца, или заставить индексы выглядеть как базовые символы.  
+
С помощью этих команд можно увеличить размер шрифта для формул внутри абзаца, или заставить индексы выглядеть как базовые символы.
 
Например, сравните:
 
Например, сравните:
 
{|
 
{|
|
+
|<source lang="latex">\begin{equation*}
\begin{equation*}
+
  \frac{1}{1+
  \frac{1}{1+
+
  \frac{1}{1+
  \frac{1}{1+
+
  \frac{1}{1+
  \frac{1}{1+
+
  \frac{1}{2}}}}
  \frac{1}{2}}}}
+
\end{equation*}</source>
\end{equation*}
+
|<math>\frac{1}{1+\frac{1}{1+\frac{1}{1+\frac{1}{2}}}}</math>
|<math>\begin{equation*}\frac{1}{1+\frac{1}{1+\frac{1}{1+\frac{1}{2}}}}\end{equation*}</math>
+
 
|-
 
|-
+
<source lang="latex">\begin{equation*}
\begin{equation*}
+
  \frac{1}{\displaystyle 1+
  \frac{1}{\displaystyle 1+
+
  \frac{1}{\displaystyle 1+
  \frac{1}{\displaystyle 1+
+
  \frac{1}{\displaystyle 1+
  \frac{1}{\displaystyle 1+
+
  \frac{\displaystyle 1}
  \frac{\displaystyle 1}
+
  {\displaystyle 2}}}}
  {\displaystyle 2}}}}
+
\end{equation*}</source>
\end{equation*}
+
|<math>\frac{1}{\displaystyle 1+\frac{1}{\displaystyle 1+\frac{1}{\displaystyle 1+\frac{\displaystyle 1}{\displaystyle 2}}}}</math>
|<math> \begin{equation*}\frac{1}{\displaystyle 1+\frac{1}{\displaystyle 1+\frac{1}{\displaystyle 1+\frac{\displaystyle 1}{\displaystyle 2}}}}\end{equation*}</math>
+
 
|}
 
|}
  
Пробелы в формулах отмечают только конец команды, а сами по себе смысла не имеют LaTeX, как правило, гораздо лучше знает, как сформировать результат.  
+
Пробелы в формулах отмечают только конец команды, а сами по себе смысла не имеют LaTeX, как правило, гораздо лучше знает, как сформировать результат.
  
===Кириллица в формулах===
+
=== Кириллица в формулах ===
Всё дело в имеющихся шрифтах они красивые, разнообразные, но в большинстве своём англоязычные. В настоящее время кириллические математические шрифты в «дикой природе» отсутствуют, поэтому приходится пользоваться их текстовыми версиями.
+
Всё дело в имеющихся шрифтах они красивые, разнообразные, но в большинстве своём англоязычные. В настоящее время кириллические математические шрифты в «дикой природе» отсутствуют, поэтому приходится пользоваться их текстовыми версиями.
  
Стиль mathtext (пакет t2), позволяет использовать кириллицу в формулах без дополнительных ухищрений. Стиль может быть подключён с опцией warn в этом случае он сообщает обо всех случаях использования кириллических букв в формулах. mathtext следует загружать до babel и/или fontenc.
+
Стиль mathtext (пакет t2), позволяет использовать кириллицу в формулах без дополнительных ухищрений. Стиль может быть подключён с опцией warn в этом случае он сообщает обо всех случаях использования кириллических букв в формулах. mathtext следует загружать до babel и/или fontenc.
 +
<source lang="latex">\usepackage[warn]{mathtext}</source>
  
\usepackage[warn]{mathtext}
+
Здесь для создания выключенной формулы используется команда \["формула"\] — краткий аналог окружения equation*. В отличие от латиницы, русские буквы в формулах печатаются прямым шрифтом — это было сделано специально. Чтобы изменить это поведение, в преамбуле следует добавить команду для переопределения шрифта:
 +
<source lang="latex">\DeсlareSуmbolFont{T2Aletters}{T2A}{cmr}{m}{it}</source>
  
{|
+
Стиль amstext (загружается автоматически при загрузке amsmath) определяет команду \text, которая позволяет вставлять в формулу
|
+
обычный текст. Он может быть и русским. Преимущество такого подхода заключается в том, что внутри команды \text пробелы воспринимаются как нормальные символы и слова не сливаются. Использование \text предпочтительно и для целей переносимости.
\[
+
v_{ср}=\frac{S_{конец}-S_{начало}}
+
{\delta t}
+
\]
+
|<math>\[v_{ср}=\frac{S_{конец}-S_{начало}}{\delta t}\]</math>
+
|}
+
  
Здесь для создания выключенной формулы используется команда \[«формула»\] – краткий аналог окружения equation*. В отличие от латиницы, русские буквы в формулах печатаются прямым шрифтом – это было сделано специально. Чтобы изменить это поведение, в преамбуле следует добавить команду для переопределения шрифта:
+
=== Школьная математика ===
\DeсlareSуmbolFont{T2Aletters}{T2A}{cmr}{m}{it}
+
Математика в школе — это явление, через которое проходит каждый. Именно поэтому фактически любой вменяемый россиянин умеет обращаться с дробями, знает теорему Пифагора, с лёгкостью решает квадратные уравнения и что-то слышал про интеграл и производную. Разберёмся со всем этим поподробнее.
 
+
Стиль amstext (загружается автоматически при загрузке amsmath)
+
определяет команду  \text, которая позволяет вставлять в формулу
+
обычный текст. Он может быть и русским:
+
  
 +
==== Индексы ====
 +
Букв в латинском алфавите не так уж и много, а научных понятий — без числа. Один из способов отличать обозначения друг от друга — это индексы, как верхние, так и нижние:
 
{|
 
{|
|
+
|<source lang="latex">\[A_{\text{lower index}}\quad
\[v_{ср}=
+
  B^{\text{upper index}}\quad
\frac{\text{конец пути}-
+
  C_n^k\]</source>
  \text{начало пути}}
+
|<math>A_{\text{lower index}}\quad B^{\text{upper index}}\quad C_n^k</math>
  {\text{время в пути}}\]
+
|<math>\[v_{ср}=\frac{\text{конец пути}-\text{начало пути}}{\text{время в пути}}\]</math>
+
 
|}
 
|}
  
Преимущество такого подхода заключается в том, что внутри команды  \text пробелы воспринимаются как нормальные символы и слова не сливаются. Использование \text предпочтительно и для целей переносимости.
+
Обратите внимание, что если в индексе ровно один знак, то фигурные скобки вокруг него можно и нужно опустить. Теперь мы можем записать теорему Пифагора: \(+=\)
 
+
===Школьная математика===
+
Математика в школе – это явление, через которое проходит каждый. Именно поэтому фактически любой вменяемый россиянин умеет обращаться с дробями, знает теорему Пифагора, с лёгкостью решает квадратные уравнения и что-то слышал про интеграл и производную. Разберёмся со всем этим поподробнее.
+
 
+
====Индексы====
+
Букв в латинском алфавите не так уж  и много, а научных понятий – без числа. Один из способов отличать обозначения друг от друга – это индексы, как верхние, так и нижние:
+
{|
+
|
+
\[A_{\text{нижний индекс}}\quad
+
B^{\text{верхний индекс}}\quad
+
C_n^k\]
+
|<math>\[A_{\text{нижний индекс}}\quadB^{\text{верхний индекс}}\quadC_n^k\]</math>
+
|}
+
 
+
Обратите внимание, что если в индексе ровно один знак, то фигур-
+
ные скобки вокруг него можно и нужно опустить. Теперь мы можем  
+
записать теорему Пифагора: \(a^2+b^2=c^2\)
+
 
<math>a^2+b^2=c^2</math>
 
<math>a^2+b^2=c^2</math>
  
====Математические символы====
+
==== Математические символы ====
 
Кроме символов латиницы и кириллицы, математики используют множество самых разнообразных значков, да и латиница не так уж проста. Если воспользоваться пакетом amsfonts, то она может стать такой:
 
Кроме символов латиницы и кириллицы, математики используют множество самых разнообразных значков, да и латиница не так уж проста. Если воспользоваться пакетом amsfonts, то она может стать такой:
 
{|
 
{|
|
+
|<source lang="latex">\begin{itemize}
\begin{itemize}
+
 
   \item \(ABCD\) "--- обычной,
 
   \item \(ABCD\) "--- обычной,
 
   \item \(\mathbf{ABCD}\) "--- жирной,
 
   \item \(\mathbf{ABCD}\) "--- жирной,
 
   \item \(\mathbb{ABCD}\) "--- ажурной,
 
   \item \(\mathbb{ABCD}\) "--- ажурной,
 
   \item \(\mathcal{ABCD}\) "---прописной.
 
   \item \(\mathcal{ABCD}\) "---прописной.
  \end{itemize}
+
  \end{itemize}</source>
|<math>\begin{itemize}\item \(ABCD\)\item \(\mathbf{ABCD}\)\item \(\mathbb{ABCD}\)\item \(\mathcal{ABCD}\)\end{itemize}</math>
+
|
 +
* <math>ABCD</math>
 +
* <math>\mathbf{ABCD}</math>
 +
* <math>\mathbb{ABCD}</math>
 +
* <math>\mathcal{ABCD}</math>
 
|}
 
|}
  
Это далеко не все возможные шрифтовые стили которые можно применять в математической моде, но лучше особо не перегружать  
+
Это далеко не все возможные шрифтовые стили которые можно применять в математической моде, но лучше особо не перегружать
 
формулы всякой «готикой» (например, \mathfrak). Не единой латиницей жив математик. Традиционно, везде, где только можно, используются греческие буквы.
 
формулы всякой «готикой» (например, \mathfrak). Не единой латиницей жив математик. Традиционно, везде, где только можно, используются греческие буквы.
  
Строка 160: Строка 138:
 
  |}
 
  |}
  
В LaTeX присутствует полный набор и, за исключением трёх букв, начертание вполне привычное. Для исправления непривычных начертаний эти буквы были переопределены с помощью пакета amssymb:  
+
В LaTeX присутствует полный набор и, за исключением трёх букв, начертание вполне привычное. Для исправления непривычных начертаний эти буквы были переопределены с помощью пакета amssymb:
%Переопределение kappa epsilon phi на русский лад
+
<source lang="latex">
\renewcommand{\kappa}{\varkappa}
+
%Переопределение kappa epsilon phi на русский лад
\renewcommand{\epsilon}{\varepsilon}
+
\renewcommand{\kappa}{\varkappa}
\renewcommand{\phi}{\varphi}
+
\renewcommand{\epsilon}{\varepsilon}
 +
\renewcommand{\phi}{\varphi}
 +
</source>
  
Спецсимволов в LaTeX великое множество. В стандартной поставке TeX Live идёт «Всеобъемлющий список сиволов LaTeX» (The Comprehensive LaTeX Symbols List файл symbols-a4.pdf) в котором перечислено 3300 распространённых символов, применяемых пользователями LaTeX. Почти наверняка любой операнд, который вам нужен, там уже есть. Ниже будет перечислена только та часть символов, которая, с моей точки зрения, может пригодиться в наборе школьной математики. Пакет amssymb для использования обязателен.
+
Спецсимволов в LaTeX великое множество. В стандартной поставке TeX Live идёт «Всеобъемлющий список сиволов LaTeX» ([http://www.ctan.org/get/info/symbols/comprehensive/symbols-a4.pdf The Comprehensive LaTeX Symbols List файл symbols-a4.pdf]) в котором перечислено 5000 распространённых символов, применяемых пользователями LaTeX. Почти наверняка любой операнд, который вам нужен, там уже есть. Ниже будет перечислена только та часть символов, которая, с моей точки зрения, может пригодиться в наборе школьной математики. Пакет amssymb для использования обязателен.
  
  
Строка 216: Строка 196:
  
 
Для соответствия русским традициям 2 символа были переопределены:
 
Для соответствия русским традициям 2 символа были переопределены:
%Переопределение le ge на русский лад
+
<source lang="latex">
\renewcommand{\le}{\leqslant}
+
%Переопределение le ge на русский лад
\renewcommand{\ge}{\geqslant}
+
\renewcommand{\le}{\leqslant}
 +
\renewcommand{\ge}{\geqslant}
 +
</source>
  
====Дроби====
+
==== Дроби ====
Дроби формируются с помощью команды \frac<ref>От слова fraction «дробь».</ref>:
+
Дроби формируются с помощью команды \frac<ref>От слова fraction «дробь».</ref>:
 
{|
 
{|
|
+
|<source lang="latex"> \[
\[
+
   fraction=\frac{numerator}{denominator}
   дробь=\frac{числитель}{знаменатель}
+
  \]</source>
  \]
+
|<math>fraction=\frac{numerator}{denominator}</math>
|<math>дробь=\frac{числитель}{знаменатель}</math>
+
 
|}
 
|}
  
Как и практически вся математика в LaTeX, дробь записывается так, как читается само выражение.  
+
Как и практически вся математика в LaTeX, дробь записывается так, как читается само выражение.
  
====Корни====
+
==== Корни ====
Для рисования знака корня используется команда  
+
Для рисования знака корня используется команда
\sqrt[степень]{«подкоренное выражение»}
+
<source lang="latex">\sqrt[степень]{«подкоренное выражение»}</source>
  
 
Степень можно упустить. В этом случае рисуется обычный квадратный корень.
 
Степень можно упустить. В этом случае рисуется обычный квадратный корень.
  
 
{|
 
{|
|
+
|<source lang="latex">\overline{
\[
+
  \underline{\Large
\overline{
+
    \sqrt[3]{a}+\sqrt[2]{b}+\sqrt[99]{g}
\underline{\Large
+
  }
\sqrt[3]{a}+\sqrt[2]{b}+\sqrt[99]{g}
+
}</source>
}
+
|<math>\overline{\underline{\sqrt[3]{a}+\sqrt[2]{b}+\sqrt[99]{g}}}</math>
}
+
\]
+
|<math>\overline{\underline{\Large\sqrt[3]{a}+\sqrt[2]{b}+\sqrt[99]{g}}}</math>
+
 
|}
 
|}
  
 
Обратите внимание, что знак корня размещается в соответствии с размерами подкоренного выражения. Если в выражении присутствует только один корень, то это самое разумное поведение, но в случае нескольких корней, как в приведённом выше примере, не помешает выравнивание.
 
Обратите внимание, что знак корня размещается в соответствии с размерами подкоренного выражения. Если в выражении присутствует только один корень, то это самое разумное поведение, но в случае нескольких корней, как в приведённом выше примере, не помешает выравнивание.
  
Для выравнивания по высоте используется команда \mathstrut<ref>От английского strut «подпорка» или «страта».</ref>. В  
+
Для выравнивания по высоте используется команда \mathstrut<ref>От английского strut «подпорка» или «страта».</ref>. В
 
результате её применения вставляется невидимый символ нулевой толщины и высоты, в точности равной высоте круглой скобки:
 
результате её применения вставляется невидимый символ нулевой толщины и высоты, в точности равной высоте круглой скобки:
  
 
{|
 
{|
|
+
|<source lang="latex">\[\Large
\[\Large
+
  \sqrt[3]{\mathstrut a}+
  \sqrt[3]{\mathstrut a}+
+
  \sqrt[2]{\mathstrut b}+
  \sqrt[2]{\mathstrut b}+
+
  \sqrt[99]{\mathstrut g}
  \sqrt[99]{\mathstrut g}
+
\]</source>
\]
+
|<math>\sqrt[3]{a}+\sqrt[2]{b}+\sqrt[99]{g}</math>
|<math>\[\Large\sqrt[3]{\mathstrut a}+\sqrt[2]{\mathstrut b}+\sqrt[99]{\mathstrut g}\]</math>
+
 
|}
 
|}
  
====Квадратное уравнение====
+
==== Квадратное уравнение ====
И, наконец, вершина школьной математики это решение квадратного  
+
И, наконец, вершина школьной математики это решение квадратного
уравнения ax<sup>2</sup>+bx+c=0:
+
уравнения ax²+bx+c=0:
  
 
{|
 
{|
|
+
|<source lang="latex">\[
\[
+
  x_{1,2}=\frac{-b\pm\sqrt{b^2-4ac}}{2a}
  x_{1,2}=\frac{-b\pm\sqrt{b^2-4ac}}{2a}
+
\]</source>
\]
+
 
|<math>x_{1,2}=\frac{-b\pm\sqrt{b^2-4ac}}{2a}</math>
 
|<math>x_{1,2}=\frac{-b\pm\sqrt{b^2-4ac}}{2a}</math>
 
|}
 
|}
Строка 279: Строка 255:
 
Теперь можно смело садиться за написание методичек.
 
Теперь можно смело садиться за написание методичек.
  
===Функции===
+
=== Функции ===
Все символы в математической моде печатаются курсивом, поэтому названия функций, для выделения, печатаются прямым шрифтом. Кроме смены шрифта, функции с обоих сторон должны правильно «отбиваться» пробелами, иначе будет некрасиво. При загрузке русского языка с помощью пакета babel кроме стандартных имён функций доопределяется несколько сокращений, применяемых в русскоязычной литературе. Среди часто употребляемых функций можно упомянуть:  
+
Все символы в математической моде печатаются курсивом, поэтому названия функций, для выделения, печатаются прямым шрифтом. Кроме смены шрифта, функции с обоих сторон должны правильно «отбиваться» пробелами, иначе будет некрасиво. При загрузке русского языка с помощью пакета babel кроме стандартных имён функций доопределяется несколько сокращений, применяемых в русскоязычной литературе. Среди часто употребляемых функций можно упомянуть:
cos, arccos, sin, arcsin, tg, arctg, ctg, arcctg, sh, ch, th, cth, exp, ln, log, lim, min и max. В математической моде эти функции можно использовать  
+
cos, arccos, sin, arcsin, tg, arctg, ctg, arcctg, sh, ch, th, cth, exp, ln, log, lim, min и max. В математической моде эти функции можно использовать в качестве команд:
в качестве команд:
+
  
 
{|
 
{|
|
+
|<source lang="latex">\begin{equation*}
\begin{equation*}
+
  \begin{split}
  \begin{split}
+
  &\log_2 10=\ln10/\ln2\simeq3.32 \\
  &\log_2 10=\ln10/\ln2\simeq3.32 \\
+
  &\lim_{x\to0}\frac{\sin x}{x}=1\\
  &\lim_{x\to0}\frac{\sin x}{x}=1\\
+
  &(a+b)^n=\sum_{k=1}^n C^k_n a^kb^{n-k}
  &(a+b)^n=\sum_{k=1}^n C^k_n a^kb^{n-k}
+
 
  \end{split}
 
  \end{split}
\end{equation*}
+
\end{equation*}</source>
|<math> \begin{equation*}\begin{split}&\log_2 10=\ln10/\ln2\simeq3.32 \\&\lim_{x\to0}\frac{\sin x}{x}=1\\&(a+b)^n=\sum_{k=1}^n C^k_n a^kb^{n-k}\end{split}\end{equation*}</math>
+
|<math>\log_2 10=\ln10/\ln2\simeq3.32 \lim_{x\to0}\frac{\sin x}{x}=1 (a+b)^n=\sum_{k=1}^n C^k_n a^kb^{n-k}</math>
 
|}
 
|}
  
Обратите внимание на обработку индексов для функции log (логарифм) и lim (предел). Для доопределения новых функций правильнее  
+
Обратите внимание на обработку индексов для функции log (логарифм) и lim (предел). Для доопределения новых функций правильнее всего воспользоваться в преамбуле командой DeclareMathOperator:
всего воспользоваться в преамбуле командой DeclareMathOperator:
+
<source lang="latex">
%В преамбуле - определение новых функций
+
%В преамбуле определение новых функций
 
\DeclareMathOperator{\log-like}{log-like}
 
\DeclareMathOperator{\log-like}{log-like}
 
\DeclareMathOperator*{\lim-like}{lim-like}
 
\DeclareMathOperator*{\lim-like}{lim-like}
В зависимости от варианта команды индексы отображаются как  
+
</source>
для логарифма (команда без звёздочки) или как для предела (команда  
+
 
со звёздочкой).
+
В зависимости от варианта команды индексы отображаются как для логарифма (команда без звёздочки) или как для предела (команда со звёздочкой).
Производная и интеграл
+
 
В старших классах, в конце обучения, обычно чуть-чуть касаются поня-
+
==== Производная и интеграл ====
тий интегрирования и дифференцирования. Возможно, для того, чтобы  
+
В старших классах, в конце обучения, обычно чуть-чуть касаются понятий интегрирования и дифференцирования. Возможно, для того, чтобы
правильно подсчитать сдачу в магазине, эти знания не являются необ-
+
правильно подсчитать сдачу в магазине, эти знания не являются необходимыми. Но для изучения физики и, как следствие, химии и биологии без интегралов никак поверьте мне на слово.
ходимыми. Но для изучения физики и, как следствие, химии и биоло-
+
 
гии без интегралов никак поверьте мне на слово.  
+
Производная обычно отмечается штрихом. В физике, производная по времени выделяется точкой, для того чтобы отличать её от производной по координате. Можно честно написать \frac{d F(x)}{dx}. Для частной производной вместо буквы d используется спецсимвол \partial:
Производная обычно отмечается штрихом. В физике, производная  
+
{|
по времени выделяется точкой, для того чтобы отличать её от произ-
+
|<source lang="latex">\[ f'\quad f''\quad
водной по координате. Можно честно написать \frac{d F(x)}{dx}. Для час-
+
\dot{f}\quad \ddot{f} \quad
тной производной вместо буквы d используется спецсимвол \partial:
+
\frac{d f}{d x}\quad
 +
\frac{\partial f}{\partial x} \]</source>
 +
|<math>f'\quad f''\quad \dot{f}\quad \ddot{f} \quad \frac{d f}{d x}\quad \frac{\partial f}{\partial x}</math>
 +
|}
 +
 
 +
Взятие производной есть обратная операция по отношению к интегрированию:
 +
{|
 +
|<source lang="latex">\[
 +
  \frac{d}{dx}\int F(x) dx=F(x)
 +
\]</source>
 +
|<math>\frac{d}{dx}\int F(x) dx=F(x)</math>
 +
|}
 +
 
 +
Приглядевшись к этому примеру, можно отметить, что, вопреки русским математическим традициям, представленный здесь интеграл не прямой, а наклонный. Это можно исправить, например, загрузив пакет wasysym с опцией integrals. К сожалению, получающиеся интегралы «не смотрятся», поэтому пока лучше использовать начертания по умолчанию в надежде, что в будущем ситуация изменится к лучшему.
 +
 
 +
Неопределённый интеграл — это хорошо, а определённый — лучше. Качественное оформление пределов интегрирования важно для восприятия формулы.
 +
{|
 +
|<source lang="latex">\[
 +
  \int_0^{\infty}\quad
 +
  \int\limits_0^{\infty}\quad
 +
  \sum_{i=1}^n\quad
 +
  \sum\nolimits_{i=1}^n\quad
 +
\]</source>
 +
|<math>\int_0^{\infty}\quad \int\limits_0^{\infty}\quad \sum_{i=1}^n\quad \sum\nolimits_{i=1}^n\quad</math>
 +
|}
 +
 
 +
По умолчанию пределы размещаются справа от интеграла. Ситуацию можно поправить с помощью команды \limits. Команда \nolimits делает всё ровно наоборот.
 +
 
 +
==== Скобки ====
 +
Для визуальной группировки символов внутри формулы скобки — вещь незаменимая. Особенно здорово, если скобки автоматически подгоняют свой размер под выражение, которое они окружают. Парные команды \left и \right включают режим подобной подстройки:
 +
{|
 +
|<source lang="latex">\[\left(
 +
\left[
 +
  \left\langle
 +
  \left\{
 +
    \left\uparrow
 +
    \left\lceil
 +
      \left|
 +
      \left\lfloor
 +
        \text{text}^{10}
 +
      \right\rfloor^9
 +
      \right|^8
 +
    \right\rceil^7
 +
    \right\downarrow^6
 +
  \right\}^5
 +
  \right\rangle^4
 +
\right]^3
 +
\right)^2\]</source>
 +
|<math>\left(\left[\left\langle\left\{\left\uparrow\left\lceil\left|\left\lfloor\text{text}^{10}\right\rfloor^9\right|^8\right\rceil^7\right\downarrow^6\right\}^5\right\rangle^4\right]^3\right)^2</math>
 +
|}
 +
 
 +
Эстеты, в зависимости от ситуации, могут добавить в конце команды модификатор позиционирования разделителя как левого — l (отбивка как для \left), правого — r (отбивка как для \right) и среднего — m.
 +
 
 +
==== Перенос формул ====
 +
В русскоязычной литературе принято, что при переносе строчной формулы на другую строку знак, по которому разрывается формула, дублируется на следующей строке. Например:
 +
<source lang="latex">a + b =
 +
= c</source>
 +
 
 +
Однако, по умолчанию этого не происходит. Проще всего решить проблему с помощью следующего макроса<ref>Рецепт от Евгения Миньковского из fido7.ru.tex</ref>, который необходимо определить в преамбуле:
 +
<source lang="latex">
 +
%перенос формул в тексте
 +
\newcommand*{\hm}[1]{#1\nobreak\discretionary{}%
 +
{\hbox{$\mathsurround=0pt #1$}}{}}
 +
</source>
 +
 
 +
Здесь определена команда \hm, которую следует добавлять в местах потенциального переноса формулы, примерно, так: \(a + b \hm{=} c\).
 +
Сделать это можно во время окончательной доводки текста. В любом случае, для полировки рукописи ручная работа необходима.
 +
 
 +
=== Формулы для Вики ===
 +
[[Изображение:LXF85-Latex-1.png|thumb|Сделайте так, чтобы Ваш форум или Вики заговорили на языке LaTeX.]]
 +
«Движок», который использует Википедия для отображения формул, называется WikiTeX. Основной сайт проекта, естественно, представляет из себя вики и расположен по адресу http://wikisophia.org/ Используя это программное обеспечение в связке с LaTeX, можно не только сносно отображать математические формулы на WWW без особых ухищрений, но и отрисовывать шахматные партии, химические формулы, фейнмановские диаграммы, нотные записи и многое другое. TeX разрабатывался как программа, которая может формировать изображения для разных устройств, даже для тех, о которых на момент создания этого текстового процессора профессору Д. Э. Кнуту ничего не было известно. Поэтому TeX обретается в самых неожиданных местах.
  
to be continued…
+
=== Заключение ===
 +
Изложенных правил и приёмов вполне хватит для набора текстов в рамках школьной математики. Для более изощрённых формул требуются более продвинутые приёмы и конструкции. Всё это будет, но чуть позже.
  
== Примечания==
+
== Примечания ==
 
<references/>
 
<references/>

Текущая версия на 23:34, 17 марта 2008

LaTeX

Листинги и текст на сайте автора

ЧАСТЬ 3: Успешно пройдя две ступени посвящения, вы готовы двинуться в путь к вершинам мастерства. Вашим проводником в этом нелегком деле будет Евгений Балдин.

Содержание

[править] Компьютерные Teхнологии: Учимся использовать культовую систему вёрстки LaTeX

Полиграфисты относят математические работы к каторжным… Д. Э. Кнут. Математическая типография.

[править] Набор математики: снова в школу

Иногда от незнакомых с TeXнологиями людей приходится слышать, что LaTeX годится только для набора математики. При знакомстве же с истинными TeXнологиями возникает понимание, что LaTeX настолько хорош, что с его помощью можно набирать даже математику.

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

LaTeX — не единственная программная среда, использующая TeXнотацию. Эта же нотация рекомендуется при наборе всех сколько-нибудь сложных формул на страницах Википедии (http://ru.wikipedia.org статья «Википедия:Формулы»).

Становлению TeX как стандарта для набора формул в значительной степени поспособствовало Американское математическое сообщество (The American Mathematical Society — AMS), которое субсидировало разработку расширения TeX, известного как AMSTeX, в начале восьмидесятых годов прошлого столетия. В 1987 году наработки AMSTeX были добавлены в LaTeX в виде пакета amsmath. Вместе с amsmath в LaTeX было добавлено множество улучшений, позволяющих набирать действительно изощрённую математику. Поэтому при использовании в тексте математики в шапке документа следует в обязательном порядке загружать пакет amsmath:

\usepackage{amsmath}

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

[править] Набор формул

При формировании текста формулы подразделяются на строчные и выносные. Строчные формулы набираются внутри абзаца вместе текстом. По описанию формулы LaTeX создаёт бокс, который обрабатывается наравне с обычными текстовыми боксами. Как правило, строковые формулы это небольшие вставки, вроде E=mc2. Выносные или выключенные формулы выводятся за пределы абзаца.

Строчная формула в тексте ограничивается[1] с помощью символа доллара $«формула»$ или с помощью команд-скобок \(«формула»\). При наборе предпочтительнее использовать второй вариант оформления, так как он позволяет легко определить, где начинается, а где кончается формула. «Долларовое» ($) окружение лучше тем, что оно чуть-чуть короче, кроме этого, команда $ крепкая[2], в отличие от команд-скобок.

Однострочные выносные формулы формируются с помощью окружения equation. Так как в этом случае формула вынесена за пределы абзаца, то её можно пронумеровать. Например:

\begin{equation}
  \label{eq:math:ex1}
  \int\limits_{-\infty}^{\infty}
      e^{-x^2/2}dx=\sqrt{2\pi}
\end{equation}
<math>\int\limits_{-\infty}^{\infty}e^{-x^2/2}dx=\sqrt{2\pi}</math>

Нумерация формул удобна для того, чтобы позже в тексте на неё можно было легко сослаться с помощью команды \eqref{eq:math:1}[3]. Если же формул немного и не хочется никакой нумерации, то можно воспользоваться окружением equation*[4]. При создании выключенной формулы размер шрифта для улучшения читаемости немного увеличивается. LaTeX имеет несколько стилей для оформления математических формул. При желании можно выбрать необходимый стиль вручную:

  • \displaystyle — стиль, используемый для выносных формул,
  • \textstyle — стиль строчных формул,
  • \scriptstyle — в этом стиле набираются индексы,
  • \scriptscriptstyle — индексы второго уровня.

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

\begin{equation*}
  \frac{1}{1+
  \frac{1}{1+
  \frac{1}{1+
  \frac{1}{2}}}}
\end{equation*}
<math>\frac{1}{1+\frac{1}{1+\frac{1}{1+\frac{1}{2}}}}</math>
и
\begin{equation*}
  \frac{1}{\displaystyle 1+
  \frac{1}{\displaystyle 1+
  \frac{1}{\displaystyle 1+
  \frac{\displaystyle 1}
  {\displaystyle 2}}}}
\end{equation*}
<math>\frac{1}{\displaystyle 1+\frac{1}{\displaystyle 1+\frac{1}{\displaystyle 1+\frac{\displaystyle 1}{\displaystyle 2}}}}</math>

Пробелы в формулах отмечают только конец команды, а сами по себе смысла не имеют — LaTeX, как правило, гораздо лучше знает, как сформировать результат.

[править] Кириллица в формулах

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

Стиль mathtext (пакет t2), позволяет использовать кириллицу в формулах без дополнительных ухищрений. Стиль может быть подключён с опцией warn — в этом случае он сообщает обо всех случаях использования кириллических букв в формулах. mathtext следует загружать до babel и/или fontenc.

\usepackage[warn]{mathtext}

Здесь для создания выключенной формулы используется команда \["формула"\] — краткий аналог окружения equation*. В отличие от латиницы, русские буквы в формулах печатаются прямым шрифтом — это было сделано специально. Чтобы изменить это поведение, в преамбуле следует добавить команду для переопределения шрифта:

\DeсlareSуmbolFont{T2Aletters}{T2A}{cmr}{m}{it}

Стиль amstext (загружается автоматически при загрузке amsmath) определяет команду \text, которая позволяет вставлять в формулу обычный текст. Он может быть и русским. Преимущество такого подхода заключается в том, что внутри команды \text пробелы воспринимаются как нормальные символы и слова не сливаются. Использование \text предпочтительно и для целей переносимости.

[править] Школьная математика

Математика в школе — это явление, через которое проходит каждый. Именно поэтому фактически любой вменяемый россиянин умеет обращаться с дробями, знает теорему Пифагора, с лёгкостью решает квадратные уравнения и что-то слышал про интеграл и производную. Разберёмся со всем этим поподробнее.

[править] Индексы

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

\[A_{\text{lower index}}\quad
 B^{\text{upper index}}\quad
 C_n^k\]
<math>A_{\text{lower index}}\quad B^{\text{upper index}}\quad C_n^k</math>

Обратите внимание, что если в индексе ровно один знак, то фигурные скобки вокруг него можно и нужно опустить. Теперь мы можем записать теорему Пифагора: \(a²+b²=c²\) <math>a^2+b^2=c^2</math>

[править] Математические символы

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

\begin{itemize}
   \item \(ABCD\) "--- обычной,
   \item \(\mathbf{ABCD}\) "--- жирной,
   \item \(\mathbb{ABCD}\) "--- ажурной,
   \item \(\mathcal{ABCD}\) "---прописной.
 \end{itemize}
  • <math>ABCD</math>
  • <math>\mathbf{ABCD}</math>
  • <math>\mathbb{ABCD}</math>
  • <math>\mathcal{ABCD}</math>

Это далеко не все возможные шрифтовые стили которые можно применять в математической моде, но лучше особо не перегружать формулы всякой «готикой» (например, \mathfrak). Не единой латиницей жив математик. Традиционно, везде, где только можно, используются греческие буквы.

Греческие символы
Буква Команда Буква Команда Буква Команда
<math>\Alpha~\alpha</math> \Alpha \alpha <math>\Iota~\iota</math> \Iota \iota <math>\Sigma~\sigma</math> \Sigma \sigma
<math>\Beta~\beta</math> \Beta \beta <math>\Kappa~\kappa</math> \Kappa \kappa <math>~\varsigma</math> \varsigma
<math>\Gamma~\gamma</math> \Gamma \gamma <math>\Lambda~\lambda</math> \Lambda \lambda <math>\Tau~\tau</math> \Tau \tau
<math>\Delta~\delta</math> \Delta \delta <math>\Mu~\mu</math> \Mu \mu <math>\Upsilon~\upsilon</math> \Upsilon \upsilon
<math>\Epsilon~\epsilon</math> \Epsilon \epsilon <math>\Nu~\nu</math> \Nu \nu <math>\Phi~\phi</math> \Phi \phi
<math>~\varepsilon</math> \varepsilon <math>\Xi~\xi</math> \Xi \xi <math>\varphi</math> \varphi
<math>\Zeta~\zeta</math> \Zeta \zeta <math>\Pi~\pi</math> \Pi \pi <math>\Chi~\chi</math> \Chi \chi
<math>\Eta~\eta</math> \Eta \eta <math>\varpi</math> \varpi <math>\Psi~\psi</math> \Psi \psi
<math>\Theta~\theta</math> \Theta \theta <math>\Rho~\rho</math> \Rho \rho <math>\Omega~\omega</math> \Omega \omega
<math>\vartheta</math> \vartheta <math>\varrho</math> \varrho

В LaTeX присутствует полный набор и, за исключением трёх букв, начертание вполне привычное. Для исправления непривычных начертаний эти буквы были переопределены с помощью пакета amssymb:

%Переопределение kappa epsilon phi на русский лад
\renewcommand{\kappa}{\varkappa}
\renewcommand{\epsilon}{\varepsilon}
\renewcommand{\phi}{\varphi}

Спецсимволов в LaTeX великое множество. В стандартной поставке TeX Live идёт «Всеобъемлющий список сиволов LaTeX» (The Comprehensive LaTeX Symbols List — файл symbols-a4.pdf) в котором перечислено 5000 распространённых символов, применяемых пользователями LaTeX. Почти наверняка любой операнд, который вам нужен, там уже есть. Ниже будет перечислена только та часть символов, которая, с моей точки зрения, может пригодиться в наборе школьной математики. Пакет amssymb для использования обязателен.


«Школьные» символы
<math>\hat{a}</math> \hat{a} <math>\bar{a}</math> \bar{a} <math>\vec{a}</math> \vec{a} <math>\dot{a}</math> \dot{a} <math>\tilde{a}</math> \tilde{a}
<math>\pm</math> \pm <math>\mp</math> \mp <math>\times</math> \times <math>\cdot</math> \cdot <math>\div</math> \div
<math>\lor</math> \lor <math>\land</math> \land <math>\neg</math> \neg <math>\forall</math> \forall <math>\exists</math> \exists
<math>\le</math> \le <math>\ge</math> \ge <math>\ll</math> \ll <math>\gg</math> \gg <math>\neq</math> \neq
<math>\equiv</math> \equiv <math>\sim</math> \sim <math>\simeq</math> \simeq <math>\approx</math> \approx <math>\propto</math> \propto
<math>\parallel</math> \parallel <math>\perp</math> \perp <math>\angle</math> \angle <math>\triangle</math> \triangle <math>\sphericalangle</math> \sphericalangle
<math>\infty</math> \infty <math>\ell</math> \ell <math>\sum</math> \sum <math>\prod</math> \prod <math>\varnothing</math> \varnothing

Для соответствия русским традициям 2 символа были переопределены:

%Переопределение le ge на русский лад
\renewcommand{\le}{\leqslant}
\renewcommand{\ge}{\geqslant}

[править] Дроби

Дроби формируются с помощью команды \frac[5]:

 \[
   fraction=\frac{numerator}{denominator}
 \]
<math>fraction=\frac{numerator}{denominator}</math>

Как и практически вся математика в LaTeX, дробь записывается так, как читается само выражение.

[править] Корни

Для рисования знака корня используется команда

\sqrt[степень]{«подкоренное выражение»}

Степень можно упустить. В этом случае рисуется обычный квадратный корень.

\overline{
  \underline{\Large
    \sqrt[3]{a}+\sqrt[2]{b}+\sqrt[99]{g}
  }
}
<math>\overline{\underline{\sqrt[3]{a}+\sqrt[2]{b}+\sqrt[99]{g}}}</math>

Обратите внимание, что знак корня размещается в соответствии с размерами подкоренного выражения. Если в выражении присутствует только один корень, то это самое разумное поведение, но в случае нескольких корней, как в приведённом выше примере, не помешает выравнивание.

Для выравнивания по высоте используется команда \mathstrut[6]. В результате её применения вставляется невидимый символ нулевой толщины и высоты, в точности равной высоте круглой скобки:

\[\Large
  \sqrt[3]{\mathstrut a}+
  \sqrt[2]{\mathstrut b}+
  \sqrt[99]{\mathstrut g}
\]
<math>\sqrt[3]{a}+\sqrt[2]{b}+\sqrt[99]{g}</math>

[править] Квадратное уравнение

И, наконец, вершина школьной математики — это решение квадратного уравнения ax²+bx+c=0:

\[
  x_{1,2}=\frac{-b\pm\sqrt{b^2-4ac}}{2a}
\]
<math>x_{1,2}=\frac{-b\pm\sqrt{b^2-4ac}}{2a}</math>

Теперь можно смело садиться за написание методичек.

[править] Функции

Все символы в математической моде печатаются курсивом, поэтому названия функций, для выделения, печатаются прямым шрифтом. Кроме смены шрифта, функции с обоих сторон должны правильно «отбиваться» пробелами, иначе будет некрасиво. При загрузке русского языка с помощью пакета babel кроме стандартных имён функций доопределяется несколько сокращений, применяемых в русскоязычной литературе. Среди часто употребляемых функций можно упомянуть: cos, arccos, sin, arcsin, tg, arctg, ctg, arcctg, sh, ch, th, cth, exp, ln, log, lim, min и max. В математической моде эти функции можно использовать в качестве команд:

\begin{equation*}
  \begin{split}
  &\log_2 10=\ln10/\ln2\simeq3.32 \\
  &\lim_{x\to0}\frac{\sin x}{x}=1\\
  &(a+b)^n=\sum_{k=1}^n C^k_n a^kb^{n-k}
 \end{split}
\end{equation*}
<math>\log_2 10=\ln10/\ln2\simeq3.32 \lim_{x\to0}\frac{\sin x}{x}=1 (a+b)^n=\sum_{k=1}^n C^k_n a^kb^{n-k}</math>

Обратите внимание на обработку индексов для функции log (логарифм) и lim (предел). Для доопределения новых функций правильнее всего воспользоваться в преамбуле командой DeclareMathOperator:

%В преамбуле — определение новых функций
\DeclareMathOperator{\log-like}{log-like}
\DeclareMathOperator*{\lim-like}{lim-like}

В зависимости от варианта команды индексы отображаются как для логарифма (команда без звёздочки) или как для предела (команда со звёздочкой).

[править] Производная и интеграл

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

Производная обычно отмечается штрихом. В физике, производная по времени выделяется точкой, для того чтобы отличать её от производной по координате. Можно честно написать \frac{d F(x)}{dx}. Для частной производной вместо буквы d используется спецсимвол \partial:

\[ f'\quad f''\quad
\dot{f}\quad \ddot{f} \quad
\frac{d f}{d x}\quad
\frac{\partial f}{\partial x} \]
<math>f'\quad f\quad \dot{f}\quad \ddot{f} \quad \frac{d f}{d x}\quad \frac{\partial f}{\partial x}</math>

Взятие производной есть обратная операция по отношению к интегрированию:

\[
  \frac{d}{dx}\int F(x) dx=F(x)
\]
<math>\frac{d}{dx}\int F(x) dx=F(x)</math>

Приглядевшись к этому примеру, можно отметить, что, вопреки русским математическим традициям, представленный здесь интеграл не прямой, а наклонный. Это можно исправить, например, загрузив пакет wasysym с опцией integrals. К сожалению, получающиеся интегралы «не смотрятся», поэтому пока лучше использовать начертания по умолчанию в надежде, что в будущем ситуация изменится к лучшему.

Неопределённый интеграл — это хорошо, а определённый — лучше. Качественное оформление пределов интегрирования важно для восприятия формулы.

\[
  \int_0^{\infty}\quad
  \int\limits_0^{\infty}\quad
  \sum_{i=1}^n\quad
  \sum\nolimits_{i=1}^n\quad
\]
<math>\int_0^{\infty}\quad \int\limits_0^{\infty}\quad \sum_{i=1}^n\quad \sum\nolimits_{i=1}^n\quad</math>

По умолчанию пределы размещаются справа от интеграла. Ситуацию можно поправить с помощью команды \limits. Команда \nolimits делает всё ровно наоборот.

[править] Скобки

Для визуальной группировки символов внутри формулы скобки — вещь незаменимая. Особенно здорово, если скобки автоматически подгоняют свой размер под выражение, которое они окружают. Парные команды \left и \right включают режим подобной подстройки:

\[\left(
 \left[
  \left\langle
   \left\{
    \left\uparrow
     \left\lceil
      \left|
       \left\lfloor
        \text{text}^{10}
       \right\rfloor^9
      \right|^8
     \right\rceil^7
    \right\downarrow^6
   \right\}^5
  \right\rangle^4
 \right]^3
\right)^2\]
\left\lfloor\text{text}^{10}\right\rfloor^9\right|^8\right\rceil^7\right\downarrow^6\right\}^5\right\rangle^4\right]^3\right)^2</math>

Эстеты, в зависимости от ситуации, могут добавить в конце команды модификатор позиционирования разделителя как левого — l (отбивка как для \left), правого — r (отбивка как для \right) и среднего — m.

[править] Перенос формул

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

a + b =
= c

Однако, по умолчанию этого не происходит. Проще всего решить проблему с помощью следующего макроса[7], который необходимо определить в преамбуле:

%перенос формул в тексте
\newcommand*{\hm}[1]{#1\nobreak\discretionary{}%
 {\hbox{$\mathsurround=0pt #1$}}{}}

Здесь определена команда \hm, которую следует добавлять в местах потенциального переноса формулы, примерно, так: \(a + b \hm{=} c\). Сделать это можно во время окончательной доводки текста. В любом случае, для полировки рукописи ручная работа необходима.

[править] Формулы для Вики

Файл:LXF85-Latex-1.png
Сделайте так, чтобы Ваш форум или Вики заговорили на языке LaTeX.

«Движок», который использует Википедия для отображения формул, называется WikiTeX. Основной сайт проекта, естественно, представляет из себя вики и расположен по адресу http://wikisophia.org/ Используя это программное обеспечение в связке с LaTeX, можно не только сносно отображать математические формулы на WWW без особых ухищрений, но и отрисовывать шахматные партии, химические формулы, фейнмановские диаграммы, нотные записи и многое другое. TeX разрабатывался как программа, которая может формировать изображения для разных устройств, даже для тех, о которых на момент создания этого текстового процессора профессору Д. Э. Кнуту ничего не было известно. Поэтому TeX обретается в самых неожиданных местах.

[править] Заключение

Изложенных правил и приёмов вполне хватит для набора текстов в рамках школьной математики. Для более изощрённых формул требуются более продвинутые приёмы и конструкции. Всё это будет, но чуть позже.

[править] Примечания

  1. Есть более формальное оформление строчной формулы как окружения: \begin{math} «формула» \end{math}. Но, в силу понятных причин, никто подобное описание не использует.
  2. Начав изучать команды LaTeX, довольно быстро сталкиваешься с понятиями «хрупкости»/«крепкости». «Крепкие» команды, в отличие от «хрупких», можно использовать в качестве аргументов других команд. С другой стороны, хрупкие команды тоже можно использовать как параметры, защитив их с помощью команды \protect. Эти понятия в большинстве своём пережитки прошлого и их постепенно изживают, но пока следует иметь их в виду.
  3. Метка выставляется с помощью команды \label.
  4. К equation добавляется звёздочка. Подобный приём в создании команд применяется достаточно часто. Команда со * обычно не нумеруется и не отображается ни в каких автоматически составляемых списках.
  5. От слова fraction — «дробь».
  6. От английского strut — «подпорка» или «страта».
  7. Рецепт от Евгения Миньковского из fido7.ru.tex
Персональные инструменты
купить
подписаться
Яндекс.Метрика