Цитирование и перекрёстные ссылки

Как сослаться на теорему, рисунок, раздел или печатную страницу в том же документе, и что синтаксис цитирования [@ключ] делает сегодня.

Документ всё время указывает на свои части: «по лемме 2», «см. рисунок ниже», «как в предыдущем разделе». В LibreTimes Markdown это делается обычной ссылкой на якорь — имя, которое вы даёте блоку, на который хотите сослаться.

Ссылка на блок в том же документе

Дайте блоку якорь {#имя} и сошлитесь на #имя:

Результат

Теорема (Лагранж). Порядок подгруппы делит порядок группы.

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

Markdown
:::theorem[Лагранж]{#lagrange}
Порядок подгруппы делит порядок группы.
:::
 
По [теореме Лагранжа](#lagrange) у группы простого порядка нет собственных
подгрупп, кроме тривиальной.

Ссылка ведёт читателя к блоку, а адрес страницы с #lagrange на конце можно передать другим.

Что может нести якорь:

БлокКакСсылка
Заголовокавтоматически, из текста: ## Main result[…](#main-result)
Утверждениев ограде: :::theorem{#lagrange}[…](#lagrange)
Рисунокв ограде: ::::figure{#fig-orbit}[…](#fig-orbit)
Любой другой блокстрока атрибутов над ним: {#key-table}[…](#key-table)
Печатная страница:pb[412] в книге[…](#p412)

Правила для имени, которое вы выбираете:

  • Оно начинается с латинской буквы, дальше латинские буквы, цифры, -, _, . или :, всего до 100 символов. Иначе имя отбрасывается и у блока нет якоря.
  • Каждое имя — один раз. Если у двух блоков одно имя, его получает первый, и ссылки ведут к нему.
  • Имя с . или : пишется как {id="eq-2.1"}: короткая форма с # обрывается на точке.
  • Выбирайте имя по тому, что это за блок (#lagrange, #fig-orbit), а не где он стоит (#theorem-3): номер меняется, когда выше добавляется теорема, а имени меняться незачем.

Текст ссылки пишете вы. «Теорема 3» сама не подставится, поэтому если у утверждения есть печатный номер, впишите его в текст ссылки: [Теорема 3.17](#monotone).

Ссылка на блок в другой работе

Добавьте якорь к адресу другой работы. На опубликованной странице перед выбранным вами именем стоит user-content-, чтобы имя никогда не совпало с частями самой страницы; ссылка внутри того же документа поправляется на это автоматически, а ссылка извне пишет его явно:

ЯкорьИз другого документа
Утверждение, рисунок или блок с {#имя}…/works/<work-id>#user-content-имя
Заголовок…/works/<work-id>#main-result
Печатная страница…/works/<work-id>#p412
Задача с {#p-412}…/works/<work-id>#p-412

Вместо <work-id> подставьте идентификатор из адреса другой работы.

Синтаксис [@ключ]

Квадратные скобки с @ и ключом зарезервированы для ссылок на источники, разрешаемых по библиографии, и для нумерованных перекрёстных ссылок:

ПишетсяДля чего
[@knuth1974]ссылка на источник
[@knuth1974, p. 33]ссылка со страницей или другим уточнением
[see @knuth1974]ссылка с текстом перед ней
[-@knuth1974]ссылка без имени автора
[@knuth1974; @lamport1994]несколько источников
[@fig:setup], [@eq:euler], [@tbl:results]перекрёстная ссылка на рисунок, формулу или таблицу

Сегодня опубликованная страница показывает этот текст ровно так, как он написан. Он пока не заменяется на автора и год или на «Рисунок 2». Что синтаксис уже делает — сохраняет ваш текст в целости:

  • [@knuth1974] никогда не превращается в ссылку на профиль, хотя ключ похож на упоминание.
  • Адрес вроде ada@example.org — не ссылка на источник: перед @ стоит буква.
  • Если какая-то часть скобок не разбирается, вся скобка остаётся обычным текстом.
Результат

Анализ Кнута [@knuth1974, p. 33] покрывает общий случай.

Markdown
Анализ Кнута [@knuth1974, p. 33] покрывает общий случай.

Это синтаксис, который читает и пишет pandoc. Файл LaTeX или Word, импортированный на сайте, его не использует: ссылки на источники приходят нумерованными метками вроде [1], а библиография становится списком литературы работы.

Как указать источник сегодня

Чтобы читатель мог перейти к источнику, укажите его в сноске с DOI или ссылкой на arXiv:

Результат

Известно, что оценка точна.1

Markdown
Известно, что оценка точна.[^knuth]
 
[^knuth]: D. E. Knuth, "Structured programming with go to statements",
    *Computing Surveys* 6 (1974). <https://doi.org/10.1145/356635.356640>

Footnotes

  1. D. E. Knuth, "Structured programming with go to statements", Computing Surveys 6 (1974). https://doi.org/10.1145/356635.356640 ↩