Avatar billede aliaz Nybegynder
27. maj 2012 - 12:21 Der er 2 kommentarer og
1 løsning

Litteraturliste modifikation

Jeg sidder og roder med udseendet af litteraturlisten. Det er plainnat.bst, der er modificeret til Harvard citations-metoden [Forfatter, År].

Fremstillingen af litteraturlisten vil jeg gerne have ændret, så den skriver Forfatter et al., når der er flere end 2. Se http://jesper.noergaard.eu/Litliste.png.

Her er koden jeg kører - sikkert ikke så nyttig info uden .bst- og .bib-filen dog.

\documentclass[a4paper]{memoir}

\usepackage[english]{babel}
\usepackage{natbib}
\bibpunct[,]{[}{]}{;}{a}{,}{,}
\bibliographystyle{bibtex/harvard}

\begin{document}

\citep{bib:COWI}

\citep{bib:Kanan}

\citep{bib:GoodBadVolatile}

\bibliography{bibtex/litteraturliste}

\end{document}

Jeg har været i harvard.bst og fundet følgende stump kode, der skriver efternavnene i litteraturlisten:

FUNCTION {format.jaer}
{ 's :=
  #1 'nameptr :=
  s num.names$ 'numnames :=
  numnames 'namesleft :=
    { namesleft #0 > }
    { s nameptr "{ll}{, jj}" format.name$ 't :=
      nameptr #1 >
        { namesleft #1 >
            { ", " * t * }
            { numnames #2 >
                { " " * }
                'skip$
              if$
              t "others" =
                { " et~al."}
                { " and " * t * }
              if$
            }
          if$
        }
        't
      if$
      nameptr #1 + 'nameptr :=
      namesleft #1 - 'namesleft :=
    }
  while$
}

Så er spørgsmålet, om nogen kan gennemskue hvad der skal ændres, så den skriver "Forfatter et al." ved 2+ forfattere, men stadig beholder "and" ved 2 forfattere? Jeg ved det er lidt et longshot!
Avatar billede aliaz Nybegynder
27. maj 2012 - 12:23 #1
Den har slugt et punktum i linket til billedet. Her er korrekt link: http://jesper.noergaard.eu/Litliste.png
Avatar billede Slettet bruger
28. maj 2012 - 14:55 #2
Der er en grun til at manualen til BST-filer hedder "Tame the Beast"

Jeg har ikke nogen god løsning. Jeg har brugt custom-bib til at lave den bibtex stil som jeg anvender til min LaTeX-bog (dlfltxbbibtex.bst, ligger på CTAN). Med custom-bib skal du svare på ca 50 spørgsmål og så laves en konfigurationsfil, hvis man kører (La)TeX på den, laver bst-filen. Man kan så manuelt justere på denne konfigurationsfil hvis man har lavet en fejl.

En af de ting man kan i den er netop at styre hvor mange der skal være før 'et al'
Avatar billede aliaz Nybegynder
28. maj 2012 - 17:27 #3
Hehe, ja det er et meget passende navn! Og en genial feature med start fra scratch og derefter 'spørgeskema'.

Jeg har løst udfordringen ved at duplikere kodestumpen, der styrer print af kilder i rapport/brødtekst, til brug også ved print i litteraturlisten (netop de samme navne/strenge). For interesserede fungerer dette:

{ 's :=
  s #1 "{vv~}{ll}" format.name$
  s num.names$ duplicate$
  #2 >
    { pop$ " et~al." * }
    { #2 <
        'skip$
        { s #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" =
            { " et~al." * }
            { " and " * s #2 "{vv~}{ll}" format.name$ * }
          if$
        }
      if$
    }
  if$
}
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester