Правила редактирования страниц

Материал из Algocode wiki
Перейти к: навигация, поиск

Общие вещи

Если вы не преподаватель кружков Tinkoff generation, но хотите написать свою страницу, пожалуйста, свяжитесь с кем-то из преподавателей (желательно с преподавателем той параллели, по уровню которой вы хотите написать конспект). Контакты преподавателей доступны на страницах описания параллелей.

Полезные ссылки

Общая справка по редактиированиию

Форматирование текста

Про ссылки

Про таблицы

Про latex и mathjax (Я включил поддержку нормальных латеховских единичных долларов, надеюсь это ничего не сломает.)

Всё остальное гуглите сами, почти про всё написано на https://www.mediawiki.org

Категории

У всех конспектов надо обязательно проставлять категории. Это делается вставкой следующего кода в конец:

[[Категория:<имя категории>]]

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

Если вы хотите добавить новую категорию, то посмотрите на странице всех категорий как всё устроено и по аналогии скопипастите.

Создание конспектов

При создании страниц для начала проверьте, что такой страницы пока нет. Для этого поищите в поиске и просмотрите список существующих конспекты на странице Список всех конспектов.

Для создания странице вбейте в поиск её название и вам будет предложено создать страницу.

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

Редактирование страниц

Основные ссылки по редактированию есть сверху. Для примера можете посмотреть на конспект по суффавтомату (его ещё надо подредачить, пока это почти прямой импорт из старого латеха), в котором есть почти все случаи, с которыми вы можете столкнуться.

У каждого конспекта должен быть автор, который должен быть указан внизу конспекта. Так все читающие конспект будут знать, к кому обратится в случае появления вопросов по теме. Авторство указывается шаблоном автора.

Прежде чем записать страницу, пользуйтесь предварительным просмотром.

Вставка кода и копипаст

Чтобы вставить копипасту вот так

Начните строку с пробела. Не забудьте про тег <nowiki>.

Чтобы вставить Такую копипасту обверните её в тег <code>.

Для вставки кода используйте тег

<syntaxhighlight lang="<Язык кода>" line='line'>

Подробнее написанно тут.


Шаблоны

Пока доступно 6 шаблона, если вы хотите добавить новый, пожалуйста, напишите его описание ниже.

Якорь

Якорь это ссылка на какое-то место страницы. Про это написано на странице про ссылки. Из-за того, что на этой вики установлен нестандартный скин (и теперь она выглядит не дико убого, а просто убого), стандартный способ создания якорей работает не совсем так, как надо. Поэтому используйте шаблон:

{{Якорь|<название>}}

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

Автор

Автор должен указываться на всех страницах конспектов. Шаблон выглядит следующим образом:

{{Автор|<имя автора>|<telegram автора>}}

Например если написать {{Автор|Филипп Грибов|grphil}}, это будет выглядеть так:



Автор конспекта: Филипп Грибов

По всем вопросам пишите в telegram @grphil

Определение

Для создания определения и придания определениям универсального вида используйте шаблон определения. Шаблон используется так:

{{Определение
|Термин=<термин>
|Определение=<определение термина>
}}

Например если написать

{{Определение
|Термин=Суффиксный автомат
|Определение=конечный детерминированный автомат, принимающий все суффиксы данной строки и только их.
}}

Это будет выглядеть так:

Определение:
Суффиксный автомат —это конечный детерминированный автомат, принимающий все суффиксы данной строки и только их.

На определение автоматически создаётся якорь с названием термина.

Утверждение

Для создания утверждений и придания утверждениям универсального вида используйте шаблон утверждения. У утверждения можно указать название, тогда на него автоматически создастся якорь. Это название по дефолту скрыто, но его можно показать. Шаблон используется так:

{{Утверждение
|Название=<название утверждения> (необязательно)
|Показать название=<напишите здесь что нибудь чтобы отобразить название> (необязательно)
|Утверждение=<само утверждение>
|Доказательство=<доказательство> (не обязательно)
}}

Например если написать:

{{Утверждение
|Утверждение=Шаблоны удобно использовать
}}

Это будет выглядеть так:

Утверждение:
Шаблоны удобно использовать

А если написать:

{{Утверждение
|Название=Про конспекты
|Показать название=1
|Утверждение=Мы задолбаемся писать конспекты по всем темам
|Доказательство=Потому что это долго
}}

Это будет выглядить так:

Утверждение: (Про конспекты)
Мы задолбаемся писать конспекты по всем темам

Доказательство:
Потому что это долго

Если вам влом писать доказательство, вы можете оставить его читателю в качестве упражнения. Это делается так:

{{Утверждение
|Название=Великая теорема ферма
|Утверждение=Для любого натурального числа $$n > 2$$ уравнение: $$a^n + b^n = c^n$$ не имеет решений в целых ненулевых числах $$a, b, c$$.
|Доказательство=Упражнение
}}

И выглядит:

Утверждение:
Для любого натурального числа $n > 2$ уравнение: $a^n + b^n = c^n$ не имеет решений в целых ненулевых числах $a, b, c$.

Доказательство остаётся читателю в качестве упражнения

Также если доказательство факта слишком очевидно, чтобы оставлять его в качестве упражнения, но и не упоминать о нём нельзя, то можно указать на его тривиальность

{{Утверждение
|Утверждение=$P\ne NP$
|Доказательство=Тривиально
}}

Это выглядит следующим образом:

Утверждение:
$P\ne NP$

Доказательство данного факта тривиально

Сложность

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

{{Сложность
|Тип=<тип оцениваемого - алгоритм, операция итд>
|algo1=<название первого алгоритма>
|time1=<время работы первого алгоритма>
|memory1=<затраты по памяти первого алгоритма>
|algo2=<название второго алгоритма>
|time2=<время работы второго алгоритма>
|memory2=<затраты по памяти второго алгоритма>
...}}

Все поля $algoi, timei, memoryi$ являются необязательными, однако следует использовать их для данного $i$ все одновременно. Пример использования:

{{Сложность
|Тип=Алгоритм
|algo1=Дейкстра без очереди
|time1=$O(n^2)$
|memory1=$O(n+m)$
|algo2=Дейкстра с очередью
|time2=$O(m*log(n))$
|memory2=$O(n+m)$
}}

Что выглядит так:


Алгоритм Время Память
Дейкстра без очереди $O(n^2)$ $O(n+m)$
Дейкстра с очередью $O(m*log(n))$ $O(n+m)$


Пока что всё работает на костылях, поэтому допускается не более 5 алгоритмов в одной таблице, однако если всем попросить Филиппа(плакала половина вики) подключить циклы, то это ограничение можно снять.

Примечание

Простой шаблон для выделения важных фактов в конспекте:

{{Примечание
|Примечание=<текст примечания>
}}

Пример:

{{Примечание
|Примечание=Это очень важный факт
}}

Что выглядит как: Это очень важный факт

Баги

Пока я все поправил. Если найдёте ещё баги, пишите сюда.