Modul:Sandkasse/Sechinsic/Kilde

Documentation icon Moduldokumentation[vis] [redigér] [historik] [opfrisk]

Find testcase på Skabelon:KildeTST dokument

Modul:Kilde har det samme motiv som {{Citation/core}}; at samle html-formateringen af flere forskellige slags kildeangivelser.

Det er stærkt anbefalelsesværdigt at benytte muligheden for at indsætte links til fuldtekst, men alligevel er det vigtigt at holde fast i kildeangivelserne er en hjælp til at finde en given tekst. Men kildeangivelsen er ikke kun det, men også i sig selv en informationskilde.

Status redigér

Modul:Kilde er ikke skrevet endnu(!) men p.t. findes "Modul:Sandkasse/Sechinsic/Kilde" som i det følgende refereres til som Modul:Kilde. Modulet er ikke endnu til brug i Wikipedia-artikler, men gerne alle andre steder. Modulet vil blive ændret og måske også slettet.

  • juni 2015, foreløbig version.
Test skabelon Skabelon:KildeTST dokument som også viser test af andre #Dokumenttyper.
Udkast til dokumentation; denne side ~ Modul:Kilde/dok.
Funktionelt layout for bøger og tidsskrifter, nyhedsartikler og normative dokumenter samt internet-tekster.
Beskrivelse af Lua script mangler, men scriptet har kommentarer.
Modul:Kilde benytter "mw.loadData" til at indlæse Modul:Kilde/R1.
Af kommentarerne fremgår hvordan man kan efterprøve scriptet uden at behøve en MediaWiki installation.
uri.encode eller ikke
It is impossible to encode a URL without knowing about its specific parts.
http://blog.lunatech.com/2009/02/03/what-every-web-developer-must-know-about-url-encoding
(mere om det samme, [1])
Præmissen er at den url der bruges i |url=, |url2= og |tilgang= allerede er url-encoded. Sikkerhedsmæssigt er (øhh) modulet her kun en dråbe i det store Wikipedia-hav. Der er ikke noget specifikt for netop modulet her der gør modulet mere fortrinligt for en hacker - i hvert fald hvad angår url-skemaet. Det er jo også heldigt nok, for dette moduls script design/layout/stil er virkelig kun målrettet formateringen af kildeangivelser!
Sammenligning med 'Citation/core':
Mangler en dokumenttype for patent referencer
Tilføjet autrunc authmask + signatur for oversætter & et meget mere brugbart layout
Der er ikke noget fristils-element, dvs. |Other= fra {{Citation/core}}

Testbrug redigér

Eksempel på en skabelon der kalder modulet,

<noinclude>
{{Dokumentation}}
[[Kategori:Skabelonsandkasser]]
</noinclude><includeonly>{{#invoke:Sandkasse/Sechinsic/Kilde|m
|DT = {{{DT|Dokument}}}
|url2 = {{{tilgang|}}}
}}</includeonly>
|DT= - må være en af de genkendte dokumenttyper
|url2= - skabelonen opretter et alias for 'url2'

Generelt redigér

Dokumentation for den script-tekniske proces er ikke beskrevet her.

Modulet fungerer kun igennem to led, med den konsekvens at et af disse led må være en skabelon. I alt bliver 4 'sider' brugt: Parametre fra eksempelvis en side i artikel-navnerummet, skabelonen der dokumenterer parametrene, Modul:Kilde og Modul:Kilde/R1.

Modul:Kilde fungerer mere konsistent end Citation core-skabelonen. Det skyldes parameteret |DT= og på trods den større mængde af parametre. <DT> bruges i modulet til at afgøre hvilke parametre der er relevante. Eksempelvis genererer det ikke nogen fejl at bruge |DT=Bog, |portal=Gyldendals - portal parametret bliver bare ikke formateret - det kan også siges modulet er mere firkantet.

Formateringen benytter ligesom 'Citation/core' <span>...</span> for at holde styr på de numeriske indices. Yderligere er span-elementet i brug for at tilføje inline css og der bliver derfor genereret en smule ekstra markup.

Generelt kontrollerer modulet ikke parametrerne; retningslinjen her er at kildeangivelsen ikke principielt adskiller sig fra artikelteksten - parametrerne sammenskrives og formateres, men redigeres ikke. Men der er nogle undtagelser.

  1. Obligatoriske parametre. Formateringen kan afbrydes når visse parametre mangler. Se nedenfor, #Dokumenttyper.
  2. Layout parametre. Modulets standard rutine kan ændres - se nedenfor under #Layout parametre og deres standard værdi eller under Parametre.
  3. Links. ((A) Tjekkes for protokol præfiks. Det er nødvendigt at angive en protokol - ikke implementeret, så url uden protokol virker ikke) (B) Ved internet-tekster og ved normative tekster ændres |site= hhv. |tilgang= til en læsbar, dvs. forkortet form. Specielt |tilgang= giver en fuld url og den forkortede form bliver til en del af link-teksten. |site= bliver ikke præsenteret som et link.
  4. Html-anker for <cite>...</cite>. Selvom tidsangivelsen indgår i ankeret er det kun den del af tidsangivelsen der matcher et 4-cifret årstal der bruges.
  5. Appendiks-parametre (se også #Layout). Parametrene formateres til links på nogenlunde samme måde som det er kendt fra 'Citation/core'.

Modulets begrænsning redigér

Kort fortalt, tekst. Specielt indlemmelsen af dokument typen for nyheder, med nøgleordet Avis, medfører ikke nogen betingelse for om det nu drejer sig om et trykt medie eller et online nyhedsmagasin - hvilket selvfølgelig også gælder for tidsskrifter. Henvisningen til online tekster er en udfordring, men netop nyhedsgenren er nogenlunde håndterlig. Den almindelige tilgængelighed til online ressourcer omfatter både billede og lyd og der er forsåvidt ikke nogen aktuel argumentation for at foretrække tekst - udover at det i nogle tilfælde er lettere at kategorisere en tekst, og specielt trykte medier. Der er en filosofisk dybde i dette at en kildetekst er svær at kategorisere, som summarisk må siges at være et vilkår. Netop nyhedsgenren har fået et par kontroversielle tilføjelser, omtalt under #Dokumenttyper.

Layout redigér

Html formateringen af kildeangivelsen har som udgangspunkt fokus på fleksibilitet, konsistens og læsbarhed.

  • Layout for bøger og tidsskrifter følger vistnok i store træk DS/ISO 690:2010 Version 1 - Name and date.[1]

Formatet stemmer også stort set overens med CS1 fra den engelske Wikipedia version - se specielt en:Wikipedia:Citation Templates.

DS/ISO 960: (1)Forfatter (2)År (3)Værk (3a)Redaktør (3b)Samleværk [(4) medium] (5)Udgave (6a)By (6b)Forlag (7)Serie / Volume / Nummer og lignende (8) supplerende

[1]

Der er - med nævnte forbehold - nogle afvigelser. Specielt bruges ikke medium - også ifølge #Modulets begrænsning - og by/forlag efterstilles de sædvanlige indices pånær sideangivelse.
  • En vigtig retningslinje ved formateringen af kildeangivelser er konsekvens, d.v.s ensartethed. Det er først og fremmest som følge af modulets automatik let at opnå. Men der er ikke nogen garanti for at Wikipedias redaktører kun bruger Modul:Kilde. Desuden kan det konsekvente layout også opfattes mere nøjeregnende og dermed omfatte et konsekvent indtryk på tværs af de forskellige dokumenttyper modulet skelner mellem og selvfølgelig også på tværs af variansen i en enkelt dokumenttype. Jo flere felter, jo vanskeligere, især da kildeangivelsen ikke bør ligne et rent indeks.
  • I moderne akademia er elektronisk indeksering blevet almindelig, og disse indices er ikke særligt læsbare - da de jo består af en lang række cifre. Vigtigheden af at inkludere disse står ikke til diskussion og som et kompromis mellem læsbarhed og inklusion er de elektroniske indices, inklusiv ISBN, Webarkiv og resume(laysummary) samlet i et appendiks til kildeangivelsen.
  • Normbrydende er understregning del af layoutet. Det drejer sig om de konstante fyldord I:, Bind:, red., udgave, Ovs:, Ovs&redigering:. Understregning af ord og fraser er i konflikt med markeringen af links, men i sammenhængen her burde det være klart nok det ikke er en link-markering. Specielt er sammenstillingen mellem de dansk-sprogede "I", "Bind", "udgave" med ex. engelske og tyske - generelt fremmedsprogede - kildetekster egentlig særpræget, og understregningen markerer så den automatik der ligger til grund for sprogblandingen.
  • Som konsekvens af de nye dokumenttyper, dels nyhedsartikler og specielt internet-tekster er kilde-formatet tilføjet et kreativt element, nemlig brug af em-tegnet, "—". Se Skabelon:KildeTST dokument for eksempler. På engelsk Wikipedia - og i gængse trykte litteraturlister - forekommer em-tegnet som placeholder for forfatternavn når denne står for flere kildetekster.
  • I valget mellem at foranstille tid under alle omstændigheder eller betinget der er en skribent eller redaktør er det for læsbarhedens skyld blevet til det sidste - en dato efter kildetekstens titel forekommer ikke. Specielt for normative dokumenter sker det at der ikke findes oplyst hverken navngivne skribenter eller redaktionelle udvalg, men for denne dokumenttype vil tiden altid være foranstillet. Se eksempler på {{KildeTST dokument}}.
  • Formatet "kildetekst". tidsskrift blev først kalkeret over til "Avis"-typen, med den konsekvens at 'redaktion' blev efterstillet. Denne struktur blev så kalkeret over "Web"- og "Meddelelse"-typen. Men her er det alligevel mere passende at bryde med traditionerne. For "Meddelelse" betyder det at ex. forum-tråd og navn på blogs der kommer fra en portal kommer før forum-navn hhv. navn på blogportal - portal informationen er noget similar oplysningen om bogserier. "Web" typen er mere ubestemt, men når typeangivelsen følger referencen til en tidsskriftsportal vil det betyde at tidskriftets navn, portal parameteret, ikke står i kursiv. Se også #Web.
Inline CSS
  • Kerning af mellemrum og gåseøjne.
Kerning af gåseøjne bruges når kildetekstens titel begynder eller afsluttes med citationstegn eller gåseøjne ('").
  • Diverse font-, margin- og pad-værdier for appendiks-delen.

Layout parametre og deres standard værdi redigér

Parametrene er supplerende og det er ikke nødvendigt at bruge dem.

Fra Modul:Kilde/R1.

		["TrunkSkrb"] = "9",
		["TrunkRed"] = "3",
		["Sep"] = T.L.sep,
		["SepN"] = T.sepn,

Parametre der er enten tomme eller ikke-tomme, dvs. booleans. Deres standardværdi er tom.

		"Amp",
		"Anon",
		"Em",             --|AuthMask fra enwiki
		"Form",
		"KonfNavn",
		"PS",
		"RefHTML",

Diverse redigér

Et par snurrigheder der er værd at nævne:

  • Tegnsætningen der markerer kildeangivelsens felter (|Sep=T.L.sep) starter som standard med et punktum. Specielt for navneforkortelser kan det medføre dobbelte punktummer i kildeangivelsen. Kun når forkortelsen findes i et af navne-parametrene - se #Parametre - sørger modulet for en korrekt tegnsætning.
  • Genereringen af html-ankeret der bruges til fodnote links afsluttes kun med et 4-cifret årstal når |tid= også indeholder, eller består i et sådant. Ellers følger modulet den samme rutine som Citation core. Se også under #Parametre

Dokumenttyper redigér

Dokumenttyperne svarer næsten i princippet til |Citation class= fra Citation core-skabelonen. I modulet hører de også med til proces-forløbet - det gjorde de ikke i Citation core. Ideelt afspejler de en bestemt type af kildetekster.

Oversigten over de forskellige dokumenttyper beskriver en typologi;

  • Kildetekst: Forfatter og titel
  • Primær relation: Redaktionel sammenhæng
  • Sekundær relation: Publicist sammenhæng
  • Indeks: Diverse numre, tider, serier
  • Label: Markering af tekstens dokumenttype
  • Appendiks: Nyere indeks, typisk numerisk og målrettet 'maskinel' aflæsning

Bog redigér

  • Obligatorisk: [titel]
  • Kildetekst:
[titel skribent] -- forfatter og tekst.
[skribenttid] -- sjældent forekommende.
  • Primær relation:
[bog red]
  • Indeks:
[serie volume side] -- traditionelle indices.
  • Sekundær relation:
[forlag sted]

Tidsskrift redigér

Typisk tema er akademisk orienteret.

  • Obligatorisk: [titel tidsskrift]
  • Kildetekst:
[titel skribent] -- forfatter og tekst.
  • Primær relation:
[tidsskrift red] -- Nogle tidsskrifter bruger også tematiske inddelinger, eksempelvis en særskilt sektion om anmeldelser. En redaktionel inddeling kan p.t. kun repræsenteres for <DT> "Avis", se nedenfor.
  • Indeks:
[serie volume nummer side] -- det er de traditionelle indices. I modsætning til hos bøger er tidsskriftets serie et tal.
  • Sekundær relation:
[forlag sted]

Dokument redigér

Typisk tema er regelsæt, alias normsæt.

  • Obligatorisk: [titel institution]
  • Kildetekst:
[titel skribent red_udvalg] -- forfatter og tekst. Forfatteren er ofte upersonlig.
Primær relation:
[institution]
  • Indeks:
[formalnavn]
[kategori nummer] -- lovregulativer, tekniske rapporter, eventuelt også standard specifikationer og manualer. Kategorien bør gengive en ordret forekomst fra kildeteksten.

Avis redigér

Typisk tema er nyheder.

  • Obligatorisk: [titel avis]
  • Kildetekst:
[overskrift skribent] -- forfatter og tekst.
  • Primær relation:
[avis]
[redaktion red] -- redaktør sammenstilles her med navngivningen af den relevante redaktion.
[institution] -- når skribenten er personificeret og formidler en organisations synspunkt. Skribentens tilhørsforhold til organisationen må tydeligt fremgå af kildeteksten.
[nyhedskilde] -- almindelig journalistisk praksis er at gengive et 'newsflash' alias en pressemeddelelse. Nyhedskilden må tydeligt fremgå af kildeteksten.
  • Indeks:
[side]
  • Sekundær relation:
[forlag by] -- sjældent forekommende i kildeangivelser.

Web redigér

Mange hjemmesider falder ikke ind under servicetyperne nævnt under #Meddelelser. Det er muligt at producere en hjemmeside på mange forskellige måder. Specielt CMS er almindeligvis et internt redigeringsværktøj, ikke en servicetype. Den retningsgivende institution for internettet er IETF så egentlig er der kun en forlægger for alle hjemmesider. Hvem udgiver en hjemmeside? - er et spørgsmål der bliver ved at trænge sig på, også efter dette afsnit. Reglen må være at det er op til hjemmesiden at tydeliggøre hvem der har det redaktionelle initiativ.

  • Obligatorisk: [url titel]
  • Kildetekst:
[titel skribent] -- forfatter og tekst.
  • Primær relation:
[tema] -- når det tydeligt fremgår af websitets navigations-system at kildeteksten er del af et tema.
  • Indeks:
[url] -- url til tekst
  • Sekundær relation:
[site portal] -- domænenavn, almindeligt navn på webportal.
[institution sted] -- når det er relevant i sammenhængen, eksempelvis som navn på en institution eller organisation.
  • Label:
- Som udgangspunkt "Web", eventuelt suppleret med "site" eller "portal"

Meddelelse redigér

Dokumenttypen 'Meddelelse' betyder her en internet tekst. Som følge af internet teknologien er de sædvanlige indices ikke nødvendige. Meddelelser kan ikke være anonyme. Det typiske tema er nyheds-agtigt.

Det er kun maillister og newsgroups der er teknisk konsistent strukturerede - se eventuelt RFC-1036, Horton & Adams (1987). Kildetekstens substantielle indhold har principielt set ikke noget med standards-konformitet at gøre og forsøgsvis er mailliste og newsgroup her i selskab med blogs og forum-poster.

  • Obligatorisk: [url titel skribent]
  • Kildetekst:
[titel skribent] -- forfatter og tekst.
  • Primær relation:
[service] -- navn på mailliste, newsgroup, blog. For newsgroups bliver navnet formateret til et link med protokol-præfiks "news:" og skrevet ind i appendiks. For forums vil det være mest relevant at her skrive den nærmeste forum-afdeling.
  • Indeks:
[url] -- link til tekst.
  • Sekundær relation:
[site portal] -- domænenavn, almindeligt navn på webportal.
  • Appendiks (alternativ url):
[nummer] -- et identifikationsnummer visse services tilbyder.
  • Label:
[kategori] -- en af typerne mailliste, forum, newsgroup, blog.

Parametre redigér

Dette afsnit er ikke helt opdateret.

Parameternavne findes som konstanter i Modul:Kilde/R1. Navne i kursiv angiver en intern variabel og parametre er markeret |<parameternavn>= eller i citationstegn (').

Det specielle parameter <DT> angiver kildetekstens dokumenttype som må være en af "Bog", "Tidsskrift", "Avis", "Web", "Dokument". Bemærk, <DT> aflæses kun fra første led i parameterkæden som må være en skabelon. (eventuelt et modul?)

Almindelige parametre redigér

Kildetekstens forfattere
  • |skribentN= - hvor N er et tal mellem 1 og 9, begge inklusive.
  • |fornavnN=
  • |efternavnN=
Redaktører
  • |red= - hvor N er et tal mellem 1 og 3, begge inklusive.
  • |red_fornavnN=
  • |red_efternavnN=
  • |redlinkN= Som ovenfor
  • |red_udvalg= Til brug for <DT> "Dokument". Angiver arbejdsgruppe, udvalg og lignende, men ikke institution som har et særskilt parameter.
kilde - kildetekstens titel
Obligatorisk for alle kildetekster
  • |overskrift=
  • |titel=
vaerk - titel på en tekst-sammenhæng.
(Obligatorisk for konference bidrag - forsøgsvis implementeret)
  • |bog=
  • |konference=
blad - titel på en tekst-sammenhæng. Beskriver en redaktionel sammenhæng.
Obligatorisk for <DT> "Tidsskrift", "Avis"
  • |avis=
  • |tidsskrift=
  • |portal=
no4 - titel på en tekst-sammenhæng. Eventuelt underordnet blad.
  • |redaktion=
  • |formalnavn=
  • |tema=
diverse
  • |tid= Den foranstillede tid. Som en tommelfingerregel er det tid for publikation. Specielt for html-ankeret der benyttes til fodnote link bruges kun den del af tiden der matcher 4 sammenskrevne cifre. Når 'tid' ikke indeholder et sådant - hvad det burde gøre - bruges 'tid' heller ikke til denne mekanisme.
Obligatorisk for <DT> "Avis"
  • |ep= Editio princeps. Første trykkeår, uanset forlag eller sprog.
  • |skribenttid= Beskriver hvornår teksten blev skrevet. Relevant for klassiske forfattere.
  • |otid= Tid for bogens førsteudgave - det følger som regel et bestemt forlag.
  • |bladtid= En sæsontid eller månedsnavn. Foranstilles "nummer".
  • |udgave= Kun et heltal. Værdien sammenskrives med ". udgave".
  • |kommenteret_udgave= En friform til at beskrive udgaven. Formateres i parentes.
  • (|medskribent= tom/ikke-tom (1.forfatter & et.al.))?
  • |ov= Navn på oversætter.
  • |ov_red= Navn på oversætter og redaktør.
  • |serie= Titel på en bogserie.
  • |volume= , dvs. bind. I brug for både tidsskrift og bøger.
  • |nummer= I brug ved alle dokumenttyper pånær "Avis" og med forskellig betydning.
  • |side= Sidetal.
  • |forlag= Forlag/udgiver.
  • |institution= I brug ved de nyere dokumenttyper og med forskellig betydning. For internet-tekster påpeger "institution" en publicist rolle; ellers beskriver parameteret en redaktionel relation til kildeteksten.
Obligatorisk for <DT> "Dokument"
  • (|genoptryk=)?
  • (|illus=)?
  • |kategori= Til brug for <DT> "Dokument", eventuelt suppleret med |nummer=.
  • |nyhedskilde= Til brug for <DT> "Avis". Parameteret giver mulighed for at markere artiklen bygger på en pressemeddelelse fra et nyhedsbureau.
  • |servicetype= -- ikke implementeret
Obligatorisk for <DT> "Meddelelse" -- ikke implementeret
  • (|sprog=)?
  • (|titelov=)? En fri oversættelse af en fremmedsproget titel/Kildetekstens fremmedsproglige originaltitel når kildeteksten er oversat.
  • |url= Link til kildetekst. Fortrinsvis må linket pege på en frit tilgængelig fuldtekst-version.
Obligatorisk for <DT> "Meddelelse", "Web" (samt upubliceret konference-bidrag)
  • |url2= I brug ved bøger og dokumenter til at angive hhv. link til |vaerk= og link til yderligere oplysninger.
  • |urldato= Fuld tid, dvs. dato for hvornår |url= blev hentet.
  • |site= Beskriver en hjemmeside. Uformel alternativ til |portal=.
sted
  • |sted= Publikationens geografiske sted. Fortrinsvis et bynavn.
  • (|kfcsted= Relevant for konference-bidrag. Foranstilles sammen med tid.)

Layout parametre redigér

Parametre med standard-værdier.
  • |TrunkSkrb=9 Heltal. 'Trunk'-parametrene gør det muligt at forkorte de angivne skribent hhv. redaktør-lister og resulterer også i tilføjelsen af "et.al.". Som standard trunkeres hverken skribent-lister eller redaktør-lister, og de to 'Trunk'-parametre er sat til det maksimale antal skribenter hhv. redaktører der kan listes. (Måske er disse parametre mest relevant når der også er en forventning om at de resterende navne faktisk bruges til et eller andet, eksempelvis som microdata?)
  • |TrunkRed=3
  • |Sep=T.L.sep Tegnsætning. Markerer kildeangivelsens felter - som burde være beskrevet i skabelonens dokumentation. T.L.Sep er ". " augmenteret med "nbsp" til at give et lidt større mellemrum end den bogstavelige/literale 'string'.
  • |SepN=T.sepn Tegnsætning. Markerer adskillelse af navne. T.sepn er "; ".
Tomme parametre (A).
  • |Em= Heltal. Når flere værker af samme skribent(er) findes i litteraturlisten kan dette parameter bruges til at indsætte en eller flere em-tegn (—) istedetfor skribentens navn. Når 'Em' er sat bliver 'skribent1' hhv. 'fornavn1' & 'efternavn1' ikke anvendt. (Denne implementering/algoritme er ikke helt konsistent)
  • (|Form= A, A1, A2, B. Midlertidig, kun for <DT> "Dokument".)
  • ( |PS= Tegnsætning. )- ikke implementeret
  • |RefHTML= Kan forkorte kildeangivelsens html-'anker', der benyttes i sammenhæng med fodnoter. 'RefHTML' forventes at samstemme med en standardværdi fra {{Harv}} - standardværdien findes i Modul:Kilde/R1 som M.citeref og sættes altid til denne værdi. Hvis parameteret er tom genereres en konkatenering af skribenter eller redaktører (ideelt set efternavne) og tid. Ellers sammenskrives standardværdien med parameterværdien. Når kildeangivelsen angiver en eller to skribenter ved efternavn og en publikationstid fungerer den automatiske generering fortrinligt, og vedligeholdelsen af litteraturliste og fodnoter bliver triviel.
Tomme parametre (B).
En hvilkensomhelst værdi aktiverer parametrene - ex. |KonfNavn=ja, |KonfNavn=nej, |KonfNavn=måske eller |KonfNavn=ved ikke medfører det samme resultat.
  • |Amp= Bevirker at "&" sættes mellem de to sidste skribenter hhv. redaktører. Parameteret gælder for både forfattere og redaktører.
  • |Anon= Medfører foranstillet tid: "Anon (<tid>)". Det er - ideelt set, eller forhåbentlig - sjældent relevant og kun for <DT> "Web" og "Avis". Specielt for <DT> "Dokumenter" er der taget højde for tekster uden forfattere. Bemærk, parametret nulstiller listen over forfattere.
  • |KonfNavn= Adskillelse af for- og efternavn gør det lettere at bruge {{Harv}} i fodnoterne. Parameteret kan bruges for at undgå adskillelsen i det færdige layout, dog undtaget første skribentnavn der - ifølge ISO - altid må være på formen "efternavn, fornavn".

Referencer redigér

Noter redigér

--[=[    || Indlæs konstanter - 'comment' for lokal miljø BEGIN
--]=]
local p = {}
p.m = function (P) --{ modul BEGIN
--|      || Indlæs konstanter - 'comment' for lokal miljø END

	local FTL = false

--|      ||>KONSTANTER
	local status, data = pcall(
--mw/lokal			require, "R1"
			mw.loadData, "Modul:Sandkasse/Sechinsic/Kilde/R1"
	)
	if (not status) then
		FTL = "Fejl i register modulet - tjek scriptet 'Modul:Sandkasse/Sechinsic/Kilde/R1', eller benyt diskussions-siden for at gøre opmærksom på problemet."
--mw/lokal				print ("\n" .. FTL .. "\n" .. data)
		return "\n" .. FTL .. "\n" .. data
	end
	local T, M, Navn, Titel, Diverse, Layout, Apx =
			data[1], data[2], data[3], data[4], data[5], data[6], data[7]

--|      || Funktioner
	local F = {}
	F.etal = function (x) return
			x: gsub (T.mrk5,T.etal): gsub (T.mrk1,T.komma)
	end
	F.fatal = function (x)
--mw/lokal				print (T.P .. M.FTL[1] .. T.FJL .. x .. T.Sb)
			return T.P .. M.FTL[1] .. T.FJL .. x .. T.Sb
	end
	F.kortWeb = function (x) return x and
		x: gsub ("[^/]*:/*/*w*w*w*%.*",""): match ("[^/]*")
	end
	F.lnk1 = function (x,y) return
			(x: find ("^['\"]") and T.krn.c_rpad or T.c)
			.. ((y and "[" .. y .. " " .. x .. "]") or x)
			.. (x: find ("['\"]$") and T.krn.c_lpad or T.c)
	end
	F.lnk2 = function (x,y) return
			(y and "[" .. y .. " " .. x .. "]") or x
	end
	F.lnkNews = function (x) return
			(x and "[" .. "news:" .. x: gsub ("^news:") .. " " .. T.news .. "]") or T.news
	end
	F.lnkW = function (x,y) return
			(y and "[[" .. y .. "|" .. x .. "]]") or x
	end
	F.navnEf = function (x) return x: match ("([^ ;]+)" .. T.mrk1) or x end
	F.nvnKon = function (x,y) return (not y and x) or
			x: match ("^[^" .. T.mrk1  .. "]*$") or
			x: match (T.mrk1 .. "([^ ;]+)")
			.. " " .. x: match ("([^ ;]+)" .. T.mrk1) 
	end
	F.pp = function (x,y,z) return
			(x.args[z] and x.args[z]:match (".+")) or
			(y.args[z] and y.args[z]:match (".+"))
	end

--[=[
  | <P>  |"frame object" for den side der har kaldt modulet
  |      |- "{{#invoke:Kilde test|m".
  | <P2> |"frame object" for den side der har kaldt skabelonen med modul-kaldet
  |      |- "{{Kilde test_m".
  | mw.getParent() kan ikke kaldes via pcall
--]=]
--[=[    || Indlæs parametre - 'comment' for lokal miljø
--]=]
	local P2 = P:getParent()
	if (not P2) then FTL = M.FTL.Ufor .. "A"
	elseif (not P2.args) then FTL = M.FTL.Ufor .. "B" end
	if (FTL) then return F.fatal (FTL) end
--[=[    || Indlæs parametre - 'uncomment' for lokal miljø BEGIN
	local tmp = require ("v1")
	local argfunk, argn, P = tmp[1], tmp[2], {args={}}
	for invoke=1,argn do --{ lokal INVOKE BEGIN
		local P2 = argfunk (invoke)
		P.args.DT = P2.args.DT
--]=]
--[=[    || Indlæs parametre - 'uncomment' for lokal miljø END
--]=]
--|      ||>VARIABLER
	local b = {
--[=[
    etal, red_unik, doc_skrb   | booleans
--]=]
	}
	local e = {                --| (elementer)
--[=[
    label                      | type label
    tid, sted, osv.            | Diverse
--]=]
		skrb = {}, red = {},     --| Navn
--[=[
    fmt_skrb, fmt_red         >| formaterede
    fmt_byforlag, fmt_kfc      | felter
    fmt_udgave, fmt_formal     |
    fmt_web_inst               |
    fmt_apx                    | 
--]=]
		titel = {
--[=[
    kilde, vaerk, blad, no4    | Titel
--]=]
		}
	}
	local l = {}               --| Layout

--|      || Layout parametre
	l.DT = P.args.DT
	for k in pairs (Layout[1]) do
		l[k] = F.pp (P2,P,k) or Layout[1][k] end
	for k in pairs (Layout[2]) do
		l[Layout[2][k]] = F.pp (P2,P,Layout[2][k]) end
--|skal være numerisk
	l.TrunkSkrb = tonumber (l.TrunkSkrb) or tonumber (Layout[1]["TrunkSkrb"])
	l.TrunkRed = tonumber (l.TrunkRed) or tonumber (Layout[1]["TrunkRed"])
--|ingen eller ukendt dokumenttype giver fejl
	if (not l.DT) then FTL = M["O"]["'§"]
	else FTL = M["O"]["'DT"]
		for k in pairs (M["D"]) do
			if (k == l.DT) then FTL = nil; break; end end
	end
	if (FTL) then return F.fatal (FTL) end

--|      || Titel
	for k in pairs (Titel) do
		for kk in pairs (Titel[k]) do
			e.titel[k] = F.pp (P2,P,Titel[k][kk])
			if e.titel[k] then break end end
	end
--	b.bogpart = e.titel.kilde and e.titel.vaerk and true 
	if (not e.titel.kilde) then FTL = M.FTL.Titel end
	for k in pairs (M["O"]["sub"]) do
		if (not e[k][M["O"]["sub"][k]]) then FTL = M["O"]["'" .. k] end
	end
	if (FTL) then return F.fatal (FTL) end

--|      || Diverse parametre
--|e[parameter] = parameterværdi
	for k in pairs (Diverse[1]) do
		e[Diverse[1][k]] = F.pp (P2,P,Diverse[1][k])
	end
--|en slags boolean parameter
--|e[sorteringsnøgle-i-registermodul-R1] = parameternavn
	for k in pairs (Diverse[2]) do
		for kk,vv in ipairs (Diverse[2][k]) do
			if (F.pp (P2,P,vv)) then e[k] = vv; break; end
		end
	end
--|e[sorteringsnøgle-i-registermodul-R1] = parameterværdi
	for k in pairs (Diverse[3]) do
		for kk,vv in ipairs (Diverse[3][k]) do
			e[k] = F.pp (P2,P,vv)
			if (e[k]) then break; end
		end
	end
--[=[
	for k in pairs (Diverse["sted"]) do
		e["sted"] = F.pp (P2,P,Diverse["sted"][k])
		if e["sted"] then break end end
--]=]
--Ad hoc
	if (not FTL and e.kfcsted and not e.url) then
		FTL = M.FTL.Kfc
	elseif (not FTL and l.Form == "A1" and not e.titel.no4) then
			FTL = M.FTL.DokA1
	end
	if (FTL) then return F.fatal (FTL) end

--|     || Navne
	for ii=1,5,4 do --{
		idx = (ii == 1) and "skrb" or "red"
		iter = 1
		repeat
--[=[	
  | fulde navn, efternavn, fornavn
--]=]	
			e[idx][iter] = F.pp (P2,P,Navn[ii+2][iter])
					and F.pp (P2,P,Navn[ii+1][iter])
			e[idx][iter] = (e[idx][iter] and e[idx][iter]
				.. T.mrk1 .. F.pp (P2,P,Navn[ii+2][iter]))
				or F.pp (P2,P,Navn[ii][iter])
			if (e[idx][iter]) then --{
--[=[    
  | wikilink
--]=]			
				e[idx][tostring (iter) .. "w"] = F.pp (P2,P,Navn[ii+3][iter])
				iter = iter+1
			else
				e[idx]["antal"] = (iter>1) and (iter-1) or nil; break;
			end --}
		until false
--[=[ 
  | formatering
--]=]
		if (e[idx]["antal"]) then --{
			local sep,t = "",nil
------Første forfatternavn
			if (ii == 1) then --{
				t = (e[idx]["antal"] < l.TrunkSkrb)
						and e[idx]["antal"] or l.TrunkSkrb
				if (l.Em) then --{
					local m = T.L.mellx2
					for i=1,tonumber (l.Em) do m = m .. T.krn.em; end
					e["fmt_skrb"] = m .. (T.L.mellx2)
				else
					e["fmt_skrb"] = F.lnkW (e["skrb"][1], e["skrb"]["1w"])
				end --}
------Første redaktør
			else
				e["fmt_red"] = F.lnkW (e["red"][1], e["red"]["1w"])
			end --}
------Resten
			t = t or (e[idx]["antal"] < l.TrunkRed)
						and e[idx]["antal"] or l.TrunkRed
			for i=2,((e[idx]["antal"]<t) and e[idx]["antal"] or t) do
				if (l.Amp and (t == i)) then sep = T.amp
				elseif (l.Em and ii == 1 and i == 2) then sep = T.mell
				else sep = l.SepN end

				e["fmt_" .. idx] = e["fmt_" .. idx] .. sep ..
						F.lnkW (F.nvnKon (e[idx][i],l.KonfNavn),
							e[idx][tostring (i) .. "w"])

			end
			if (e[idx]["antal"] > t) then
				e["fmt_" .. idx] = e["fmt_" .. idx] .. T.mrk5 b.pt = true
			elseif (e[idx][t]: match ("%.$")) then b.pt = true end
		end --}
	end --}
--[=[
	if (e.medskribent) then
		e.fmt_skrb = e.fmt_skrb and e.fmt_skrb
				.. e.fmt_skrb:gsub ("[^" .. T.mrk5 .. "]$",T.mrk5)
		b.pt = true end
--]=]
	e["red_udvalg"] = F.pp (P2,P,Navn[9][1])
	b.red_unik = e.fmt_red and not e.fmt_skrb

--|      || (Appendiks indlæses efter tjek af obligatoriske parametre)
--|      ||>KONFORMITET
--|      || Obligatoriske parametre
--[=[
  | ipairs iterator virker kun for den ubrudte integer sekvens [1;N]
--]=]
	for k in pairs (M["D"][l.DT]["O"]) do
		if (k == 1) then
			for kk,vv in ipairs (M["D"][l.DT]["O"][k]) do
				if (not e[vv]) then
					FTL = M["D"][l.DT]["fejl"][vv];  break; end
			end
		elseif (k == 2) then
			for kk in pairs (M["D"][l.DT]["O"][k]) do
				if (not e[kk][M["D"][l.DT]["O"][k][kk]]) then
					FTL = M["D"][l.DT]["fejl"][kk]; break; end
			end
		elseif (k == 3) then
			for kk in pairs (M["D"][l.DT]["O"][k]) do
				if (e[kk][M["D"][l.DT]["O"][k][kk]]) then FTL = nil; break; end
				FTL = M["D"][l.DT]["fejl"][kk]
			end
		elseif (k == 4) then
			for kk in pairs (M["D"][l.DT]["O"][k]) do
				FTL = M["D"][l.DT]["fejl"][kk]
				for kkk,vvv in ipairs (M["D"][l.DT]["O"][k][kk]) do
					if (e[kk] == vvv) then FTL = nil; break; end
				end
			end
		end
		if (FTL) then return F.fatal (FTL) end
	end
--| herefter er modulet på egen hånd

--|      || Dokumenttype label
	if (M["D"][l.DT]["label"]) then --{
		for k in pairs (M["D"][l.DT]["label"]) do
			if (k == 0) then
				if (e[M["D"][l.DT]["label"][0]]) then
					e.label = T["L"]["label"]:gsub (T.mrk1,
							(M["D"][l.DT]["minusdok"] and "" or l.DT)
							.. M["D"][l.DT]["label"][0])
				end
			elseif (k == 1) then
				if (e[M["D"][l.DT]["label"][1]]) then
					e.label = T["L"]["label"]:gsub (T.mrk1,
							(M["D"][l.DT]["minusdok"] and "" or l.DT)
							.. e[M["D"][l.DT]["label"][1]])
				end
			else
				for kk in pairs (M["D"][l.DT]["label"][k]) do
					if (e[kk][M["D"][l.DT]["label"][k][kk]]) then
						e.label = T["L"]["label"]:gsub (T.mrk1,
								(M["D"][l.DT]["minusdok"] and "" or l.DT)
								.. M["D"][l.DT]["label_alter"][
									M["D"][l.DT]["label"][k][kk]] or
								M["D"][l.DT]["label"][k][kk])
						 break
					end
				end
			end
		end
		if (not e.label) then
			e.label = M["D"][l.DT]["minusdok"] and nil or
					T["L"]["label"]:gsub (T.mrk1,l.DT)
		end
	end
--|      || Appendiks
if (M["D"][l.DT]["appendiks"]) then --{
		local reg, tmp = {}, {}
		for k,v in pairs (M["D"][l.DT]["appendiks"]) do --{ appendiks potentiale BEGIN
			if (type (v) == "table") then
				for k_,v_ in ipairs (v) do reg[v_] = "" end
			else reg = Apx[k] end
			e["a" .. k] = ""

			for kk in pairs (reg) do --{ key-liste BEGIN
------|"kk" er en *stringvalue* for et registernavn i Apx[k]
------|idx 1 er parameternavn og indikerer en fuld url
------|eller registernavn er parameternavn og indikerer en genereret url
				tmp.url_val = F.pp (P2,P,(Apx[k][kk][1] or kk))
				if (tmp.url_val) then
------|hvis tilstede,
------|register med parameternavn og gyldige værdier
------|appendiks-nøglen bliver kun genereret
------|når der findes en gyldig værdi
------|p.t. genereres ingen fejl
					if (Apx[k][kk]["label_ob"]) then
--------idx 1 er parameternavn
						tmp.ob_key = F.pp (P2,P,Apx[k][kk]["label_ob"][1])
						for kkk in pairs (Apx[k][kk]["label_ob"][2]) do
							if (tmp.ob_key == kkk) then
								tmp.ob_val = Apx[k][kk]["label_ob"][2][kkk]; break; end end
					end
					if (tmp.ob_val or not Apx[k][kk]["label_ob"]) then
						tmp.linktekst = F.pp (P2,P,Apx[k][kk]["linktekst_alter"]) or
								Apx[k][kk]["linktekst"]
						tmp.url = (Apx[k][kk][1] and tmp.url_val) or
								(Apx[k][kk]["www"] and Apx[k][kk]["www"] .. tmp.url_val)
--[==[
  || format:
  || "label" [ "url" "linktekst" ]
--]==]
						e["a" .. k] = e["a" .. k] .. T.mell .. T.L.mellx2
								.. (not tmp.url and
									((Apx[k][kk]["MW"] or kk) .. " " .. tmp.url_val) or
									((Apx[k][kk]["label"] or tmp.ob_val or kk)
										.. T.kolon .. F.lnk2 (
											tmp.linktekst or (Apx[k][kk]["www"] and T.normlnk)
											or F.kortWeb (tmp.url),
											tmp.url)))
								.. (Apx[k][kk]["adgang"] and e.adgang and
									T.slash .. T.adgApx .. e.adgang or "")
					end
				end
			end --} (kk) key-liste END

			if (e["a" .. k] == "") then e["a" .. k] = nil
			else
				e["a" .. k] = e["a" .. k]: gsub ("^" .. T.mell .. T.L.mellx2,"") end
		end --} (k,v) appendiks potentiale END
end --}
--[=[
--]=]
--|      ||>FORMATERING
--|      || (Navne lister og label er formateret)
--|      || Felter
--[=[
  | Midlertidige bekvemme elementer
--]=]
	e.fmt_byforlag = (e.forlag or e.sted) and
			(e.forlag and (e.sted and e.sted .. T.kolon or "") .. e.forlag
			or e.sted)
			.. (not (e.fmt_skrb or e.fmt_red) and e.tid and T.mell .. e.tid or "")
	if (l.DT == "Bog") then
		e.fmt_kfc = e.kfcsted and (e.kfcsted
				.. e.tid and (T.komma .. e.tid))
		if (e.kommenteret_udgave) then
			e.fmt_udgave =
				"(" .. e.kommenteret_udgave
				.. (e.otid and (T.L.em .. T.L.otid .. e.otid) or "")
				.. ")"
		elseif (e.udgave) then
			e.fmt_udgave =
				e.udgave .. T.L.udg
				.. (e.otid and ((T.L.mellx2) .. "(" .. T.L.otid .. e.otid .. ")") or "")
		else
			e.fmt_udgave = e.otid and "(" .. T.L.otid .. e.otid .. ")"
		end
		e.fmt_udgave = e.fmt_udgave and T.komma .. e.fmt_udgave

	elseif (l.DT == "Web") then
		e.fmt_web_inst =
				(e.institution or "")
				.. (F.kortWeb (e.site) and
					((e.institution and T.L.slash or "")
					.. T.L.site .. F.kortWeb (e.site)) or "")
				.. ((not (e.fmt_skrb or e.fmt_red or l.Anon) and e.tid) and
					(((e.institution or F.kortWeb (e.site)) and
						(T.L.mellx2) or "") .. e.tid) or "")

	elseif (l.DT == "Dokument") then
		b.dok_skrb =
				(e.fmt_skrb or e.fmt_red or e.red_udvalg) and true
		e.fmt_formal = ((e.kategori or e.nummer) and
				(l.Sep .. "("
				.. ((e.kategori or "")
				.. (e.nummer and
					(e.kategori and T.mell .. e.nummer) or e.nummer or "")
				.. ")") or "") or "")
	end
--[=[
  | Cite tag id 
--]=]
	e.cite = l.RefHTML
	if (not e.cite) then
		e.cite = ""
		local idx = (e["skrb"]["antal"] and "skrb" or "red")
		if (e[idx]["antal"]) then
			for i=1,e[idx]["antal"] do
				e.cite = e.cite .. F.navnEf(e[idx][i])
				if (i == 3) then break end
			end
		end
		e.cite = (e.cite or "") .. (e.tid and
				e.tid:match ("[12][0-9][0-9][0-9]") or "")
	end
	e.cite = T.ct:gsub (
			T.mrk1,(M.citeref .. mw.uri.anchorEncode (e.cite or "")))
--mw/lokal				T.mrk1,(M.citeref .. (e.cite or "")))

--|      || Dokumenttyper
--[=[
  | Bog & Tidsskrift
  | Sikre parametre, 'Bog': e.titel.kilde
  | Sikre parametre, 'Tidsskrift': e.titel.kilde, e.titel.blad
--]=]
	if ((l.DT == "Bog") or (l.DT == "Tidsskrift")) then --{
		e.fmt_part1 =
--------Skribent, foranstillet dato
				((e.fmt_skrb or e.fmt_red) and
					F.etal (e.fmt_skrb or e.fmt_red)
					.. (not e.fmt_skrb and T.L.red or "")
					.. (e.skribenttid and
						(T.L.mellx2) .. T.kA .. e.skribenttid .. T.kB or "")
					.. ((e.tid or e.fmt_kfc) and
						(T.L.mellx2) .. "(" .. (e.tid or e.fmt_kfc) .. ")" or "")
					.. ((b.pt and not (e.tid or e.fmt_kfc or e.skribenttid)
						and (T.L.mellx2)) or l.Sep)
				or "")
--------Kildetekst
				.. F.lnk1 (e.titel.kilde, e.url)

----|Bog
		if (l.DT == "Bog") then --{
			e.fmt_part1 = e.fmt_part1 
----------Redaktør og bog
					.. (e.fmt_kfc and T.L.kfc or "")
					.. (e.titel.vaerk and
						(l.Sep .. T.L.i
						.. ((e.fmt_red and not b.red_unik) and
							(F.etal(e.fmt_red) .. T.L.red .. (T.L.mellx2)) or "")
						.. T.Ia
						.. F.lnk2 (e.titel.vaerk, e.url2)
						.. T.Ib) or "")
					.. (e.fmt_udgave or "")
					.. (e.serie and (l.Sep .. e.serie) or "")
					.. (e.volume and (T.L.bd .. e.volume) or "")
					.. (e.fmt_byforlag and (l.Sep .. e.fmt_byforlag) or "")
					.. (e.ov and (l.Sep .. T.L.ov .. e.ov) or "")
					.. (e.ov_red and (l.Sep .. T.L.ov_red .. e.ov_red) or "")
					.. (((e.ep and 
						(((e.ov or e.ov_red) and T.komma) or l.Sep)
						.. T.ep .. e.ep)) or "")
					.. (e.side and l.Sep .. e.side or "")
----|Tidsskrift
		else
			e.fmt_part1 = e.fmt_part1 
----------Redaktør og blad
					.. (e.titel.blad and l.Sep
						.. ((e.fmt_red and not b.red_unik) and
							(F.etal(e.fmt_red) .. T.L.red .. (T.L.mellx2)) or "")
						.. T.Ia .. e.titel.blad .. T.Ib or "")
					.. (e.fmt_byforlag and ((T.L.mellx2) .. "("
						.. e.fmt_byforlag .. ")") or "")
					.. (e.serie and (T.mell .. T.c .. e.serie .. T.c) or "")
					.. (e.volume and (T.mell .. T.STRGa .. e.volume .. T.STRGb) or "")
					.. (e.bladtid and (T.komma .. e.bladtid) or "")
					.. (e.nummer and (T.mell .. T.L.nr .. e.nummer) or "")
					.. (e.side and T.kolon .. e.side or "")
		end --}
--[=[
  | Avis
  | Sikre parametre: e.titel.kilde, e.titel.blad, e.tid
--]=]
	elseif (l.DT == "Avis") then
		e.fmt_part1 =
--------Skribent, foranstillet dato
				((e.fmt_skrb or e.fmt_red) and
					F.etal (e.fmt_skrb or e.fmt_red)
					.. (not e.fmt_skrb and T.L.red or "")
					.. (e.institution and
--							(T.mell .. T.slash .. T.mell .. e.institution) or "")
							(T.slash .. T.mell .. e.institution) or "")
--					.. T.mell .. "(" .. e.tid .. ")" .. l.Sep
					.. T.mell .. T.mell_ .. "(" .. e.tid .. ")" .. l.Sep
				or (l.Anon and T.a .. T.mell .. "(" .. e.tid .. ")" .. l.Sep)
				or "")
--------Kildetekst
				.. F.lnk1 (e.titel.kilde, e.url)
--------Avis
				.. l.Sep .. T.Ia .. e.titel.blad .. T.Ib
-- - - -redaktion/nyhedskilde
.. (e.titel.no4 and
(
	(T.L.em ..  T.STRGa .. e.titel.no4 .. T.STRGb) ..
	(e.fmt_red and not b.red_unik and
		(T.mell .. T.kolon .. T.mell .. F.etal (e.fmt_red) .. T.L.red)
	or "")
) or "")
.. (e.nyhedskilde and T.L.slash .. T.L.nk .. e.nyhedskilde or "")
--------By-forlag
--				.. (e.fmt_byforlag and ((T.L.mellx2) .. "("
				.. (e.fmt_byforlag and (T.mell .. T.mell_ .. "("
					.. e.fmt_byforlag .. ")") or "")
				.. (e.side and l.Sep .. e.side or "")
				.. (e.urldato and l.Sep .. T.L.udato .. e.urldato or "")
				.. (e.url and e.adgang and
					(e.urldato and T.slash or l.Sep)
					.. T.adg .. e.adgang or "")
--[=[
  | Web
  | Sikre parametre: e.titel.kilde, e.url
--]=]
	elseif (l.DT == "Web") then
		e.fmt_part1 =
--------Skribent, foranstillet dato
				((e.fmt_skrb or e.fmt_red) and
					F.etal (e.fmt_skrb or e.fmt_red)
					.. (not e.fmt_skrb and T.L.red or "")
					.. (e.tid and T.mell .. "(" .. e.tid .. ")" or "")
					.. ((b.pt and not e.tid and (T.L.mellx2)) or l.Sep)
				or (l.Anon and e.tid and
						T.a .. T.mell .. "(" .. e.tid .. ")" .. l.Sep)
				or "")
--------Kildetekst
				.. F.lnk1 (e.titel.kilde, e.url)
-- - - -*Tema*
				.. (e.titel.no4 and T.L.em .. T.Ia .. e.titel.no4 .. T.Ib or "")
--------Portal
				.. (e.titel.blad and (l.Sep .. e.titel.blad) or "")
-- - - -Institution og website
				.. ((e.fmt_web_inst ~= "") and
					((e.titel.blad and T.komma or l.Sep) .. e.fmt_web_inst) or "")
				.. (e.urldato and (l.Sep .. T.L.udato .. e.urldato) or "")
				.. (e.url and e.adgang and
					(e.urldato and T.slash or l.Sep)
					.. T.adg .. e.adgang or "")
--------NB type markør
--[=[
  | Meddelelse
  | Sikre parametre: e.titel.kilde, e.url, e.kategori, (e.fmt_skrb or e.red)
--]=]
	elseif (l.DT == "Meddelelse") then
		e.fmt_part1 =
--------Skribent, foranstillet dato
				F.etal (e.fmt_skrb or e.fmt_red)
				.. (not e.fmt_skrb and T.L.red or "")
				.. (e.tid and T.mell .. "(" .. e.tid .. ")" or "")
				.. ((b.pt and not e.tid and (T.L.mellx2)) or l.Sep)
--------Kildetekst
				.. F.lnk1 (e.titel.kilde, e.url)
-- - - -*Service*
				.. (e.titel.no4 and (e.kategori ~= "newsgroup") and T.L.em .. T.Ia .. e.titel.no4 .. T.Ib or "")
--------Portal og website
				.. (e.titel.blad and (l.Sep .. e.titel.blad) or "")
				.. (e.site and (e.titel.blad and T.komma or l.Sep) .. T.L.site .. F.kortWeb (e.site) or "")
				.. (e.urldato and (l.Sep .. T.L.udato .. e.urldato) or "")
				.. (e.url and e.adgang and
					(e.urldato and T.slash or l.Sep)
					.. T.adg .. e.adgang or "")

--[=[
			local state1, state2 = false
			if (e.kategori == "newsgroup" and e.titel.no4) then
				state1 = true end
			if (e.kategori == "newsgroup" and e.nummer) then
				state2 = true end

			if (state1 or state2) then
--]=]
			if (e.newsgroup and (e.nummer or e.titel.no4)) then
				e.aB = T.L.apxB .. F.lnkNews (e.titel.no4)
						.. (e.nummer and T.kolon .. T.mell .. e.nummer or "")
						.. T.Sb
			elseif (e.nummer) then
				e.aB = T.L.apxB .. T.id .. e.nummer .. T.Sb
			end

--------NB type markør
--[=[
  | Dokument
  | Sikre parametre: e.titel.kilde, e.institution
  | Sikre parametre for <Form> "A1": e.titel.no4
  | Et normativt dokument uden tidsangivelse
  | for publikation mærkes "(?)".
--]=]
	elseif (l.DT == "Dokument") then
		if (not l.Form) then
			e.fmt_part1 =
					(b.dok_skrb and
						((e.fmt_skrb or e.fmt_red) and
							(F.etal (e.fmt_skrb or e.fmt_red)
							.. (e.red_udvalg and
							(T.mell .. T.slash .. T.mell .. e.red_udvalg) or "")))
						or  e.red_udvalg or e.institution)
					.. (T.L.mellx2) .. "(" .. (e.tid or T.ukendt) .. ")"
					.. l.Sep .. F.lnk1 (e.titel.kilde, e.url)
					.. (e.titel.no4 and
						(l.Sep .. T.Ia .. e.titel.no4 .. T.Ib) or "")
					.. e.fmt_formal
					.. (b.dok_skrb and (l.Sep .. e.institution) or "")
					.. (e.sted and (l.Sep .. e.sted) or "")
					.. (e.url2 and (l.Sep .. F.lnk2 (
							T.tilg .. "(" .. F.kortWeb (e.url2) .. ")",e.url2))
						or "")

		elseif (l.Form == "A") then
			e.fmt_part1 =
					e.institution
					.. (T.L.mellx2) .. "(" .. (e.tid or T.ukendt) .. ")"
					.. l.Sep .. F.lnk1 (e.titel.kilde, e.url)
					.. (e.titel.no4 and
						(l.Sep .. T.Ia .. e.titel.no4 .. T.Ib) or "")
					.. e.fmt_formal
					.. (e.sted and (l.Sep .. e.sted) or "")

		elseif (l.Form == "A1") then
			e.fmt_part1 =
					T.STRGa .. e.titel.no4 .. T.STRGb
					.. (T.L.mellx2) .. "(" .. (e.tid or T.ukendt) .. ")"
					.. l.Sep .. F.lnk1 (e.titel.kilde, e.url)
					.. l.Sep .. e.institution

		elseif (l.Form == "A2") then
			e.fmt_part1 =
					F.lnk1 (e.titel.kilde, e.url)
					.. T.mell .. "(" .. (e.tid or T.ukendt) .. ")"
					.. l.Sep .. e.institution
					.. (e.sted and (l.Sep .. e.sted) or "")

		elseif (l.Form == "B") then
			e.fmt_part1 =
					(e.titel.no4 and (T.STRGa .. e.titel.no4 .. T.STRGb) or "")
		.. ((e.fmt_skrb or e.fmt_red) and
						((e.titel.no4 and l.Sep)
						.. F.etal (e.fmt_skrb or e.fmt_red)
						.. (e.red_udvalg and
							(T.mell .. T.slash .. e.red_udvalg) or "")) or
					((e.red_udvalg and
						((e.titel.no4 and l.Sep or "") .. e.red_udvalg))) or "")
		.. ((b.dok_skrb or e.titel.no4) and
						((b.dok_skrb and (T.L.mellx2)) or (T.L.mellx2))
						.. ("(" .. (e.tid or T.ukendt) .. ")" .. l.Sep) or "")
					.. F.lnk1 (e.titel.kilde, e.url)
					.. e.fmt_formal
					.. l.Sep .. e.institution
					.. (not (b.dok_skrb or e.titel.no4) and
						(T.komma .. (e.tid or "(" .. T.ukendt .. ")")) or "")
					.. (e.sted and (l.Sep .. e.sted) or "")
					.. (e.url2 and (l.Sep .. F.lnk2 (T.tilg,e.url2)) or "")
		end
	end --}
--[=[
  | Appendiks
--]=]
	if (e.aA or e.aB) then
		e.fmt_apx = (not e.label and T.L.mellx2 .. T.L.mellx2 .. T.mell_ or "") .. T.L.apx
			.. (e.aA or "") .. (e.aB or "") .. T.Sb
	end 
--[=[    || 'uncomment' for lokal miljø BEGIN
	local s = e.fmt_part1 .. (e.label or "") .. (e.fmt_apx or "")
	if (html) then
		print ("<p>" .. e.cite .. s:gsub('([^%[%]])%[([^%[%] ]*) *([^%[%]]*)%]','%1' .. '<a href="' .. '%2">' .. '%3</a>') .. T.ctEND)
	elseif (not tom) then
		print (s .. (DBG and "\n" .. DBG or ""))
	end
	end --} lokal INVOKE END
--]=]
--[=[    || 'uncomment' for lokal miljø END
--]=]
--[=[    || 'comment' for lokal miljø BEGIN
--]=]
	return e.cite .. e.fmt_part1 .. (e.label or "") .. (e.fmt_apx or "") .. T.ctEND
end --} modul END
return p