Módulo:BibRules: mudanças entre as edições

sem sumário de edição
Sem resumo de edição
Sem resumo de edição
a = 'O título será alfabetado como'
b = ucfirst( f245a:sub( f245:sub(2, 2) + 1 ) )
b = string.gsub( b, '%s?[%/:=.]$', '' )
info = string.format( '* %s "<b>%s</b>".', a, b )
table.insert(infos, info)
end
-- A seguir, testa se existe espaço antes da pontuação "/", ":" e "=" no final do subcampo $a e $b
if string.match( f245a, '[a-zA-Z][/:=]$' ) then
a = 'Inclua um espaço antes da pontuação (ao final do subcampo $a do campo 245'
info = string.format( '* <strong class="error">%s.</strong>', a )
table.insert(infos, info)
end
-- A seguir, testa se o subcampo $b começa com letras maiúsculas
local f245b = frame:expandTemplate {title = 'Select', args = {'245', 'b', target}} or ''
if f245b ~= '' then
if string.match( f245b, '[a-zA-Z][/:=]$' ) then
a = 'Inclua um espaço antes da pontuação (ao final do subcampo $b do campo 245'
info = string.format( '* <strong class="error">%s.</strong>', a )
table.insert(infos, info)
end
if string.match( f245b, '^[A-Z]' ) then
a = 'Normalmente, o início de um subtítulo (245 $b) começa com letras minúsculas'
info = string.format( '* <strong class="error">%s.</strong>', a )
table.insert(infos, info)
end
-- Testa se existe mais de um subcampo $b no 245
if string.match( f245, '%$b.*%$b' ) then
a = 'Há mais de um subcampo $b no campo 245. O subcampo $b não é repetível'
info = string.format( '* <strong class="error">%s.</strong>', a )
table.insert(infos, info)
end
end
-- A seguir, testa se o subcampo $c está presente
local f245c = frame:expandTemplate {title = 'Select', args = {'245', 'c', target}} or ''
if f245c ~= '' then
-- Testa se existe espaço antes do ponto e vírgula na indicação de responsabilidade, subcampo $c do 245
if string.match( f245c, '[a-zA-Z.];' ) then
a = 'Inclua um espaço antes do ponto e vírgula (subcampo $c do campo 245)'
info = string.format( '* <strong class="error">%s.</strong>', a )
table.insert(infos, info)
end
-- Testa se existe "/" antes do subcampo $c do campo 245
if string.match( f245, '[a-zA-Z]%s?%$c' ) then
a = 'É necessária a pontuação que precede a indicação de responsabilidade (" / ") no campo 245'
info = string.format( '* <strong class="error">%s.</strong>', a )
table.insert(infos, info)
end
-- Testa se há ": $c"
if string.match( f245, ':%s?%$c' ) then
a = 'Ou o subtítulo foi colocado no subcampo $c, ou a pontuação que precede a indicação de responsabilidade (" / ") não foi informada corretamente (campo 245).'
info = string.format( '* <strong class="error">%s.</strong>', a )
table.insert(infos, info)
end
-- Testa se o subcampo $c termina em "-"
if string.match( f245, '%-$' ) then
a = 'Nunca inclua hifens de separação de áreas do AACR2 em registros MARC 21. Reveja a pontuação (campo 245)'
info = string.format( '* <strong class="error">%s.</strong>', a )
table.insert(infos, info)
end
-- Testa se existe mais de um subcampo $c no 245
if string.match( f245, '%$c.*%$c' ) then
a = 'Há mais de um subcampo $c no campo 245. O subcampo $c não é repetível'
info = string.format( '* <strong class="error">%s.</strong>', a )
table.insert(infos, info)
end
-- Testa se existe mais de 3 vírgulas no campo 245 $c
if string.match( f245c, '([A-Za-zÀ-ü ]*,){3}' ) then
a = 'Parece haver mais de 3 pessoas na indicação de responsabilidade (245 $c), use " ... [et al.]"'
info = string.format( '* <strong class="error">%s.</strong>', a )
table.insert(infos, info)
end
-- Testa se existe a sintaxe "*...[et. "
if string.match( f245c, '[a-zA-ZÀ-ü]%.%.%.%[et.?%s' ) then
a = 'No campo 245, o espaçamento correto é " ... [et al.]"'
info = string.format( '* <strong class="error">%s.</strong>', a )
table.insert(infos, info)
end
else
a = 'Está faltando o subcampo $c do campo 245'
info = string.format( '* <strong class="error">%s.</strong>', a )
table.insert(infos, info)
end