Module:Citar arXiv

local a = require('Módulo:Citação/CS1')

--[[--< a . a r x i v >--

Este é o método principal da predefinição.

]] a.arxiv = function(frame) local config, args, A = tratarArgumentos(frame) config.CitationClass = '' local B   local classe = 'arxiv'

-- considerando as peculiaridade de antes da geração de dados COinS do       local ID_list = extract_ids(args) -- |arxiv= or |eprint= requeridos para citar arxiv if not is_set (ID_list['ARXIV']) then -- adiciona mensagem de erro table.insert(z.message_tail, { set_error( 'arxiv_missing', {}, true )}) -- series é um alias para version elseif is_set (A.Series) then -- concatena version no fim do identificador arxiv ID_list['ARXIV'] = ID_list['ARXIV'] .. A.Series A.Series = '' -- esvaziado deprecated_parameter ('version') -- depreciado apenas para citar arxiv end

-- uma lista bruta de parâmetros que não são suportados por citar arxiv if first_set ({A.AccessDate, A.At, A.Authors, A.Chapter, A.Format, A.Page, A.Pages      , A.Periodical, A.PublisherName, A.URL, ID_list.ASIN, ID_list.BIBCODE, ID_list.DOI        , ID_list.ISBN, ID_list.ISSN, ID_list.JFM, ID_list.JSTOR, ID_list.LCCN, ID_list.MR        , ID_list.OCLC, ID_list.OL, ID_list.OSTI, ID_list.PMC, ID_list.PMID, ID_list.RFC        , ID_list.SSRN, ID_list.USENETID, ID_list.ZBL}, 28) then -- adiciona mensagem de erro table.insert(z.message_tail, { set_error('arxiv_params_not_supported', {}, true)})

-- esvazia as seguintes strings correspondentes a argumetos não suportados A.AccessDate = '' A.Authors = '' A.PublisherName = '' -- se necessário, usar citar periódico ou outros A.Chapter = '' A.URL = '' A.Format = '' A.Page = ; A.Pages = ; A.At = '' end -- para evitar processamento desnecessário recriando a ID_list na função citation0 config.ID_list = ID_list -- ID_list local encerra ao fim do escopo, e em config será desreferênciada depois end -- periodical não permitido em citar arxiv; se necessário usar citar periódico A.Periodical = ''

A.TitleType = set_titletype (classe, A.TitleType)

config.ChapterNaoSuportado = true do       local chap_param -- pega o nome do parâmetro de um destes peta-parâmetros relacionados a "chapter" if is_set (A.Chapter) then chap_param = A:ORIGIN ('Chapter') elseif is_set (A.TransChapter) then chap_param = A:ORIGIN ('TransChapter') elseif is_set (A.ChapterURL) then chap_param = A:ORIGIN ('ChapterURL') elseif is_set (A.ScriptChapter) then chap_param = A:ORIGIN ('ScriptChapter') else is_set (A.ChapterFormat) chap_param = A:ORIGIN ('ChapterFormat') end

-- se foi encontrado algum... if is_set (chap_param) then -- ... adiciona mensagem de erro table.insert( z.message_tail, { set_error( 'chapter_ignored', {chap_param}, true ) } ) -- e esvazia para evitar problemas com concatenações A.Chapter = '' A.TransChapter = ''; A.ChapterURL = ''; A.ScriptChapter = ''; A.ChapterFormat = ''; end end

config.TituloFormatado = {} do       local TransTitle = A.TransTitle local Title = A.Title if is_set(A.TitleLink) and is_set(A.Title) then Title = "" .. Title .. "" end if (is_set(Title)) then Title = kern_quotes (Title) Title = wrap_style ('quoted-title', Title) config.TituloFormatado.Title = Title end if (is_set(TransTitle)) then TransTitle= wrap_style ('trans-quoted-title', TransTitle ) -- .. ", "           config.TituloFormatado.TransTitle = TransTitle end end

-- Função com o código abstraído A, B = citation0(config, args, A)

B.coins_table.Periodical = 'arXiv' -- define arXiv para o COinS

config.CitationClass = classe B.config = config

return textoFinal(A, B) end

return a