Шаблон:Источник информации

Версия от 18:34, 21 июня 2023; Admin (обсуждение | вклад) (1 версия импортирована)
(разн.) ← Предыдущая версия | Текущая версия (разн.) | Следующая версия → (разн.)
Документация

Шаблон для автоматического формирования библиографических записей по информации, полученной из элементов Викиданных (путём указания Q-идентификаторов элементов), а также частичного ручного или полностью ручного заполнения необходимой информации об источнике. Может также подставлять информацию об источнике из Викиданных через подстановку шаблона (подст или subst).

Оформление библиографической записи осуществляется согласно ВП:БИБГРАФ по:

Шаблон подходит для оформления элементов списка литературы, а также для оформления источников в примечаниях (через сноски).

По оформлению источников в Викиданных см.:

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

Общий формат

Ошибка Lua в Модуль:WDBase на строке 18: attempt to index field 'wikibase' (a nil value).

Типовые варианты использования

Вариант Формат
По Q-идентификатору работы <syntaxhighlight lang="wikitext">Ошибка Lua в Модуль:WDBase на строке 18: attempt to index field 'wikibase' (a nil value).</syntaxhighlight>
Раздел, глава, часть или статья по Q-идентификатору издания (в случае книги, она указывается в qid издания) <syntaxhighlight lang="wikitext">(заглавие?).</syntaxhighlight>
По внешнему идентификатору работы и Q-идентификатору издания <syntaxhighlight lang="wikitext">(заглавие?).</syntaxhighlight>
С ручным заполнением полей <syntaxhighlight lang="wikitext">(заглавие?).</syntaxhighlight>
Через подстановку (подставляет параметры источника) QID элемента Викиданных ref =

}}</syntaxhighlight>

Примеры

Параметры

Обоснование

Отображение информации об источнике в списке литературы регулируется разделом ВП:БИБГРАФ руководства по ссылкам на источники и должно соответствовать ГОСТ Р 7.0.5—2008 (в том числе ГОСТ 7.1—2003, ГОСТ 7.80-2000 и ГОСТ 7.82—2001). Примеры оформления согласно руководству могут быть найдены на странице образов проекта библиографии.

Особенности

Авторы и прочие контрибьюторы

  • Если автор один, то он выводится в самом начале. Если авторов менее 4, то первый автор выводится в самом начале, а затем авторы дублируются в области ответственности (п. 5.2 ГОСТ 7.80-2000). Если авторов 5 и более, то отображается лишь 3 автора, а остальные убираются под спойлер «[и др.]» / «[et al.]» (п. 4.10.2 ГОСТ 7.1—2003).
  • Если в области ответственности у отдельной группы (например, у редакторов) число лиц более 2, то отображается только одно лицо, остальные уходят под спойлер «[и др.]» / «[et al.]» (см. п. 5.2.6.9 ГОСТ 7.1—2003).
  • По п. 5.5 ГОСТ 7.80-2000 среди прочих вариантов допускается написание имён авторов и контрибьюторов в виде фамилии и инициалов, в виде фамилии и имени или фамилии, имени и отчества. По п. 5.4 имя лица приводят в виде, получившем наибольшую известность, однако автоматически достоверно определить такое имя возможности нет. В примерах ГОСТа обычно приводится фамилия с инициалами, поэтому по умолчанию идёт попытка сформировать именно такое имя. Если же в элементе Викиданных для автора указано свойство Ошибка Lua в Модуль:WD на строке 450: attempt to index field 'wikibase' (a nil value)., то берётся его значения по трём причинам: 1) условно можно считать, что указанное в источнике имя является наиболее известным; 2) указание этого свойства позволяет сэкономить на количестве обращений к элементам Викиданных (имя, фамилия, отчество); 3) не всегда можно автоматически корректно сократить полное имя до фамилии с инициалами.
  • Перечисление контрибьюторов делается через запятую, а не отдельными параметрами, поскольку именно через запятую авторы обычно указываются в самих источниках (для удобства копирования). При необходимости викификации авторов и наличии запятой в названии статьи необходимо запятую заменить на html-сущность &#44;.

Другие особенности

  • Ссылка на ресурс даётся прямо в заглавии, поэтому отдельное поле URL отсутствует, а дата проверки ссылки помещается в область примечаний.
  • Библиографическое описание приводится на языке, на котором составлена работа. См. п. 4.9 ГОСТ 7.1—2003, п. 4.4 ГОСТ 7.82—2001. Изначально поддерживаются английский и русский языки. Поддержка остальных языков может быть отсутствующей, неполной, а в некоторых случаях ограниченной.
  • При получении из Викиданных диапазонов чисел для случаев русского языка дефисы заменяются на длинное тире (em dash), см. ВП:ДИАП. В русских названиях дефисы, отбитые пробелами, заменяются на длинное тире, см. ВП:ТИРЕ.
  • В случае отдельного тома многотомного издания, если информация получена из Викиданных, применяется одноуровневое библиографическое описание с указанием номера и названия тома после общего названия многотомного издания (см. п. 6.2.7.1 ГОСТ 7.1—2003).
  • Обозначения страниц сокращаются как в форме единственного числа, то есть p., а не pp. (см. п. 4.3.1. ГОСТ 7.11-2004, п. 7.4.1 ГОСТ 7.1—2003).
  • Для статей из периодических изданий опускается место публикации (п. 7.3.10 ГОСТ 7.1—2003).
  • Издатель и место издания не отображаются для статей из периодических изданий (п. 7.1.1, п. 7.3.7, п. 7.3.9 и п. 7.3.10 ГОСТ 7.1—2003).

Ограничения

Автоматизация процесса создания библиографических записей имеет некоторые ограничения. В частности, обычно нет возможности склонения слов, за исключением дат, поэтому в ряде случаев используются обходные варианты, которые могут не совсем соответствовать примерам, приводимым в ГОСТ. Такие ограничения касаются указания переводчиков без склонения, а также могут обнаруживаться на различных языках, для которых не предусмотрены исключения (например, для китайского, в случае количества томов).

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

Известные ограничения

  • Номера ISBN отображаются через запятую, без префикса ISBN перед каждым номером (см. раздел 5.10 ГОСТ 7.82—2001), чтобы уменьшить количество генерируемого кода и ссылок.
  • Шаблон предназначен главным образом для получения информации об источнике из Викиданных, поэтому поля, отсутствующие в Викиданных, могут не поддерживаться. Данный шаблон предназначен для автоматизации заполнения информации об источниках, в случае сложных источников или интернет-страниц могут использоваться шаблоны {{Публикация}} или {{Cite web 2}}.
  • Поскольку получение информации завязано на идентификаторах элементов Викиданных, информация об источнике может поменяться, если кто-либо объединит элемент Викиданных с другим элементом Викиданных (по ошибке).
  • Подзаголовок не попадает в викиссылку на работу, побочный эффект унификации обработки полей.
  • Автоматическая перестановка инициалов для основного автора за его фамилию не будет работать, если фамилия состоит из нескольких слов, разделённых пробелом (см. п. 5.5 и 5.6 ГОСТ 7.80-2000).
  • У некоторых фамилий может быть префикс (как например у Людвига ван Бетховена). С точки зрения Викиданных префикс является частью фамилии и не попадёт при перестановке за фамилию вместе с инициалами.
  • Тип содержимого «звукозапись» при автоматическом получении отображается как «аудиоконтент», поскольку название берётся из Викиданных.
  • ГОСТ 7.1—2003 требует, чтобы многие сведения указывались так, как они указаны в источнике. В целях автоматизации, сведения отображаются однотипно.

Превышение лимитов

Поскольку модуль пытается получить как можно больше информации об источнике, по производительности он не является быстрым (компромисс между возможностями и скоростью работы).

Большое количество источников на странице может привести к обработке большого количества элементов Викиданных. Возможно превышение лимита entityaccesscount на количество обращений к элементам Викиданных (отображается в отчёте wgPageParseReport или NewPP), который установлен в значение 400. На страницах размером до 100 Кб обычно проблем вызывать не должно.

Также при очень большом количестве источников (не менее 200), получаемых из Викиданных, возможно превышение ограничения времени выполнения Lua. Рекомендуется не допускать превышения времени работы выше, чем 5—6 секунд (половина лимита), иначе теоретически могут быть периодические случайные сбои (время работы может быть очень нестабильным от одной генерации страницы к другой).

При превышении лимитов можно в Викиданных указать имена известных в Викиданных авторов через квалификатор Ошибка Lua в Модуль:WD на строке 450: attempt to index field 'wikibase' (a nil value).. Это снизит нагрузку, поскольку не будет требоваться получать отдельно фамилию, имя и отчество каждого автора.

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

Известные проблемы

  • В случае стандартов (например, ГОСТ) непонятно, как оформлять название и подзаголовок в Викиданных. То есть, должно ли включаться в название обозначение стандарта (в этом случае всё уходит в название, а подзаголовок исчезает). Проблема есть из-за того, что в Викиданных нет свойства, ответственного за обозначение стандарта.
  • Хотя идентификаторы Викиданных позволяют абстрагироваться над названиями (которые могут меняться или повторяться), в коде статьи идентификаторы нечитабельны. Понять, где какой источник расположен, очень сложно. Помогает в данном случае заполнение параметров ref и title. Что позволяет указать авторов и заглавие. Вся остальная информация будет подтянута из Викиданных.
  • Научные статьи могут выходить в электронном и в печатном виде. В этом случае у одной и той же статьи могут быть разные даты публикации. В Викиданных указывается дата первой публикации, дата по ссылке может отличаться. При замене других шаблонов необходимо быть осторожным с годом публикации, поскольку он используется в формировании сносок через {{sfn}}.
  • Название издателя некоторых книг могло измениться с момента публикации. В Викиданных название указывается новое. Как вариант можно использовать квалификатор Ошибка Lua в Модуль:WD на строке 450: attempt to index field 'wikibase' (a nil value). у издателя для обозначения названия указанного в книге (в шаблоне пока не поддерживается), а поле издателя задавать явно.
  • Нет чёткой определённости, как должны заполняться тома многотомных изданий в Викиданных. У элементов томов заполняются название и подзаголовок, которые могут дублировать название и подзаголовок многотомного издания, но в подзаголовке может встречаться и название конкретного тома. Если же у многотомного издания уже есть подзаголовок, то название тома поместить некуда. В номер тома обычно помещается именно номер.

Известные ошибки

Ошибки, обнаруженные после публикации шаблона и ещё не исправленные:

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

Возможные проблемы

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

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

Инструменты

Дополнительно к шаблону существует пользовательский скрипт Участник:D6194c-1cc/wikidata.js, который в разнице между версиями добавляет к QID элемента Викиданных подсказку и ссылку на сам элемент (протестировано на теме Vector), а также добавляет в визуальный редактор поиск источников по Викиданным.

Для использования инструмента необходимо добавить себе в common.js следующую строку: <syntaxhighlight lang="javascript"> mw.loader.load('/w/index.php?title=Участник:D6194c-1cc/wikidata.js&oldid=130872704&action=raw&ctype=text/javascript', 'text/javascript');</syntaxhighlight>

Использование скрипта безопасно, поскольку ссылается на стабильную версию скрипта. Для обновления в будущем достаточно обновить ссылку с этой страницы (если изменился oldid).

Заполнение информации в Викиданных

Информация о том, какие поля поддерживаются для письменных произведений есть в проекте WikiProject Books Викиданных.

При заполнении полей, которые ссылаются на другие элементы Викиданных, в случае отсутствия таких элементов можно выставить значение неизвестно (нажать на 3 маленьких прямоугольника слева для выбора), а указанное в источнике значение записать в квалификатор Ошибка Lua в Модуль:WD на строке 450: attempt to index field 'wikibase' (a nil value). (подробнее см. Help:Statements).

Книги

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

  • Ошибка Lua в Модуль:WD на строке 450: attempt to index field 'wikibase' (a nil value). (без подзаголовка),
  • Ошибка Lua в Модуль:WD на строке 450: attempt to index field 'wikibase' (a nil value).,
  • Ошибка Lua в Модуль:WD на строке 450: attempt to index field 'wikibase' (a nil value). с квалификатором Ошибка Lua в Модуль:WD на строке 450: attempt to index field 'wikibase' (a nil value)., выставленным в Ошибка Lua в Модуль:WD на строке 480: attempt to index field 'wikibase' (a nil value)., для обозначения информации на обложке, относящейся к заглавию,
  • Ошибка Lua в Модуль:WD на строке 450: attempt to index field 'wikibase' (a nil value). (для обозначения изданий книги),
  • Ошибка Lua в Модуль:WD на строке 450: attempt to index field 'wikibase' (a nil value).,
  • Ошибка Lua в Модуль:WD на строке 450: attempt to index field 'wikibase' (a nil value). или Ошибка Lua в Модуль:WD на строке 450: attempt to index field 'wikibase' (a nil value). (их можно комбинировать с указанием Ошибка Lua в Модуль:WD на строке 450: attempt to index field 'wikibase' (a nil value). через квалификаторы),
  • Ошибка Lua в Модуль:WD на строке 450: attempt to index field 'wikibase' (a nil value).,
  • Ошибка Lua в Модуль:WD на строке 450: attempt to index field 'wikibase' (a nil value).,
  • Ошибка Lua в Модуль:WD на строке 450: attempt to index field 'wikibase' (a nil value). (для переводных работ),
  • Ошибка Lua в Модуль:WD на строке 450: attempt to index field 'wikibase' (a nil value). (дата первой публикации работы),
  • Ошибка Lua в Модуль:WD на строке 450: attempt to index field 'wikibase' (a nil value). (может быть несколько),
  • Ошибка Lua в Модуль:WD на строке 450: attempt to index field 'wikibase' (a nil value).,
  • Ошибка Lua в Модуль:WD на строке 450: attempt to index field 'wikibase' (a nil value). (для указания серии, к которой книга относится),
  • Ошибка Lua в Модуль:WD на строке 450: attempt to index field 'wikibase' (a nil value). с указанием для каждого значения Ошибка Lua в Модуль:WD на строке 450: attempt to index field 'wikibase' (a nil value).,
  • Ошибка Lua в Модуль:WD на строке 450: attempt to index field 'wikibase' (a nil value).
  • Ошибка Lua в Модуль:WD на строке 450: attempt to index field 'wikibase' (a nil value).,
  • количество томов через свойство Ошибка Lua в Модуль:WD на строке 450: attempt to index field 'wikibase' (a nil value). с единицей измерения Ошибка Lua в Модуль:WD на строке 480: attempt to index field 'wikibase' (a nil value). (для многотомных издания),
  • Ошибка Lua в Модуль:WD на строке 450: attempt to index field 'wikibase' (a nil value). (ссылка на многотомное издание в случае отдельного тома многотомного издания),
  • Ошибка Lua в Модуль:WD на строке 450: attempt to index field 'wikibase' (a nil value). для указания номера тома (в случае описания конкретного тома многотомного издания),
  • Ошибка Lua в Модуль:WD на строке 450: attempt to index field 'wikibase' (a nil value). (используется для формирования ссылки, если не указана ссылка),
  • Ошибка Lua в Модуль:WD на строке 450: attempt to index field 'wikibase' (a nil value). (для книг, легально выложенных в открытом доступе, например, как общественное достояние),
  • Ошибка Lua в Модуль:WD на строке 450: attempt to index field 'wikibase' (a nil value).,
  • Ошибка Lua в Модуль:WD на строке 450: attempt to index field 'wikibase' (a nil value)..

Если Ошибка Lua в Модуль:WD на строке 450: attempt to index field 'wikibase' (a nil value). работы отсутствует, то отображается название элемента Викиданных. Название элемента Викиданных обычно уже включает в себя подзаголовок. Тип работы (словарь, учебное пособие, энциклопедия) определяется исходя из свойства Ошибка Lua в Модуль:WD на строке 450: attempt to index field 'wikibase' (a nil value)., однако автоопределение ограничено в возможностях.

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

В случае если книга издавалась несколькими издателями, на каждое издание необходимо делать отдельный Q-элемент. В этом случае издания могут отличаться количеством страниц, издателем, номерами ISBN-13 и ISBN-10, типом распространения, а также другими идентификаторами (например, кодом в Google Books). Если же у книги указано несколько разных вариантов распространения (печатная/электронная версия, мягкая/твёрдая обложка), а нумерация страниц у них отличается, то можно явно указывать номер ISBN-13, на который делается ссылка. В этом случае будет попытка взять информацию о характеристиках книги из квалификаторов номера ISBN.

В общем случае если нумерация страниц у изданий одной и той же книги отличается, необходимо делать отдельный Q-элемент для отдельного издания книги (например, для твёрдого переплёта – один элемент, для мягкого – другой). Если же нумерация страниц между изданиями не отличается (например, электронная версия книги является отсканированным печатным изданием), то можно перечислить идентификаторы ISBN в одном и том же элементе Викиданных, указав необходимые квалификаторы.

Статьи в журналах

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

В общем случае у статей помимо общих свойств указываются:

  • Ошибка Lua в Модуль:WD на строке 450: attempt to index field 'wikibase' (a nil value).,
  • Ошибка Lua в Модуль:WD на строке 450: attempt to index field 'wikibase' (a nil value).,
  • Ошибка Lua в Модуль:WD на строке 450: attempt to index field 'wikibase' (a nil value). или Ошибка Lua в Модуль:WD на строке 450: attempt to index field 'wikibase' (a nil value). (их можно комбинировать с указанием Ошибка Lua в Модуль:WD на строке 450: attempt to index field 'wikibase' (a nil value). через квалификаторы),
  • Ошибка Lua в Модуль:WD на строке 450: attempt to index field 'wikibase' (a nil value).,
  • Ошибка Lua в Модуль:WD на строке 450: attempt to index field 'wikibase' (a nil value).,
  • Ошибка Lua в Модуль:WD на строке 450: attempt to index field 'wikibase' (a nil value). (том журнала),
  • Ошибка Lua в Модуль:WD на строке 450: attempt to index field 'wikibase' (a nil value).,
  • Ошибка Lua в Модуль:WD на строке 450: attempt to index field 'wikibase' (a nil value).,
  • Ошибка Lua в Модуль:WD на строке 450: attempt to index field 'wikibase' (a nil value).,
  • Ошибка Lua в Модуль:WD на строке 450: attempt to index field 'wikibase' (a nil value).,
  • Ошибка Lua в Модуль:WD на строке 450: attempt to index field 'wikibase' (a nil value).
  • Ошибка Lua в Модуль:WD на строке 450: attempt to index field 'wikibase' (a nil value).
  • Ошибка Lua в Модуль:WD на строке 450: attempt to index field 'wikibase' (a nil value).,
  • Ошибка Lua в Модуль:WD на строке 450: attempt to index field 'wikibase' (a nil value).,
  • Ошибка Lua в Модуль:WD на строке 450: attempt to index field 'wikibase' (a nil value)..

Из издания, в котором статья опубликована, берутся название издания и его номера ISSN.

Статьи в энциклопедиях

Для каждой темы в Викиданных можно указать соответствующие статьи в различных энциклопедиях по их идентификаторам. Отдельные крупные энциклопедии имеют свои свойства-идентификаторы, которые необходимо задавать (например, Ошибка Lua в Модуль:WD на строке 450: attempt to index field 'wikibase' (a nil value).). Дополнительную информацию о статье можно указать через квалификаторы к указанному коду в теме (для примера см. Ошибка Lua в Модуль:WD на строке 480: attempt to index field 'wikibase' (a nil value).). Сама энциклопедия в данном случае выступает в роли издания, и в шаблоне необходимо указывать её идентификатор элемента Викиданных в поле «qid издания».

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

  • Ошибка Lua в Модуль:WD на строке 450: attempt to index field 'wikibase' (a nil value).,
  • Ошибка Lua в Модуль:WD на строке 450: attempt to index field 'wikibase' (a nil value). или Ошибка Lua в Модуль:WD на строке 450: attempt to index field 'wikibase' (a nil value). (их можно комбинировать с указанием Ошибка Lua в Модуль:WD на строке 450: attempt to index field 'wikibase' (a nil value). через квалификаторы),
  • Ошибка Lua в Модуль:WD на строке 450: attempt to index field 'wikibase' (a nil value). (в случае бумажной энциклопедии),
  • Ошибка Lua в Модуль:WD на строке 450: attempt to index field 'wikibase' (a nil value). (в случае бумажной энциклопедии),
  • Ошибка Lua в Модуль:WD на строке 450: attempt to index field 'wikibase' (a nil value). (в случае бумажной энциклопедии),
  • Ошибка Lua в Модуль:WD на строке 450: attempt to index field 'wikibase' (a nil value).,
  • Ошибка Lua в Модуль:WD на строке 450: attempt to index field 'wikibase' (a nil value)..

Ресурсы в интернете

Для отдельных работ, опубликованных на различных ресурсах в интернете можно указывать идентификатор работы (параметр id) в рамках ресурса, Q-идентификатор ресурса (параметр qid издания), на котором опубликована работа, а также Q-идентификатор издателя (параметр qid издателя). В таком случае ссылка на работу будет формироваться исходя из идентификатора работы.

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

См. также