<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="pt-BR">
	<id>https://wiki.tokusatsus.com/index.php?action=history&amp;feed=atom&amp;title=M%C3%B3dulo%3ACitar_peri%C3%B3dico</id>
	<title>Módulo:Citar periódico - Histórico de revisão</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.tokusatsus.com/index.php?action=history&amp;feed=atom&amp;title=M%C3%B3dulo%3ACitar_peri%C3%B3dico"/>
	<link rel="alternate" type="text/html" href="https://wiki.tokusatsus.com/index.php?title=M%C3%B3dulo:Citar_peri%C3%B3dico&amp;action=history"/>
	<updated>2026-07-05T09:31:47Z</updated>
	<subtitle>Histórico de revisões para esta página neste wiki</subtitle>
	<generator>MediaWiki 1.45.3</generator>
	<entry>
		<id>https://wiki.tokusatsus.com/index.php?title=M%C3%B3dulo:Citar_peri%C3%B3dico&amp;diff=2437&amp;oldid=prev</id>
		<title>Tavoraadmin: Importando predefinição/módulo da Wikipédia em português para manter layout</title>
		<link rel="alternate" type="text/html" href="https://wiki.tokusatsus.com/index.php?title=M%C3%B3dulo:Citar_peri%C3%B3dico&amp;diff=2437&amp;oldid=prev"/>
		<updated>2026-07-05T04:46:01Z</updated>

		<summary type="html">&lt;p&gt;Importando predefinição/módulo da Wikipédia em português para manter layout&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Página nova&lt;/b&gt;&lt;/p&gt;&lt;div&gt;local p = require(&amp;#039;Módulo:Citação/CS1&amp;#039;)&lt;br /&gt;
&lt;br /&gt;
--[[--------------------------&amp;lt; a b s t r a c a o &amp;gt;-----------------------------------&lt;br /&gt;
&lt;br /&gt;
Código em comum às citações de periódico&lt;br /&gt;
&lt;br /&gt;
]]&lt;br /&gt;
local abstracao = function(config, A)&lt;br /&gt;
    config.usaVolume = true&lt;br /&gt;
    config.usaIssue = true&lt;br /&gt;
    config.ChapterNaoSuportado = true&lt;br /&gt;
    local chap_param&lt;br /&gt;
    -- pega o nome do parâmetro de um destes peta-parâmetros relacionados a &amp;quot;chapter&amp;quot;&lt;br /&gt;
    if is_set (A.Chapter) then&lt;br /&gt;
        chap_param = A:ORIGIN (&amp;#039;Chapter&amp;#039;)&lt;br /&gt;
    elseif is_set (A.TransChapter) then&lt;br /&gt;
        chap_param = A:ORIGIN (&amp;#039;TransChapter&amp;#039;)&lt;br /&gt;
    elseif is_set (A.ChapterURL) then&lt;br /&gt;
        chap_param = A:ORIGIN (&amp;#039;ChapterURL&amp;#039;)&lt;br /&gt;
    elseif is_set (A.ScriptChapter) then&lt;br /&gt;
        chap_param = A:ORIGIN (&amp;#039;ScriptChapter&amp;#039;)&lt;br /&gt;
    else is_set (A.ChapterFormat)&lt;br /&gt;
        chap_param = A:ORIGIN (&amp;#039;ChapterFormat&amp;#039;)&lt;br /&gt;
    end&lt;br /&gt;
&lt;br /&gt;
     -- se foi encontrado algum...&lt;br /&gt;
    if is_set (chap_param) then&lt;br /&gt;
        -- ... adiciona mensagem de erro&lt;br /&gt;
        table.insert( z.message_tail, { set_error( &amp;#039;chapter_ignored&amp;#039;, {chap_param}, true ) } )&lt;br /&gt;
        -- e esvazia para evitar problemas com concatenações&lt;br /&gt;
        A.Chapter = &amp;#039;&amp;#039;&lt;br /&gt;
        A.TransChapter = &amp;#039;&amp;#039;;&lt;br /&gt;
        A.ChapterURL = &amp;#039;&amp;#039;;&lt;br /&gt;
        A.ScriptChapter = &amp;#039;&amp;#039;;&lt;br /&gt;
        A.ChapterFormat = &amp;#039;&amp;#039;;&lt;br /&gt;
    end&lt;br /&gt;
&lt;br /&gt;
    local TransTitle = A.TransTitle&lt;br /&gt;
    local Title = A.Title&lt;br /&gt;
    if is_set(A.TitleLink) and is_set(A.Title) then&lt;br /&gt;
        Title = &amp;quot;[[&amp;quot; .. A.TitleLink .. &amp;quot;|&amp;quot; .. Title .. &amp;quot;]]&amp;quot;&lt;br /&gt;
    end&lt;br /&gt;
    config.TituloFormatado = {}&lt;br /&gt;
    if (is_set(Title)) then&lt;br /&gt;
        Title = kern_quotes (Title)&lt;br /&gt;
        Title = wrap_style (&amp;#039;quoted-title&amp;#039;, Title)&lt;br /&gt;
        config.TituloFormatado.Title = Title&lt;br /&gt;
    end&lt;br /&gt;
    if (is_set(TransTitle)) then&lt;br /&gt;
        TransTitle= wrap_style (&amp;#039;trans-quoted-title&amp;#039;, TransTitle ) -- .. &amp;quot;, &amp;quot;&lt;br /&gt;
        config.TituloFormatado.TransTitle = TransTitle&lt;br /&gt;
    end&lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--[[--------------------------&amp;lt; p . p e r i o d i c o &amp;gt;----------------------------------&lt;br /&gt;
&lt;br /&gt;
Este é o método principal da predefinição {{citar periódico}}.&lt;br /&gt;
&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
p.periodico = function(frame)&lt;br /&gt;
    frame.whitelist = { aspas = true,&lt;br /&gt;
    					mes = true,&lt;br /&gt;
    					[&amp;quot;mês&amp;quot;] = true}&lt;br /&gt;
    local config, args, A = tratarArgumentos(frame)&lt;br /&gt;
    config.CitationClass = &amp;#039;&amp;#039;&lt;br /&gt;
    config.permPCMcomoURL = true&lt;br /&gt;
    local classe = &amp;#039;journal&amp;#039;&lt;br /&gt;
&lt;br /&gt;
    -- abstração de códigos que os periódicos têm em comum&lt;br /&gt;
    abstracao(config, A)&lt;br /&gt;
&lt;br /&gt;
    if is_set(args.aspas) and args.aspas:lower() == &amp;#039;não&amp;#039; then&lt;br /&gt;
    	config.TituloFormatado = nil&lt;br /&gt;
    end&lt;br /&gt;
    &lt;br /&gt;
    local mes = args.mes or args[&amp;quot;mês&amp;quot;]&lt;br /&gt;
    if is_set(A.Year) and is_set(mes) then&lt;br /&gt;
    	meses = {&amp;quot;janeiro&amp;quot;, &amp;quot;fevereiro&amp;quot;, &amp;quot;março&amp;quot;, &amp;quot;abril&amp;quot;, &amp;quot;maio&amp;quot;, &amp;quot;junho&amp;quot;, &amp;quot;julho&amp;quot;, &amp;quot;agosto&amp;quot;, &amp;quot;setembro&amp;quot;, &amp;quot;outubro&amp;quot;, &amp;quot;novembro&amp;quot;, &amp;quot;dezembro&amp;quot;}&lt;br /&gt;
    	local n = mes:match(&amp;quot;^(%d+)$&amp;quot;)&lt;br /&gt;
    	n = n and tonumber(n)&lt;br /&gt;
    	if n and n &amp;gt; 0 and n &amp;lt; 13 then&lt;br /&gt;
        	A.Date = meses[n] .. &amp;#039; de &amp;#039; .. A.Year&lt;br /&gt;
        	A.Year = &amp;#039;&amp;#039;&lt;br /&gt;
        else&lt;br /&gt;
        	existe = false&lt;br /&gt;
        	for _,m in pairs(meses) do&lt;br /&gt;
        		if m == tostring(mes) then&lt;br /&gt;
	        		existe = true&lt;br /&gt;
	        		break&lt;br /&gt;
	        	end&lt;br /&gt;
	        end&lt;br /&gt;
    		if (existe) then&lt;br /&gt;
        		A.Date = mes .. &amp;#039; de &amp;#039; .. A.Year&lt;br /&gt;
	        	A.Year = &amp;#039;&amp;#039;&lt;br /&gt;
        	end&lt;br /&gt;
        end&lt;br /&gt;
    end&lt;br /&gt;
&lt;br /&gt;
    local sepc = set_style (A.Mode:lower())&lt;br /&gt;
    local use_lowercase = sepc == &amp;#039;,&amp;#039;&lt;br /&gt;
    local page, pages = &amp;#039;&amp;#039;, &amp;#039;&amp;#039;&lt;br /&gt;
    -- mla sempre usa os prefixos p ou pp&lt;br /&gt;
    if A.Mode:lower() ~= &amp;#039;mla&amp;#039; then&lt;br /&gt;
        if is_set(A.Page) then&lt;br /&gt;
            page = substitute(cfg.messages[&amp;#039;j-page(s)&amp;#039;], A.Page)&lt;br /&gt;
        elseif is_set(A.Pages) then&lt;br /&gt;
            page = substitute (cfg.messages[&amp;#039;j-page(s)&amp;#039;], A.Pages)&lt;br /&gt;
        end&lt;br /&gt;
        if is_set(A.TotalPages) then&lt;br /&gt;
            pages = substitute (cfg.messages[&amp;#039;total-p&amp;#039;], {sepc, A.TotalPages})&lt;br /&gt;
        end&lt;br /&gt;
    else&lt;br /&gt;
        page, pages = format_pages (A.Page, A.Pages, sepc, A.NoPP, use_lowercase, A.TotalPages)&lt;br /&gt;
    end&lt;br /&gt;
&lt;br /&gt;
    local volume = A.Volume&lt;br /&gt;
    if (&amp;#039;mla&amp;#039; == A.Mode:lower()) then&lt;br /&gt;
        -- mla 8th edition; força letra minúscula&lt;br /&gt;
        if is_set (volume) and is_set (A.Issue) then&lt;br /&gt;
            volume = wrap_msg (&amp;#039;vol-no&amp;#039;, {sepc, volume, A.Issue}, true)&lt;br /&gt;
        elseif is_set (volume) then&lt;br /&gt;
            volume = wrap_msg (&amp;#039;vol&amp;#039;, {sepc, volume}, true)&lt;br /&gt;
        else&lt;br /&gt;
            volume = &amp;#039;&amp;#039;&lt;br /&gt;
        end&lt;br /&gt;
    else&lt;br /&gt;
        volume = format_volume_issue (volume, A.Issue, sepc, use_lowercase)&lt;br /&gt;
    end&lt;br /&gt;
    if not is_set(A.Title) and is_set(volume) then&lt;br /&gt;
        config.TituloDispensavel = true&lt;br /&gt;
        if is_set(A.URL) then&lt;br /&gt;
            for i=1,volume:len() do&lt;br /&gt;
                if volume:sub(i,i):match((&amp;quot;[^%&amp;quot;.. sepc .. &amp;quot;%s]&amp;quot;)) then&lt;br /&gt;
                    volume = volume:sub(1, i-1) .. &amp;#039;[&amp;#039;.. A.URL .. &amp;#039; &amp;#039;.. volume:sub(i) .. &amp;#039;]&amp;#039;&lt;br /&gt;
                    break&lt;br /&gt;
                end&lt;br /&gt;
            end&lt;br /&gt;
            A.URL = &amp;#039;&amp;#039;&lt;br /&gt;
        end&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
    -- Função com o código abstraído&lt;br /&gt;
    local B&lt;br /&gt;
    A, B = citation0(config, args, A)&lt;br /&gt;
    A.Page = page&lt;br /&gt;
    A.Pages = pages&lt;br /&gt;
    A.Volume = volume&lt;br /&gt;
&lt;br /&gt;
    if is_set(A.Others) then&lt;br /&gt;
        A.Others = A.Others .. B.sepc .. &amp;quot; &amp;quot;&lt;br /&gt;
    end&lt;br /&gt;
    if &amp;#039;mla&amp;#039; == A.Mode then&lt;br /&gt;
        B.tcommon = safe_join( {A.Periodical, A.Format, A.TitleType, A.Series, A.Language&lt;br /&gt;
            , A.Edition, B.Publisher, A.Agency, A.Volume}, B.sepc )&lt;br /&gt;
    else&lt;br /&gt;
        B.tcommon = safe_join( {A.Others, A.Title, A.TitleNote, A.Edition, B.Publisher, A.Periodical&lt;br /&gt;
            , A.Format, A.TitleType, A.Series, A.Language, A.Agency, A.Volume}, B.sepc )&lt;br /&gt;
    end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    config.CitationClass = classe&lt;br /&gt;
    B.config = config&lt;br /&gt;
&lt;br /&gt;
    return textoFinal(A, B)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[[--------------------------&amp;lt; p . j o r n a l &amp;gt;-----------------------------------------&lt;br /&gt;
&lt;br /&gt;
Este é o método principal da predefinição {{citar jornal}}.&lt;br /&gt;
&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
p.jornal = function(frame)&lt;br /&gt;
    local config, args, A = tratarArgumentos(frame)&lt;br /&gt;
    config.CitationClass = &amp;#039;&amp;#039;&lt;br /&gt;
    local classe = &amp;#039;news&amp;#039;&lt;br /&gt;
&lt;br /&gt;
    -- abstração de códigos que os periódicos têm em comum&lt;br /&gt;
    abstracao(config, A)&lt;br /&gt;
&lt;br /&gt;
    -- Função com o código abstraído&lt;br /&gt;
    local B&lt;br /&gt;
    A, B = citation0(config, args, A)&lt;br /&gt;
&lt;br /&gt;
    if (&amp;#039;mla&amp;#039; == A.Mode) then -- caso especial caso estiver no modo MLA&lt;br /&gt;
        B.tcommon = safe_join( {A.Periodical, A.Format, A.TitleType, A.Series&lt;br /&gt;
            , A.Language, A.Edition, B.Publisher, A.Agency}, B.sepc )&lt;br /&gt;
    else&lt;br /&gt;
        B.tcommon = safe_join({A.Title, A.TitleNote, A.Periodical, A.Format, A.TitleType&lt;br /&gt;
            , A.Series, A.Language, A.Volume, A.Others, A.Edition, B.Publisher, A.Agency}, B.sepc )&lt;br /&gt;
    end&lt;br /&gt;
&lt;br /&gt;
    config.CitationClass = classe&lt;br /&gt;
    B.config = config&lt;br /&gt;
&lt;br /&gt;
    return textoFinal(A, B)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[[--------------------------&amp;lt; p . r e v i s t a &amp;gt;----------------------------------&lt;br /&gt;
&lt;br /&gt;
Este é o método principal da predefinição {{citar revista}}.&lt;br /&gt;
&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
p.revista = function(frame)&lt;br /&gt;
    local config, args, A = tratarArgumentos(frame)&lt;br /&gt;
    config.CitationClass = &amp;#039;&amp;#039;&lt;br /&gt;
    local classe = &amp;#039;magazine&amp;#039;&lt;br /&gt;
&lt;br /&gt;
    -- abstração de códigos que os periódicos têm em comum&lt;br /&gt;
    abstracao(config, A)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    local sepc = set_style (A.Mode:lower())&lt;br /&gt;
    local volume = A.Volume&lt;br /&gt;
    if is_set (volume) and is_set (A.Issue) then&lt;br /&gt;
        volume = wrap_msg (&amp;#039;vol-no&amp;#039;, {sepc, volume, A.Issue}, sepc == &amp;#039;,&amp;#039;);&lt;br /&gt;
    elseif is_set (volume) then&lt;br /&gt;
        volume = wrap_msg (&amp;#039;vol&amp;#039;, {sepc, volume}, sepc == &amp;#039;,&amp;#039;);&lt;br /&gt;
    elseif is_set (A.Issue) then&lt;br /&gt;
        volume = wrap_msg (&amp;#039;issue&amp;#039;, {sepc, A.Issue}, sepc == &amp;#039;,&amp;#039;);&lt;br /&gt;
    else&lt;br /&gt;
        volume = &amp;#039;&amp;#039;&lt;br /&gt;
    end&lt;br /&gt;
&lt;br /&gt;
    -- Função com o código abstraído&lt;br /&gt;
    local B&lt;br /&gt;
    A, B = citation0(config, args, A)&lt;br /&gt;
    A.Volume = volume&lt;br /&gt;
&lt;br /&gt;
    config.CitationClass = classe&lt;br /&gt;
    B.config = config&lt;br /&gt;
&lt;br /&gt;
    return textoFinal(A, B)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
return p&lt;/div&gt;</summary>
		<author><name>Tavoraadmin</name></author>
	</entry>
</feed>