Vikiiqtibos uzwikiquote https://uz.wikiquote.org/wiki/Bosh_Sahifa MediaWiki 1.44.0-wmf.4 first-letter Media Maxsus Munozara Foydalanuvchi Foydalanuvchi munozarasi Vikiiqtibos Vikiiqtibos munozarasi Fayl Fayl munozarasi MediaWiki MediaWiki munozarasi Andoza Andoza munozarasi Yordam Yordam munozarasi Turkum Turkum munozarasi TimedText TimedText talk Modul Modul munozarasi Odob 0 4579 12059 11968 2024-11-24T18:59:42Z Bekipediya 2189 Yangi iqtiboslar 12059 wikitext text/x-wiki {{vikipediya}} {{vikilugʻat}} '''Odob''' (arabcha — „adab“ soʻzining koʻpligi) — jamiyatda eʼtirof etilgan xulq normasi. {{ABD}} == Iqtiboslar == === K === *{{Q|Kishida odob boʻlsa, [[ilm]] ham boʻlishi lozim. Odob [[aql|aqlga]] bogʻliq narsa. [[Aql]] ustiga odob ham qoʻshilsa nur ustiga aʼlo nur boʻladi. Ulugʻlik [[aql|aql-u]] odob bilan vujudga keladi. [[Aql|Aqlning]] qadri odob bilan, [[boylik]] qadri saxovat bilan, quvvat qadri bahodirlik bilan oshadi.|[[Qayum Nosiriy|Qayum Nosiriyning]] [[w:Qayum Nosiriy#„Favoqih al-julaso“ asari|„Favoqih al-julaso“ asaridan]]{{sfn|Mashriqzamin hikmat boʻstoni|p=2}}}} === O === * {{Q|Odob ahli bilan hamsuhbat bo‘lish — gullar hidini ufurayotgan tong nasimidan ham shirin.|[[Otalar soʻzi]]{{sfn|Mashriqzamin hikmat boʻstoni|p=2}}}} * {{Q|Odobli odam tabibga o‘xshaydi, u bilan suhbatlashish ko‘ngildagi g‘amni quvadi.|[[Otalar soʻzi]]{{sfn|Mashriqzamin hikmat boʻstoni|p=3}}}} == Adabiyotlar == * {{Kitob manbasi|title=Mashriqzamin hikmat boʻstoni|author=Hamidjon Xomidiy|coauthors=Mahmud Hasaniy|publisher=„Sharq“ nashriyotmatbaa konserni|year=1997|location=Toshkent|pages=251|url=https://n.ziyouz.com/books/hikmatlar/Hamidjon%20Xomidiy,%20Mahmud%20Hasaniy.%20Mashriqzamin%20hikmat%20bo'stoni.pdf|ref=Mashriqzamin hikmat boʻstoni}} == Manbalar == <references /> [[Turkum:Mavzular]] te2ntq2cz290wroh7vtxeg9k13fkxah 12060 12059 2024-11-24T19:01:52Z Bekipediya 2189 /* Adabiyotlar */ 12060 wikitext text/x-wiki {{vikipediya}} {{vikilugʻat}} '''Odob''' (arabcha — „adab“ soʻzining koʻpligi) — jamiyatda eʼtirof etilgan xulq normasi. {{ABD}} == Iqtiboslar == === K === *{{Q|Kishida odob boʻlsa, [[ilm]] ham boʻlishi lozim. Odob [[aql|aqlga]] bogʻliq narsa. [[Aql]] ustiga odob ham qoʻshilsa nur ustiga aʼlo nur boʻladi. Ulugʻlik [[aql|aql-u]] odob bilan vujudga keladi. [[Aql|Aqlning]] qadri odob bilan, [[boylik]] qadri saxovat bilan, quvvat qadri bahodirlik bilan oshadi.|[[Qayum Nosiriy|Qayum Nosiriyning]] [[w:Qayum Nosiriy#„Favoqih al-julaso“ asari|„Favoqih al-julaso“ asaridan]]{{sfn|Mashriqzamin hikmat boʻstoni|p=2}}}} === O === * {{Q|Odob ahli bilan hamsuhbat bo‘lish — gullar hidini ufurayotgan tong nasimidan ham shirin.|[[Otalar soʻzi]]{{sfn|Mashriqzamin hikmat boʻstoni|p=2}}}} * {{Q|Odobli odam tabibga o‘xshaydi, u bilan suhbatlashish ko‘ngildagi g‘amni quvadi.|[[Otalar soʻzi]]{{sfn|Mashriqzamin hikmat boʻstoni|p=3}}}} == Adabiyotlar == * {{Kitob manbasi|title=Mashriqzamin hikmat boʻstoni|author=Hamidjon Xomidiy|coauthors=Mahmud Hasaniy|publisher=„Sharq“ nashriyotmatbaa konserni|year=1997|location=Toshkent|pages=251|url=https://n.ziyouz.com/books/hikmatlar/Hamidjon%20Xomidiy,%20Mahmud%20Hasaniy.%20Mashriqzamin%20hikmat%20bo'stoni.pdf||ref=Mashriqzamin hikmat boʻstoni}} == Manbalar == <references /> [[Turkum:Mavzular]] mu5m3rujwfhbymfa8kl3vdh03eeak7j Andoza:Sfn 10 4745 12052 2024-11-24T18:43:53Z Bekipediya 2189 „<includeonly>{{#invoke:Footnotes|sfn|template=sfn}}</includeonly><noinclude> {{hujjat}} </noinclude>“ yozuvi orqali yangi sahifa yaratildi 12052 wikitext text/x-wiki <includeonly>{{#invoke:Footnotes|sfn|template=sfn}}</includeonly><noinclude> {{hujjat}} </noinclude> s6t86tbhq6ehbu5jl59q3vhi5t5qnf3 Modul:Footnotes 828 4746 12053 2024-11-24T18:48:01Z Bekipediya 2189 „require('Module:No globals'); local getArgs = require ('Module:Arguments').getArgs; --[[--------------------------< A R G S _ D E F A U L T >------------------------------------------------------ a table to specify initial values. ]] local args_default = { bracket_left = '', bracket_right = '', bracket_year_left = '', bracket_year_right = '', postscript = '', page = '', pages = '', location = '', page_sep = ", s.&nbsp;", pages_sep =...“ yozuvi orqali yangi sahifa yaratildi 12053 Scribunto text/plain require('Module:No globals'); local getArgs = require ('Module:Arguments').getArgs; --[[--------------------------< A R G S _ D E F A U L T >------------------------------------------------------ a table to specify initial values. ]] local args_default = { bracket_left = '', bracket_right = '', bracket_year_left = '', bracket_year_right = '', postscript = '', page = '', pages = '', location = '', page_sep = ", s.&nbsp;", pages_sep = ", ss.&nbsp;", ref = '', template = 'harv', -- if template name not provided in {{#invoke:}} use this }; --[[--------------------------< T A R G E T _ C H E C K >------------------------------------------------------ look for anchor_id (CITEREF name-list and year or text from |ref=) in anchor_id_list the 'no target' error may be suppressed with |ignore-err=yes when target cannot be found because target is inside a template that wraps another template; 'multiple targets' error may not be suppressed ]] local function target_check (anchor_id, args) local namespace = mw.title.getCurrentTitle().namespace; local anchor_id_list_module = mw.loadData ('Module:Footnotes/anchor_id_list'); local anchor_id_list = anchor_id_list_module.anchor_id_list; local article_whitelist = anchor_id_list_module.article_whitelist; local template_list = anchor_id_list_module.template_list; local whitelist_module = mw.loadData ('Module:Footnotes/whitelist'); local whitelist = whitelist_module.whitelist; local special_patterns = whitelist_module.special_patterns; local DNB_special_patterns = whitelist_module.DNB_special_patterns; local DNB_template_names = whitelist_module.DNB_template_names; if 10 == namespace then return ''; -- automatic form of |no-tracking=yes; TODO: is this too broad? end local tally = anchor_id_list[anchor_id]; -- nil when anchor_id not in list; else a tally local msg; local category; if not tally then if args.ignore then return ''; -- if ignore is true then no message, no category end if article_whitelist and article_whitelist[anchor_id] then -- if an article-local whitelist and anchor ID is in it return ''; -- done end local wl_anchor_id = anchor_id; -- copy to be modified to index into the whitelist if args.year then -- for anchor IDs created by this template (not in |ref=) that have a date if args.year:match ('%d%l$') or -- use the date value to determine if we should remove the disambiguator args.year:match ('n%.d%.%l$') or args.year:match ('nd%l$') then wl_anchor_id = wl_anchor_id:gsub ('%l$', ''); -- remove the disambiguator end end local t_tbl = whitelist[wl_anchor_id]; -- get list of templates associated with this anchor ID if t_tbl then -- when anchor ID not whitelisted t_tbl is nil for _, t in ipairs (t_tbl) do -- spin through the list of templates associated with this anchor ID if template_list[t] then -- if associated template is found in the list of templates in the article return ''; -- anchor ID is whitlisted and article has matching template so no error end end end for _, pattern in ipairs (special_patterns) do -- spin through the spcial patterns and try to match if anchor_id:match (pattern) then return ''; end end for _, dnb_t in ipairs (DNB_template_names or {}) do -- getting desparate now, are there any DNB templates? DNB_template_names may be nil; empty table prevents script error if template_list[dnb_t] then -- if the article has this DNB template for _, pattern in ipairs (DNB_special_patterns) do -- spin through the DNB-specifiec wildcard patterns if anchor_id:match (pattern) then -- and attempt a match return ''; -- found a match end end end end msg = 'no target: ' .. anchor_id; -- anchor_id not found category = ''; elseif 1 < tally then msg = 'multiple targets (' .. tally .. '×): ' .. anchor_id; -- more than one anchor_id in this article category = 0 == namespace and '' or ''; -- only categorize in article space return '<span class="error harv-error" style="display: inline; font-size:100%"> ' .. args.template .. ' error: ' .. msg .. ' ([[:Category:Harv and Sfn template errors|help]])</span>' .. category; end -- category = 0 == namespace and '' or ''; -- only categorize in article space category = 0 == namespace and category or ''; -- only categorize in article space --use this version to show error messages -- return msg and '<span class="error harv-error" style="display: inline; font-size:100%"> ' .. args.template .. ' error: ' .. msg .. ' ([[:Category:Harv and Sfn template errors|help]])</span>' .. category or ''; --use this version to hide error messages return msg and '<span class="error harv-error" style="display: none; font-size:100%"> ' .. args.template .. ' error: ' .. msg .. ' ([[:Category:Harv and Sfn template errors|help]])</span>' .. category or ''; end --[[--------------------------< I S _ Y E A R >---------------------------------------------------------------- evaluates param to see if it is one of these forms with or without lowercase letter disambiguator: YYYY n.d. nd c. YYYY YYYY–YYYY (separator is endash) YYYY–YY (separator is endash) return true when param has a recognized form; false else ]] local patterns_date= { '^%d%d%d%d?%l?$', '^n%.d%.%l?$', '^nd%l?$', '^c%. %d%d%d%d?%l?$', '^%d%d%d%d–%d%d%d%d%l?$', '^%d%d%d%d–%d%d%l?$', } local function is_year (param, args) args.year = ''; -- used for harv error; for _, pattern in ipairs (patterns_date) do if mw.ustring.match (param, pattern) then args.year = param; -- used for harv error; return true; end end end --[[--------------------------< C O R E >---------------------------------------------------------------------- returns an anchor link (CITEREF) formed from one to four author names, year, and insource location (|p=, |pp=, loc=) ]] local function core( args ) local result; local err_msg = '' if args.P5 ~= '' then if is_year (args.P5, args) then result = table.concat ({args.P1, ' et al. ', args.bracket_year_left, args.P5, args.bracket_year_right}); else args.P5 = ''; -- when P5 not a year don't include in anchor result = table.concat ({args.P1, ' et al.'}); -- and don't render it end elseif args.P4 ~= '' then if is_year (args.P4, args) then result = table.concat ({args.P1, ', ', args.P2, ' &amp; ', args.P3, ' ', args.bracket_year_left, args.P4, args.bracket_year_right}); -- three names and a year else result = table.concat ({args.P1, ' et al.'}); -- four names end elseif args.P3 ~= '' then if is_year (args.P3, args) then result = table.concat ({args.P1, ' &amp; ', args.P2, ' ', args.bracket_year_left, args.P3, args.bracket_year_right}); -- two names and a year else result = table.concat ({args.P1, ', ', args.P2, ' ', ' &amp; ', args.P3}); -- three names end elseif args.P2 ~= '' then if is_year (args.P2, args) then result = table.concat ({args.P1, ' ', args.bracket_year_left, args.P2, args.bracket_year_right}); -- one name and year else result = table.concat ({args.P1, ' &amp; ', args.P2}); -- two names end else result = args.P1; -- one name end -- when author-date result ends with a dot (typically when the last positional parameter holds 'n.d.') -- and when no in-source location (no |p=, |pp=, or |loc=) -- and when the first or only character in args.postscript is a dot -- remove the author-date result trailing dot -- the author-date result trailing dot will be replaced later with the content of args.postscript (usually a dot) if ('.' == result:sub(-1)) and ('.' == args.postscript:sub(1)) and ('' == args.page) and ('' == args.pages) and ('' == args.location) then result = result:gsub ('%.$', ''); end if args.ref ~= 'none' then local anchor_id; if args.ref ~= '' then anchor_id = mw.uri.anchorEncode (args.ref); err_msg = target_check (anchor_id, args); result = table.concat ({'[[#', anchor_id, '|', result, ']]'}); else anchor_id = mw.uri.anchorEncode (table.concat ({'CITEREF', args.P1, args.P2, args.P3, args.P4, args.P5})); err_msg = target_check (anchor_id, args); result = table.concat ({'[[#', anchor_id, '|', result, ']]'}); end end if args.page ~= '' then result = table.concat ({result, args.page_sep, args.page}); elseif args.pages ~= ''then result = table.concat ({result, args.pages_sep, args.pages}); end if args.location ~= '' then result = table.concat ({result, ', ', args.location}); end result = table.concat ({args.bracket_left, result, args.bracket_right, args.postscript}):gsub ('%s+', ' '); -- strip redundant spaces return result .. err_msg; end --[[--------------------------< H Y P H E N _ T O _ D A S H >-------------------------------------------------- Converts a hyphen to a dash under certain conditions. The hyphen must separate like items; unlike items are returned unmodified. These forms are modified: letter - letter (A - B) digit - digit (4-5) digit separator digit - digit separator digit (4.1-4.5 or 4-1-4-5) letterdigit - letterdigit (A1-A5) (an optional separator between letter and digit is supported – a.1-a.5 or a-1-a-5) digitletter - digitletter (5a - 5d) (an optional separator between letter and digit is supported – 5.a-5.d or 5-a-5-d) any other forms are returned unmodified. str may be a comma- or semicolon-separated list This code copied from Module:Citation/CS1. The only modification is to require Module:Manba/MU1/Utilities so that it has access to the functions is_set() and has_accept_as_written() ]] local function hyphen_to_dash( str ) local utilities = require ('Module:Manba/MU1/Utilities'); -- only modification so that this function has access to is_set() and has_accept_as_written() if not utilities.is_set (str) then return str; end local accept; -- Boolean str = str:gsub ('&[nm]dash;', {['&ndash;'] = '–', ['&mdash;'] = '—'}); -- replace &mdash; and &ndash; entities with their characters; semicolon mucks up the text.split str = str:gsub ('&#45;', '-'); -- replace HTML numeric entity with hyphen character str = str:gsub ('&nbsp;', ' '); -- replace &nbsp; entity with generic keyboard space character local out = {}; local list = mw.text.split (str, '%s*[,;]%s*'); -- split str at comma or semicolon separators if there are any for _, item in ipairs (list) do -- for each item in the list item, accept = utilities.has_accept_as_written (item); -- remove accept-this-as-written markup when it wraps all of item if not accept and mw.ustring.match (item, '^%w*[%.%-]?%w+%s*[%-–—]%s*%w*[%.%-]?%w+$') then -- if a hyphenated range or has endash or emdash separators if item:match ('^%a+[%.%-]?%d+%s*%-%s*%a+[%.%-]?%d+$') or -- letterdigit hyphen letterdigit (optional separator between letter and digit) item:match ('^%d+[%.%-]?%a+%s*%-%s*%d+[%.%-]?%a+$') or -- digitletter hyphen digitletter (optional separator between digit and letter) item:match ('^%d+[%.%-]%d+%s*%-%s*%d+[%.%-]%d+$') or -- digit separator digit hyphen digit separator digit item:match ('^%d+%s*%-%s*%d+$') or -- digit hyphen digit item:match ('^%a+%s*%-%s*%a+$') then -- letter hyphen letter item = item:gsub ('(%w*[%.%-]?%w+)%s*%-%s*(%w*[%.%-]?%w+)', '%1–%2'); -- replace hyphen, remove extraneous space characters else item = mw.ustring.gsub (item, '%s*[–—]%s*', '–'); -- for endash or emdash separated ranges, replace em with en, remove extraneous whitespace end end table.insert (out, item); -- add the (possibly modified) item to the output table end local temp_str = ''; -- concatenate the output table into a comma separated string temp_str, accept = utilities.has_accept_as_written (table.concat (out, ', ')); -- remove accept-this-as-written markup when it wraps all of concatenated out if accept then temp_str = utilities.has_accept_as_written (str); -- when global markup removed, return original str; do it this way to suppress boolean second return value return temp_str; else return temp_str; -- else, return assembled temp_str end end --[[--------------------------< A R G S _ F E T C H >--------------------------------------------------------- Because all of the templates share a common set of parameters, a single common function to fetch those parameters from frame and parent frame. ]] local function args_fetch (frame, ps) local args = args_default; -- create a copy of the default table local pframe = frame:getParent(); -- point to the template's parameter table for k, v in pairs (frame.args) do -- override defaults with values provided in the #invoke: if any args[k] = v; end args.postscript = pframe.args.postscript or pframe.args.ps or ps; if 'none' == args.postscript then args.postscript = ''; end args.page = pframe.args.p or pframe.args.page or ''; args.pages = pframe.args.pp or pframe.args.pages or ''; args.pages = ('' ~= args.pages) and hyphen_to_dash (args.pages) or ''; args.location = pframe.args.loc or ''; args.ref = pframe.args.ref or pframe.args.Ref or ''; args.ignore = ('yes' == pframe.args['ignore-false-positive']) or ('yes' == pframe.args['ignore-err']); for i, v in ipairs ({'P1', 'P2', 'P3', 'P4', 'P5'}) do -- loop through the five positional parameters and trim if set else empty string args[v] = (pframe.args[i] and mw.text.trim (pframe.args[i])) or ''; end if args.P5 and not is_year (args.P5, args) then local i = 6; -- initialize the indexer to the sixth positional parameter while pframe.args[i] do -- in case there are too many authors loop through the authors looking for a year local v = mw.text.trim (pframe.args[i]); -- trim if is_year (v, args) then -- if a year args.P5 = v; -- overwrite whatever was in args.P5 with year break; -- and abandon the search end i = i + 1; -- bump the indexer end end return args; end --[[--------------------------< H A R V A R D _ C I T A T I O N >---------------------------------------------- common entry point for: {{harvard citation}} aka {{harv}} {{Harvard citation no brackets}} aka {{harvnb}} {{harvcol}} {{harvcolnb}} {{harvcoltxt}} {{Harvard citation text}} aka {{harvtxt}} {{Harvp}} Distinguishing features (brackets and page separators) are specified in this module's {{#invoke}} in the respective templates. ]] local function harvard_citation (frame) local args = args_fetch (frame, ''); -- get the template and invoke parameters; default postscript is empty string return core (args); end --[[--------------------------< S T R I P _ U R L >------------------------------------------------------------ used by sfn() and sfnm(). This function fixes an issue with reference tooltip gadget where the tooltip is not displayed when an insource locator (|p=, |pp=, |loc=) has an external wikilink that contains a # character strip uri-reserved characters from urls in |p=, |pp-, and |loc= parameters The researved characters are: !#$&'()*+,/:;=?@[] ]] local function strip_url (pages) local escaped_uri; if not pages or ('' == pages) then return pages; end for uri in pages:gmatch ('%[(%a[%w%+%.%-]*://%S+)') do -- for each external link get the uri escaped_uri = uri:gsub ("([%(%)%.%%%+%-%*%?%[%^%$%]])", "%%%1" ); -- save a copy with lua pattern characters escaped uri = uri:gsub ("[!#%$&'%(%)%*%+,/:;=%?@%[%]%.%%]", ''); -- remove reserved characters and '%' because '%20' (space character) is a lua 'invalid capture index' pages = pages:gsub (escaped_uri, uri, 1); -- replace original uri with the stripped version end return pages; end --[[--------------------------< S F N >------------------------------------------------------------------------ entry point for {{sfn}} and {{sfnp}} ]] local function sfn (frame) local args = args_fetch (frame, '.'); -- get the template and invoke parameters; default postscript is a dot local result = core (args); -- go make a CITEREF anchor -- put it all together and then strip redundant spaces local name = table.concat ({'FOOTNOTE', args.P1, args.P2, args.P3, args.P4, args.P5, strip_url (args.page), strip_url (args.pages), strip_url (args.location)}):gsub ('%s+', ' '); return frame:extensionTag ({name='ref', args={name=name}, content=result}); end --[[--------------------------< S F N M >---------------------------------------------------------------------- common entry point for {{sfnm}} and {{sfnmp}} Distinguishing features (brackets) are specified in this module's {{#invoke}} in the respective templates. ]] local function sfnm (frame) local args = args_default; -- create a copy of the default table local pframe = frame:getParent(); -- point to the template's parameter table local n = 1; -- index of source; this is the 'n' in na1, ny, etc local first_pnum = 1; -- first of a pair of positional parameters local second_pnum = 2; -- second of a pair of positional parameters local last_ps = 0; -- index of the last source with |nps= set local last_index = 0; -- index of the last source; these used to determine which of |ps= or |nps= will terminate the whole rendering local out = {}; -- table to hold rendered sources local footnote = {'FOOTNOTE'}; -- all author, date, insource location stuff becomes part of the reference's footnote id; added as we go for k, v in pairs (frame.args) do -- override defaults with values provided in the #invoke: if any args[k] = v; end while true do if not pframe.args[table.concat ({n, 'a1'})] and not pframe.args[first_pnum] then break; -- no na1 or matching positional parameter so done end if pframe.args[table.concat ({n, 'a1'})] then -- does this source use named parameters? for _, v in ipairs ({'P1', 'P2', 'P3', 'P4', 'P5'}) do -- initialize for this source args[v] = ''; end for i, v in ipairs ({'P1', 'P2', 'P3', 'P4', 'P5'}) do -- extract author and year parameters for this source args[v] = pframe.args[table.concat ({n, 'a', i})] or ''; -- attempt to assign author name if '' == args[v] then -- when there wasn't an author name args[v] = pframe.args[table.concat ({n, 'y'})] or ''; -- attempt to assign year break; -- done with author/date for this source end end else -- this source uses positional parameters args.P1 = mw.text.trim (pframe.args[first_pnum]); -- yes, only one author supported args.P2 = (pframe.args[second_pnum] and mw.text.trim (pframe.args[second_pnum])) or ''; -- when positional author, year must also be positional for _, v in ipairs ({'P3', 'P4', 'P5'}) do -- blank the rest of these for this source args[v] = ''; end first_pnum = first_pnum + 2; -- source must use positional author and positional year second_pnum = first_pnum + 1; -- bump these for possible next positional source end args.postscript = pframe.args[table.concat ({n, 'ps'})] or ''; if 'none' == args.postscript then -- this for compatibility with other footnote templates; does nothing args.postscript = ''; end args.ref = pframe.args[table.concat ({n, 'ref'})] or ''; -- alternate reference for this source args.page = pframe.args[table.concat ({n, 'p'})] or ''; -- insource locations for this source args.pages = pframe.args[table.concat ({n, 'pp'})] or ''; args.pages = ('' ~= args.pages) and hyphen_to_dash (args.pages) or ''; args.location = pframe.args[table.concat ({n, 'loc'})] or ''; args.ignore = ('yes' == pframe.args[table.concat ({n, 'ignore-false-positive'})]) or ('yes' == pframe.args[table.concat ({n, 'ignore-err'})]); table.insert (out, core (args)); -- save the rendering of this source for k, v in ipairs ({'P1', 'P2', 'P3', 'P4', 'P5'}) do -- create the FOOTNOTE id if '' ~= args[v] then table.insert (footnote, args[v]); end end for k, v in ipairs ({'page', 'pages', 'location'}) do -- these done separately so that we can strip uri-reserved characters from extlinked page numbers if '' ~= args[v] then table.insert (footnote, strip_url (args[v])) end end last_index = n; -- flags used to select terminal postscript from nps or from end_ps if '' ~= args.postscript then last_ps = n; end n = n+1; -- bump for the next one end local name = table.concat (footnote):gsub ('%s+', ' '); -- put the footnote together and strip redundant space args.end_ps = pframe.args.postscript or pframe.args.ps or '.'; -- this is the postscript for the whole not for the individual sources if 'none' == args.end_ps then -- not an original sfnm parameter value; added for compatibility with other footnote templates args.end_ps = ''; end local result = table.concat ({table.concat (out, '; '), (last_index == last_ps) and '' or args.end_ps}); return frame:extensionTag ({name='ref', args={name=name}, content=result}); end --[[--------------------------< S F N R E F >------------------------------------------------------------------ implements {{sfnref}} ]] local function sfnref (frame) local args = getArgs (frame); local out = {}; for i=1, 5 do -- get the first five args if there are five args if args[i] then out[i] = args[i]; else break; -- less than 5 args break out end end if 5 == #out then -- when we have seen five args there may bemore local i = 6; -- initialize the indexer to the sixth positional parameter while args[i] do -- in case there are too many authors loop through the authors looking for a year if is_year (args[i], args) then -- if a year out[5] = args[i]; -- overwrite whatever was in args[5] with year break; -- and abandon the search end i = i + 1; -- bump the indexer end end return mw.uri.anchorEncode ('CITEREF' .. table.concat (out)); end --[[--------------------------< E X P O R T E D F U N C T I O N S >------------------------------------------ ]] return { harvard_citation = harvard_citation, sfn = sfn, sfnm = sfnm, sfnref = sfnref, }; s17e1mrqkjg8m1vrkqt3zjt2qai8zvz Modul:Footnotes/anchor id list 828 4747 12054 2024-11-24T18:49:21Z Bekipediya 2189 „require('Module:No globals'); local data = mw.loadData ('Module:Footnotes/anchor id list/data'); local whitelist = mw.loadData ('Module:Footnotes/whitelist'); local Lang_obj = mw.language.getContentLanguage(); -- used by template_list_add() to uppercase first letter of template name TODO: better way to do that? local redirects_date = { ['date'] = true, ['datetomos'] = true, ['formatdate'] = true, ['isotodmymdy'] = true, ['isotomos'] =...“ yozuvi orqali yangi sahifa yaratildi 12054 Scribunto text/plain require('Module:No globals'); local data = mw.loadData ('Module:Footnotes/anchor id list/data'); local whitelist = mw.loadData ('Module:Footnotes/whitelist'); local Lang_obj = mw.language.getContentLanguage(); -- used by template_list_add() to uppercase first letter of template name TODO: better way to do that? local redirects_date = { ['date'] = true, ['datetomos'] = true, ['formatdate'] = true, ['isotodmymdy'] = true, ['isotomos'] = true, } local redirects_patent = { -- special case cs1-like templates because uses different parameters for name and date in anchor ID ['Cite patent'] = true, ['Citeref patent'] = true, ['Ref patent'] = true, } local redirects_sfnref = { ['sfnref'] = true, ['harvid'] = true, } local aliases_author = { -- these use pseudo-patterns in the same way as cs1|2; '#' represents 1 or more enumerator digits 'last#', 'author#', 'surname#', 'author-last#', 'author#-last', 'subject#', 'host#', } local aliases_contributor = { 'contributor#', 'contributor-last#', 'contributor#-last', 'contributor-surname#', 'contributor#-surname', } local aliases_editor = { 'editor#', 'editor-last#', 'editor#-last', 'editor-surname#', 'editor#-surname', } local aliases_harvc_author = { 'last#', 'author#', } local aliases_inventor = { -- cite patent 'inventor#', 'inventor-last#', 'inventor#-last', 'inventor-surname#', 'inventor#-surname', 'invent#', 'invent-#', } local alias_patterns_date = { -- normal lua patterns for most cs1|2-like templates '|%s*year%s*=%s*', '|%s*date%s*=%s*', '|%s*publication%-?date%s*=%s*', '|%s*air%-?date%s*=%s*', } local alias_patterns_harvc_date = { -- normal lua patterns for harvc template '|%s*anchor%-year%s*=%s*', '|%s*year%s*=%s*', } local alias_patterns_patent_date = { -- normal lua patterns for cite patent templates '|%s*issue%-date%s*=%s*', '|%s*gdate%s*=%s*', '|%s*publication%-date%s*=%s*', '|%s*pubdate%s*=%s*', } local patterns_date = { -- normal lua patterns '(%d%d%d%d–%d%d%d%d%l?)$', -- YYYY–YYYY four-digit year range at end (Season YYYY–YYYY); with or without dab '^(%d%d%d%d–%d%d%l?)$', -- YYYY–YY two-digit year range; with or without dab '^(c%. %d%d%d%d?%l?)$', -- three- or four-digit circa year; with or without dab '(%d%d%d%d?%l?)$', -- three- or four-digit year at end of date (dmy or mdy); with or without dab '^(%d%d%d%d?%l?)', -- three- or four-digit year at beginning of date (ymd or YYYY); with or without dab '^(n%.d%.%l?)$', -- 'no date' with dots; with or without dab '^(nd%l?)$', -- 'no date' without dots; with or without dab } local patterns_tags = { '<nowiki>.-</nowiki>', '<!%-%-.-%-%->', '<pre>.-</pre>', '<syntaxhighlight.->.-</syntaxhighlight>', '<source.->.-</source>', -- deprecated alias of syntaxhighlight tag } local template_skip = { -- templates to be skipped for whatever reason; mostly because they resemble cs1-like templates ['Citation-attribution'] = true, } local Article_content; local anchor_id_list = {}; -- exported tables local template_list = {}; local article_whitelist = {}; --[[--------------------------< A R T I C L E _ C O N T E N T _ G E T >---------------------------------------- get article content, remove certain html-like tags and their content so that this code doesn't include any citation templates inside the tags as valid tagets; they are not. ]] local function article_content_get () if not Article_content then Article_content = mw.title.getCurrentTitle():getContent() or ''; -- get the content of the article or ''; new pages edited w/ve do not have 'content' until saved; ve does not preview; phab:T221625 for _, tag in ipairs (patterns_tags) do Article_content = Article_content:gsub (tag, ''); -- remove certain html-like tags and their content end end end --[[--------------------------< S F N R E F _ G E T >---------------------------------------------------------- make an anchor id from the contents of {{sfnref}} or {{harvid}}. this function assumes that {{sfnref}} and {{harvid}} are correctly formed. ]] local function sfnref_get (template) template = template:gsub ('{{%s*(.-)%s*}}', '%1'); -- strip bounding template markup and trim local parts = mw.text.split (template, '%s*|%s*'); -- split at the pipe and remove extraneous space characters local anchor_id = {}; if redirects_sfnref[parts[1]:lower()] then anchor_id[1] = 'CITEREF'; else return nil; -- not an sfnref or harvid template end local i = 2; -- indexer into parts{} table local j = 2; -- indexer into anchor_id{} table which already has 'CITEREF' at [1] while parts[i] and 7 > j do -- loop through what should be just positional parameters for names and year (2-6 four names and a date) if not parts[i]:find ('=') then -- look for equal sign (named paraneter in a template that doesn't support named parameters) anchor_id[j] = parts[i]; -- positional parameters are saved j = j+1; -- bump the anchor_id{} indexer end i = i+ 1; -- bump the parts{} indexer end return table.concat (anchor_id, ''); end --[[--------------------------< D A T E _ G E T >-------------------------------------------------------------- extract year from one of |year=, |date=, |publicationdate=, or |publication-date in that order. Does not error check (that is left to the cs1|2 templates to do) also gets date from |<date alias>={{date|...}} ]] local function date_get (template, aliases) local date; local rvalue; for _, pattern in ipairs (aliases) do -- spin through the date alias patterns rvalue = tostring(template):match (pattern); -- is this |<date alias>= used (tostring() because something makes match() think template is a table) if rvalue then rvalue = tostring(template):match (pattern .. '(%b{})'); -- is rvalue a template? if rvalue then rvalue = rvalue:gsub ('{{%s*(.-)%s*}}', '%1'); -- strip bounding template markup and trim local parts = mw.text.split (rvalue, '%s*|%s*'); -- split at the pipe and remove extraneous space characters if redirects_date[parts[1]:lower()] then -- if parts[1] names {{date}} or redirect rvalue = parts[2]; -- assume that date template is properly formed, first positional parameter is the date else return ''; -- |date= holds some other template than {{date}} or redirect end else rvalue = template:match (pattern .. '([^|}]+)'); if rvalue then -- if rvalue is something rvalue = mw.text.trim (rvalue); -- trim it end if not rvalue or '' == rvalue then -- if rvale was nothing or trimed to nothing rvalue = nil; -- ensure that it is unset so we can try the next parameter in the list end end if rvalue then for _, pattern in ipairs (patterns_date) do -- spin through the recognized date formats date = rvalue:match (pattern); -- attempt to extract year portion according to the pattern if date then return date; -- matched so return; end end break; -- found a date but it was malformed so abandon end end end return ''; -- no date param or date param doesn't hold a recognized date; empty string for concatenation end --[[--------------------------< V N A M E S _ G E T >---------------------------------------------------------- extract names from |vauthors= or |veditors=; there is no |vcontributors= parameter. splits the v parameter value at the comma; correctly handles accept-as-witten markup when used to wrap a comma- separated names (corporate) ]] local function vnames_get (params, vparam) local vnames = {}; -- first four author or editor names go here local split = {}; -- temp table to assist in decoding accept-as-witten-markup if params[vparam] then -- test for |vauthors= or |veditor= split = mw.text.split (params[vparam], '%s*,%s*'); -- this will separate portions of ((Black, Brown, White, an Co.)) local i = 1; -- an indexer while split[i] do if split[i]:match ('^%(%(.*[^%)][^%)]$') then -- first segment of comma-separated accept-as-witten; this segment has the opening doubled parens local name = split[i]; i=i+1; -- bump indexer to next segment while split[i] do name = name .. ', ' .. split[i]; -- concatenate with previous segments if split[i]:match ('^.*%)%)$') then -- if this table member has the closing doubled parens break; -- and done reassembling so end i=i+1; -- bump indexer end table.insert (vnames, name); -- and add accept-as-witten name to the vnames table else table.insert (vnames, split[i]); -- and add name to the vnames table end i=i+1; -- bump indexer if 5 == i then break; end -- limit to four names end for i, vname in ipairs (vnames) do if not vname:match ('%(%(.-%)%)') then -- without accept-this-value-as-written markup vnames[i] = vname:gsub ('(.-)%s+%u+$', '%1'); -- extract and save surname(s) end end for i, vname in ipairs (vnames) do -- repeat, this time for accept-this-value-as-written markup vnames[i] = vname:gsub ('%(%((.-)%)%)', '%1'); -- remove markup if present and save the whole name end end return 0 ~= #vnames and table.concat (vnames) or nil -- return a concatenation of the vnames; nil else end --[[--------------------------< N A M E S _ G E T >------------------------------------------------------------ cs1|2 makes anchor id from contributor, author, or editor name-lists in that order get the names from the cs1|2 template; if there are no contributor names, try author names, then try editor names. returns concatenated names in enumeration order when successful; nil else empty name (nameholding parameter n is present without value) and missing name (nameholding parameter n is not present) are included as empty string with all other names ]] local function names_get (params, aliases_list) local names = {}; -- first four author or editor names go here local enum_alias; -- alias with '#' replaced with a digit for enum=1, 4 do -- four names only for i, alias in ipairs (aliases_list) do if not names[enum] then -- hanven't found a previous alias with this [enum]? see if we can find this alias with this enum enum_alias = alias:gsub ('#', enum); -- replace '#' to make 'lastn' if 1 == enum then -- because |last= and last1= are exact aliases if params[enum_alias] then -- test |last1= first names[enum] = params[enum_alias]; -- found so save the value assigned to |last1= break; -- next enum else enum_alias = alias:gsub ('#', ''); -- replace '#' to make 'last' if params[enum_alias] then names[enum] = params[enum_alias]; -- found so save the value assigned to |last= break; -- next enum end end else -- here for enum 2, 3, 4 if params[enum_alias] then names[enum] = params[enum_alias]; -- found so save the value assigned to |lastn= break; -- next enum end end end end end for enum=1, 4 do -- spin through the names table and local name = names[enum]; if not name then -- when nameholding parameter n is not present (nil) name = ''; -- convert to empty string for concatenation end name = name:gsub('%(%((.-)%)%)', '%1'); -- remove accept-as-written markup if present names[enum] = name; -- save the modified name end local name_str = table.concat (names); -- concatenate the names return '' ~= name_str and name_str or nil; -- return the concatenation if not empty string; nil else end --[[--------------------------< T E M P L A T E _ S T R I P >-------------------------------------------------- removes the citation or havrc template's {{ and }} markup then removes, in whole, any templates found inside the citation or harvc template. Templates are not allowed in parameters that are made part of COinS metadata; yet, they will appear. cs1|2 does not see the template markup but instead sees the result of the template as html. cs1|2 strips the html which leaves the displayed value for the anchor id. We can't do that here so, because templates aren't allowed in parameters, we simply discard any templates found in the cs1|2 template. this may leave a |lastn= parameter empty which will be treated as if it were really empty as cs1|2 do (three authors, |last2= empty -> CITEREFLast1Last3YYYY (the harv and sfn render: 'Last1, & Last3 YYYY' with CITEREFLast1Last3YYYY). ]] local function template_strip (template) template = template:gsub ('^{{%s*', ''):gsub ('%s*}}$', '', 1); -- remove outer {{ and }} (cs1|2 template delimiters with trailing/leading whitespace) template = template:gsub ('%b{}', ''); -- remove any templates from the cs1|2 template return template; end --[[--------------------------< E S C A P E _ L U A _ M A G I C _ C H A R S >---------------------------------- Returns a string where all of lua's magic characters have been escaped. This is important because functions like string.gsub() treat their pattern and replace strings as patterns, not literal strings. ]] local function escape_lua_magic_chars (argument) argument = argument:gsub("%%", "%%%%"); -- replace % with %% argument = argument:gsub("([%^%$%(%)%.%[%]%*%+%-%?])", "%%%1"); -- replace all other lua magic pattern characters return argument; end --[=[-------------------------< W I K I L I N K _ S T R I P >-------------------------------------------------- Wikilink markup does not belong in an anchor id and can / does confuse the code that parses apart citation and harvc templates so here we remove any wiki markup: [[link|label]] -> label [[link]] -> link ]=] local function wikilink_strip (template) for wikilink in template:gmatch ('%[%b[]%]') do -- get a wikilink template = template:gsub ('%[%b[]%]', '__57r1P__', 1); -- install a marker if wikilink:match ('%[%[.-|(.-)%]%]') then wikilink = wikilink:match ('%[%[.-|(.-)%]%]'); -- extract label from complex [[link|label]] wikilink else wikilink = wikilink:match ('%[%[(.-)%]%]'); -- extract link from simple [[link]] wikilinks end wikilink = escape_lua_magic_chars (wikilink); -- in case there are lua magic characters in wikilink template = template:gsub ('__57r1P__', wikilink, 1); -- replace the marker with the appropriate text end return template; end --[[--------------------------< T E M P L A T E _ N A M E _ G E T >-------------------------------------------- return the citation or harvc template's name; convert to lower case and trim leading and trailing whitespace; when the template is a sandbox the subpage portion of the template name is omitted from the returned template name {{Cite book/new |...}} returns cite book ]] local function template_name_get (template) local template_name = template:match ('^{{%s*([^/|}]+)'); -- get template name; ignore subpages ~/new, ~/sandbox; parser functions if not template_name or template_name:match ('^#') then -- parser functions, magic words don't count as templates return nil; -- could not get template name from (possibly corrupt) template; extraneous opening { mid template can cause this; end; template_name = template_name:gsub ('%s*$', ''); -- trim trailing whitespace; leading whitespace already removed return Lang_obj:ucfirst (template_name); -- first character in template name must be uppercase (same as canonical template name) TODO: better way to do this? end --[[--------------------------< T E M P L A T E _ P A R A M S _ G E T >---------------------------------------- parse apart a template's parameters and store in the params table where key is the parameter's name and value is the parameter's value; empty parameters are not saved ]] local function template_params_get (template, params_t) template = wikilink_strip (template); -- because piped wikilinks confuse code that builds params_t{} and because wikilinks not allowed in an anchor id -- strip templates after getting |ref= value because |ref={{sfnref}} and |ref={{harvid}} are allowed template = template_strip (template); -- because template markup can confuse code that builds params_t{} and because templates in name parameters are not allowed local temp_t = mw.text.split (template, '%s*|%s*'); --split on the pipe for _, param in ipairs (temp_t) do if param:find ('=', 1, true) then -- a named parameter? local k, v = param:match ('%s*([^=]-)%s*=%s*([^|}]+)'); if v then -- there must be a value if '' ~= v and not v:match ('^%s$') then -- skip when value is empty string or only whitespace params_t[k] = mw.text.trim (v); -- add trimmed value else end end end end end --[[--------------------------< C I T E R E F _ M A K E _ H A R V C >------------------------------------------ makes anchor_id from {{harvc}} or redirects ]] local function anchor_id_make_harvc (template) local date = date_get (template, alias_patterns_harvc_date); -- get date; done here because might be in {{date}}; return date if valid; empty string else local anchor_id; local params = {}; -- table of harvc parameters local id; -- custom anchor id for this {{harvc}} template id = template:match ('|%s*id%s*=%s*(%b{})'); -- in case |id={{sfnref}}; done here because templates will be stripped template_params_get (template, params); -- build a table of template parameters and their values; this strips wikilinks and templates if id then -- when set is {{sfnref}} or {{harvid}} template return sfnref_get (id); -- returns content of {{sfnref}} or {{harvid}}; nil else end if params.id then -- custom anchor for this {{harvc}} template (text) return params.id; -- |id= value as written end anchor_id = names_get (params, aliases_harvc_author); -- get the harvc contributor names if anchor_id then -- if names were gotten return 'CITEREF' .. anchor_id .. date; end return nil; -- no names; no anchor_id end --[[--------------------------< A N C H O R _ I D _ M A K E _ W R A P P E R >---------------------------------- for wrapper templates inspect externally visible |ref= to decide what to do: |ref= - empty or missing: get names and date from whitelist defaults; override defaults from externally visible template parameters |ref=harv - same as empty or missing |ref={{SfnRef|name|name|name|name|year}} - assemble an anchor id from {{sfnref}} positional parameters |ref={{Harvid|name|name|name|name|year}} - assemble an anchor id from {{harvid}} positional parameters |ref=none - skip; do nothing because an anchor id intentionally suppressed; TODO: keep with a type code of '0'? |ref=<text> - save param value because may match an anchor id override value in {{harv}} template |ref= parameter or {{harvc}} |id= parameter ]] local function anchor_id_make_wrapper (template) local ref; -- content of |ref= local template_name; -- name of the template local anchor_id; -- the assembled anchor id from this template local date; local name_default; local date_default; local vol; local params = {}; -- table of template parameters template_name = template_name_get (template); -- get first char uppercase trimmed template name; ignore subpages ~/new, ~/sandbox if not template_name or template_skip[template_name] then return nil; -- could not extract template name from (possibly corrupted) template (extraneous opening { in the template will cause this) end date = date_get (template, alias_patterns_date); -- get date; done here because might be in {{date}} -- if '' == date then -- date = whitelist.wrapper_templates[template_name][2] or ''; -- no externally visible date so get default date -- end ref = template:match ('|%s*ref%s*=%s*(%b{})'); -- first look for |ref={{sfnref}} or |ref={{harvid}} because we will strip templates from the wrapper template if not ref then if template:match ('|%s*ref%s*=([^|}]+)') then -- |ref={{template}} not found; if there is a |ref= param with an assigned value ref = template:match ('|%s*ref%s*=([^|}]+)'); -- get the value; whitespace is a 'value' if ref then -- nil when |ref=|... or when |ref=}} (no spaces between assignment operator and pipe or closing brace) ref = mw.text.trim (ref); -- something, could be just whitespace, so trim leading / trailing whitespace if '' == ref then -- trimming a string of whitespace makes an empty string ref = nil; -- make empty ref same as missing ref end end end end template_params_get (template, params); -- build a table of template parameters and their values if whitelist.wrapper_templates[template_name][1] then -- is this wrapper a simple-default wrapper? name_default = whitelist.wrapper_templates[template_name][1]; -- get the default names date_default = whitelist.wrapper_templates[template_name][2]; -- get the default date else vol = params['volume'] or 'default'; if not whitelist.wrapper_templates[template_name][vol] then -- make sure this volume exists vol = 'default'; -- doesn't exist, use default volume end name_default = whitelist.wrapper_templates[template_name][vol][1]; -- get the default names date_default = whitelist.wrapper_templates[template_name][vol][2]; -- get the default date end if 'harv' == ref or not ref then -- |ref=harv specified or |ref= missing or empty anchor_id = names_get (params, aliases_contributor) or -- get contributor, author, or editor names names_get (params, aliases_author) or vnames_get (params, 'vauthors') or -- |vauthors= names_get (params, aliases_editor) or vnames_get (params, 'veditors') or -- |veditors= name_default; -- default names from whitelist -- whitelist.wrapper_templates[template_name][1]; -- default names from whitelist if '' == date then -- if date not provided in the template date = date_default; -- use the default date from whitelist end if anchor_id then -- if names were gotten anchor_id = 'CITEREF' .. anchor_id .. date; end elseif ref:match ('%b{}') then -- ref holds a template anchor_id = sfnref_get (ref); -- returns content of {{sfnref}} or {{harvid}}; nil else elseif 'none' == ref then -- |ref=none return nil; -- anchor id expicitly suppressed else anchor_id = ref; -- |ref=<text> may match an anchor id override value in {{harv}} template |ref= parameter end return anchor_id; -- anchor_id text; nil else end --[[--------------------------< A N C H O R _ I D _ M A K E _ C S 1 2 >---------------------------------------- for cs1|2 template and cs1-like templates inspect |ref= to decide what to do: |ref= - empty or missing: get names and date from template parameters; all cs1|2 create CITEREF anchor IDs |ref=harv - get names and date from template parameters |ref={{SfnRef|name|name|name|name|year}} - assemble an anchor id from {{sfnref}} positional parameters |ref={{Harvid|name|name|name|name|year}} - assemble an anchor id from {{harvid}} positional parameters |ref=none - skip; do nothing because an anchor id intentionally suppressed; TODO: keep with a type code of '0'? |ref=<text> - save param value because may match an anchor id override value in {{harv}} template |ref= parameter or {{harvc}} |id= parameter ]] local function anchor_id_make_cs12 (template) local ref; -- content of |ref= local template_name; -- name of the template local anchor_id; -- the assembled anchor id from this template local date; local params = {}; -- table of template parameters template_name = template_name_get (template); -- get first char uppercase trimmed template name; ignore subpages ~/new, ~/sandbox if not template_name or template_skip[template_name] then return nil; -- could not extract template name from (possibly corrupted) template (extraneous opening { in the template will cause this) end if redirects_patent[template_name] then date = date_get (template, alias_patterns_patent_date); -- get date; done here because might be in {{date}} else date = date_get (template, alias_patterns_date); end ref = template:match ('|%s*ref%s*=%s*(%b{})'); -- first look for |ref={{sfnref}} or |ref={{harvid}} because we will strip templates from the cs1|2 template if not ref then if template:match ('|%s*ref%s*=([^|}]+)') then -- |ref={{template}} not found; if there is a |ref= param with an assigned value ref = template:match ('|%s*ref%s*=([^|}]+)'); -- get the value; whitespace is a 'value' if ref then -- nil when |ref=|... or when |ref=}} (no spaces between assignment operator and pipe or closing brace) ref = mw.text.trim (ref); -- something, could be just whitespace, so trim leading / trailing whitespace if '' == ref then -- trimming a string of whitespace makes an empty string ref = nil; -- make empty ref same as missing ref end end end end template_params_get (template, params); -- build a table of template parameters and their values if not ref then -- |ref= not set, might be cite LSA which doesn't support |ref= if 'cite lsa' == template_name then return 'CITEREF' .. (params.last or '') .. (params.year or ''); -- cite LSA always creates an anchor id using only |last= and |year= (no aliases) end end if 'harv' == ref or not ref then -- |ref=harv specified or |ref= missing or empty if redirects_patent[template_name] then -- if this is a cite patent template anchor_id = names_get (params, aliases_inventor); -- inventor names only else -- cs1|2 template anchor_id = names_get (params, aliases_contributor) or -- get contributor, author, or editor names names_get (params, aliases_author) or vnames_get (params, 'vauthors') or -- |vauthors= names_get (params, aliases_editor) or vnames_get (params, 'veditors'); -- |veditors= end if anchor_id then -- if names were gotten anchor_id = 'CITEREF' .. anchor_id .. date; end elseif ref:match ('%b{}') then -- ref holds a template anchor_id = sfnref_get (ref); -- returns content of {{sfnref}} or {{harvid}}; nil else elseif 'none' == ref and not redirects_patent[template_name] then -- |ref=none; not supported by cite patent return nil; -- anchor id expicitly suppressed else anchor_id = ref; -- |ref=<text> may match an anchor id override value in {{harv}} template |ref= parameter end return anchor_id; -- anchor_id text; nil else end --[[--------------------------< L I S T _ A D D >-------------------------------------------------------------- adds an <item> to <list> table; for anchor IDs, the boolean <encode> argument must be set true; no return value ]] local function list_add (item, list, encode) if item then -- if there was an item if encode then -- for anchor IDs ... item = mw.uri.anchorEncode (item); -- encode to remove wikimarkup, convert spaces to underscores etc end if not list[item] then -- if not already saved list[item] = 1; -- save it else -- here when this item already saved list[item] = list[item] + 1; -- to indicate that there are multiple items end end end --[[--------------------------< A N C H O R _ I D _ M A K E _ A N C H O R >------------------------------------ make anchor IDs from {{anchor}}; there may be more than one because {{anchor}} is not limited to the number of anchors it may hold. ]] local function anchor_id_make_anchor (template, anchor_id_list) template = template:gsub ('^{{[^|]+|', ''):gsub ('}}$', '', 1); -- remove outer {{ and }} and template name template = wikilink_strip (template); -- strip any wikilink markup (there shouldn't be any but just in case) local params = {}; local anchor_id; for param in template:gmatch ('%b{}') do -- loop through the template; remove and save templates (presumed to be sfnref or harvid) table.insert (params, param); -- save it template = template:gsub ('%b{}', '', 1); -- remove it from source template end for _, t in ipairs (params) do -- spin through the templates in params anchor_id = sfnref_get (t); -- attempt to decode {{sfnref}} and {{harvid}} if anchor_id then -- nil when not {{sfnref}} or {{harvid}} list_add (anchor_id, anchor_id_list, true); -- add anchor ID to the list end end template = template:gsub ('|%s*|', '|'); -- when pipe follows pipe with or without white space, remove extraneous pipe template = template:gsub ('^|', ''):gsub('|$', ''); -- remove extraneous leading and trailing pipes params = mw.text.split (template, '%s*|%s*'); -- split at the pipe and remove extraneous space characters for _, t in ipairs (params) do -- spin through the anchor IDs anchor_id = mw.text.trim (t); -- trim white space if '' ~= anchor_id then -- should always have something list_add (anchor_id, anchor_id_list, true); -- add anchor ID to the list end end end --[[--------------------------< T E M P L A T E _ L I S T _ A D D >-------------------------------------------- makes a list of templates use in the article. ]] local function template_list_add (template) local template = template:match ('{{%s*(.-)[|}]'); -- keep the case of the template - this is different from template_name_get() if template and not template:match ('^#') then -- found a template or magic word; ignore magic words template=mw.text.trim (template); -- trim whitespace template = Lang_obj:ucfirst (template); -- first character in template name must be uppercase (same as canonical template name) TODO: better way to do this? list_add (template, template_list); -- add to list with (unused) tally end end --[[--------------------------< A N C H O R _ I D _ L I S T _ M A K E >---------------------------------------- makes a list of anchor ids from cs1|2, cs1|2-like, vcite xxx, harvc, anchor, wikicite templates Because cs1|2 wrapper templates can, and often do, hide the author and date parameters inside the wrapper, these parameters are not available in the article's wikisource so {{harv}}, {{sfn}}, and {{harvc}} templates that link correctly to those wrapper templates will incorrectly show error messages. Use |ignore-err=yes in the {{harv}}, {{sfn}}, and {{harvc}} templates to supress the error message. creates a list of templates used in the article for use with the whitelist creates a list of article-local whitelisted anchor IDs from {{sfn whitelist}} ]] local function anchor_id_list_make () article_content_get (); -- attempt to get this article's content if '' == Article_content then -- when there is no article content return ''; -- no point in continuing end local template; -- place to hold the template that we found local template_name; local anchor_id; -- place to hold an anchor id as it is extracted / decoded local find_pattern = '%f[{]{{[^{]'; local tstart, tend = Article_content:find (find_pattern); -- find the first template; do not find template variables: {{{template var|}}} while tstart do template = Article_content:match ('%b{}', tstart); -- get the whole template if not template then break; -- template is nil for some reason (last template missing closing }} for example) so declare ourselves done end template_name = template_name_get (template); -- get first char uppercase trimmed template name; ignore subpages ~/new, ~/sandbox template_list_add (template); -- add this template's name to the list if data.known_templates_cs12 [template_name] then anchor_id = anchor_id_make_cs12 (template); -- extract an anchor id from this template list_add (anchor_id, anchor_id_list, true) elseif data.known_templates_vcite [template_name] then local ref = template:match ('|%s*ref%s*=%s*(%b{})'); -- first look for |ref={{sfnref}} or |ref={{harvid}} because we will strip templates from the vcite template if ref then -- |ref={{template}} anchor_id = sfnref_get (ref); -- returns content of {{sfnref}} or {{harvid}}; nil else list_add (anchor_id, anchor_id_list, true); else local params = {}; template_params_get (template, params); -- build a table of template parameters and their values anchor_id = params['ref']; -- when both set, vcite uses value from |ref= if not anchor_id and params['harvid'] then anchor_id = 'CITEREF' .. params['harvid']; -- in vcite, |harvid= auto-adds 'CITEREF' prefix to the value in |harvid= end list_add (anchor_id, anchor_id_list, true); end elseif data.known_templates_harvc [template_name] then anchor_id = anchor_id_make_harvc (template); -- extract an anchor id from this template list_add (anchor_id, anchor_id_list, true); elseif data.known_templates_wikicite [template_name] then local ref = template:match ('|%s*ref%s*=%s*(%b{})'); -- first look for |ref={{sfnref}} or |ref={{harvid}} if ref then anchor_id = sfnref_get (ref); elseif template:match ('|%s*ref%s*=([^|}]+)') then anchor_id = template:match ('|%s*ref%s*=([^|}]+)'); -- plain-text elseif template:match ('|%s*id%s*=%s*(%b{})') then ref = template:match ('|%s*id%s*=%s*(%b{})'); anchor_id = 'Reference-' .. sfnref_get (ref); elseif template:match ('|%s*id%s*=([^|}]+)') then anchor_id = 'Reference-' .. template:match ('|%s*id%s*=([^|}]+)'); -- plain-text else anchor_id = nil; -- no matches, ensure that anchor_id has no value end if anchor_id then list_add (anchor_id, anchor_id_list, true); end elseif data.known_templates_anchor [template_name] then anchor_id_make_anchor (template, anchor_id_list); -- extract anchor ids from this template if any elseif data.known_templates_sfn_whitelist [template_name] then template = template:gsub ('^{{[^|]+|', ''):gsub ('}}$', '', 1); -- remove outer {{ and }} and template name template = mw.text.trim (template, '%s|'); -- trim leading trailing white space and pipes template = mw.text.split (template, '%s*|%s*'); -- make a table of the template's parameters for _, anchor_id in ipairs (template) do -- spin through this template's parameter if '' ~= anchor_id and not article_whitelist[anchor_id] then anchor_id = mw.uri.anchorEncode (anchor_id) article_whitelist[anchor_id] = 1; -- add to the whitelist end end elseif template_name and whitelist.wrapper_templates[template_name] then anchor_id = anchor_id_make_wrapper (template); -- extract an anchor id from this template if possible list_add (anchor_id, anchor_id_list, true); elseif template_name and template_name:match ('^Cit[ea]') then -- not known, not known wrapper; last gasp, try as cs1-like anchor_id = anchor_id_make_cs12 (template); -- extract an anchor id from this template if possible list_add (anchor_id, anchor_id_list, true); end tstart, tend = Article_content:find (find_pattern, tend); -- search for another template; begin at end of last search end mw.logObject (anchor_id_list, 'anchor_id_list'); mw.logObject (template_list, 'template_list'); mw.logObject (article_whitelist, 'article_whitelist'); return anchor_id_list; end --[[--------------------------< E X P O R T E D _ T A B L E S >------------------------------------------------ ]] return { anchor_id_list = anchor_id_list_make(), -- table of anchor ids available in this article article_whitelist = article_whitelist, -- table of anchor ids with false-positive error message to be suppressed template_list = template_list, -- table of templates used in this article } ibyy77ipwctiz76c90sit32pquvfgtt Modul:Footnotes/anchor id list/data 828 4748 12055 2024-11-24T18:50:07Z Bekipediya 2189 „-- copied from Module:Ref info/data - maybe overkill here? -- for this application make lists from the redirect lists and force all template names first character uppercase require('Module:No globals'); --[[--------------------------< C S 1 _ T E M P L A T E _ P A T T E R N S >------------------------------------ These are patterns for cs1 templates and their redirects. These patterns exclude redirects that are vcite-like which redirects should...“ yozuvi orqali yangi sahifa yaratildi 12055 Scribunto text/plain -- copied from Module:Ref info/data - maybe overkill here? -- for this application make lists from the redirect lists and force all template names first character uppercase require('Module:No globals'); --[[--------------------------< C S 1 _ T E M P L A T E _ P A T T E R N S >------------------------------------ These are patterns for cs1 templates and their redirects. These patterns exclude redirects that are vcite-like which redirects should be deleted because vcite is not cs1. ]] local cs1_template_patterns = { -- lua patterns of the cannonical names and redirects '[Cc]ite ar[Xx]iv', -- arXiv is the canonical name '[Cc]ite ArXiv', '[Cc]ite AV media', -- canonical '[Cc]ite audio', '[Cc]ite AV', '[Cc]ite AV ?Media', '[Cc]ite av media', '[Cc]ite cd', '[Cc]ite DVD', '[Cc]ite dvd', '[Cc]ite film', '[Cc]ite image', '[Cc]ite media', '[Cc]ite movie', '[Cc]ite music video', '[Cc]ite radio', '[Cc]ite song', '[Cc]ite ?video', '[Cc]ite visual', '[Cc]ite You[Tt]ube', '[Cc]ita vídeo', -- non-English redirect; TODO: tally separately? '[Cc]ite AV media notes', -- canonical '[Cc]ite album[ %-]notes', '[Cc]ite av media notes', '[Cc]ite DVD[ %-]notes', '[Cc]ite dvd%-notes', '[Cc]ite liner notes', '[Cc]ite music release notes', '[Ll]iner notes', '[Cc]ite bio[Rr]xiv', -- bioRxiv is the canonical form '[Cc]ite [Bb]ook', -- book is the canonical form '[Bb]ook cite', '[Bb]ook reference', '[Bb]ook reference url', '[Cc] book', '[Cc]it book', '[Cc]ite books', '[Cc]ite chapter', '[Cc]ite ebook', '[Cc]ite manual', '[Cc]ite page', '[Cc]ite publication', '[Cc]ite score', '[Cc]ite work', '[Cc]ite%-?book', '[Bb]okref', '[Cc]itace monografie', '[Cc]itar livro', -- non-English redirects; TODO: tally separately? '[Cc]iteer boek', '[Oo]uvrage', '[Rr]ef%-llibre', '서적 인용', '[Cc]ite citeseerx', -- canonical '[Cc]ite conference', -- canonical '[Cc]ita conferenza', '[Cc]ite proceedings', '[Cc]onference reference', -- cita conferenza is non-English; TODO: tally separately? '[Cc]ite ?encyclopedia', -- cite encyclopedia is the canonical name '[Cc]ite contribution', '[Cc]ite dic', '[Cc]ite dictionary', '[Cc]ite encyclopaedia', '[Cc]ite encyclopædia', '[Ee]ncyclopedia', '[Cc]ite [Ee]pisode', -- episode is the canonical form '[Cc]ite show', '[Cc]ite interview', -- canonical '[Cc]ite ?journal', -- cite journal is the canonical form '[Cc] journal', '[Cc]itation journal', '[Cc]ite abstract', '[Cc]ite document', '[Cc]ite Journal', '[Cc]ite journal zh', '[Cc]ite ?paper', '[Vv]cite2 journal', '[Cc]ita pubblicazione', '[Cc]itace periodika', '[Cc]itar jornal', -- non-English redirects; TODO: tally separately? '[Cc]itar publicació', '[Cc]ytuj pismo', '[Tt]idskriftsref', 'Навод из стручног часописа', '저널 인용', '[Cc]ite [Mm]agazine', -- magazine is the canonical form '[Cc]ite mag', '[Cc]ite magazine article', '[Cc]ite newsletter', '[Cc]ite periodical', '[Cc]ite mailing ?list', -- mailing list is the canonical form '[Cc]ite list', '[Cc]ite maps?', -- map is the canonical form '[Cc]ite[ %-]?news', -- cite news is the canonical form '[Cc] news', '[Cc]it news', '[Cc]itation news', '[Cc]ite article', '[Cc]ite n', '[Cc]ite new', '[Cc]ite newspaper', '[Cc]ite News', '[Cc]ite news%-q', '[Cc]ite news2', '[Cc]itenewsauthor', '[Cc]ute news', '[Cc]itar notícia', '[Hh]aber kaynağı', '[Tt]idningsref', 'استشهاد بخبر', -- non-English redirects; TODO: tally separately? '뉴스 인용', '[Cc]ite newsgroup', -- canonical '[Cc]ite usenet', '[Cc]ite podcast', -- canonical '[Cc]ite [Pp]ress release', -- press release is the canonical form '[Cc]ite media release', '[Cc]ite news release', '[Cc]ite pr', '[Cc]ite press', '[Cc]ite press release\.', '[Cc]ite press[%-]?release', '[Cc]ite report', -- canonical '[Cc]ite serial', -- canonical '[Cc]ite sign', -- canonical '[Cc]ite plaque', '[Cc]ite speech', -- canonical '[Cc]ite ssrn', -- canonical '[Cc]ite SSRN', '[Cc]ite tech ?report', -- techreport is the canonical form '[Cc]ite standard', '[Cc]ite technical report', '[Tt]echrep reference', '[Cc]ite thesis', -- canonical '[Cc]ite dissertation', '[Cc]itar tese', -- non-English redirect; TODO: tally separately? '[Cc]ite [Ww]eb', -- web is the canonical form '[Cc] web', '[Cc]it web', '[Cc]ite blog', '[Cc]ite URL', '[Cc]ite url', '[Cc]ite w', '[Cc]ite wb', '[Cc]ite we', '[Cc]ite web\.', '[Cc]ite webpage', '[Cc]ite website', '[Cc]ite website article', '[Cc]ite%-?web', '[Cc]itweb', '[Cc]w', '[Rr]ef web', '[Ww]eb citation', '[Ww]eb cite', '[Ww]eb link', '[Ww]eb[ %-]reference', '[Ww]eblink', '[Cc]hú thích web', '[Cc]ita web', '[Cc]itace elektronické monografie', -- non-English redirects; TODO: tally separately? '[Cc]itat web', 'مرجع ويب', 'یادکرد وب', '웹 인용', } --[[--------------------------< C S 2 _ T E M P L A T E _ P A T T E R N S >------------------------------------ These are patterns for cs2 templates redirects. ]] local cs2_template_patterns = { -- lua patterns of the cannonical names and redirects '[Cc]itation', '[Cc]ite', '[Cc]ite citation', '[Cc]ite study', '[Cc]ite [Tt]echnical standard', } --[[--------------------------< V C I T E _ T E M P L A T E _ P A T T E R N S >-------------------------------- These are patterns for Vcite-family templates and their redirects. ]] local vcite_template_patterns = { '[Vv]cite book', -- canonical '[Vv]ancite book', '[Vv]ancite report', '[Vv]cite encyclopedia', '[Vv]cite report', '[Vv]cite journal', -- canonical '[Cc]it journal', '[Cc]it paper', '[Vv]ancite journal', '[Vv]cite paper', '[Vv]cite news', -- canonical '[Vv]ancite news', '[Vv]cite web', -- canonical '[Vv]ancite web', } --[[--------------------------< H A R V C _ T E M P L A T E _ P A T T E R N S >-------------------------------- These are patterns for the harvc template and its redirects. ]] local harvc_template_patterns = { '[Hh]arvc', -- canonical '[Cc]itec', } --[[--------------------------< C S 1 _ L I K E _ T E M P L A T E _ P A T T E R N S >-------------------------- These are patterns for miscellaneous templates and their redirects that 'look like' cs1 templates (begin with cite ...) Because they 'look like' cs1 templates they are handled as if they were cs1 templates. These templates are NOT wrapper templates; names and dates are always to be extracted from the article instantiation of the template. ]] local cs1_like_template_patterns = { '[Cc]ite LSA', -- canonical } --[[--------------------------< W I K I C I T E _ T E M P L A T E _ P A T T E R N S >-------------------------- These are patterns for the wikicite template and its redirects. ]] local wikicite_template_patterns = { '[Ww]ikicite', -- canonical } --[[--------------------------< A N C H O R _ T E M P L A T E _ P A T T E R N S >------------------------------ These are patterns for the anchor template and its redirects. ]] local anchor_template_patterns = { '[Aa]nchors?', -- anchor is canonical form '[Aa]nchor for redirect', '[Aa]nchro', '[Aa]ncor', } --[[--------------------------< S F N _ W H I T E L I S T _ P A T T E R N S >---------------------------------- These are patterns for the anchor template and its redirects. ]] local sfn_whitelist_patterns = { '[Ss]fn whitelist', -- canonical '[Hh]arv whitelist', } --[[--------------------------< K N O W N _ T E M P L A T E S >------------------------------------------------ These tables are created from the *_template_patterns tables. To make these tables, entries in the source tables are evaluated to replace lua patterns with the appropriate characters to create names for the output tables. First charqacter is always uppercase For example: [Cc]ite ar[Xx]iv becomes Cite arXiv Cite arxiv ]] local known_templates_cs12 = {}; -- the exported tables local known_templates_vcite = {}; local known_templates_harvc = {}; local known_templates_wikicite = {}; local known_templates_anchor = {}; local known_templates_sfn_whitelist = {}; local function add_stripped (list, name) if not list[name] then list[name] = true; end end local function pattern_convert (pattern, list) local lead, tail, c, l, name; local first_char_patterns = { '^%[(%a)%a%]', -- leading character (usually uppercase) '^%[%a(%a)%]', -- leading character (usually lowercase) } c = tostring (pattern:match ('%u')); -- tostring() required because I don't know why; lua chokes complaining that c is not a string name = pattern:gsub ('^%[%a%a%]', c); -- replace bracketed first character [Xx] with selected character from the match if name:match ('(.-)%[(%a)(%a)%](.*)') then -- mixed case optional letters lead, c, l, tail = name:match ('(.-)%[(%a)(%a)%](.*)'); add_stripped (list, lead .. c .. tail); -- uppercase add_stripped (list, lead .. l .. tail); -- lowercase elseif name:match ('^([^%[]+)(%[ %%%-%]%?)(.+)$') then -- [ %-]? lead, c, tail = name:match ('^([^%[]+)(%[ %%%-%]%?)(.+)$'); add_stripped (list, lead .. tail); -- neither char add_stripped (list, lead .. ' ' .. tail); -- space add_stripped (list, lead .. '-' .. tail); -- hyphen elseif name:match ('^([^%[]+)(%[%%%-%]%?)(.+)$') then -- [%-]? lead, c, tail = name:match ('^([^%[]+)(%[%%%-%]%?)(.+)$'); add_stripped (list, lead .. tail); -- no hyphen add_stripped (list, lead .. '-' .. tail); -- hyphen elseif name:match ('^([^%[]+)(%[ %%%-%])(.+)$') then -- [ %-] lead, c, tail = name:match ('^([^%[]+)(%[ %%%-%])(.+)$'); add_stripped (list, lead .. ' ' .. tail); -- space add_stripped (list, lead .. '-' .. tail); -- hyphen elseif name:match ('^([^%?]+)(%%%-%?)(.+)$') then -- %-? lead, c, tail = name:match ('^([^%?]+)(%%%-%?)(.+)$'); add_stripped (list, lead .. tail); -- no hyphen add_stripped (list, lead .. '-' .. tail); -- hyphen elseif name:match ('^(.-)(%%%-)(.+)$') then -- %- lead, c, tail = name:match ('^(.-)(%%%-)(.+)$'); add_stripped (list, lead .. '-' .. tail); -- hyphen elseif name:match ('^(.-)(.)%?(.*)$') then -- .? lead, c, tail = name:match ('^(.-)(.)%?(.*)$'); add_stripped (list, lead .. tail); -- no character add_stripped (list, lead .. c .. tail); -- character else add_stripped (list, name); -- no patterns so save as is end end for _, t in ipairs ({ {cs1_template_patterns, known_templates_cs12}, {cs2_template_patterns, known_templates_cs12}, {cs1_like_template_patterns, known_templates_cs12}, {vcite_template_patterns, known_templates_vcite}, {harvc_template_patterns, known_templates_harvc}, {wikicite_template_patterns, known_templates_wikicite}, {anchor_template_patterns, known_templates_anchor}, {sfn_whitelist_patterns, known_templates_sfn_whitelist}, }) do for _, pattern in ipairs (t[1]) do -- for each patern in *_template_patterns pattern_convert (pattern, t[2]) -- convert and store in known_templates_* end end --[[--------------------------< E X P O R T S >---------------------------------------------------------------- ]] return { known_templates_anchor = known_templates_anchor, known_templates_cs12 = known_templates_cs12, known_templates_harvc = known_templates_harvc, known_templates_vcite = known_templates_vcite, known_templates_wikicite = known_templates_wikicite, known_templates_sfn_whitelist = known_templates_sfn_whitelist, } bht9pmjzuvuqajea0fn73uv88hds8sh Modul:Footnotes/whitelist 828 4749 12056 2024-11-24T18:50:46Z Bekipediya 2189 „--[[--------------------------< W R A P P E R _ T E M P L A T E _ D E F A U L T S >---------------------------- A list of wrapper templates by their canonical names – spelling and capitalization is important. Each wrapper template has a table of two values: [1] is the wrapper's default name-list as it is used in an anchor ID; [2] is the default year. This table is indexed indirectly through the wrapper_templates table. This table is not avail...“ yozuvi orqali yangi sahifa yaratildi 12056 Scribunto text/plain --[[--------------------------< W R A P P E R _ T E M P L A T E _ D E F A U L T S >---------------------------- A list of wrapper templates by their canonical names – spelling and capitalization is important. Each wrapper template has a table of two values: [1] is the wrapper's default name-list as it is used in an anchor ID; [2] is the default year. This table is indexed indirectly through the wrapper_templates table. This table is not available externally. ]] local wrapper_template_defaults = { -- keys are canonical template names ['Americana'] = {'Rines', '1920'}, -- tables with default name and default year ['Cite EB1911'] = {'Chisholm', '1911'}, -- tables with default name and default year ['EB1911'] = {'Chisholm', '1911'}, ['EI3'] = {'FleetKrämerMatringeNawas', ''}, ['ODNB'] = {'', ''}, -- there is no default anchor ID; this forces evaluation of {{cite ODNB}} redirects } --[[--------------------------< W R A P P E R _ T E M P L A T E _ D E F A U L T S _ V O L >-------------------- For wrapper templates that use |volume= to specify default name (often editor names) and year. Wrapper templates are indexed by their canonical names – spelling and capitalization is important. Each wrapper template has a table of values for every volume. Volumes may be indexed by Arabic or Roman numerals. Each volume index has a table of twp values" [1] is the wrapper's default name-list as it is used in an anchor ID; [2] is the default year. Each wrapper template in this table must have a ['default'] key for those occasions when |volume= is omitted or empty. This table is indexed indirectly through the wrapper_templates table. This table is not available externally. ]] local wrapper_template_defaults_vol = { -- primary keys are canonical template names; TODO: do these keys have to be canonical template names? ['Cite Catholic Encyclopedia'] = { -- secondary keys are volume ['1'] = {'Herbermann', '1907'}, ['2'] = {'Herbermann', '1907'}, ['3'] = {'Herbermann', '1908'}, ['4'] = {'Herbermann', '1908'}, ['5'] = {'Herbermann', '1909'}, ['6'] = {'Herbermann', '1909'}, ['7'] = {'Herbermann', '1910'}, ['8'] = {'Herbermann', '1910'}, ['9'] = {'Herbermann', '1910'}, ['10'] = {'Herbermann', '1911'}, ['11'] = {'Herbermann', '1911'}, ['12'] = {'Herbermann', '1911'}, ['13'] = {'Herbermann', '1912'}, ['14'] = {'Herbermann', '1912'}, ['15'] = {'Herbermann', '1912'}, ['default'] = {'Herbermann', '1913'}, }, ['Cite EB9'] = { ['1'] = {'Baynes', '1878'}, ['I'] = {'Baynes', '1878'}, ['2'] = {'Baynes', '1878'}, ['II'] = {'Baynes', '1878'}, ['3'] = {'Baynes', '1878'}, ['III'] = {'Baynes', '1878'}, ['4'] = {'Baynes', '1878'}, ['IV'] = {'Baynes', '1878'}, ['5'] = {'Baynes', '1878'}, ['V'] = {'Baynes', '1878'}, ['6'] = {'Baynes', '1878'}, ['VI'] = {'Baynes', '1878'}, ['7'] = {'Baynes', '1878'}, ['VII'] = {'Baynes', '1878'}, ['8'] = {'Baynes', '1878'}, ['VIII'] = {'Baynes', '1878'}, ['9'] = {'Baynes', '1879'}, ['IX'] = {'Baynes', '1879'}, ['10'] = {'Baynes', '1879'}, ['X'] = {'Baynes', '1879'}, ['11'] = {'BaynesSmith', '1880'}, ['XI'] = {'BaynesSmith', '1880'}, ['12'] = {'BaynesSmith', '1881'}, ['XII'] = {'BaynesSmith', '1881'}, ['13'] = {'BaynesSmith', '1881'}, ['XIII'] = {'BaynesSmith', '1881'}, ['14'] = {'BaynesSmith', '1882'}, ['XIV'] = {'BaynesSmith', '1882'}, ['15'] = {'BaynesSmith', '1883'}, ['XV'] = {'BaynesSmith', '1883'}, ['16'] = {'BaynesSmith', '1883'}, ['XVI'] = {'BaynesSmith', '1883'}, ['17'] = {'BaynesSmith', '1884'}, ['XVII'] = {'BaynesSmith', '1884'}, ['18'] = {'BaynesSmith', '1885'}, ['XVIII'] = {'BaynesSmith', '1885'}, ['19'] = {'BaynesSmith', '1885'}, ['XIX'] = {'BaynesSmith', '1885'}, ['20'] = {'BaynesSmith', '1886'}, ['XX'] = {'BaynesSmith', '1886'}, ['21'] = {'BaynesSmith', '1886'}, ['XXI'] = {'BaynesSmith', '1886'}, ['22'] = {'BaynesSmith', '1887'}, ['XXII'] = {'BaynesSmith', '1887'}, ['23'] = {'BaynesSmith', '1888'}, ['XXIII'] = {'BaynesSmith', '1888'}, ['24'] = {'BaynesSmith', '1888'}, ['XXIV'] = {'BaynesSmith', '1888'}, ['default'] = {'Baynes', '1875–1889'}, }, ['Encyclopaedia of Islam, New Edition'] = { ['1'] = {'GibbKramersLévi-ProvençalSchacht', '1960'}, ['2'] = {'LewisPellatSchacht', '1965'}, ['3'] = {'LewisMénagePellatSchacht', '1971'}, ['4'] = {'van_DonzelLewisPellatBosworth', '1978'}, ['5'] = {'Bosworthvan_DonzelLewisPellat', '1986'}, ['6'] = {'Bosworthvan_DonzelPellat', '1991'}, ['7'] = {'Bosworthvan_DonzelHeinrichsPellat', '1993'}, ['8'] = {'Bosworthvan_DonzelHeinrichsLecomte', '1995'}, ['9'] = {'Bosworthvan_DonzelHeinrichsLecomte', '1997'}, ['10'] = {'BearmanBianquisBosworthvan_Donzel', '2000'}, ['11'] = {'BearmanBianquisBosworthvan_Donzel', '2002'}, ['12'] = {'BearmanBianquisBosworthvan_Donzel', '2004'}, ['atlas'] = {'Brice', '1981'}, ['abridged'] = {'van_Donzel', '1994'}, ['default'] = {'BearmanBianquisBosworthvan_Donzel', '1960–2005'}, }, ['New Cambridge Medieval History'] = { ['1'] = {'Fouracre', '2005'}, ['2'] = {'McKitterick', '1995'}, ['3'] = {'Reuter', '2000'}, ['4a'] = {'LuscombeRiley-Smith', '2004'}, ['4b'] = {'LuscombeRiley-Smith', '2004'}, ['5'] = {'Abulafia', '1999'}, ['6'] = {'Jones', '2000'}, ['7'] = {'Allmand', '1998'}, ['default'] = {'', '1995–2005'}, }, ['The History of al-Tabari'] = { ['1'] = {'Rosenthal', '1989'}, ['2'] = {'Brinner', '1986'}, ['3'] = {'Brinner', '1991'}, ['4'] = {'Perlmann', '1987'}, ['5'] = {'Bosworth', '1999'}, ['6'] = {'WattMcDonald', '1989'}, ['7'] = {'McDonald', '1987'}, ['8'] = {'Fishbein', '1997'}, ['9'] = {'Poonawala', '1990'}, ['10'] = {'Donner', '1993'}, ['11'] = {'Blankinship', '1993'}, ['12'] = {'Friedmann', '1992'}, ['13'] = {'Juynboll', '1989'}, ['14'] = {'Smith', '1994'}, ['15'] = {'Humphreys', '1990'}, ['16'] = {'Brockett', '1997'}, ['17'] = {'Hawting', '1996'}, ['18'] = {'Morony', '1987'}, ['19'] = {'Howard', '1990'}, ['20'] = {'Hawting', '1989'}, ['21'] = {'Fishbein', '1990'}, ['22'] = {'Rowson', '1989'}, ['23'] = {'Hinds', '1990'}, ['24'] = {'Powers', '1989'}, ['25'] = {'Blankinship', '1989'}, ['26'] = {'Hillenbrand', '1989'}, ['27'] = {'Williams', '1985'}, ['28'] = {'McAuliffe', '1995'}, ['29'] = {'Kennedy', '1990'}, ['30'] = {'Bosworth', '1989'}, ['31'] = {'Fishbein', '1992'}, ['32'] = {'Bosworth', '1987'}, ['33'] = {'Bosworth', '1991'}, ['34'] = {'Kraemer', '1989'}, ['35'] = {'Saliba', '1985'}, ['36'] = {'Waines', '1992'}, ['37'] = {'Fields', '1987'}, ['38'] = {'Rosenthal', '1985'}, ['39'] = {'Landau-Tasseron', '1998'}, ['40'] = {'Popovkin', '2007'}, ['default'] = {'Yarshater', '1985–2007'}, }, } --[[--------------------------< W R A P P E R _ T E M P L A T E S >-------------------------------------------- A list of wrapper templates and their redirects – spelling and capitalization is important; first character is always uppercase. Each wrapper template gets its value from a k/v pair in the wrapper_template_defaults table. article reader queries this table to see if template_name is a wrapper template ]] local wrapper_templates = { -- keys are names of wrapper templates and their redirects ['Americana'] = wrapper_template_defaults['Americana'], -- canonical name; this template calls Cite Americana ['Catholic Encyclopedia'] = wrapper_template_defaults_vol['Cite Catholic Encyclopedia'], ['1913Catholic'] = wrapper_template_defaults_vol['Cite Catholic Encyclopedia'], ['Catholic'] = wrapper_template_defaults_vol['Cite Catholic Encyclopedia'], ['Catholic encyclopedia'] = wrapper_template_defaults_vol['Cite Catholic Encyclopedia'], ['CatholicEncyclopedia'] = wrapper_template_defaults_vol['Cite Catholic Encyclopedia'], ['CE13'] = wrapper_template_defaults_vol['Cite Catholic Encyclopedia'], ['CE1913'] = wrapper_template_defaults_vol['Cite Catholic Encyclopedia'], ['Cite Americana'] = wrapper_template_defaults['Americana'], -- canonical name ['Cite Catholic Encyclopedia'] = wrapper_template_defaults_vol['Cite Catholic Encyclopedia'], ['CathEncy'] = wrapper_template_defaults_vol['Cite Catholic Encyclopedia'], ['Cite Catholic Encyclopædia'] = wrapper_template_defaults_vol['Cite Catholic Encyclopedia'], ['Cite CE1913'] = wrapper_template_defaults_vol['Cite Catholic Encyclopedia'], ['Cite EB1911'] = wrapper_template_defaults['Cite EB1911'], -- canonical name ['1911EB'] = wrapper_template_defaults['Cite EB1911'], -- redirects ['EB1911 cite'] = wrapper_template_defaults['Cite EB1911'], ['Wikisource1911Enc Citation'] = wrapper_template_defaults['Cite EB1911'], ['Wikisource1911Enc citation'] = wrapper_template_defaults['Cite EB1911'], ['Cite EB9'] = wrapper_template_defaults_vol['Cite EB9'], -- canonical ['Eb9'] = wrapper_template_defaults_vol['Cite EB9'], ['Cite ODNB'] = wrapper_template_defaults['ODNB'], -- canonical ['Cite odnb'] = wrapper_template_defaults['ODNB'], ['DNBweb'] = wrapper_template_defaults['ODNB'], ['OBDNweb'] = wrapper_template_defaults['ODNB'], ['ODNB'] = wrapper_template_defaults['ODNB'], ['ODNBref'] = wrapper_template_defaults['ODNB'], ['ODNBweb'] = wrapper_template_defaults['ODNB'], ['EB1911'] = wrapper_template_defaults['EB1911'], -- canonical name; this template calls Cite EB1911 ['1911'] = wrapper_template_defaults['EB1911'], -- redirects ['1911s'] = wrapper_template_defaults['EB1911'], ['Britannica 1911'] = wrapper_template_defaults['EB1911'], ['Encyclopedia Britannica 1911'] = wrapper_template_defaults['EB1911'], ['Encyclopædia Britannica 1911'] = wrapper_template_defaults['EB1911'], ['EB9'] = wrapper_template_defaults_vol['Cite EB9'], -- canonical; this template calls Cite EB9 ['Encyclopaedia of Islam, New Edition'] = wrapper_template_defaults_vol['Encyclopaedia of Islam, New Edition'], -- canonical ['EI2'] = wrapper_template_defaults_vol['Encyclopaedia of Islam, New Edition'], ['Encyclopaedia of Islam, THREE'] = wrapper_template_defaults['EI3'], -- canonical ['EI3'] = wrapper_template_defaults['EI3'], ['New Cambridge Medieval History'] = wrapper_template_defaults_vol['New Cambridge Medieval History'], -- canonical ['The History of al-Tabari'] = wrapper_template_defaults_vol['The History of al-Tabari'], -- canonical ['The History of Al-Tabari'] = wrapper_template_defaults_vol['The History of al-Tabari'], -- redirects ['The History of al-Ṭabarī'] = wrapper_template_defaults_vol['The History of al-Tabari'], -- redirects } --[[--------------------------< T E M P L A T E _ N A M E S >-------------------------------------------------- This table holds the names of templates and the names of their redirects. Template names must be written exactly as they are named at their templatespace page. This same also applies to redirects. The indexes in this table are not critical but should be short and concise. ]] local template_names = { ['ADB'] = {'Allgemeine Deutsche Biographie', 'Cite ADB'}, ['Butt_Stations'] = {'Butt-Stations', 'Butt-stations'}, ['Cam_Hist_Iran'] = {'Cambridge History of Iran', 'The Cambridge History of Iran'}, ['DNB'] = {'Cite DNB', 'DNB', 'DNB Cite', 'Cite DNBSupp', 'DNBSupp', 'Cite DNB12', 'Cite DNBIE', 'DNB12', 'DNBIE', 'DNBfirst'}, ['ME-ref'] = {'ME-ref', 'Me-ref'}, ['ODB'] = {'ODB', 'Oxford Dictionary of Byzantium'}, ['ODLA'] = {'ODLA', 'Oxford Dictionary of Late Antiquity'}, ['NDB'] = {'Cite NDB', 'NDB'}, ['Iranica'] = {'Encyclopædia Iranica Online', 'Encyclopædia Iranica', 'Encyclopaedia Iranica', 'Cite Encyclopædia Iranica Online'}, } --[[--------------------------< S P E C I A L _ P A T T E R N S >---------------------------------------------- Lua patterns. These are scanned sequentially which costs time and processing far and above the time and processing needed to index into whitelist{}. Do not create a pattern here if a normal whitelist entry or entries can be created. ]] local special_patterns = { 'CITEREFACAD%u%u%u?%u?%d+%u%u?', -- {{Acad}} ID appears to be 2-4 letters, then 3 numbers, then 1-2 letters 'CITEREFAHD%d+', -- {{Cite AHD}} 'CITEREFHistoric_England%d+', -- {{National Heritage List for England}} & {{PastScape}} 'CITEREFHistoric_Environment_Scotland%u%u%u?%u?%d', -- {{Historic Environment Scotland}} %u can be BTL, GLD, HMPA, LB, SM 'CITEREFQHR%d+', -- {{Cite QHR}} 'CITEREF[%d%a_%pöüäß→]+_at_Bach_Digital', -- {{BDh}} 'CITEREF[BR]GBl_[12]%d%d%d%-?I?I?%/%d+', -- {{Cite Austrian gazette}} 'CITEREFStGBl_[12]%d%d%d%/%d+', -- {{Cite Austrian gazette}} 'CITEREFGBlÖ_[12]%d%d%d%/%d+', -- {{Cite Austrian gazette}} } --[[--------------------------< D N B _ S P E C I A L _ P A T T E R N S >-------------------------------------- Lua patterns. Note at special_patterns applies. These for the DNB templates only; these will be tried only when there is a DNB template in the article. Pretty much any author name during the period 1885–1901 inclusive, and 1912. The DNBIE was published in 1903, and Template:DNBIE says that its use is deprecated, but we do not fight that battle here. ]] local DNB_special_patterns = { 'CITEREF%a[%a%-_\']*188[5-9]', -- 1885–1889 'CITEREF%a[%a%-_\']*189%d', -- 1890–1899 'CITEREF%a[%a%-_\']*190[0-1]', -- 1900–1901 'CITEREF%a[%a%-_\']*1903', -- 1903 IE 'CITEREF%a[%a%-_\']*1912', -- 1912 supplement } --[[--------------------------< W H I T E L I S T >------------------------------------------------------------ This is a list of anchor IDs known to be associated with specific wrapper templates. The anchor ID serves as an index into the table. The assigned value is another table that lists the associated template and any redirects. Except for year disambiguators, anchor IDs must have the same form as the anchor creator makes; must be the anchor-encoded form. Remove the year disambiguator. Template names must be written exactly as they are named at their templatespace page. This same also applies to redirects. Module:Footnotes reads the template names left to right so most-commonly-used template or redirect name should appear first. When there are more than one name and when those templates have various anchor IDs the template namelist should be added to the template_names{} table. Note that references to Template:EB1911 are listed under "E" in the alphabetical list below to keep them organized. ]] local whitelist = { ----------< # >---------- ['CITEREF2013_Statistical_Yearbook_of_the_Republic_of_Croatia'] = {'Croatia Yearbook 2013'}, ----------< A >---------- ['CITEREFAGA_1884–1897'] = {'Schubert\'s compositions (references)'}, ['CITEREFATOC2009'] = {'ATOCConnectingCommunitiesReportS10'}, ['CITEREFAbaevBailey1985'] = template_names['Iranica'], ['CITEREFAbbas1988'] = template_names['Iranica'], ['CITEREFAbbas1989'] = template_names['Iranica'], ['CITEREFAbramowitzStegun1983'] = {'Abramowitz Stegun ref'}, ['CITEREFActa_Lipsiensium1723'] = {'Bach\'s compositions (sources)'}, ['CITEREFAdamsFranzosa2009'] = {'Adams Franzosa Introduction to Topology Pure and Applied'}, ['CITEREFAdaschErnstKeim1978'] = {'Adasch Topological Vector Spaces'}, ['CITEREFAffleck1978'] = {'Affleck-On Track'}, ['CITEREFAhlgrimm1969'] = {'Bach\'s compositions (sources)'}, ['CITEREFAhmadiNegahban2013'] = {'Encyclopaedia Islamica'}, ['CITEREFAhrons1927'] = {'Book-Ahrons-British Steam Railway Locomotive'}, ['CITEREFAl-Kindi1912'] = {'The Governors and Judges of Egypt'}, ['CITEREFAlbert_Schumann1886'] = {'Cite ADB'}, ['CITEREFAlden1916'] = {'Shakespeare sonnets bibliography'}, ['CITEREFAldrich1969'] = {'Aldrich-LocosGER7'}, ['CITEREFAleksidze2018'] = template_names['ODLA'], ['CITEREFAlexiou2010'] = {'Cite flatiron'}, ['CITEREFAlgar1983'] = template_names['Iranica'], ['CITEREFAlgar1989'] = template_names['Iranica'], ['CITEREFAlgar1990'] = template_names['Iranica'], ['CITEREFAlgar2003'] = template_names['Iranica'], ['CITEREFAlizadeh1990'] = template_names['Iranica'], ['CITEREFAllamaniPanagiotopoulou1978'] = {'Ιστορία του Ελληνικού Έθνους'}, ['CITEREFAllcockDaviesle_FlemingMaskelyne1968'] = {'RCTS-LocosGWR-1'}, ['CITEREFAllenBoddyBrownFry1970'] = {'RCTS-LocosLNER-8A'}, ['CITEREFAllenBoddyBrownFry1971'] = {'RCTS-LocosLNER-8B'}, ['CITEREFAllenBoddyBrownFry1983'] = {'RCTS-LocosLNER-8A'}, ['CITEREFAmanat1998'] = template_names['Iranica'], ['CITEREFAmanat1999'] = template_names['Iranica'], ['CITEREFAmbartsumian2014'] = template_names['Iranica'], ['CITEREFAmerican_Railway_Association1922'] = {'1922 Locomotive Cyclopedia'}, ['CITEREFAnderson1952'] = {'Naval Wars in the Levant 1559–1853'}, ['CITEREFAndo2000'] = template_names['Iranica'], ['CITEREFAngelov2018'] = template_names['ODLA'], ['CITEREFAnwārEIr1985'] = template_names['Iranica'], ['CITEREFArkhangel&#039;skiiPonomarev1984'] = {'Arkhangel\'skii Ponomarev Fundamentals of General Topology Problems and Exercises'}, ['CITEREFArrey_von_Dommer1875'] = {'Cite ADB'}, ['CITEREFAshraf2006'] = template_names['Iranica'], ['CITEREFAslanianBerberian2009'] = template_names['Iranica'], ['CITEREFAsmus1966'] = template_names['NDB'], ['CITEREFAsmussen1985'] = template_names['Iranica'], ['CITEREFAspreas1929'] = {'Great Military and Naval Encyclopaedia'}, ['CITEREFAtkins2007'] = {'Shakespeare sonnets bibliography'}, ['CITEREFAube2011'] = template_names['Iranica'], ['CITEREFAudiKondevWangHuang2017'] = {'NUBASE2016'}, ['CITEREFAvdoyan2018'] = template_names['ODLA'], ['CITEREFAwdry1990'] = {'Awdry-RailCo', 'Carnarvonshire Railway'}, ['CITEREFAzarnoosh2021'] = template_names['Iranica'], ['CITEREFRamelli2018'] = {'Oxford Dictionary of Late Antiquity'},['CITEREFA_History_of_the_Crusades'] = {'Setton-A History of the Crusades'}, ----------< B >---------- ['CITEREFBabinger1962'] = {'DBI', 'Dizionario Biografico degli Italiani'}, ['CITEREFBabinger1978'] = {'Mehmed the Conqueror and His Time'}, ['CITEREFBabinger1992'] = {'Mehmed the Conqueror and His Time'}, ['CITEREFBachAgricola1754'] = {'Bach\'s compositions (sources)'}, ['CITEREFBadura-SkodaBranscombe2008'] = {'Schubert\'s compositions (references)'}, ['CITEREFBahramianHirtensteinGholami2013'] = {'Encyclopaedia Islamica'}, ['CITEREFBalcer1990'] = template_names['Iranica'], ['CITEREFBaldwin1969'] = {'Setton-A History of the Crusades'}, ['CITEREFBaldwin1985'] = {'Setton-A History of the Crusades'}, ['CITEREFBaldwinKazhdan1991'] = template_names['ODB'], ['CITEREFBaldwinTalbot1991'] = template_names['ODB'], ['CITEREFBaltzer1916'] = {'Baltzer-Kolonialbahnen'}, ['CITEREFBanach1932'] = {'Banach Théorie des Opérations Linéaires'}, ['CITEREFBandy2021'] = template_names['Iranica'], ['CITEREFBartusis1991'] = template_names['ODB'], ['CITEREFBaxter1971'] = {'Baxter-BritishLocoCat1'}, ['CITEREFBaxter1977'] = {'Baxter-BritishLocoCat1'}, ['CITEREFBaxter1978'] = {'Baxter-BritishLocoCat2A'}, ['CITEREFBaxter1979'] = {'Baxter-BritishLocoCat2B'}, ['CITEREFBaxter1982'] = {'Baxter-BritishLocoCat3A', 'Baxter-BritishLocoCat3B'}, ['CITEREFBaxter1984'] = {'Baxter-BritishLocoCat4'}, ['CITEREFBaxter1986'] = {'Baxter-BritishLocoCat5A'}, ['CITEREFBaxter1988'] = {'Baxter-BritishLocoCat5B'}, ['CITEREFBaxter2012'] = {'Baxter-BritishLocoCat6'}, ['CITEREFBeattie1986'] = template_names['Iranica'], ['CITEREFBeißwenger1991'] = {'Bach\'s compositions (sources)'}, ['CITEREFBek2001'] = {'Cite Grove'}, ['CITEREFBelke1996'] = {'Tabula Imperii Byzantini'}, ['CITEREFBelkeMersisch1990'] = {'Tabula Imperii Byzantini'}, ['CITEREFBelkeRestle1984'] = {'Tabula Imperii Byzantini'}, ['CITEREFBellini2008'] = {'DBI', 'Dizionario Biografico degli Italiani'}, ['CITEREFBernardini2003'] = template_names['Iranica'], ['CITEREFBernhard_von_Poten1889'] = template_names['ADB'], ['CITEREFBernhard_von_Poten1898'] = template_names['ADB'], ['CITEREFBernjian2008'] = {'Encyclopaedia Islamica'}, ['CITEREFBezilla1980'] = {'Bezilla-PRR-Electric-Traction'}, ['CITEREFBianquis1998'] = {'The Cambridge History of Egypt', 'Cambridge History of Egypt'}, ['CITEREFBickerman1983'] = template_names['Cam_Hist_Iran'], ['CITEREFBierstedt1988'] = {'Bierstedt An Introduction to Locally Convex Inductive Limits'}, ['CITEREFBiran2009'] = template_names['Iranica'], ['CITEREFBirken1976'] = {'Die Provinzen des Osmanischen Reiches'}, ['CITEREFBivar1983'] = template_names['Cam_Hist_Iran'], ['CITEREFBivar2003'] = template_names['Iranica'], ['CITEREFBlair2002'] = template_names['Iranica'], ['CITEREFBlair2021'] = template_names['Iranica'], ['CITEREFBlake1966'] = {'DisraeliRef'}, ['CITEREFBlanken2019'] = {'Bach\'s compositions (sources)'}, ['CITEREFBlankinship1994'] = {'The End of the Jihâd State', 'The End of the Jihad State'}, ['CITEREFBlautSchulze2008'] = {'Bach\'s compositions (sources)'}, ['CITEREFBloom2007'] = {'Cite Routledge Broadway', 'Cite Broadway Routledge', 'Cite Routledge Guide to Broadway', 'Routledge Guide to Broadway'}, ['CITEREFBock1978'] = {'Audie-bock-directors'}, ['CITEREFBoddyBrownFryHennigan1968'] = {'RCTS-LocosLNER-4'}, ['CITEREFBoddyBrownFryHennigan1975'] = {'RCTS-LocosLNER-2B'}, ['CITEREFBoddyBrownFryHennigan1977'] = {'RCTS-LocosLNER-9A', 'RCTS-LocosLNER-9B'}, ['CITEREFBoddyBrownFryHennigan1979'] = {'RCTS-LocosLNER-3A'}, ['CITEREFBoddyBrownHenniganHoole1984'] = {'RCTS-LocosLNER-6C'}, ['CITEREFBoddyBrownHenniganNeve1981'] = {'RCTS-LocosLNER-3B'}, ['CITEREFBoddyBrownNeveYeadon1983'] = {'RCTS-LocosLNER-6B'}, ['CITEREFBoddyFryHenniganHoole1990'] = {'RCTS-LocosLNER-10B'}, ['CITEREFBoddyFryHenniganProud1963'] = {'RCTS-LocosLNER-1'}, ['CITEREFBoddyNeveTeeYeadon1982'] = {'RCTS-LocosLNER-6A'}, ['CITEREFBoddyNeveYeadon1973'] = {'RCTS-LocosLNER-2A'}, ['CITEREFBody1989'] = {'Body-Railways-Vol2'}, ['CITEREFBon1969'] = {'La Morée franque'}, ['CITEREFBonebakker1997'] = template_names['Iranica'], ['CITEREFBonner2010'] = {'New Cambridge History of Islam'}, ['CITEREFBonnett2005'] = {'Bonnett Practical Rail Engineering'}, ['CITEREFBonporti1712'] = {'Bach\'s compositions (sources)'}, ['CITEREFBooth2000'] = {'Shakespeare sonnets bibliography'}, ['CITEREFBorsari1964'] = {'DBI', 'Dizionario Biografico degli Italiani'}, ['CITEREFBossert1914'] = {'Schaff-Herzog'}, ['CITEREFBosworth1968'] = template_names['Cam_Hist_Iran'], ['CITEREFBosworth1975'] = template_names['Cam_Hist_Iran'], ['CITEREFBosworth1983'] = template_names['Iranica'], ['CITEREFBosworth1984'] = template_names['Iranica'], ['CITEREFBosworth1987'] = template_names['Iranica'], ['CITEREFBosworth1988'] = template_names['Iranica'], ['CITEREFBosworth1989'] = template_names['Iranica'], ['CITEREFBosworth1994'] = template_names['Iranica'], ['CITEREFBosworth1995'] = template_names['Iranica'], ['CITEREFBosworth1997'] = template_names['Iranica'], ['CITEREFBosworth1998'] = template_names['Iranica'], ['CITEREFBosworth2000'] = template_names['Iranica'], ['CITEREFBosworth2001'] = template_names['Iranica'], ['CITEREFBosworth2002'] = template_names['Iranica'], ['CITEREFBosworth2003'] = template_names['Iranica'], ['CITEREFBosworth2008'] = template_names['Iranica'], ['CITEREFBosworth2009'] = template_names['Iranica'], ['CITEREFBosworth2010'] = template_names['Iranica'], ['CITEREFBosworth2011'] = template_names['Iranica'], ['CITEREFBosworthCrane1984'] = template_names['Iranica'], ['CITEREFBottoMitchell2002'] = {'Cite ATT Broadway', 'Cite At This Theatre Broadway', 'Cite Broadway At This Theatre', 'Cite Broadway ATT'}, ['CITEREFBourbaki1987'] = {'Bourbaki Topological Vector Spaces'}, ['CITEREFBourbaki1989'] = {'Bourbaki General Topology Part I Chapters 1-4', 'Bourbaki General Topology Part II Chapters 5-10', 'Bourbaki Algebra I Chapters 1-3 Springer'}, ['CITEREFBourbaki1994'] = {'Bourbaki EHM'}, ['CITEREFBowen1928'] = {'The Life and Times of Ali ibn Isa'}, ['CITEREFBowmanCameronGarnsey2005'] = {'Cambridge Ancient History'}, ['CITEREFBoyce1983'] = template_names['Iranica'], ['CITEREFBoyce1986'] = template_names['Iranica'], ['CITEREFBoyce1989'] = template_names['Iranica'], ['CITEREFBoyce2000'] = template_names['Iranica'], ['CITEREFBoyce2009'] = template_names['Iranica'], ['CITEREFBoyd1970'] = {'Boyd-MidWales'}, ['CITEREFBoyd1975'] = {'Boyd-FR1'}, ['CITEREFBoyd1985'] = {'Boyd-NCaerns2Penrhyn'}, ['CITEREFBoyd1986'] = {'Boyd-NCaerns3Dinorwic'}, ['CITEREFBoyd1988'] = {'Boyd-SCaerns1'}, ['CITEREFBoyd1989'] = {'Boyd-SCaerns2'}, ['CITEREFBoyd1990'] = {'Boyd-NCaerns1'}, ['CITEREFBradshaw1968'] = {'Bradshaw-1910April'}, ['CITEREFBradshaw1985'] = {'Bradshaw-1922July'}, ['CITEREFBradshaw2011'] = {'Bradshaw-1895December'}, ['CITEREFBradshaw2012'] = {'Bradshaw-1850March'}, ['CITEREFBrand1968'] = {'Byzantium Confronts the West'}, ['CITEREFBrand1991'] = {'DBI', 'ODB', 'Oxford Dictionary of Byzantium'}, ['CITEREFBray2010'] = {'Bray-SDJR'}, ['CITEREFBrett2010'] = {'New Cambridge History of Islam'}, ['CITEREFBriant1985'] = template_names['Iranica'], ['CITEREFBrosius2000'] = template_names['Iranica'], ['CITEREFBrown2000'] = template_names['Iranica'], ['CITEREFBrown2008'] = {'The Cambridge History of the Byzantine Empire'}, ['CITEREFBrunner1975'] = template_names['Cam_Hist_Iran'], ['CITEREFBrunner1983'] = template_names['Cam_Hist_Iran'], ['CITEREFBrunner1984'] = template_names['Iranica'], ['CITEREFBrunner1986'] = template_names['Iranica'], ['CITEREFBryan1886'] = {'Bryan (3rd edition)'}, ['CITEREFBryan1889'] = {'Bryan (3rd edition)'}, ['CITEREFBuhle1909'] = {'Bach\'s compositions (sources)'}, ['CITEREFBulliet1984'] = template_names['Iranica'], ['CITEREFBulookbashiNegahban2008'] = {'Encyclopaedia Islamica'}, ['CITEREFBunbury1857'] = {'DGRG'}, ['CITEREFBurant1987'] = {'Cite DCB'}, ['CITEREFBurch1911'] = {'Burch Electric Traction'}, ['CITEREFBurke1866'] = {'O\'Donnell family tree'}, ['CITEREFBurn1985'] = template_names['Cam_Hist_Iran'], ['CITEREFBurrowsWallace1999'] = {'Cite gotham'}, ['CITEREFBury1911'] = {'The Imperial Administrative System of the Ninth Century'}, ['CITEREFBusse1975'] = template_names['Cam_Hist_Iran'], ['CITEREFBusse1982'] = template_names['Iranica'], ['CITEREFButcherNicholson2018'] = template_names['ODLA'], ['CITEREFButt1995'] = template_names['Butt_Stations'], ['CITEREFBöwering1995'] = template_names['Iranica'], ['CITEREFBürgelMottahedeh1988'] = template_names['Iranica'], ----------< C >---------- ['CITEREFCIC1983'] = {'CIC1983bib'}, ['CITEREFCalifornia1988'] = {'CA-Rail Passenger Development Plan-1988'}, ['CITEREFCalmard1988'] = template_names['Iranica'], ['CITEREFCalmard1999'] = template_names['Iranica'], ['CITEREFCaltrans1984'] = {'Countrystudy'}, ['CITEREFCameronWard-PerkinsWhitby2000'] = {'Cambridge Ancient History'}, ['CITEREFCanepa2018'] = template_names['ODLA'], ['CITEREFCanny2008'] = {'O\'Donnell family tree'}, ['CITEREFCappelCutlerKazhdan1991'] = template_names['ODB'], ['CITEREFCarl_von_Prantl1879'] = {'Cite ADB'}, ['CITEREFCarlson2010'] = {'Dlmf'}, ['CITEREFCaro1974'] = {'Cite Power Broker'}, ['CITEREFCarpenter1977'] = template_names['ME-ref'], ['CITEREFCarpenter1981'] = template_names['ME-ref'], ['CITEREFCarra_de_VauxHodgson1965'] = {'EI2'}, ['CITEREFCarter2006'] = {'Carter-RailwaysMotivePowerArgentina'}, ['CITEREFCasserley1968'] = {'Casserley-joint'}, ['CITEREFCasserleyJohnston1966'] = {'Casserley-LocoGrouping3'}, ['CITEREFCasserleyJohnston1974'] = {'Casserley-LocoGrouping3', 'Casserley-LocoGrouping2', '0-7110-0554-0'}, ['CITEREFCasway1984'] = {'O\'Donnell family tree'}, ['CITEREFCavanna_Ciappina2001'] = {'DBI'}, ['CITEREFCawley2001'] = {'Medieval Lands by Charles Cawley', 'MLCC'}, ['CITEREFCawley2001'] = {'Medieval Lands by Charles Cawley'}, ['CITEREFCawley2010'] = {'MLCC'}, ['CITEREFCawley2011'] = {'MLCC'}, ['CITEREFChaléardChanson-JabeurBéranger2006'] = {'Chaléard-Le cdf en Afrique'}, ['CITEREFChambers1728'] = {'Cyclopaedia 1728'}, ['CITEREFChasiotis1975'] = {'Ιστορία του Ελληνικού Έθνους'}, ['CITEREFChaumont1985'] = template_names['Iranica'], ['CITEREFChaumont1986'] = template_names['Iranica'], ['CITEREFChaumont1987'] = template_names['Iranica'], ['CITEREFChaumont1990'] = template_names['Iranica'], ['CITEREFChaumontSchippmann1988'] = template_names['Iranica'], ['CITEREFCheyneBlack1899'] = {'Biblica', 'Cite Biblica'}, ['CITEREFCheyneBlack1899–1903'] = {'Cite Biblica'}, ['CITEREFCheyneBlack1901'] = {'Cite Biblica'}, ['CITEREFCheyneBlack1902'] = {'Cite Biblica'}, ['CITEREFCheyneBlack1903'] = {'Cite Biblica'}, ['CITEREFChisholm1922'] = {'EB1922', 'Cite EB1922'}, ['CITEREFChittick1997'] = template_names['Iranica'], ['CITEREFChkeidze2001'] = template_names['Iranica'], ['CITEREFChoniates1984'] = {'O City of Byzantium'}, ['CITEREFChrista_Jost1999'] = template_names['NDB'], ['CITEREFChung1994'] = {'Country study'}, ['CITEREFChurchmanHurst2001'] = {'Churchman & Hurst Railways of New Zealand'}, ['CITEREFChurchman_&amp;_Hurst2001'] = {'Churchman & Hurst Railways of New Zealand'}, ['CITEREFChurella2013'] = {'Churella-PRR-1'}, ['CITEREFClementsMcMahon2008'] = {'ClementsMcMahon-GSR Locomotives'}, ['CITEREFClinker1978'] = {'Clinker-Stations'}, ['CITEREFClinker1988'] = {'Clinker-Stations'}, ['CITEREFCoates1990'] = {'Coates-Reading'}, ['CITEREFColbyWilliams1916'] = {'New International Encyclopedia', 'NIE'}, ['CITEREFColledgeWarlow2006'] = {'Colledge', 'Cite Colledge2006'}, ['CITEREFColledgeWarlow2010'] = {'Cite Colledge2010'}, ['CITEREFCollins2016'] = {'Cite Collins 2016'}, ['CITEREFConolly1998'] = {'IanAllan-PreGroup-Atlas1998'}, ['CITEREFConway1990'] = {'Conway A Course in Functional Analysis'}, ['CITEREFCosentino2008'] = {'DBI'}, ['CITEREFCoulthard-Clark2002'] = {'Australian Dictionary of Biography'}, ['CITEREFCousin1910'] = {'A Short Biographical Dictionary of English Literature', 'Cite SBDEL'}, ['CITEREFCox1967'] = {'Cox-Upper Darby'}, ['CITEREFCox2011'] = {'Cox-Dixie'}, ['CITEREFCrevier1993'] = {'Crevier 1993'}, ['CITEREFCrockett2007'] = {'Australian Dictionary of Biography'}, ['CITEREFCroke2018'] = template_names['ODLA'], ['CITEREFCrone1980'] = {'Slaves on Horses'}, ['CITEREFCronin2011'] = template_names['Iranica'], ['CITEREFCroughtonKidnerYoung1982'] = {'Croughton-PrivateStations'}, ['CITEREFCruickshanks1970'] = {'HistoryofParliament'}, ['CITEREFCudahy2002'] = {'Cudahy-Hudson'}, ['CITEREFCudahy2003'] = {'Cudahy-Subways'}, ['CITEREFCurta2006'] = {'Southeastern Europe in the Middle Ages, 500–1250'}, ----------< D >---------- ['CITEREFDBI'] = {'DBI', 'Dizionario Biografico degli Italiani'}, ['CITEREFDZS2015'] = {'Croatia Yearbook 2015'}, ['CITEREFDadelsen1957'] = {'Bach\'s compositions (sources)'}, ['CITEREFDaftary1990'] = {'Daftary-The Ismailis'}, ['CITEREFDaftary2003'] = template_names['Iranica'], ['CITEREFDaftary2007'] = {'Daftary-The Ismailis'}, ['CITEREFDaftary2015'] = template_names['Iranica'], ['CITEREFDaiber1988'] = template_names['Iranica'], ['CITEREFDandamayevShahbaziLecoq1986'] = template_names['Iranica'], ['CITEREFDaniel2000'] = template_names['Iranica'], ['CITEREFDaniel2010'] = {'New Cambridge History of Islam'}, ['CITEREFDanielsDench1963'] = {'Daniels-NoMore'}, ['CITEREFDanielsDench1973'] = {'Daniels-NoMore'}, ['CITEREFDanner1975'] = template_names['Cam_Hist_Iran'], ['CITEREFDarleyCanepa2018'] = {'Oxford Dictionary of Late Antiquity'}, ['CITEREFDaryaee2009'] = template_names['Iranica'], ['CITEREFDaryaee2018'] = template_names['ODLA'], ['CITEREFDaryaeeCanepa2018'] = template_names['ODLA'], ['CITEREFDavid1961'] = {'Bach\'s compositions (sources)'}, ['CITEREFDavidson2010'] = {'HistoryofParliament'}, ['CITEREFDavidsonThrush2010'] = {'HistoryofParliament'}, ['CITEREFDavies1996'] = {'Davies-PLMLocoList'}, ['CITEREFDavies1997'] = {'Davies-NordLocoList'}, ['CITEREFDavies2001'] = {'Davies-EstLocoList3', 'Davies-ÉtatLocoList'}, ['CITEREFDavies2003'] = {'Davies-SNCFLocoList'}, ['CITEREFDaviesFirthLuckingThomas1966'] = {'RCTS-LocosGWR-10'}, ['CITEREFDavud2018'] = {'Encyclopaedia Islamica'}, ['CITEREFDavudNazerian2008'] = {'Encyclopaedia Islamica'}, ['CITEREFDe_Negri1997'] = {'DBI'}, ['CITEREFDemircan2010'] = {'TDV Encyclopedia of Islam'}, ['CITEREFDeutsch1951'] = {'Schubert\'s compositions (references)'}, ['CITEREFDeutsch1978'] = {'Schubert\'s compositions (references)'}, ['CITEREFDeutsche_Autos,_Band_2,2001'] = {'Deutsche Autos-2'}, ['CITEREFDeutsche_Autos,_Band_3,2001'] = {'Deutsche Autos-3'}, ['CITEREFDeutsche_Autos,_Band_4,2001'] = {'Deutsche Autos-4'}, ['CITEREFDeutsche_Autos,_Band_5,2001'] = {'Deutsche Autos-5'}, ['CITEREFDeutsche_Autos,_Band_6,2001'] = {'Deutsche Autos-6'}, ['CITEREFDewick2005'] = {'Dewick-Atlas'}, ['CITEREFDiamonstein-Spielvogel2011'] = {'Cite landmarks'}, ['CITEREFDickens2018'] = template_names['ODLA'], ['CITEREFDirksen1998'] = {'Bach\'s compositions (sources)'}, ['CITEREFDirksen2010'] = {'Bach\'s compositions (sources)'}, ['CITEREFDirksen2016'] = {'Bach\'s compositions (sources)'}, ['CITEREFDixmier1984'] = {'Dixmier General Topology'}, ['CITEREFDoerfer1989'] = template_names['Iranica'], ['CITEREFDoganis1930'] = {'Great Military and Naval Encyclopaedia'}, ['CITEREFDoleckiMynard2016'] = {'Dolecki Mynard Convergence Foundations Of Topology'}, ['CITEREFDolkart1998'] = {'Cite morningside'}, ['CITEREFDonner1995'] = template_names['Iranica'], ['CITEREFDonohue2003'] = {'The Buwayhid Dynasty in Iraq'}, ['CITEREFDorin1972'] = {'Dorin-North Western'}, ['CITEREFDow1962'] = {'Dow-GC2'}, ['CITEREFDow1965'] = {'Dow-GC3'}, ['CITEREFDow1985'] = {'Dow-GC1'}, ['CITEREFDowney2007'] = {'Downey-Chicago'}, ['CITEREFDrechsler2005'] = template_names['Iranica'], ['CITEREFDrummond1964'] = {'HistoryofParliament'}, ['CITEREFDrury1985'] = {'Drury Historical Guide 1985'}, ['CITEREFDrury1993'] = {'Drury-North American Steam'}, ['CITEREFDuchesne-Guillemin1994'] = template_names['Iranica'], ['CITEREFDugundji1966'] = {'Dugundji Topology'}, ['CITEREFDuke1995'] = {'Duke-Santa Fe-1'}, ['CITEREFDukeKeilty1990'] = {'Duke-RDC'}, ['CITEREFDumbarton_Oaks_Hagiography_Database'] = {'Dumbarton Oaks Hagiography Database'}, ['CITEREFDunbar1969'] = {'Dunbar-Railroads'}, ['CITEREFDuncan-Jones2010'] = {'Shakespeare sonnets bibliography'}, ['CITEREFDunlop1895'] = {'O\'Donnell family tree'}, ['CITEREFDunlop1985'] = template_names['Iranica'], ['CITEREFDunn2013'] = {'Dunn-Comeng-5'}, ['CITEREFDurand-Guédy2008'] = template_names['Iranica'], ['CITEREFDurand-Guédy2010'] = template_names['Iranica'], ['CITEREFDurand-Guédy2013'] = {'Encyclopaedia Islamica'}, ['CITEREFDurham1998'] = {'California\'s Geographic Names'}, ['CITEREFDurrant1972'] = {'Durrant-Steam Locos Eastern Europe'}, ['CITEREFDurrant1981'] = {'Durrant-Garratt-Rev'}, ['CITEREFDurrantLewisJorgensen1981'] = {'Durrant-SteamAfrica'}, ['CITEREFDömlingKohlhase1971'] = {'Bach\'s compositions (sources)'}, ['CITEREFDürr1952'] = {'Bach\'s compositions (sources)'}, ['CITEREFDürr1954'] = {'Bach\'s compositions (sources)'}, ['CITEREFDürr1987'] = {'Bach\'s compositions (sources)'}, ['CITEREFDürrJones2006'] = {'Bach\'s compositions (sources)'}, ['CITEREFDürrKobayashi1998'] = {'Bach\'s compositions (sources)'}, ['CITEREFde_Blois2000'] = template_names['Iranica'], ['CITEREFde_Planhol1987'] = template_names['Iranica'], ['CITEREFde_Planhol1988'] = template_names['Iranica'], ----------< E >---------- ['CITEREFEIr.1994'] = template_names['Iranica'], ['CITEREFEarle2018'] = {'Gymnosperm Database'}, ['CITEREFEbata2019'] = {'BDh'}, ['CITEREFEbata2020'] = {'BDh'}, ['CITEREFEbrahimKhodaverdian2018'] = {'Encyclopaedia Islamica'}, ['CITEREFEdwards1995'] = {'Edwards Functional Analysis Theory and Applications'}, ['CITEREFEichberg1976'] = {'Bach\'s compositions (sources)'}, ['CITEREFEilers1983'] = template_names ['Cam_Hist_Iran'], ['CITEREFEkbal1991'] = template_names['Iranica'], ['CITEREFEl-Hibri2010'] = {'New Cambridge History of Islam'}, ['CITEREFEldredgeHorenstein2014'] = {'Cite concrete'}, ['CITEREFElsholz1982'] = {'Schubert\'s compositions (references)'}, ['CITEREFElwell-Sutton1984'] = template_names['Iranica'], ['CITEREFEppstein1966'] = {'Bach\'s compositions (sources)'}, ['CITEREFEppstein1982'] = {'Bach\'s compositions (sources)'}, ['CITEREFEquasis'] = {'Csr', 'Cite ship register'}, ['CITEREFEuDaly2009'] = {'Complete Book of North American Railroading'}, ['CITEREFEuDalySchaferJessupBoyd2009'] = {'Complete Book of North American Railroading'}, ----------< F >---------- ['CITEREFFacella2021'] = template_names['Iranica'], ['CITEREFFang1943'] = {'Cite ECCP'}, ['CITEREFFarinella2001'] = {'DBI'}, ['CITEREFFatehi-NezhadAzarnooshNegahban2008'] = {'Encyclopaedia Islamica'}, ['CITEREFFatehi-nezhadRahimi2008'] = {'Encyclopaedia Islamica'}, ['CITEREFFeder1958'] = {'Bach\'s compositions (sources)'}, ['CITEREFFederal_Writers&#039;_Project1939'] = {'Cite fednyc'}, ['CITEREFFelixMadelung1995'] = template_names['Iranica'], ['CITEREFFernandez1983'] = {'Fernandez1983'}, ['CITEREFFesharaki2015'] = {'Encyclopaedia Islamica'}, ['CITEREFFiaccadori1991'] = template_names['ODB'], ['CITEREFFikratUmar2008'] = template_names['Iranica'], ['CITEREFFine1991'] = {'The Early Medieval Balkans'}, ['CITEREFFine1994'] = {'The Late Medieval Balkans'}, ['CITEREFFletcher,_Great_Tank_Scandal'] = {'Book-Fletcher-Great Tank Scandal'}, ['CITEREFFletcher,_Universal_Tank'] = {'Book-Fletcher-Universal Tank'}, ['CITEREFFloor1992'] = template_names['Iranica'], ['CITEREFFloor2005'] = template_names['Iranica'], ['CITEREFFlora_of_North_America'] = {'EFloras'}, ['CITEREFFlora_of_North_America2009'] = {'EFloras'}, ['CITEREFFluckMarshallWilson1996'] = {'FluMarWil-LocRailCR'}, ['CITEREFFonstad1991'] = template_names['ME-ref'], ['CITEREFForkelTerry1920'] = {'Bach\'s compositions (sources)'}, ['CITEREFFornaçon,_Siegfried1957'] = template_names['NDB'], ['CITEREFForrestal1999'] = {'Forrestal-Wineries'}, ['CITEREFForster1990'] = {'Cite DCB'}, ['CITEREFFoss1991'] = template_names['ODB'], ['CITEREFFoster1971'] = template_names['ME-ref'], ['CITEREFFoster1996'] = {'Foster-Field Guide'}, ['CITEREFFrailey2010'] = {'Frailey-Twilight'}, ['CITEREFFranke1994'] = {'Cite Cambridge History of China'}, ['CITEREFFranz_Schnorr_von_Carolsfeld1883'] = {'Cite ADB'}, ['CITEREFFriedrich_Wilhelm_Bautz1975'] = {'BBKL'}, ['CITEREFFriedrich_Wilhelm_Bautz1990'] = {'BBKL'}, ['CITEREFFry1964'] = {'RCTS-LocosLNER-7'}, ['CITEREFFry1966'] = {'RCTS-LocosLNER-5'}, ['CITEREFFrye1975'] = template_names['Cam_Hist_Iran'], ['CITEREFFrye1983'] = template_names['Cam_Hist_Iran'], ['CITEREFFrye2004'] = template_names['Iranica'], ['CITEREFFubini2012'] = {'DBI', 'Dizionario Biografico degli Italiani'}, ['CITEREFFudenbergTirole1991'] = {'Cite Fudenberg Tirole 1991'}, ['CITEREFFultonHarris1991'] = {'Fulton-Harris'}, ----------< G >---------- ['CITEREFGarakaniBrown2013'] = {'Encyclopaedia Islamica'}, ['CITEREFGardner2005'] = {'MSW3 Microbiotheria'}, ['CITEREFGardoni2015'] = {'DBI', 'Dizionario Biografico degli Italiani'}, ['CITEREFGareyJohnson1979'] = {'Garey-Johnson'}, ['CITEREFGarsoian2000'] = template_names['Iranica'], ['CITEREFGarsoian2004'] = template_names['Iranica'], ['CITEREFGarsoian2005'] = template_names['Iranica'], ['CITEREFGarth2003'] = template_names['ME-ref'], ['CITEREFGazette34205'] = {'London Gazette'}, ['CITEREFGazette34339'] = {'London Gazette'}, ['CITEREFGazette34390'] = {'London Gazette'}, ['CITEREFGazette34427'] = {'London Gazette'}, ['CITEREFGazette34558'] = {'London Gazette'}, ['CITEREFGazette34870'] = {'London Gazette'}, ['CITEREFGazette34978'] = {'London Gazette'}, ['CITEREFGazette34989'] = {'London Gazette'}, ['CITEREFGazette35037'] = {'London Gazette'}, ['CITEREFGazette35107'] = {'London Gazette'}, ['CITEREFGazette35134'] = {'London Gazette'}, ['CITEREFGazette35284'] = {'London Gazette'}, ['CITEREFGazette37560'] = {'London Gazette'}, ['CITEREFGazette37590'] = {'London Gazette'}, ['CITEREFGazette37598'] = {'London Gazette'}, ['CITEREFGazette37610'] = {'London Gazette'}, ['CITEREFGazette38020'] = {'London Gazette'}, ['CITEREFGazette38611'] = {'London Gazette'}, ['CITEREFGeanakoplos1959'] = {'Emperor Michael Palaeologus and the West'}, ['CITEREFGeorg_von_Dadelsen1953'] = template_names['NDB'], ['CITEREFGhanoonparvar1989'] = template_names['Iranica'], ['CITEREFGhereghlou2009'] = template_names['Iranica'], ['CITEREFGhereghlou2016'] = template_names['Iranica'], ['CITEREFGhulamiyan2015'] = template_names['Iranica'], ['CITEREFGhulamiyan2015'] = {'Encyclopaedia Islamica'}, ['CITEREFGiannasi1975'] = {'DBI', 'Dizionario Biografico degli Italiani'}, ['CITEREFGibb1923'] = {'The Arab Conquests in Central Asia'}, ['CITEREFGignoux1983'] = template_names['Iranica'], ['CITEREFGignoux1994'] = template_names['Iranica'], ['CITEREFGil1997'] = {'A History of Palestine, 634-1099', 'A History of Palestine, 634–1099'}, ['CITEREFGillham2001'] = {'Gillham-Waterloo-City'}, ['CITEREFGilliland1969'] = {'Gilliland'}, ['CITEREFGilliland1994'] = {'Pop Chronicles 40s'}, ['CITEREFGilliverMarshallWeiner2006'] = template_names['ME-ref'], ['CITEREFGilmanPeckColby1905'] = {'Cite NIE', 'New International Encyclopedia', 'NIE'}, ['CITEREFGilmanPeckColby1916'] = {'New International Encyclopedia', 'NIE'}, ['CITEREFGiunashvili2016'] = template_names['Iranica'], ['CITEREFGleaves1921'] = {'Gleaves'}, ['CITEREFGlischinski1997'] = {'Glischinski-Santa Fe'}, ['CITEREFGlöckner1983'] = {'Bach\'s compositions (sources)'}, ['CITEREFGoldberg1981'] = {'Goldberg-Amtrak'}, ['CITEREFGordon2001'] = {'Gordon-The Breaking of a Thousand Swords'}, ['CITEREFGraham1974'] = {'Cite DCB'}, ['CITEREFGrant1994'] = {'Grant-Death'}, ['CITEREFGrant2010'] = {'Grant-Twilight'}, ['CITEREFGrant2017'] = {'Grant-RailCo'}, ['CITEREFGrassi2018'] = template_names['Iranica'], ['CITEREFGray1986'] = template_names['Cam_Hist_Iran'], ['CITEREFGreenlaw2007'] = {'Greenlaw-Via Rail'}, ['CITEREFGregory1991'] = template_names['ODB'], ['CITEREFGregoryŠevčenko1991'] = template_names['ODB'], ['CITEREFGrete_Schemann1957'] = template_names['NDB'], ['CITEREFGrey2002'] = {'Australian Dictionary of Biography'}, ['CITEREFGrierson1903'] = {'Cite LSI', 'LSI', 'Linguistic Survey of India'}, ['CITEREFGrierson1908'] = {'Cite LSI', 'LSI', 'Linguistic Survey of India'}, ['CITEREFGrierson1919'] = {'Cite LSI', 'LSI', 'Linguistic Survey of India'}, ['CITEREFGrierson1967'] = {'Cite LSI', 'LSI', 'Linguistic Survey of India'}, ['CITEREFGriffith1991'] = template_names['ODB'], ['CITEREFGriffithsSmith1999'] = {'Griffiths-Sheds1'}, ['CITEREFGriffithsSmith2000'] = {'Griffiths-Sheds2'}, ['CITEREFGrothendieck1955'] = {'Grothendieck Produits Tensoriels Topologiques et Espaces Nucléaires'}, ['CITEREFGrothendieck1973'] = {'Grothendieck Topological Vector Spaces'}, ['CITEREFGrothendieckDieudonné1960'] = {'EGA'}, ['CITEREFGrothendieckDieudonné1961'] = {'EGA'}, ['CITEREFGrothendieckDieudonné1963'] = {'EGA'}, ['CITEREFGrothendieckDieudonné1964'] = {'EGA'}, ['CITEREFGrothendieckDieudonné1965'] = {'EGA'}, ['CITEREFGrothendieckDieudonné1966'] = {'EGA'}, ['CITEREFGrothendieckDieudonné1967'] = {'EGA'}, ['CITEREFGrothendieckDieudonné1971'] = {'EGA'}, ['CITEREFGroves2005'] = {'MSW3 Primates', 'MSW3 Groves'}, ['CITEREFGrubb2005'] = {'MSW3 Artiodactyla'}, ['CITEREFGuilland1967'] = {'Recherches sur les institutions byzantines'}, ['CITEREFGulino2005'] = {'DBI', 'Dizionario Biografico degli Italiani'}, ['CITEREFGunzburg1984'] = {'Gunzburg-History WAGR Steam'}, ['CITEREFGurneyNabavi1993'] = template_names['Iranica'], ['CITEREFGutas1987'] = template_names['Iranica'], ['CITEREFGvakharia2001'] = template_names['Iranica'], ['CITEREFGüner1997'] = {'TDV Encyclopedia of Islam'}, ----------< H >---------- ['CITEREFHaarer2018'] = template_names['ODLA'], ['CITEREFHabibi2021'] = template_names['Iranica'], ['CITEREFHadidi2000'] = template_names['Iranica'], ['CITEREFHaji2008'] = template_names['Iranica'], ['CITEREFHaldon1999'] = {'Warfare, State and Society in the Byzantine World, 565–1204'}, ['CITEREFHalliday1985'] = {'Halliday-AustWineCompend'}, ['CITEREFHalliday2008'] = {'Halliday-JHWAtlasAust2008'}, ['CITEREFHalliday2009'] = {'Halliday-AustWineEncyc'}, ['CITEREFHalm1998'] = template_names['Iranica'], ['CITEREFHalpenny1990'] = {'Canadabio'}, ['CITEREFHambly1990'] = template_names['Cam_Hist_Iran'], ['CITEREFHambly1991'] = template_names['Cam_Hist_Iran'], ['CITEREFHammondAnderson1993'] = template_names['ME-ref'], ['CITEREFHammondScull1995'] = template_names['ME-ref'], ['CITEREFHammondScull2005'] = template_names['ME-ref'], ['CITEREFHammondScull2006a'] = template_names['ME-ref'], ['CITEREFHammondScull2006b'] = template_names['ME-ref'], ['CITEREFHanaway1988'] = template_names['Iranica'], ['CITEREFHanaway1989'] = template_names['Iranica'], ['CITEREFHanawayLewisohn2004'] = template_names['Iranica'], ['CITEREFHans_Heinrich_Borcherdt1955'] = template_names['NDB'], ['CITEREFHans_Knudsen1972'] = template_names['NDB'], ['CITEREFHansen1988'] = {'Book-Hansen-US Nuclear Weapons'}, ['CITEREFHansman1991'] = template_names['Iranica'], ['CITEREFHartshorne1977'] = {'Hartshorne AG'}, ['CITEREFHassanpour1989'] = template_names['Iranica'], ['CITEREFHassanpour1995'] = template_names['Iranica'], ['CITEREFHasumi2003'] = {'Hasumi-shiguehiko-ozu-2003'}, ['CITEREFHaswell-Smith2004'] = {'Haswell-Smith'}, ['CITEREFHaugic1908'] = {'Schaff-Herzog'}, ['CITEREFHawting1987'] = {'The First Dynasty of Islam'}, ['CITEREFHawting2000'] = {'The First Dynasty of Islam'}, ['CITEREFHaynes2011'] = {'RubberBible92nd'}, ['CITEREFHeinichen1728'] = {'Bach\'s compositions (sources)'}, ['CITEREFHeinrich_Welti1890'] = {'Cite ADB'}, ['CITEREFHelgen2005'] = {'MSW3 Scandentia'}, ['CITEREFHellmann1965'] = {'Bach\'s compositions (sources)'}, ['CITEREFHenrici1725'] = {'Bach\'s compositions (sources)'}, ['CITEREFHenryOrsmond1928'] = {'Raiatea family tree'}, ['CITEREFHermann_Palm1876'] = {'Cite ADB'}, ['CITEREFHerr2000'] = {'Herr-LN'}, ['CITEREFHeschel2007'] = {'Encyclopaedia Judaica', 'Cite EJ', 'Cite Encyclopaedia Judaica'}, ['CITEREFHewsen1988'] = template_names['Iranica'], ['CITEREFHidyHidyScottHofsummer2004'] = {'Hidy-Great Northern'}, ['CITEREFHildHellenkemper1990'] = {'Tabula Imperii Byzantini'}, ['CITEREFHildHellenkemper1994'] = {'Tabula Imperii Byzantini'}, ['CITEREFHildRestle1981'] = {'Tabula Imperii Byzantini'}, ['CITEREFHillenbrand1986'] = template_names['Iranica'], ['CITEREFHills,_Power_from_Steam'] = {'Book-Hills-Power from Steam'}, ['CITEREFHills1989'] = {'Book-Hills-Power from Steam'}, ['CITEREFHilmarJestremski2004'] = {'Schubert\'s compositions (references)'}, ['CITEREFHilton1980'] = {'Hilton-Amtrak'}, ['CITEREFHilton1990'] = {'Hilton Narrow Gauge'}, ['CITEREFHiltonDue1960'] = {'Hilton-Interurban'}, ['CITEREFHinton1986'] = {'HistoryofParliament'}, ['CITEREFHirsch1906'] = {'Cite JE1906'}, ['CITEREFHistoric_Environment_Scotland'] = {'Canmore'}, ['CITEREFHistoric_Environment_Scotland1972'] = {'Historic Environment Scotland'}, ['CITEREFHistoric_Environment_Scotland1976'] = {'Historic Environment Scotland'}, ['CITEREFHistoric_Environment_Scotland2020'] = {'Historic Environment Scotland'}, ['CITEREFHistoric_Environment_Scotland:_Rusco_Tower2020'] = {'Historic Environment Scotland'}, ['CITEREFHistoric_Environment_ScotlandLB33744'] = {'Historic Environment Scotland'}, ['CITEREFHistoric_Environment_ScotlandLB50114'] = {'Historic Environment Scotland'}, ['CITEREFHob.'] = {'Schubert\'s compositions (references)'}, ['CITEREFHoffmanSmith2005'] = {'MSW3 Lagomorpha'}, ['CITEREFHoffmann1738'] = {'Bach\'s compositions (sources)'}, ['CITEREFHofmann1983'] = {'Bach\'s compositions (sources)'}, ['CITEREFHofmann1987'] = {'Bach\'s compositions (sources)'}, ['CITEREFHofmann1999'] = {'Bach\'s compositions (sources)'}, ['CITEREFHolland1972'] = {'Holland-Vol 2'}, ['CITEREFHolland1988'] = {'Cite DCB'}, ['CITEREFHolland2001'] = {'Holland-Classic'}, ['CITEREFHollingsworth1980'] = {'Hollingsworth-Atlas-Rigby'}, ['CITEREFHollingsworth1991'] = template_names['ODB'], ['CITEREFHollingsworthCutler1991'] = template_names['ODB'], ['CITEREFHolmgren2003'] = {'EFloras'}, ['CITEREFHoltBiddle1986'] = {'Holt-NorthWest'}, ['CITEREFHolton1989'] = {'Holton-Reading-1'}, ['CITEREFHonigmann1935'] = {'Byzance et les Arabes'}, ['CITEREFHopley1983'] = {'Australian Dictionary of Biography'}, ['CITEREFHort1911'] = {'DCBL'}, ['CITEREFHorváth1966'] = {'Horváth Topological Vector Spaces and Distributions Volume 1 1966'}, ['CITEREFHosseini2017'] = template_names['Iranica'], ['CITEREFHounshell1984'] = {'Hounshell1984'}, ['CITEREFHudson1997'] = {'Country study'}, ['CITEREFHughes1990'] = {'Hughes-IndianLocos1'}, ['CITEREFHughes1992'] = {'Hughes-IndianLocos2'}, ['CITEREFHughes1994'] = {'Hughes-IndianLocos3'}, ['CITEREFHughes1996'] = {'Hughes-IndianLocos4'}, ['CITEREFHummel1943'] = {'Cite ECCP'}, ['CITEREFHumphreys2018'] = template_names['ODLA'], ['CITEREFHunter-Crawley2018'] = template_names['ODLA'], ['CITEREFHunter2008'] = {'Country study'}, ['CITEREFHutter2009'] = template_names['Iranica'], ['CITEREFHutterer2005'] = {'MSW3 Soricomorpha'}, ['CITEREFHütter2012'] = {'Hütter-50bis53'}, ['CITEREFHütter2015'] = {'Hütter-54bis59'}, ['CITEREFHütter2021'] = {'Hütter-60bis91'}, ----------< I >---------- ['CITEREFIbn_Khallikan1843'] = {'Ibn Khallikan\'s Biographical Dictionary'}, ['CITEREFImber2002'] = {'Imber-The Ottoman Empire, 1300–1650'}, ['CITEREFInalcik1989'] = {'Setton-A History of the Crusades'}, ['CITEREFIranica:_Bahrām'] = template_names['Iranica'], ['CITEREFIrvine2006'] = template_names['Iranica'], ['CITEREFIshino1998'] = {'Teishajo'}, ['CITEREFIshkevariNejad2008'] = {'Encyclopaedia Islamica'}, ['CITEREFIvey1919'] = {'Ivey-Marquette'}, ----------< J >---------- ['CITEREFJackson1908'] = {'Schaff-Herzog'}, ['CITEREFJackson1988'] = template_names['Iranica'], ['CITEREFJackson1989'] = template_names['Iranica'], ['CITEREFJackson1995'] = {'Cite enc-nyc'}, ['CITEREFJackson2010'] = {'Cite enc-nyc2'}, ['CITEREFJacksonMelville2001'] = template_names['Iranica'], ['CITEREFJacobs1904'] = {'Cite Jewish Encyclopedia'}, ['CITEREFJarchow1981'] = {'Jarchow Locally Convex Spaces'}, ['CITEREFJavadiBurrill1988'] = template_names['Iranica'], ['CITEREFJohn_O&#039;Donovan1856'] = {'Cite AFM'}, ['CITEREFJohnstonWelshSchafer2001'] = {'Johnston-Streamliner'}, ['CITEREFJones2011'] = {'Cite EPD'}, ['CITEREFJordan2002'] = {'Jordan-WineWABest'}, ['CITEREFJoshi1983'] = {'Joshi Introduction to General Topology'}, ['CITEREFJoslen2003'] = {'Joslen-OOB'}, ['CITEREFJowett1867'] = {'DGRBM', 'Cite DGRBM'}, ['CITEREFJowett1989'] = {'Jowett-Atlas', 'Carnarvonshire Railway'}, ['CITEREFJowett2000'] = {'Jowett-Nationalised'}, ['CITEREFJullien2018'] = template_names['ODLA'], ['CITEREFJupp1986'] = {'HistoryofParliament'}, ----------< K >---------- ['CITEREFK.'] = {'Schubert\'s compositions (references)'}, ['CITEREFKadinsky2016'] = {'Cite Hidden Waters NYC'}, ['CITEREFKaegi1991'] = template_names['ODB'], ['CITEREFKamaly2006'] = template_names['Iranica'], ['CITEREFKamp1981'] = {'DBI', 'Dizionario Biografico degli Italiani'}, ['CITEREFKang2008'] = {'Country study'}, ['CITEREFKaramatiMelvin-Koushki2021'] = template_names['Iranica'], ['CITEREFKaramatiMelvin-Koushki2021'] = {'Encyclopaedia Islamica'}, ['CITEREFKarimi-Hakkak1997'] = template_names['Iranica'], ['CITEREFKarimiMaghsoodi2013'] = {'Encyclopaedia Islamica'}, ['CITEREFKarl_Frohnmeyer1953'] = template_names['NDB'], ['CITEREFKarnow1989'] = {'Cite-Karnow'}, ['CITEREFKasheff2001'] = template_names['Iranica'], ['CITEREFKayvaniGholami2008'] = {'Encyclopaedia Islamica'}, ['CITEREFKazhdan1991'] = template_names['ODB'], ['CITEREFKazhdanCutler1991'] = template_names['ODB'], ['CITEREFKazhdanJeffreys1991'] = template_names['ODB'], ['CITEREFKazhdanŠevčenko1991'] = template_names['ODB'], ['CITEREFKeall1987'] = template_names['Iranica'], ['CITEREFKeefe2006'] = {'Schubert\'s compositions (references)'}, ['CITEREFKeller1937'] = {'Bach\'s compositions (sources)'}, ['CITEREFKelly1988'] = {'Cite GEIL'}, ['CITEREFKellyBurrage1920'] = {'Cite AMB1920'}, ['CITEREFKennedy1998'] = {'The Cambridge History of Egypt', 'Cite Kennedy 1998', 'Cambridge History of Egypt'}, ['CITEREFKennedy2001'] = {'Kennedy-The Armies of the Caliphs'}, ['CITEREFKennedy2004'] = {'The Prophet and the Age of the Caliphates'}, ['CITEREFKennedy2007'] = {'Kennedy-The Great Arab Conquests'}, ['CITEREFKennedy2016'] = {'The Prophet and the Age of the Caliphates'}, ['CITEREFKenyon2011'] = {'Bach\'s compositions (sources)'}, ['CITEREFKerrigan1995'] = {'Shakespeare sonnets bibliography'}, ['CITEREFKettenhofen1995'] = template_names['Iranica'], ['CITEREFKettenhofen2001'] = template_names['Iranica'], ['CITEREFKettenhofenBournoutianHewsen1998'] = template_names['Iranica'], ['CITEREFKhaleelulla1982'] = {'Khaleelulla Counterexamples in Topological Vector Spaces'}, ['CITEREFKhaleghi-Motlagh1999'] = template_names['Iranica'], ['CITEREFKhaleghi-Motlagh2001'] = template_names['Iranica'], ['CITEREFKhan2012'] = {'Cite Banglapedia'}, ['CITEREFKhatibiNegahban2013'] = {'Encyclopaedia Islamica'}, ['CITEREFKim1994'] = {'Country study'}, ['CITEREFKirnberger1774'] = {'Bach\'s compositions (sources)'}, ['CITEREFKirnberger1780'] = {'Bach\'s compositions (sources)'}, ['CITEREFKlein2006'] = {'Klein-UP-2'}, ['CITEREFKlíma1988'] = template_names['Iranica'], ['CITEREFKobayashi1978'] = {'Bach\'s compositions (sources)'}, ['CITEREFKoderHild1976'] = {'Tabula Imperii Byzantini'}, ['CITEREFKoderSoustalKoder1998'] = {'Tabula Imperii Byzantini'}, ['CITEREFKoeppel2015'] = {'Cite citygrid'}, ['CITEREFKofos1977'] = {'Ιστορία του Ελληνικού Έθνους'}, ['CITEREFKohler1902'] = {'Cite Jewish Encyclopedia'}, ['CITEREFKolde1914'] = {'Schaff-Herzog'}, ['CITEREFKoliopoulos1978'] = {'Ιστορία του Ελληνικού Έθνους'}, ['CITEREFKolmogorovFomin1957'] = {'Kolmogorov Fomin Elements of the Theory of Functions and Functional Analysis'}, ['CITEREFKonrad_Ameln1985'] = template_names['NDB'], ['CITEREFKoska2011'] = {'Bach\'s compositions (sources)'}, ['CITEREFKratville1962'] = {'Kratville-SSL'}, ['CITEREFKretzschmar1910'] = {'Bach\'s compositions (sources)'}, ['CITEREFKube2009'] = {'Schubert\'s compositions (references)'}, ['CITEREFKurz1983'] = template_names['Cam_Hist_Iran'], ['CITEREFKuznik2008'] = {'Bach\'s compositions (sources)'}, ['CITEREFKöthe1969'] = {'Köthe Topological Vector Spaces I'}, ['CITEREFKöthe1979'] = {'Köthe Topological Vector Spaces II'}, ['CITEREFKöthe1983'] = {'Köthe Topological Vector Spaces I'}, ['CITEREFKülzer2008'] = {'Tabula Imperii Byzantini'}, ['CITEREFKüçükaşcı2001'] = {'TDV Encyclopedia of Islam'}, ----------< L >---------- ['CITEREFLa_Porta2018'] = template_names['ODLA'], ['CITEREFLacourcière1974'] = {'Cite DCB'}, ['CITEREFLadefogedMaddieson1996'] = {'SOWL'}, ['CITEREFLandau-Tasseron2010'] = {'New Cambridge History of Islam'}, ['CITEREFLandauCondit1996'] = {'Cite nysky'}, ['CITEREFLandmann1907'] = {'Bach\'s compositions (sources)'}, ['CITEREFLang1983'] = template_names['Cam_Hist_Iran'], ['CITEREFLangaroodiCooper2008'] = {'Encyclopaedia Islamica'}, ['CITEREFLangaroodiCooper2015'] = template_names['Iranica'], ['CITEREFLangaroodiCooper2015'] = {'Encyclopaedia Islamica'}, ['CITEREFLangaroodiNegahban2008'] = {'Encyclopaedia Islamica'}, ['CITEREFLangaroodiNegahban2015'] = template_names['Iranica'], ['CITEREFLangaroodiNegahban2015'] = {'Encyclopaedia Islamica'}, ['CITEREFLangaroudi2001'] = template_names['Iranica'], ['CITEREFLatham1982–2021'] = template_names['Iranica'], ['CITEREFLazard1975'] = template_names['Cam_Hist_Iran'], ['CITEREFLaërtius1925'] = {'Cite Lives of the Eminent Philosophers', 'Cite LotEP'}, ['CITEREFLeCoq1986'] = template_names['Iranica'], ['CITEREFLe_Quien1740'] = {'Oriens Christianus'}, ['CITEREFLe_Strange1900'] = {'Baghdad During the Abbasid Caliphate'}, ['CITEREFLe_Strange1905'] = {'Lands of the Eastern Caliphate'}, ['CITEREFLe_Strange1922'] = {'Baghdad During the Abbasid Caliphate'}, ['CITEREFLeblanc1979'] = {'Cite DCB'}, ['CITEREFLee1903'] = {'Cite DNBIE'}, ['CITEREFLee2018'] = template_names['ODLA'], ['CITEREFLeisingerWollny1993'] = {'Bach\'s compositions (sources)'}, ['CITEREFLerner1988'] = template_names['Iranica'], ['CITEREFLev1999'] = {'Saladin in Egypt'}, ['CITEREFLevitan2001'] = {'Springer'}, ['CITEREFLewin1925'] = {'Lewin-EarlyRail'}, ['CITEREFLewis1969'] = {'Setton-A History of the Crusades'}, ['CITEREFLewis1986'] = {'Lewis-Shortline-1986'}, ['CITEREFLewis1991'] = {'Lewis-Shortline-1991'}, ['CITEREFLewis1996'] = {'Lewis-Shortline-1996'}, ['CITEREFLewis2001'] = template_names['Iranica'], ['CITEREFLiederNet_Archive'] = {'Schubert\'s compositions (references)'}, ['CITEREFLieu1997'] = template_names['Iranica'], ['CITEREFLighthouses_of_Australia_Inc'] = {'Cite loa'}, ['CITEREFLind1986'] = {'Lind-Limiteds'}, ['CITEREFLittle1974'] = {'Cite DCB'}, ['CITEREFLongnon1969'] = {'Setton-A History of the Crusades'}, ['CITEREFLosensky2003'] = template_names['Iranica'], ['CITEREFLoverance2018'] = template_names['ODLA'], ['CITEREFLukonin1983'] = {'Cambridge History of Iran'}, ['CITEREFLurje2010'] = template_names['Iranica'], ['CITEREFLuttrell1975'] = {'Setton-A History of the Crusades'}, ['CITEREFLuttrell1987'] = {'DBI'}, ['CITEREFLynch2004'] = {'Lynch-Penn Central'}, ['CITEREFLynch2005'] = {'Lynch-New Haven passenger'}, ['CITEREFLynch2018'] = template_names['ODLA'], ['CITEREFLéger1990'] = {'Cite DCB'}, ['CITEREFle_Fleming1953'] = {'RCTS-LocosGWR-8'}, ['CITEREFle_Fleming1960'] = {'RCTS-LocosGWR-8'}, ----------< M >---------- ['CITEREFMacDermot1927'] = {'Infobox GWR'}, ['CITEREFMacDermot1931'] = {'Infobox GWR'}, ['CITEREFMacEoin1988'] = template_names['Iranica'], ['CITEREFMacKenzie1992'] = template_names['Iranica'], ['CITEREFMadelung1975'] = template_names['Cam_Hist_Iran'], ['CITEREFMadelung1978'] = {'EI2'}, ['CITEREFMadelung1983'] = template_names['Iranica'], ['CITEREFMadelung1984'] = template_names['Iranica'], ['CITEREFMadelung1988'] = template_names['Iranica'], ['CITEREFMadelung1993'] = template_names['Iranica'], ['CITEREFMadelung2003'] = template_names['Iranica'], ['CITEREFMadelungFelix1995'] = template_names['Iranica'], ['CITEREFMaeda2009'] = template_names['Iranica'], ['CITEREFMagdalino2002'] = {'The Empire of Manuel I Komnenos'}, ['CITEREFMaiken1989'] = {'Maiken-Night Trains'}, ['CITEREFMailer2004'] = {'Mailer-Omaha Road'}, ['CITEREFMajidiNegahban'] = {'Encyclopaedia Islamica'}, ['CITEREFMalandra2009'] = template_names['Iranica'], ['CITEREFManfred_Knedlik2007'] = {'BBKL'}, ['CITEREFMarshak1994'] = template_names['Iranica'], ['CITEREFMarshak2002'] = template_names['Iranica'], ['CITEREFMarshall1823'] = {'Cite RNB1823'}, ['CITEREFMarshall1824'] = {'Cite RNB1823'}, ['CITEREFMarshall1825'] = {'Cite RNB1823'}, ['CITEREFMarshall1827'] = {'Cite RNB1823'}, ['CITEREFMarshall1828'] = {'Cite RNB1823'}, ['CITEREFMarshall1829'] = {'Cite RNB1823'}, ['CITEREFMarshall1830'] = {'Cite RNB1823'}, ['CITEREFMarshall1831'] = {'Cite RNB1823'}, ['CITEREFMarshall1832'] = {'Cite RNB1823'}, ['CITEREFMarshall1833'] = {'Cite RNB1823'}, ['CITEREFMarshall1835'] = {'Cite RNB1823'}, ['CITEREFMarshall1972'] = {'Lancashire & Yorkshire Railway 3'}, ['CITEREFMarshall2001'] = {'Marshall-INGSR'}, ['CITEREFMartin_Persch1992'] = {'BBKL'}, ['CITEREFMartin_Persch1993'] = {'BBKL'}, ['CITEREFMartin_Persch1996'] = {'BBKL'}, ['CITEREFMartindale1980'] = {'Prosopography of the Later Roman Empire', 'PLRE'}, ['CITEREFMartindale1992'] = {'Prosopography of the Later Roman Empire', 'PLRE'}, ['CITEREFMartindaleJonesMorris1971'] = {'Prosopography of the Later Roman Empire', 'PLRE'}, ['CITEREFMasoud_Jalali-Moqaddam2015'] = {'Encyclopaedia Islamica'}, ['CITEREFMatini1987'] = template_names['Iranica'], ['CITEREFMatthee2008'] = template_names['Iranica'], ['CITEREFMatthee2015'] = template_names['Iranica'], ['CITEREFMaul2005'] = {'Bach\'s compositions (sources)'}, ['CITEREFMayGray2006'] = {'MayGray-WAGRPassCar'}, ['CITEREFMazzaoui2002'] = template_names['Iranica'], ['CITEREFMcArthurMcArthur2003'] = {'Cite ogn', 'Cite Oregon Geographic Names'}, ['CITEREFMcCaffrey1990'] = template_names['Iranica'], ['CITEREFMcCorduck2004'] = {'McCorduck 2004'}, ['CITEREFMcCurdyRogers1902'] = {'Cite Jewish Encyclopedia'}, ['CITEREFMcDonnell2015'] = {'McDonnell-Locomotives-2nd'}, ['CITEREFMcGhee2008'] = {'Cite McGhee 2008'}, ['CITEREFMeiningen1704'] = {'Bach\'s compositions (sources)'}, ['CITEREFMeints1992'] = {'Meints-Companies'}, ['CITEREFMeints2005'] = {'Meints-Lines'}, ['CITEREFMelamed1988'] = {'Bach\'s compositions (sources)'}, ['CITEREFMelamed1995'] = {'Bach\'s compositions (sources)'}, ['CITEREFMelville1997'] = template_names['Iranica'], ['CITEREFMelville2003'] = template_names['Iranica'], ['CITEREFMennell1892'] = {'Dictionary of Australasian Biography'}, ['CITEREFMetcalfe2009'] = {'The Muslims of Medieval Italy'}, ['CITEREFMiddleton1961'] = {'Middleton-Interurban'}, ['CITEREFMiddleton2001'] = {'Middleton-Electrified-2nd'}, ['CITEREFMiddleton2002'] = {'Middleton-PRR-Under-Wire'}, ['CITEREFMiddletonSmerkDiehl2007'] = {'Encyclopedia of North American Railroads'}, ['CITEREFMiles1975'] = template_names['Cam_Hist_Iran'], ['CITEREFMillar2011'] = {'NZR Steam Locomotive'}, ['CITEREFMiller'] = {'Encyclopaedia Islamica'}, ['CITEREFMiller1908'] = {'The Latins in the Levant', 'Latins in the Levant'}, ['CITEREFMiller1921'] = {'Essays on the Latin Orient'}, ['CITEREFMinnich2008'] = {'Country study'}, ['CITEREFMiramar_Ship_Index'] = {'Csr', 'Cite ship register'}, ['CITEREFMitchell1965'] = {'Mitchell TOC'}, ['CITEREFMittermeierKonstantHawkinsLouis2006'] = {'LoM2'}, ['CITEREFMittermeierLouisRichardsonSchwitzer2010'] = {'LoM3'}, ['CITEREFMittermeierTattersallKonstantMeyers1994'] = {'LoM1'}, ['CITEREFMoore1875'] = {'Cite CEM'}, ['CITEREFMorana1993'] = {'Bach\'s compositions (sources)'}, ['CITEREFMorony2009'] = template_names['Iranica'], ['CITEREFMoschonas1975'] = {'Ιστορία του Ελληνικού Έθνους'}, ['CITEREFMottahedeh1975'] = template_names['Cam_Hist_Iran'], ['CITEREFMozartHaydnHaydn2008'] = {'Schubert\'s compositions (references)'}, ['CITEREFMunkres1974'] = {'Munkres Topology'}, ['CITEREFMunkres2000'] = {'Munkres Topology'}, ['CITEREFMurray2006'] = {'Murray-Illinois Central'}, ['CITEREFMusserCarleton2005'] = {'MSW3 Muroidea'}, ['CITEREFMüller,_Hans-Christian1966'] = template_names['NDB'], ----------< N >---------- ['CITEREFNSA_II,_15'] = {'Schubert\'s compositions (references)'}, ['CITEREFNSA_scores'] = {'Schubert\'s compositions (references)'}, ['CITEREFNSA_website'] = {'Schubert\'s compositions (references)'}, ['CITEREFNagel1990'] = template_names['Iranica'], ['CITEREFNariciBeckenstein2011'] = {'Narici Beckenstein Topological Vector Spaces'}, ['CITEREFNavāʾī1988'] = template_names['Iranica'], ['CITEREFNegahban2008'] = {'Encyclopaedia Islamica'}, ['CITEREFNersessian2018'] = template_names['ODLA'], ['CITEREFNetzer1998'] = template_names['Iranica'], ['CITEREFNetzer2007'] = template_names['Iranica'], ['CITEREFNeukirch1999'] = {'Neukirch ANT'}, ['CITEREFNeukirchSchmidtWingberg2000'] = {'Neukirch et al. CNF'}, ['CITEREFNew_York_City_Landmarks_Preservation_CommissionDolkartPostal2009'] = {'Cite nycland'}, ['CITEREFNewbould1999'] = {'Schubert\'s compositions (references)'}, ['CITEREFNewman1994'] = template_names['Iranica'], ['CITEREFNicholsonCanepaDaryaee2018'] = template_names['ODLA'], ['CITEREFNicol1988'] = {'Byzantium and Venice: A Study in Diplomatic and Cultural Relations'}, ['CITEREFNicol1992'] = {'The Immortal Emperor: The Life and Legend of Constantine Palaiologos, Last Emperor of the Romans'}, ['CITEREFNicol1993'] = {'The Last Centuries of Byzantium, 1261–1453', 'The Last Centuries of Byzantium'}, ['CITEREFNock1974'] = {'Nock-EustonGlasgow'}, ----------< O >---------- ['CITEREFO&#039;Byrne1849'] = {'Cite NBD1849'}, ['CITEREFO&#039;ConnorRobertson1996'] = {'MacTutor Biography', 'MacTutor'}, ['CITEREFO&#039;ConnorRobertson2000'] = {'MacTutor Biography', 'MacTutor'}, ['CITEREFO&#039;Donoghue1897'] = {'Cite DNB'}, ['CITEREFODB'] = template_names['ODB'], ['CITEREFODLA'] = template_names['ODLA'], ['CITEREFOberling1984'] = template_names['Iranica'], ['CITEREFOberling2008'] = template_names['Iranica'], ['CITEREFOberling2010'] = template_names['Iranica'], ['CITEREFOdisheli2018'] = template_names['ODLA'], ['CITEREFOfficial_Guide_of_the_Railways1950'] = {'Official Guide of the Railways'}, ['CITEREFOgorek2012'] = {'Ogorek-South Shore'}, ['CITEREFOikonomides1991'] = template_names['ODB'], ['CITEREFOikonomou1977'] = {'Ιστορία του Ελληνικού Έθνους'}, ['CITEREFOlbrycht2021'] = template_names['Iranica'], ----------< P >---------- ['CITEREFPLP'] = {'Prosopographisches Lexikon der Palaiologenzeit', 'PLP'}, ['CITEREFPalmer1875'] = {'Cite ADB'}, ['CITEREFPalmerStewart1965'] = {'Palmer & Stewart'}, ['CITEREFPanainoAbdollahyBalland1990'] = template_names['Iranica'], ['CITEREFPandariHirtensteinNegahban2013'] = {'Encyclopaedia Islamica'}, ['CITEREFParvin2003'] = template_names['Iranica'], ['CITEREFParvin2009'] = template_names['Iranica'], ['CITEREFPatience1996'] = {'Patience-SteamTwilight'}, ['CITEREFPatton2005'] = {'MSW3 Geomyidae'}, ['CITEREFPaul2000'] = template_names['Iranica'], ['CITEREFPawson1979'] = {'Pawson-Delaware Valley'}, ['CITEREFPaxtonBourne1985'] = {'Paxton-Bourne'}, ['CITEREFPeacock2011'] = template_names['Iranica'], ['CITEREFPeck1898'] = {'HDCA'}, ['CITEREFPerlis2001'] = {'Springer'}, ['CITEREFPerreault2004'] = {'Bach\'s compositions (sources)'}, ['CITEREFPerry1983'] = template_names['Cam_Hist_Iran'], ['CITEREFPerry1990'] = template_names['Cam_Hist_Iran'], ['CITEREFPerry1991'] = template_names['Cam_Hist_Iran'], ['CITEREFPetropoulosKoumarianou1977'] = {'Ιστορία του Ελληνικού Έθνους'}, ['CITEREFPetrucci1982'] = {'DBI'}, ['CITEREFPezeshk2017'] = {'Encyclopaedia Islamica'}, ['CITEREFPezeshkKhaleeli2017'] = template_names['Iranica'], ['CITEREFPezeshkKhaleeli2017'] = {'Encyclopaedia Islamica'}, ['CITEREFPfau2008'] = {'Bach\'s compositions (sources)'}, ['CITEREFPinkepank1973'] = {'Pinkepank diesel spotters guide 2'}, ['CITEREFPlantlist2016'] = {'Plantlist'}, ['CITEREFPlaten1976'] = {'Bach\'s compositions (sources)'}, ['CITEREFPloumidisAlexiou1974'] = {'Ιστορία του Ελληνικού Έθνους'}, ['CITEREFPmbZ'] = {'Prosopographie der mittelbyzantinischen Zeit', 'PMBZ'}, ['CITEREFPolemis1968'] = {'Polemis-The Doukai'}, ['CITEREFPope2007'] = {'Encyclopaedia Judaica', 'Cite EJ', 'Cite Encyclopaedia Judaica'}, ['CITEREFPopplewell'] = {'Popplewell-Gazetteer'}, ['CITEREFPotts2018'] = template_names['ODLA'], ['CITEREFPottsCanepa2018'] = template_names['ODLA'], ['CITEREFPourshariati2017'] = {'Encyclopædia Iranica Online'}, ['CITEREFPozza1992'] = {'DBI', 'Dizionario Biografico degli Italiani'}, ['CITEREFPrawer1985'] = {'Setton-A History of the Crusades'}, ['CITEREFPritsak1991'] = template_names['ODB'], ['CITEREFProsopographie_der_mittelbyz._Zeit'] = {'Prosopographie der mittelbyzantinischen Zeit'}, ----------< Q >---------- ['CITEREFQuick2009'] = {'Quick-Stations'}, ['CITEREFQuick2019'] = {'Quick-stations-5'}, ['CITEREFQuinn2003'] = template_names['Iranica'], ----------< R >---------- ['CITEREFRaditsa1983'] = template_names['Cam_Hist_Iran'], ['CITEREFRahman1983'] = template_names['Iranica'], ['CITEREFRaja&#039;i1987'] = template_names['Iranica'], ['CITEREFRamaer1974'] = {'Ramaer-SteamLocosEAR'}, ['CITEREFRansome-Wallis1971'] = {'Ransome-Wallis 1'}, ['CITEREFRateliff2007'] = template_names['ME-ref'], ['CITEREFRavegnano2000'] = {'DBI'}, ['CITEREFReed1953'] = {'RCTS-LocosGWR-2'}, ['CITEREFReed1975'] = {'Reed-Streamline era'}, ['CITEREFReed1997'] = {'Schubert\'s compositions (references)'}, ['CITEREFReinhard_Tenberg1990'] = {'BBKL'}, ['CITEREFRettinghaus2020'] = {'BDh'}, ['CITEREFReynolds1921'] = {'Cite Collier\'s', 'Collier\'s'}, ['CITEREFReynoldsOroszi2000'] = {'Reynolds-BO'}, ['CITEREFRezaHirtensteinGholami2021'] = {'Encyclopaedia Islamica'}, ['CITEREFRezakhani2018'] = template_names['ODLA'], ['CITEREFRezvani2014'] = template_names['Iranica'], ['CITEREFRichter-Bernburg2003'] = template_names['Iranica'], ['CITEREFRichter2018'] = {'BDh'}, ['CITEREFRigo2005'] = template_names['ODB'], ['CITEREFRipleyDana1863'] = {'New American Cyclopedia'}, ['CITEREFRipleyDana1864'] = {'New American Cyclopedia'}, ['CITEREFRipleyDana1879'] = {'Cite AmCyc'}, ['CITEREFRistaino1988'] = {'Country study'}, ['CITEREFRobert_Eitner1891'] = {'Cite ADB'}, ['CITEREFRobertson1983'] = {'Robertson-OriginScot'}, ['CITEREFRoe1916'] = {'Roe1916'}, ['CITEREFRoe1937'] = {'Roe1937'}, ['CITEREFRoemer1986'] = template_names['Cam_Hist_Iran'], ['CITEREFRoemer1989'] = template_names['Iranica'], ['CITEREFRoemer2004'] = template_names['Iranica'], ['CITEREFRolt1965'] = {'Rolt1965'}, ['CITEREFRoltKichenside1982'] = {'Rolt-Red'}, ['CITEREFRose1857'] = {'Cite Newgenbio'}, ['CITEREFRosenfeld1974'] = template_names['NDB'], ['CITEREFRosenzweigBlackmar1992'] = {'Cite Central Park History', 'Cite Central Park history'}, ['CITEREFRowledge1975'] = {'Rowledge-Engines of the LMS'}, ['CITEREFRowledge1993'] = {'Rowledge-Irish Steam Register'}, ['CITEREFRowlett'] = {'Cite rowlett', 'Cite Rowlett'}, ['CITEREFRowlett2007'] = {'Cite rowlett', 'Cite Rowlett'}, ['CITEREFRowlett2012'] = {'Cite rowlett', 'Cite Rowlett'}, ['CITEREFRowlett2013'] = {'Cite rowlett', 'Cite Rowlett'}, ['CITEREFRowlett2016'] = {'Cite rowlett', 'Cite Rowlett'}, ['CITEREFRowlett2017'] = {'Cite rowlett', 'Cite Rowlett'}, ['CITEREFRowson1998'] = template_names['Iranica'], ['CITEREFRudin1973'] = {'Rudin Walter Functional Analysis'}, ['CITEREFRudin1991'] = {'Rudin Walter Functional Analysis'}, ['CITEREFRunciman1951'] = {'Runciman-A History of the Crusades'}, ['CITEREFRunciman1951–1954'] = {'Runciman-A History of the Crusades'}, ['CITEREFRunciman1952'] = {'Runciman-A History of the Crusades'}, ['CITEREFRunciman1954'] = {'Runciman-A History of the Crusades'}, ['CITEREFRunciman1989'] = {'Runciman-A History of the Crusades'}, ['CITEREFRussell1985'] = {'Setton-A History of the Crusades', 'Encyclopædia Iranica Online', 'Encyclopædia Iranica', 'Encyclopaedia Iranica', 'Cite Encyclopædia Iranica Online'}, ['CITEREFRussell1986'] = template_names['Iranica'], ['CITEREFRussell1987'] = template_names['Iranica'], ['CITEREFRussellNorvig2003'] = {'Russell Norvig 2003'}, ['CITEREFRybczynski2000'] = {'Rybczynski2000'}, ['CITEREFRypka1968'] = template_names['Cam_Hist_Iran'], ----------< S >---------- ['CITEREFSR_staff2013'] = {'Houston family tree'}, ['CITEREFSadeghiTehrani2008'] = {'Encyclopaedia Islamica'}, ['CITEREFSadıkoğlu1996'] = {'TDV Encyclopedia of Islam'}, ['CITEREFSafa1987'] = template_names['Iranica'], ['CITEREFSafa1988'] = template_names['Iranica'], ['CITEREFSafa1989'] = template_names['Iranica'], ['CITEREFSafa1994'] = template_names['Iranica'], ['CITEREFSafa2003'] = template_names['Iranica'], ['CITEREFSajjadiAsatryanMelvin-Koushki'] = {'Encyclopaedia Islamica Online'}, ['CITEREFSajjadiAsatryanMelvin-Koushki'] = {'Encyclopaedia Islamica'}, ['CITEREFSajjadiAsatryanMelvin-Koushki2021'] = template_names['Iranica'], ['CITEREFSalbiev2021'] = template_names['Iranica'], ['CITEREFSalo2004'] = template_names['ME-ref'], ['CITEREFSamiʿiMelvin-Koushki2013'] = {'Encyclopaedia Islamica'}, ['CITEREFSanders1998'] = {'The Cambridge History of Egypt', 'Cambridge History of Egypt'}, ['CITEREFSanders2003'] = {'Sanders-Indiana'}, ['CITEREFSanders2006'] = {'Sanders-Heartland'}, ['CITEREFSanders2007'] = {'Sanders-Akron'}, ['CITEREFSarikakis1974'] = {'Ιστορία του Ελληνικού Έθνους'}, ['CITEREFSaunders2001'] = {'Saunders-Merging Lines'}, ['CITEREFSaunders2013'] = {'Saunders-Giants of the Seas'}, ['CITEREFSavadaShaw1992'] = {'Country study'}, ['CITEREFSavoryKaramustafa1998'] = template_names['Iranica'], ['CITEREFScarce1986'] = template_names['Iranica'], ['CITEREFSchaeferWolff1999'] = {'Schaefer Wolff Topological Vector Spaces'}, ['CITEREFSchafer1996'] = {'Schafer-Classic-Railroads-1'}, ['CITEREFSchafer1998'] = {'Schafer-Vintage Diesel'}, ['CITEREFSchafer2000'] = {'Schafer-More-Classic'}, ['CITEREFSchafer2003'] = {'Schafer-Classic-Railroads-3'}, ['CITEREFSchaferSolomon1997'] = {'Schafer-Pennsylvania'}, ['CITEREFSchaferWelsh1997'] = {'Schafer-Classic'}, ['CITEREFSchaferWelsh2002'] = {'Schafer-Streamliners'}, ['CITEREFSchaferWelshHolland2001'] = {'Schafer-American passenger train'}, ['CITEREFSchaff-Herzog'] = {'Schaff-Herzog'}, ['CITEREFSchechter1996'] = {'Schechter Handbook of Analysis and Its Foundations'}, ['CITEREFScheide1960'] = {'Bach\'s compositions (sources)'}, ['CITEREFSchicht1805'] = {'Bach\'s compositions (sources)'}, ['CITEREFSchilling1997'] = {'Schilling-pop-culture'}, ['CITEREFSchindel2013'] = template_names['Iranica'], ['CITEREFSchippmann1986'] = template_names['Iranica'], ['CITEREFSchippmann1987'] = template_names['Iranica'], ['CITEREFSchlitter2005'] = {'MSW3 Tubulidentata'}, ['CITEREFSchlumberger1983'] = template_names['Cam_Hist_Iran'], ['CITEREFSchmieder1950'] = {'Bach\'s compositions (sources)'}, ['CITEREFSchmieder1990'] = {'Bach\'s compositions (sources)'}, ['CITEREFSchmitt1986'] = template_names['Iranica'], ['CITEREFSchmitt1989'] = template_names['Iranica'], ['CITEREFSchmitt1993'] = template_names['Iranica'], ['CITEREFSchmitt1994'] = template_names['Iranica'], ['CITEREFSchmitt1995'] = template_names['Iranica'], ['CITEREFSchmitt2002'] = template_names['Iranica'], ['CITEREFSchmitt2004'] = template_names['Iranica'], ['CITEREFSchmitt2005'] = template_names['Iranica'], ['CITEREFSchmitt2018'] = template_names['Iranica'], ['CITEREFSchmittBailey1986'] = template_names['Iranica'], ['CITEREFSchmitz1870'] = {'Cite DGRBM'}, ['CITEREFSchneider1907'] = {'Bach\'s compositions (sources)'}, ['CITEREFSchneider1912'] = {'Bach\'s compositions (sources)'}, ['CITEREFScholze1736'] = {'Bach\'s compositions (sources)'}, ['CITEREFSchroeter1961'] = {'Schroeter-Eisenbahnen'}, ['CITEREFSchroeterRamaer1993'] = {'Schroeter-Ramaer-Eisenbahnen'}, ['CITEREFSchubert-online'] = {'Schubert\'s compositions (references)'}, ['CITEREFSchubert1968'] = {'Schubert Topology'}, ['CITEREFSchulenberg2010'] = {'Bach\'s compositions (sources)'}, ['CITEREFSchulenberg2013'] = {'Bach\'s compositions (sources)'}, ['CITEREFSchulze1980'] = {'Bach\'s compositions (sources)'}, ['CITEREFSchulze1983'] = {'Bach\'s compositions (sources)'}, ['CITEREFSchulze1984'] = {'Bach\'s compositions (sources)'}, ['CITEREFSchwieterman2001'] = {'Schwieterman-Leaves-Eastern'}, ['CITEREFScottNegus2011'] = {'Scott-Negus-Cellar Door'}, ['CITEREFScribbins1970'] = {'Scribbins-Hiawatha'}, ['CITEREFScribbins2008'] = {'Scribbins-400-2008', 'Scribbins-Remembered'}, ['CITEREFSearle'] = {'Cite sslidx'}, ['CITEREFSegal1982'] = template_names['Iranica'], ['CITEREFSellwood1983'] = template_names['Cam_Hist_Iran'], ['CITEREFSemmensGoldfinch2000'] = {'Book-Semmens-Goldfinch-How Steam Locomotives Really Work'}, ['CITEREFSemsarZand2008'] = {'Encyclopaedia Islamica'}, ['CITEREFSetton1975'] = {'Setton-A History of the Crusades'}, ['CITEREFSetton1976'] = {'The Papacy and the Levant'}, ['CITEREFSetton1978'] = {'The Papacy and the Levant'}, ['CITEREFSetton1984'] = {'The Papacy and the Levant'}, ['CITEREFSettonHazard1975'] = {'Setton-A History of the Crusades'}, ['CITEREFSfyroeras1975'] = {'Ιστορία του Ελληνικού Έθνους'}, ['CITEREFShahbazi1986'] = template_names['Iranica'], ['CITEREFShahbazi1987'] = template_names['Iranica'], ['CITEREFShahbazi1988'] = template_names['Iranica'], ['CITEREFShahbazi1989'] = template_names['Iranica'], ['CITEREFShahbazi1991'] = template_names['Iranica'], ['CITEREFShahbazi1994'] = template_names['Iranica'], ['CITEREFShahbazi2002'] = template_names['Iranica'], ['CITEREFShahbazi2003'] = template_names['Iranica'], ['CITEREFShahbazi2004'] = template_names['Iranica'], ['CITEREFShahbazi2005'] = template_names['Iranica'], ['CITEREFShahbaziBosworth1990'] = template_names['Iranica'], ['CITEREFShahbaziRichter-Bernburg2002'] = template_names['Iranica'], ['CITEREFShaki1991'] = template_names['Iranica'], ['CITEREFShaughnessy1997'] = {'Shaughnessy-DH'}, ['CITEREFShaw1978'] = {'Shaw-RailroadAccidents'}, ['CITEREFShayegan2004'] = template_names['Iranica'], ['CITEREFShayesteh2013'] = template_names['Iranica'], ['CITEREFSheikhsofla2018'] = {'Encyclopaedia Islamica'}, ['CITEREFShindo2004'] = {'Kaneto-shindo-shinario-jinsei'}, ['CITEREFShoarian-SattariRezaeeNegahban2008'] = {'Encyclopaedia Islamica'}, ['CITEREFShoshani2005'] = {'MSW3 Shoshani'}, ['CITEREFShtern2001'] = {'Springer', 'SpringerEOM'}, ['CITEREFSiegele1957'] = {'Bach\'s compositions (sources)'}, ['CITEREFSilanos2014'] = {'DBI', 'Dizionario Biografico degli Italiani'}, ['CITEREFSilke2006'] = {'O\'Donnell family tree'}, ['CITEREFSimmons2005'] = {'MSW3 Chiroptera'}, ['CITEREFSimon1966'] = {'Simon-Wines Australia'}, ['CITEREFSimonWarner2011'] = {'Amtrak By the Numbers'}, ['CITEREFSinclair1911'] = {'DCBL'}, ['CITEREFSinger1905'] = {'Jewish Encyclopedia'}, ['CITEREFSix1934'] = {'Cite Six', 'Cite six'}, ['CITEREFSkjærvø2018'] = template_names['ODLA'], ['CITEREFSkoulatos1980'] = {'Les personnages byzantins de l\'Alexiade'}, ['CITEREFSloan1964'] = {'Sloan1964'}, ['CITEREFSmith1854'] = {'Cite DGRG', 'DGRG'}, ['CITEREFSmith1870'] = {'DGRBM', 'Cite DGRBM'}, ['CITEREFSmith1873'] = {'DGRBM', 'Cite DGRBM'}, ['CITEREFSmith1876'] = {'DGRBM', 'Cite DGRBM'}, ['CITEREFSmith1880'] = {'DGRBM', 'Cite DGRBM'}, ['CITEREFSmith2010'] = {'Smith-Cruise Ships-2010'}, ['CITEREFSolomentsev2001'] = {'Springer', 'SpringerEOM'}, ['CITEREFSolomon2000'] = {'Solomon-American Diesel', 'Solomon-UP'}, ['CITEREFSolomon2003'] = {'Solomon-Masterpieces'}, ['CITEREFSolomon2004'] = {'Solomon-Amtrak'}, ['CITEREFSolomon2005'] = {'Solomon-SP-Passenger'}, ['CITEREFSolomon2006'] = {'Solomon-EMD Locomotives'}, ['CITEREFSolomon2011'] = {'Solomon-Modern Diesel'}, ['CITEREFSolomon2014'] = {'Solomon-GE and EMD'}, ['CITEREFSolomonSchafer2007'] = {'Solomon-New York Central'}, ['CITEREFSolopova2009'] = template_names['ME-ref'], ['CITEREFSoucek1982'] = template_names['Iranica'], ['CITEREFSoucek1983'] = template_names['Iranica'], ['CITEREFSoustal1991'] = {'Tabula Imperii Byzantini'}, ['CITEREFSoustalKoder1981'] = {'Tabula Imperii Byzantini'}, ['CITEREFSpielhoff1991'] = {'Spielhoff-EL'}, ['CITEREFSpitta1894'] = {'Bach\'s compositions (sources)'}, ['CITEREFSpitta1899'] = {'Bach\'s compositions (sources)'}, ['CITEREFSpringirth2016'] = {'Springirth-Philadelphia'}, ['CITEREFSpuhler1986'] = template_names['Cam_Hist_Iran'], ['CITEREFSpuler1983'] = template_names['Iranica'], ['CITEREFSpuler1987'] = template_names['Iranica'], ['CITEREFStagner1993'] = {'Stagner-Transition'}, ['CITEREFStansfield1999'] = {'Stansfield-AyrRenfrew'}, ['CITEREFStatistical_Yearbook_of_the_Republic_of_Croatia_2015'] = {'Croatia Yearbook 2015'}, ['CITEREFStaufer1993'] = {'Staufer-Pennsy_III'}, ['CITEREFStauferPennypacker1962'] = {'Staufer-Pennsy'}, ['CITEREFStauferPennypacker1968'] = {'Staufer-Pennsy Power II'}, ['CITEREFStaunton1988'] = {'Australian Dictionary of Biography'}, ['CITEREFSternFishmanTilove2006'] = {'Cite New York 2000', 'Cite NY2000', 'Cite ny2000', 'Cite NY 2000', 'Cite ny 2000'}, ['CITEREFSternGilmartinMassengale1983'] = {'Cite New York 1900', 'Cite NY1900'}, ['CITEREFSternGilmartinMellins1987'] = {'Cite New York 1930', 'Cite NY 1930', 'Cite NY1930', 'Cite ny1930', 'Cite ny 1930'}, ['CITEREFSternMellinsFishman1995'] = {'Cite New York 1960', 'Cite NY1960', 'Cite NY 1960', 'Cite ny1960', 'Cite ny 1960'}, ['CITEREFSternMellinsFishman1999'] = {'Cite New York 1880', 'Cite NY1880', 'Cite NY 1880', 'Cite ny1880', 'Cite ny 1880'}, ['CITEREFStewart1974'] = {'When Steam Was King'}, ['CITEREFStrachey1981'] = template_names['ME-ref'], ['CITEREFStrickland1983'] = {'Strickland Locomotive Directory'}, ['CITEREFStähelin1909'] = {'Schaff-Herzog'}, ['CITEREFSuetin2001'] = {'Springer', 'SpringerEOM'}, ['CITEREFSundermann1988'] = template_names['Iranica'], ['CITEREFSusanne_Schurr1992'] = {'BBKL'}, ['CITEREFSusanne_Siebert1992'] = {'BBKL'}, ['CITEREFSvolopoulos1977'] = {'Ιστορία του Ελληνικού Έθνους'}, ['CITEREFSwartz1992'] = {'Swartz An Introduction to Functional Analysis'}, ----------< T >---------- ['CITEREFLondon_Gazette'] = {'London Gazette'}, ['CITEREFTaber1977'] = {'Taber-DLW-19th'}, ['CITEREFTaberTaber1980'] = {'Taber-DLW-20th-1'}, ['CITEREFTaberTaber1981'] = {'Taber-DLW-20th-2'}, ['CITEREFTafazzoli1999'] = template_names['Iranica'], ['CITEREFTafazzoli1999'] = {'Encyclopaedia Islamica'}, ['CITEREFTafazzoli2000'] = template_names['Iranica'], ['CITEREFTalbot1991'] = template_names['ODB'], ['CITEREFTalbotKazhdan1991'] = template_names['ODB'], ['CITEREFTanındı2008'] = template_names['Iranica'], ['CITEREFTao2009'] = {'Cite Cambridge History of China'}, ['CITEREFTer-Ghewondyan1976'] = {'The Arab Emirates in Bagratid Armenia'}, ['CITEREFThe_London_Gazette1950'] = {'London Gazette'}, ['CITEREFThe_London_Gazette_26_September_1919'] = {'London Gazette'}, ['CITEREFThielemann2012'] = {'Bach\'s compositions (sources)'}, ['CITEREFThomas1970'] = {'HistoryofParliament'}, ['CITEREFThomas1971'] = {'Thomas-History-VI'}, ['CITEREFThrush2010'] = {'HistoryofParliament'}, ['CITEREFTikhomirov2001'] = {'Springer'}, ['CITEREFTittel1966'] = {'Bach\'s compositions (sources)'}, ['CITEREFTodt1996'] = {'BBKL'}, ['CITEREFTodtVest2014'] = {'Tabula Imperii Byzantini'}, ['CITEREFTolkien1937'] = template_names['ME-ref'], ['CITEREFTolkien1954'] = template_names['ME-ref'], ['CITEREFTolkien1955'] = template_names['ME-ref'], ['CITEREFTolkien1964'] = template_names['ME-ref'], ['CITEREFTolkien1966'] = template_names['ME-ref'], ['CITEREFTolkien1977'] = template_names['ME-ref'], ['CITEREFTolkien1980'] = template_names['ME-ref'], ['CITEREFTolkien1982'] = template_names['ME-ref'], ['CITEREFTolkien1983'] = template_names['ME-ref'], ['CITEREFTolkien1984'] = template_names['ME-ref'], ['CITEREFTolkien1985'] = template_names['ME-ref'], ['CITEREFTolkien1986'] = template_names['ME-ref'], ['CITEREFTolkien1987'] = template_names['ME-ref'], ['CITEREFTolkien1988'] = template_names['ME-ref'], ['CITEREFTolkien1989'] = template_names['ME-ref'], ['CITEREFTolkien1990'] = template_names['ME-ref'], ['CITEREFTolkien1992'] = template_names['ME-ref'], ['CITEREFTolkien1993'] = template_names['ME-ref'], ['CITEREFTolkien1994'] = template_names['ME-ref'], ['CITEREFTolkien1996'] = template_names['ME-ref'], ['CITEREFTolkien1998'] = template_names['ME-ref'], ['CITEREFTolkien1999'] = template_names['ME-ref'], ['CITEREFTolkien2007'] = template_names['ME-ref'], ['CITEREFTolkienSwann1978'] = template_names['ME-ref'], ['CITEREFTolkienTolkien1992'] = template_names['ME-ref'], ['CITEREFTonks1988'] = {'Tonks ironstone'}, ['CITEREFTonks1989'] = {'Tonks ironstone'}, ['CITEREFTonks1992'] = {'Tonks ironstone'}, ['CITEREFTopping1975'] = {'Setton-A History of the Crusades'}, ['CITEREFTorri2013'] = {'Bach\'s compositions (sources)'}, ['CITEREFTougher2018'] = template_names['ODLA'], ['CITEREFToumanoff1986'] = template_names['Iranica'], ['CITEREFToumanoff2010'] = template_names['Iranica'], ['CITEREFToumanoffChaumont1987'] = template_names['Iranica'], ['CITEREFTourret1995'] = {'Tourret-Allied Military Locomotives'}, ['CITEREFTrapp1991'] = template_names['ODB'], ['CITEREFTrappBeyerSturm-Schnabl1983'] = {'Prosopographisches Lexikon der Palaiologenzeit'}, ['CITEREFTrappWaltherBeyer1976'] = {'Prosopographisches Lexikon der Palaiologenzeit'}, ['CITEREFTrappWaltherBeyerSturm-Schnabl1978'] = {'Prosopographisches Lexikon der Palaiologenzeit'}, ['CITEREFTreadgold1988'] = {'The Byzantine Revival, 780–842'}, ['CITEREFTreadgold1997'] = {'A History of the Byzantine State and Society'}, ['CITEREFTrèves2006'] = {'Trèves François Topological vector spaces, distributions and kernels'}, ['CITEREFTucker2009'] = {'Encyclopaedia Islamica'}, ['CITEREFTurim1998'] = {'Turim-oshima'}, ['CITEREFTuring1950'] = {'Turing 1950'}, ----------< U >---------- ['CITEREFUS-NHub_Music_Deposit_31_(Klavierbüchlein_für_W._F._Bach)_at_Bach_Digital'] = {'Bach\'s compositions (sources)'}, ['CITEREFUtas2002'] = template_names['Iranica'], ['CITEREFUwe_Eckardt2001'] = {'BBKL'}, ['CITEREFunknown_author1881'] = {'Cite ADB'}, ['CITEREFunknown_author1882'] = {'Cite ADB'}, ----------< V >---------- ['CITEREFVakalopoulos1975'] = {'Ιστορία του Ελληνικού Έθνους'}, ['CITEREFVan_Cleve1969'] = {'Setton-A History of the Crusades'}, ['CITEREFVan_Hoorickx1971'] = {'Schubert\'s compositions (references)'}, ['CITEREFVan_Hoorickx_1974–1976'] = {'Schubert\'s compositions (references)'}, ['CITEREFVan_Lint2018'] = template_names['ODLA'], ['CITEREFVan_Riemsdijk,_Compound_Locomotives'] = {'Book-Van Riemsdijk-Compound Locomotives'}, ['CITEREFVan_Tricht2011'] = {'The Latin Renovatio of Byzantium'}, ['CITEREFVandenberghen1989'] = {'Vandenberghen-SNCB12.2'}, ['CITEREFVarzos1984'] = {'Η Γενεαλογία των Κομνηνών', 'Varzos-Genealogy of the Komnenoi'}, ['CITEREFVasiliev1935'] = {'Byzance et les Arabes'}, ['CITEREFVasiliev1968'] = {'Byzance et les Arabes'}, ['CITEREFVendler1997'] = {'Shakespeare sonnets bibliography'}, ['CITEREFVenetis2012'] = template_names['Iranica'], ['CITEREFVenn1954'] = {'VennAC'}, ['CITEREFVesel1999'] = template_names['Iranica'], ['CITEREFVetter1713'] = {'Bach\'s compositions (sources)'}, ['CITEREFVevainaCanepa2018'] = template_names['ODLA'], ['CITEREFVeysey1958'] = {'Veysey-PE-1958'}, ['CITEREFVischer1912'] = {'Schaff-Herzog'}, ['CITEREFVogelsang2003'] = template_names['Iranica'], ['CITEREFVolkmer1991'] = {'Volkmer-Pennsy-Electric'}, ['CITEREFvan_Leyden1956'] = {'Bach\'s compositions (sources)'}, ['CITEREFvan_Lint2018'] = template_names['ODLA'], ['CITEREFvon_Prantl1879'] = {'Cite ADB'}, ----------< W >---------- ['CITEREFWagnerBäzoldZschechLüderitz1990'] = {'Wagner-EFA2.3.2'}, ['CITEREFWalter_Asmus1966'] = template_names['NDB'], ['CITEREFWayner1972'] = {'Wayner - Car names, numbers, consists'}, ['CITEREFWayner1973'] = {'Wayner-Spotter-2nd'}, ['CITEREFWebb2018'] = template_names['ODLA'], ['CITEREFWeber2016'] = template_names['Iranica'], ['CITEREFWechsler1979'] = {'Cite Cambridge History of China'}, ['CITEREFWegman2008'] = {'Wegman-Illustrated'}, ['CITEREFWeibel1994'] = {'Weibel IHA'}, ['CITEREFWeinrebHibbertKeayKeay2008'] = {'London encyclopedia'}, ['CITEREFWeisbrod1991'] = {'Weisbrod-EFA1.5'}, ['CITEREFWeisbrodMüllerPetznik1978'] = {'Weisbrod-EFA1.2'}, ['CITEREFWeiskopf1987'] = template_names['Iranica'], ['CITEREFWeiskopf1989'] = template_names['Iranica'], ['CITEREFWeiskopf1990'] = template_names['Iranica'], ['CITEREFWeiskopf1993'] = template_names['Iranica'], ['CITEREFWellhausen1927'] = {'The Arab Kingdom and its Fall'}, ['CITEREFWells1982'] = {'Accents of English'}, ['CITEREFWells2008'] = {'Cite LPD'}, ['CITEREFWelsh2006'] = {'Welsh-Broadway'}, ['CITEREFWelsh2008'] = {'Welsh-UP'}, ['CITEREFWerner_Raupp2001'] = {'BBKL'}, ['CITEREFWestcott1911'] = {'DCBL'}, ['CITEREFWestermayer,_Georg1882'] = {'Cite ADB'}, ['CITEREFWham1997'] = {'Wham-Ayrshire'}, ['CITEREFWharton1991'] = template_names['ODB'], ['CITEREFWhishaw1842'] = {'Whishaw-RailofGB-2ndEd'}, ['CITEREFWhishaw1969'] = {'Whishaw-RailofGB'}, ['CITEREFWhite1985'] = {'White-Passenger-1985'}, ['CITEREFWhite1993'] = {'White - American railroad freight car'}, ['CITEREFWhiteWillenskyLeadon2010'] = {'Cite aia5'}, ['CITEREFWhitehurst1973'] = {'Whitehurst GW Engines from 1940'}, ['CITEREFWhittow1996'] = {'The Making of Byzantium, 600–1025'}, ['CITEREFWickman1982'] = {'Country study'}, ['CITEREFWiesehöfer1986'] = template_names['Iranica'], ['CITEREFWiesehöfer2018'] = template_names['ODLA'], ['CITEREFWilansky2013'] = {'Wilansky Modern Methods in Topological Vector Spaces'}, ['CITEREFWillard2004'] = {'Willard General Topology'}, ['CITEREFWilliams1998'] = {'Williams-Philadelphia'}, ['CITEREFWilliams2003'] = {'Bach\'s compositions (sources)'}, ['CITEREFWilliams2014'] = template_names['Iranica'], ['CITEREFWillis1750'] = {'Cite Notitia Parliamentaria'}, ['CITEREFWilson2017'] = {'Wilson-Guide'}, ['CITEREFWilsonFiske1891'] = {'Appletons\'', 'Cite Appletons\'', 'Appletons'}, ['CITEREFWilsonFiske1892'] = {'Appletons\'', 'Cite Appletons\'', 'Appletons'}, ['CITEREFWilsonFiske1900'] = {'Appletons\'', 'Cite Appletons\'', 'Appletons'}, ['CITEREFWiltshire2000'] = {'Lloyd-Margaret River'}, ['CITEREFWinfieldLyon2004'] = {'Winfield'}, ['CITEREFWinkler1883'] = template_names['ADB'], ['CITEREFWitakowski2018'] = template_names['ODLA'], ['CITEREFWolff1969'] = {'Setton-A History of the Crusades'}, ['CITEREFWollny2015'] = {'Bach\'s compositions (sources)'}, ['CITEREFWood1907'] = {'Cite Nuttall', 'Nuttall'}, ['CITEREFWoodsKilpatrick2005'] = {'MSW3 Hystricognathi'}, ['CITEREFWorden2008'] = {'Country study'}, ['CITEREFWortley2010'] = {'John Skylitzes: A Synopsis of Byzantine History, 811–1057'}, ['CITEREFWozencraft2005'] = {'MSW3 Carnivora'}, ['CITEREFWright1979'] = {'Cite Cambridge History of China'}, ['CITEREFWright2000'] = {'Bach\'s compositions (sources)'}, ['CITEREFWägliJacobi2010'] = {'Schienennetz Schweiz'}, ['CITEREFWürsch2013'] = template_names['Iranica'], ----------< X >---------- ----------< Y >---------- ['CITEREFYakubova2016'] = template_names['Iranica'], ['CITEREFYarshater1983'] = template_names['Iranica'], ['CITEREFYarshater1986'] = template_names['Cam_Hist_Iran'], ['CITEREFYarshater1988'] = template_names['Iranica'], ['CITEREFYarshater2018'] = template_names['Iranica'], ['CITEREFYarshater2021'] = template_names['Iranica'], ['CITEREFYazici2002'] = template_names['Iranica'], ['CITEREFYenne2005'] = {'Yenne-Chiefs'}, ['CITEREFYildiz2004'] = template_names['Iranica'], ['CITEREFYonge1990'] = {'Quail-4'}, ['CITEREFYonge1994'] = {'Quail-5'}, ['CITEREFYonge2002'] = {'Quail-5'}, ['CITEREFYonge2008'] = {'Quail-5'}, ['CITEREFYonge2016'] = {'Quail-2-2016'}, ['CITEREFYongePadgettSzwenk2013'] = {'Quail-4-Paper-3rdEd'}, ['CITEREFYusofi1990'] = template_names['Iranica'], ----------< Z >---------- ['CITEREFZahn1889–1893'] = {'Bach\'s compositions (sources)'}, ['CITEREFZakeri2021'] = template_names['Iranica'], ['CITEREFZarrinkoubNegahban2008'] = {'Encyclopaedia Islamica'}, ['CITEREFZarrinkub1975'] = template_names['Cam_Hist_Iran'], ['CITEREFZeiniWiesehöfer2018'] = template_names['ODLA'], ['CITEREFZekulich2000'] = {'Zekulich-WineWA'}, ['CITEREFZimmermann2004'] = {'Zimmermann-Burlington'}, ['CITEREFZimmermann2007'] = {'Zimmermann-GrandLuxe'}, ['CITEREFZuccaric._1747'] = {'Bach\'s compositions (sources)'}, ----------< UNSORTED >---------- ['CITEREFGazette27462'] = {'London Gazette'}, ['CITEREFCawley2012'] = {'Medieval Lands by Charles Cawley'}, ['CITEREFCrone2003'] = {'Slaves on Horses'}, ['CITEREFΙστορία_του_Ελληνικού_Έθνους'] = {'Ιστορία του Ελληνικού Έθνους'}, ['CITEREFSpyropoulos1928'] = {'Great Military and Naval Encyclopaedia'}, ['CITEREFPikros1977'] = {'Ιστορία του Ελληνικού Έθνους'}, ['CITEREFÖz1993'] = {'TDV Encyclopedia of Islam'}, ['CITEREFÖzgüdenli2008'] = template_names['Iranica'], ['CITEREFÖzaydın2002'] = {'TDV Encyclopedia of Islam'}, ['CITEREFÖzaydın2006'] = {'TDV Encyclopedia of Islam'}, ['CITEREFÖzkuyumcu2006'] = {'TDV Encyclopedia of Islam'}, ['CITEREFÖztürk2013'] = {'TDV Encyclopedia of Islam'}, ['CITEREFΜεγάλη_Στρατιωτικὴ_καὶ_Ναυτικὴ_Ἐγκυκλοπαιδεία'] = {'Great Military and Naval Encyclopaedia'}, ['CITEREFŞeşen1988'] = {'TDV Encyclopedia of Islam'}, ['CITEREFFranke1994'] = {'Cite Cambridge History of China', 'The Cambridge History of China'}, ['CITEREFTao2009'] = {'Cite Cambridge History of China', 'The Cambridge History of China'}, ['CITEREFWechsler1979'] = {'Cite Cambridge History of China', 'The Cambridge History of China'}, ['CITEREFWright1979'] = {'Cite Cambridge History of China', 'The Cambridge History of China'}, ['CITEREFHistoric_England_Benty_Grange'] = {'NHLE'}, ['CITEREFWalter1967'] = {'DBI', 'Dizionario Biografico degli Italiani'}, ['CITEREFAliprantisBorder2006'] = {'Aliprantis Border Infinite Dimensional Analysis A Hitchhiker\'s Guide Third Edition'}, ['CITEREFAmanat1985'] = template_names['Iranica'], ['CITEREFBaldwin1991'] = template_names['ODB'], ['CITEREFCallwell1999'] = {'Muni Chronology'}, ['CITEREFHalmos1982'] = {'Halmos A Hilbert Space Problem Book 1982'}, ['CITEREFHistoric_England'] = {'NHLE', 'National Heritage List for England'}, ['CITEREFHitchins2001'] = template_names['Iranica'], ['CITEREFJohnson1906'] = {'BDA1906', 'Cite BDA1906'}, ['CITEREFMachinery&#039;s_Handbook1996'] = {'MachinerysHandbook25e'}, ['CITEREFMatthee2012'] = template_names['Iranica'], ['CITEREFNicholson2018'] = template_names['ODLA'], ['CITEREFNicol1968'] = {'The Byzantine Family of Kantakouzenos'}, ['CITEREFWilsonFiske1889'] = {'Appletons\'', 'Cite Appletons\'', 'Appletons'}, ['CITEREFTolkien1954a'] = template_names['ME-ref'], ['CITEREFShippey2005'] = template_names['ME-ref'], ['CITEREFColvin1947'] = {'Colvin1947'}, ['CITEREFSorensen1956'] = {'Sorensen1956'}, } --[[--------------------------< E X P O R T E D T A B L E S >------------------------------------------------ ]] return { DNB_special_patterns = DNB_special_patterns, DNB_template_names = template_names['DNB'], special_patterns = special_patterns, whitelist = whitelist, wrapper_templates = wrapper_templates, } er3ibikog6y5xvmgj7e1e6ykvengpas Modul:Footnotes/doc 828 4750 12057 2024-11-24T18:51:24Z Bekipediya 2189 „<includeonly> [[Turkum:Modullar]] }}</includeonly>“ yozuvi orqali yangi sahifa yaratildi 12057 wikitext text/x-wiki <includeonly> [[Turkum:Modullar]] }}</includeonly> opbfj80oxec6edxind6quufen2zcxok Otalar soʻzi 0 4751 12058 2024-11-24T18:55:37Z Bekipediya 2189 Yangi 12058 wikitext text/x-wiki '''Otalar soʻzi''' ({{Lang-az|„Atalar sözü“}}) — Ozarbayjonda nashr etilgan asar nomi. Unda arab tilidagi koʻpgina hikmat va maqollar oʻrin olgan boʻlib, ularning ozarbayjon tilidagi muqobillari ham keltirilgan. {{ABD}} == Iqtiboslar == === O === * [[Odob]] ahli bilan hamsuhbat bo‘lish — gullar hidini ufurayotgan tong nasimidan ham shirin{{sfn|Mashriqzamin hikmat boʻstoni|1997|p=2}}. == Adabiyotlar == * {{Kitob manbasi|title=Mashriqzamin hikmat boʻstoni|author=Hamidjon Xomidiy|coauthors=Mahmud Hasaniy|publisher=„Sharq“ nashriyotmatbaa konserni|year=1997|location=Toshkent|pages=251|url=https://n.ziyouz.com/books/hikmatlar/Hamidjon%20Xomidiy,%20Mahmud%20Hasaniy.%20Mashriqzamin%20hikmat%20bo'stoni.pdf|ref=Mashriqzamin hikmat boʻstoni}} == Manbalar == <references /> tjmflbnhzbqxor3iozg8ulr9jutfdaj