« Module:Biblio/Commun » : différence entre les versions
Contenu supprimé Contenu ajouté
extraction de Outils.texteLien, qui n'était utilisé que dans ce module (et aussi un fork dans Module:Linguistique) |
|||
Ligne 11 :
local abr = Outils.abr -- fonction abréviation discréte
--[=[
Trouve le premier lien interwiki '[[lien|texte]]' de str et retourne : texte, lien
Si le lien est '[[texte]]', retourne : texte, texte.
Si str ne contient pas de lien interwiki, retourne : str (et nil)
Les fichiers et images ne sont pas considérés comme des liens.
Si str n'est pas une chaine, retourne : nil
]=]
local function texteLien( str )
if type( str ) == 'string' then
for lien, texte in string.gmatch( str, '%[%[ *([^%[%]|]*)|? *([^%[%]]*)%]%]' ) do
texte = ( texte ~= '' and texte ) or lien or str
if not lien then
return str
end
local testlien = string.lower( lien )
local fichier = string.match( testlien, '^fichier:' )
or string.match( testlien, '^image:' )
or string.match( testlien, '^file:' )
if not fichier then
return texte, lien
end
end
return str
end
end
Ligne 103 ⟶ 129 :
-- tentative de séparation de l'auteur en prénom nom.
-- Enregistre le résultat dans args pour les COinS.
auteur_i =
if auteur_i == '' then
break
Ligne 521 ⟶ 547 :
-- donnée sur l'éditeur
insertList( 'rft.place',
insertList( 'rft.pub',
insertList( 'rft.edition', args["numéro d'édition"] )
end
Ligne 528 ⟶ 554 :
-- Premier auteur, séparé en noms et prénoms
local nom =
if nom then
insertList( 'rft.aulast', nom )
Ligne 534 ⟶ 560 :
insertList( 'rtf.ausuffix ', validArg( 'postnom1', 'postnom' ) )
else
local auteur =
if auteur then
insertList( 'rft.au', auteur )
Ligne 542 ⟶ 568 :
-- les autres auteurs, la norme ne prévoit pas de séparation
for i = 2, 20 do
local nom_i =
if nom_i then
local prenom_i = validArg( 'prénom' .. i )
Ligne 556 ⟶ 582 :
end
else
local auteur_i =
if auteur_i then
insertList( 'rft.au', auteur_i )
|