01.12.2009, 00:09

Руководитель проекта ILoveEconomics.ru, старший преподаватель ВШЭ и РАНХиГС, заместитель председателя методкомиссии и жюри Всероссийской олимпиады по экономике

На сайте с 2008 г. (блог)
Всем добрый день! Сегодня я расскажу вам, как правильно добавлять задачи на сайт.

Прежде всего, чтобы у вашей задачи было больше шансов попасть в основной каталог, нужно, чтобы:

  • Она содержала решение. Если вы не хотите публиковать решение сразу, при публикации поставьте галочку «Нерешенная задача», а после публикации решения снимите эту галочку. У нерешенных задач нет шансов попасть в основной каталог.
  • Все обязательные теги были указаны. Задача не будет опубликована, если вы не укажете, к каким темам она относится и как зовут ее автора. Если вы не знаете автора задачи, напишите в соответствующем поле [неизвестный автор].
  • Она была написана грамотным русским языком. Грамотная орфография и пунктуация — необходимое требование. Правильная типографика (кавычки-«елочки», длинное тире…) — пожелание.
  • Все математические выражения в условии и решении задачи должны быть оформлены с помощью языка $\LaTeX$. Об этом подробнее — ниже.

Оформление математических выражений

Общие сведения о LaTeX

LaTeX — язык разметки и система верстки, предназначенная для набора научных текстов. Вы можете использовать язык разметки $\LaTeX$ везде на сайте: в блогах, в задачах и в комментариях. Чтобы вставить обычную формулу в текст (внутри строки), нужно заключить ее между знаками доллара: например, строка $x^2+y^2=z^2$ будет заменена на картинку $x^2+y^2=z^2$. Вы можете подвести курсор к любой картинке на сайте (или заглянуть в браузере в ее свойства) и увидеть строку на языке $\LaTeX$, которую она заменяет. Чтобы вставить выключную формулу (отдельной строкой), используйте двойные знаки доллара. Например, строка $$ \varepsilon=Q'\frac{P}{Q} $$ даст картинку, которая автоматически будет помещена на новую строку: $$ \varepsilon=Q'\frac{P}{Q} $$
Любые вопросы, связанные с оформлением математических выражений на сайте, можно задавать в комментариях к этому сообщению. Ниже вы найдете примеры оформления наиболее часто используемых выражений на языке $\LaTeX$.
(Текст частично позаимствован с форума физиков)

Примеры формул

Степени и индексы

Степени и индексы набираются с помощью знаков ^ и _ соответственно. Если показатель степени или индекс являются выражением, состоящим более чем из одного символа, то их надо заключать {в фигурные скобки}. Примеры:

$a^2 + b^2 = c^2$ → $a^2 + b^2 = c^2$

$a_3 + b_3 = c_3$ → $a_3 + b_3 = c_3$

$a^{10} + b_{10} = c^{10}$ → $a^{10} + b_{10} = c^{10}$

$a^{b^{c}}$ → $a^{b^{c}}$

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

$a_{10}^{20}$ → $a_{10}^{20}$

$a^2_3$ → $a^2_3 $

Если требуется, чтобы индексы располагались не один под другим, а на разных расстояниях от выражения, к которому они относятся, то нужно оформить часть индексов как индексы к «пустой» формуле (паре из открывающей и закрывающей фигурных скобок):

$x_j{}^i{}_{kl}$ → $x_j{}^i{}_{kl}$

Дроби

Дроби, обозначаемые косой чертой, набираются непосредственно:

$x + 1/x$ → $x + 1/x$

Дроби, в которых числитель расположен над знаменателем, набираются с помощью команды с двумя аргументами $\frac{числитель}{знаменатель}$.

$\frac{(a+b )^2}{4} - \frac{(a-b )^2}{4} = ab$ → $\frac{(a+b )^2}{4} - \frac{(a-b )^2}{4} = ab$

Имейте в виду, что если командой \frac{}{} вы вставляете дробь внутри строки ($\frac{}{}$), то числитель и знаменатель отображаются мелкими буквами, чтобы строку не «распирало» в высоту. Поэтому рекомендуется пользоваться этой командой только для вставки выключных формул ($$\frac{}{}$$). См. также.

Скобки

Круглые и квадратные скобки набираются непосредственно. Для набора фигурных скобок используются команды \{ и \}. Например,

$\TU(x,y)=\min\{x,y\}$ → $\TU(x,y)=\min\{x,y\}$

Другие типы скобок набираются с помощью команд \lceil, \rceil, \lfloor, \rfloor, \langle, \rangle. Например,

$\lceil X \rceil, \lfloor Y \rfloor, \langle Z \rangle$ → $\lceil X \rceil, \lfloor Y \rfloor, \langle Z \rangle$

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

$$(x + \frac{1}{x})^2$$ → $$(x + \frac{1}{x})^2$$

и $$\left( x + \frac{1}{x} \right)^2$$ →$$\left( x + \frac{1}{x} \right)^2$$

Тригонометрия

Функции типа $\sin x$, имена которых принято набирать прямым шрифтом, набираются с помощью специальных команд, причем команда, как правило, совпадает с именем функции.

Например, $\sin(x)$ → $\sin(x)$, $\tan(x)$ → $\tan(x)$.
Обратите внимание, что функции тангенса и арктангенса задаются соответственно командами \tan и \arctan.

Степени и корни

Возведение числа в степень можно показать с помощью знака ^ (как верхний индекс): $x^2+2^x=y^{\sin z}$ → $x^2+2^x=y^{\sin z}$.

Корни набираются с помощью команды $\sqrt[n]{выражение}$, обязательным аргументом которой является подкоренное выражение (указывается в фигурных скобках). Кроме обязательного аргумента можно указать необязательный аргумент, заключаемый в квадратные скобки, который является показателем корня.

$\sqrt{x+1}$ → $\sqrt{x+1}$

$\sqrt[3]{x+1}$ → $\sqrt[3]{x+1}$

Пределы, интегралы и дифференциалы

\int → интеграл
\partial → частная производная
\infty → бесконечность
\lim → предел
\to → стрелка (в пределах)
\sum → сумма

Примеры использования:

$$\lim_{x \to \infty} \left(1 + \frac{1}{n} \right)^n = e$$ → $$\lim_{x \to \infty} \left(1 + \frac{1}{n} \right)^n = e$$

$\int_{0}^{3} f(x) dx$ → $\int_{0}^{3} f(x) dx$

$dz = \frac{\partial z}{\partial x} dx + \frac{\partial z}{\partial y} dy$ → $dz = \frac{\partial z}{\partial x} dx + \frac{\partial z}{\partial y} dy$

$$\sum_{n=0}^\infty\frac{x^n}{n!}$$ → $$\sum_{n=0}^\infty\frac{x^n}{n!}$$

Неравенства и предпочтения

Строгие неравенства набираются непосредственно:

$a < b > c$ → $a < b > c$

Другие знаки неравенств, включений, принадлежности и предпочтений набираются с помощью команд:

\leqslant → $\leqslant$
\geqslant → $\geqslant$
\subset → $\subset$
\supset → $\supset$
\subseteq → $\subseteq$
\supseteq → $\supseteq$
\in → $\in$
\ni → $\ni$
\neq → $\neq$
\prec → $\prec$
\succ → $\succ$
\preccurlyeq → $\preccurlyeq$
\succcurlyeq → $\succcurlyeq$
\sim → $\sim$

Штрихи, многоточия и стрелки

Штрихи обозначаются с помощью знака '

Многоточия набираются с помощью команды \ldots:

$a_1 + a_2 + \ldots + a_n$ → $a_1 + a_2 + \ldots + a_n$

В $\LaTeX$ существует много различных стрелок. Большинство из них собрано в следующей таблице:

tex_arrows.gif

Диакритические знаки

Команды для создания над символами крышек, волн и других подобных знаков имеют вид \<имя>{выражение}, где <имя> — имя команды. Вот они:

\hat{A} \check{B} \breve{C} \acute{D} \grave{E} \tilde{F} \bar{G} \vec{H} \dot{I} \ddot{J} → $\hat{A} \check{B} \breve{C} \acute{D} \grave{E} \tilde{F} \bar{G} \vec{H} \dot{I} \ddot{J}$

Для неспециалистов

Если вы только начинаете осваивать $\LaTeX$, то вам могут пригодиться вот эти визуальные редакторы формул:
http://www.codecogs.com/components/equationeditor/equationeditor.php
http://www.sitmo.com/latex/

Для специалистов

На данный момент преамбула $\LaTeX$'овского «документа», в который как бы оформляются задачи, выглядит так:

\documentclass[10pt,notitlepage]{article}

\usepackage{mathtext}
\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{amssymb}
\usepackage{amsthm}

\DeclareMathOperator{\AC}{AC}
\DeclareMathOperator{\MC}{MC}
\DeclareMathOperator{\MR}{MR}
\DeclareMathOperator{\TC}{TC}
\DeclareMathOperator{\TR}{TR}
\DeclareMathOperator{\AR}{AR}
\DeclareMathOperator{\AVC}{AVC}
\DeclareMathOperator{\ATC}{ATC}
\DeclareMathOperator{\AFC}{AFC}
\DeclareMathOperator{\FC}{FC}
\DeclareMathOperator{\VC}{VC}
\DeclareMathOperator{\TU}{TU}
\DeclareMathOperator{\MU}{MU}
\DeclareMathOperator{\MP}{MP}
\DeclareMathOperator{\AP}{AP}
\DeclareMathOperator{\MRP}{MRP}
\DeclareMathOperator{\APr}{A\pi}

\usepackage{ucs}
\usepackage[utf8x]{inputenc}

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

\pagestyle{empty}

Если вам нужно подключение еще каких-то пакетов, пишите мне.

Комментарии

${\mathbf{{\Large Large}\text{ не отличается от } Normal}$

Мне кажется возможность изменения размеров символов в строке, была бы полезной, например, когда приходится писать многоуровневую дробь, некоторые знаки уже не разобрать.

Ручное изменение кегля (размера символов) в формулах — плохая практика, $\TeX$ и сам неплохо справляется с этой нетривиальной в большинстве случаев задачей. Если писать многоуровневые дроби как выключные формулы (по два знака доллара с каждой стороны) и обозначать некоторые операции деления косой чертой, а не функцией \frac{}{}, то всегда можно добиться приличного результата.
Кстати, Данил. А нельзя ли сделать так, чтобы можно было перетаскивать формулы из условия в свой ответ?
Мне такой способ неизвестен.
Наверное, самым быстрым способом скопировать формулу будет нажать на нее правой кнопкой, выбрать пункт «Информация об изображении» (это я о Firefox) и скопировать формулу оттуда.
О, да, ты прав! У меня не совсем так на Firefox, там надо нажать кнопочку "свойства". И там есть ссылка. Большое спасибо!
Ну, видимо, Firefox'ы под винду и под мак отличаются. В любом случае, способ есть, и в других браузерах, наверное, тоже.
Как добавить "%" в формулу?
\%