Модуль:Пісочниця/Роман Рябенко/Пробний
Перейти до навігації
Перейти до пошуку
Документація модуля[створити]
Зараз цей модуль не має відповідної документації. Якщо вам відомі призначення та засади використання цього модуля, будь ласка, напишіть хоча б коротеньку документацію. |
Дописувачі можуть експериментувати на підсторінках пісочниця (створити | дзеркало) та тести (створити) цього модуля. Підсторінки цієї сторінки. |
-- Змінні та функції в цьому модулі названі описово повними словами з
-- використанням транслітерації й коментарями, щоб зробити модуль якомога
-- доступнішим.
local funktsii = {} -- Кошик, до якого складаємо функції, щоб дати їх у кінці.
-- Зараз цей модуль містить лише одну функцію.
-- Ця функція відтворює шаблон «Публікація».
function funktsii.publikatsiia(parametry_vyklyku_modulia)
-- Шаблон, який викликає модуль за допомогою #invoke використоувати в статті
-- не зручно. Тому в тексті статті використовують інший шаблон, який і
-- містить параметри-відомості для посилання. Тож ми спершу отримуємо
-- параметри цього «батьківського» шаблону, щоб з ними працювати далі.
local parametry_vyklyku_shablonu = parametry_vyklyku_modulia:getParent()
local parametry = parametry_vyklyku_shablonu.args
-- Тип публікації.
local typ_publikatsii = parametry[1] -- Перший параметр.
-- Частина посилання, яка відповідає області бібліографічного опису
-- «1. Область заголовка та відомостей про відповідальність».
local prizvyshche_avtora = parametry["автор"]
local initsialy_avtora = parametry["автор ім'я"]
local stattia_pro_avtora_u_Vikipedii = parametry["автор вікіпедія"]
local prizvyshche_ta_initsialy_avtora = -- Чомусь курсивом.
"''[[" .. stattia_pro_avtora_u_Vikipedii .. "|" .. prizvyshche_avtora ..
", " .. initsialy_avtora .. "]]''"
local samostiinyi_zaholovok_chastyny_publikatsii = " " .. parametry["частина"]
local spivavtory_chastyny_publikatsii = " " .. parametry["частина співавтори"]
local oblast_1_zaholovok_i_vidpovidalnist = prizvyshche_ta_initsialy_avtora ..
samostiinyi_zaholovok_chastyny_publikatsii .. " : [арх. 1 травня 2020] : Фундаментальное описание : [авт. версия] [Текст] : [рос.] = Hip Joint : Fundamental Description : 1900 : [пер. з англ.] : стихи / " .. spivavtory_chastyny_publikatsii .. " ; пер. с англ. Дж. Смита"
-- Частина посилання, яка відповідає області бібліографічного опису
-- «2. Область видання».
local oblast_2_vydannia = " // Щас спою! : [арх. 1 травня 2020] : [редакт. версия] [Текст] : [рос.] = Let’s rock! : 1901 : [пер. з англ.] : сб. : в 4 т. / Ф. Ф. Фёдоров ; ред. Х. Х. Харитонов. — 5-е изд"
-- Частина посилання, яка відповідає області бібліографічного опису
-- «3. Специфічна область матеріалу або типу ресурсу».
local oblast_3_spetsvidomosti = ". — " .. parametry["спецвідомості"]
-- Частина посилання, яка відповідає області бібліографічного опису
-- «4. Область публікації, виробництва, поширення тощо».
local pershe_mistse_vydannia = ". — " .. parametry["місце"]
local nazva_pershoho_vydavnytstva = " : " .. parametry["видавництво"]
local nastupne_mistse_vydannia = " ; " .. parametry["місце2"]
local nazva_nastupnoho_vydavnytstva = " : " .. parametry["видавництво2"]
local rik_vydannia = ", " .. parametry["рік"] .. "."
local oblast_4_publikatsiia =
pershe_mistse_vydannia ..
nazva_pershoho_vydavnytstva ..
nastupne_mistse_vydannia ..
nazva_nastupnoho_vydavnytstva ..
rik_vydannia
-- Частина посилання, яка відповідає області бібліографічного опису
-- «5. Область фізичного опису».
local oblast_5_fizychnyi_opys = " — Т. 1 : Общий обзор, вып. 2 : Исторические предпосылки, кн. 3 : Статистические сведения, № 4 : Итоги, гл. 5 : Дополнительная інформация / сост. Ю. Ю. Юрьев (1 января). — С. 123 (2 паг. : Цифры і факты). — 1000, [1] с., [25] арк. портр. — Ствп. 456 (3 паг. : Итоги і перспективы). — 2000 ствп. : цв. ил., факс. + 2 CD : гологр. наклейки."
-- Частина посилання, яка відповідає області бібліографічного опису
-- «6. Область серії та багаточастинного монографічного ресурсу».
local oblast_6_seriia = " — (Врачи за мир : в 4 т. / ред. Я. Я. Яковлев. Сер. 1. Реаниматология, ISSN 1234-5678 ; 2013, № 1, т. 2, вип. 3, кн. 4, сб. 5)."
-- Частина посилання, яка відповідає області бібліографічного опису
-- «7. Область примітки».
local oblast_7_prymitky = " — По материалам международной конф. — Зм.: Запев ; Распев ; Припев ; Кода. — 10 000 екз."
-- Частина посилання, яка відповідає області бібліографічного опису
-- «8. Область ідентифікатора ресурсу та умов доступності»
-- Ця частина посилання може містити наступні ідентифікатори.
local LBC, UDC, ISBN, ISBN_tomu, ISSN, arXiv, Bibcode, DOI, JSTOR, LCCN, OCLC, PubMed, Zbl
-- Якщо задано відповідні параметри — формулюємо, що додати до цієї частини
-- посилання, а якщо не задано потрібного параметру — нічого не додаємо.
if parametry["ббк"] then
LBC = " — ББК " .. parametry["ббк"] .. "."
else
LBC = ""
end
if parametry["удк"] then
UDC = " — УДК " .. parametry["удк"] .. "."
else
UDC = ""
end
if parametry["isbn"] then
ISBN = " — ISBN " .. parametry["isbn"] .. "."
else
ISBN = ""
end
if parametry["isbn том"] then
if parametry["том"] then
ISBN_tomu = " — ISBN " .. parametry["isbn том"] .. " (т. " .. parametry["том"] .. ")."
else -- Якщо том не вказано, припускаємо, що перший.
ISBN_tomu = " — ISBN " .. parametry["isbn том"] .. " (т. " .. "т. 1)."
end
else
ISBN_tomu = ""
end
if parametry["issn"] then
ISSN = " — ISSN " .. parametry["issn"] .. "."
else
ISSN = ""
end
if parametry["arxiv"] then
arXiv = " — arXiv:" .. parametry["arxiv"] .. "."
else
arXiv = ""
end
if parametry["bibcode"] then
Bibcode = " — Bibcode: " .. parametry["bibcode"] .. "."
else
Bibcode = ""
end
if parametry["doi"] then
DOI = " — DOI:" .. parametry["doi"] .. "."
else
DOI = ""
end
if parametry["jstor"] then
JSTOR = " — JSTOR " .. parametry["jstor"] .. "."
else
JSTOR = ""
end
if parametry["lccn"] then
LCCN = " — LCCN " .. parametry["lccn"] .. "-."
else
LCCN = ""
end
if parametry["oclc"] then
OCLC = " — OCLC " .. parametry["oclc"] .. "."
else
OCLC = ""
end
if parametry["pmid"] then
PubMed = " — [https://www.ncbi.nlm.nih.gov/pubmed/" .. parametry["pmid"] .. " PubMed]."
else
PubMed = ""
end
if parametry["zbl"] then
Zbl = " — Zbl " .. parametry["zbl"] .. "."
else
Zbl = ""
end
-- Формулюємо текст цієї частини посилання.
local oblast_8_identyfikator = LBC .. UDC .. ISBN .. ISBN_tomu .. ISSN .. arXiv ..
Bibcode .. DOI .. JSTOR .. LCCN .. OCLC .. PubMed .. Zbl
-- Частина посилання, яка відповідає примітці про рецензію чи реферат, яка
-- за ISBD мала би бути в одній із областей бібліографічного опису, але за
-- ДСТУ 7.1:2006 — у кінці.
local prymitka_pro_retsenziiu_abo_referat -- Наступне дає примітку.
-- Якщо вказано лише для рецензії, але не реферату.
if parametry["о"] and parametry["рецензія"] and not parametry["реферат"] then
-- Шаблон припускає лише три типи рецензованої публікації.
local typy_retsenzovanyh_publikatsii = {
["книга"] = "Рец. на кн.: ",
["стаття"] = "Рец. на ст.: ",
["opus"] = "Rev. op.: "
}
-- Складаємо примітку.
prymitka_pro_retsenziiu_abo_referat = " — " ..
-- Вибираємо варіант формулювання за типом публікації.
typy_retsenzovanyh_publikatsii[parametry["рецензія"]] ..
parametry["о"]
-- Або якщо вказано лише для реферату, але не рецензії.
elseif parametry["о"] and parametry["реферат"] and not parametry["рецензія"] then
-- Шаблон припускає лише три типи реферованої публікації.
local typy_referovanyh_publikatsii = {
["книга"] = "Реф. кн.: ",
["стаття"] = "Реф. ст.: ",
["opus"] = "Ref. op.: "
}
-- Складаємо примітку.
prymitka_pro_retsenziiu_abo_referat = " — " ..
-- Вибираємо варіант формулювання за типом публікації.
typy_referovanyh_publikatsii[parametry["реферат"]] ..
parametry["о"]
-- Якщо ні реферат, ні рецензію не зазначено, чи помилково зазначено й те
-- й інше, то нічого до посилання на джерело не додаємо.
else
prymitka_pro_retsenziiu_abo_referat = ""
end
-- Посилання на джерело складається з частин, які описані вище.
local posylannia_na_dzherelo =
oblast_1_zaholovok_i_vidpovidalnist ..
oblast_2_vydannia ..
oblast_3_spetsvidomosti ..
oblast_4_publikatsiia ..
oblast_5_fizychnyi_opys ..
oblast_6_seriia ..
oblast_7_prymitky ..
oblast_8_identyfikator ..
prymitka_pro_retsenziiu_abo_referat
return posylannia_na_dzherelo -- Функція дає посилання на джерело.
end -- Кінець функції «publikatsiia».
return funktsii -- Даємо функції, якщо викликано модуль, а не функцію з нього.