Recent Changes - Search:

PhdWiki

Information

Kilder

Metode?

Praktiske Tips?

Index-Xindy

Makeindex

Makeindex anvendes til at sortere indeks, som f.eks. stikordsregister, lovregister, domsregister etc.

Ved brugen af makeindex bør der bruges mulighederne -c og -r i forhold til jura-monografi.

Normalt anser makeindex mellemrum for at være et tegn, dvs. " test ", " test" og "test" optages som tre forskellige begreber i registret. Med -c ignoreres derimod mellemrum o.l., så der kun optages ét begreb i registret.

Derudover er det med kommandoen -s muligt at fastsætte en speciel style-fil for typografien for registret.

Som udgangspunkt adskiller makeindex begrebet og første sidenr. med komma og mellemrum (", "). I juridiske bøger anvendes derimod normalt blot et stort mellemrum. Dette kan opnås ved at lave en style-fil med følgende indhold:

% Delimiter to be inserted between a level 0 key and its first page number
% default: ", " is changed to \quad, i.e. space
delim_0 "\\quad"

% Delimiter to be inserted between a level 1 key and its first page number
% default: ", " is changed to \quad, i.e. space
delim_1 "\\quad"

% Delimiter to be inserted between a level 1 key and its first page number
% default: ", " is changed to \quad, i.e. space
delim_2 "\\quad"

Hvis f.eks. en dom er nævnt på siderne 2,3 og 4 vil makeindex angive dette som "2-4" i registret, hvilket ikke er hensigtsmæssigt. Med kommandoen -r optages hver side for sig.

Specielt fsv. angår stikordsregistret er det ofte sådan, at henvisninger i juridiske litteratur anføres således:

  • xxf. - dvs. s. 21f. betyder s. 21 og følgende side.
  • xxff. - dvs. s. 21ff. betyder s. 21 og følgende sider.

Dette gør det, som udgangspunkt, nødvendigt at ændre indeksfilen manuelt efterfølgende, og derefter køre LaTeX én sidste gang. Indeksfilen har samme navn som tex-filen, men har endelsen ".ind".

Hvis man ønsker, at "f." og "ff." sættes automatisk, når der henvises til flere sider, kan følgende indføjes i en style-fil for makeindex.

% Delimiter to replace the range delimiter and the second page number of a
% two page list.
suffix_2p "f."

% Delimiter to replace the range delimiter and the second page number of a
% three page list. When present, it overrides delim_r and suffix_mp.
suffix_3p "ff."

% Delimiter to replace the range delimiter and the second page number of 
% a multiple page list (three or more pages).
suffix_mp "ff."

Når denne opsætning anvendes skal makeindex ikke kaldes med "-r".

Under alle omstændigheder er det dog nok nødvendigt med en afsluttende manuel tilpasning af registrene for at få den helt rigtige typografiske opsætning.

En makeindex style-fil med de nævnte ændringer er i pakken med hjælpefiler her.

Hvis man følger installations-vejledningen bliver kaldet til makeindex:

makeindex -s jura-monografi.ist -c -r $idxfile

Da makeindex skal kaldes for hver enkelt indeks-fil - og jura-monogra.sty bruger op til fem indeks - er det en fordel at kalde makeindex via et script.

I pakken med hjælpefiler er sådan script-fil i form af en "TeXShop.Engine", som svarer til en bash-shell-fil.

Hvis man ønsker brug af "f." og "ff." skal både jura-monografi.sty og script-filen tilpasses lidt.

Problemer med makeindex

Makeindex har to store problemer i forhold til brug i jura-monografi:

  1. Der sorteres tegn for tegn. Dvs. "U 1980.20 H" placeres efter "U 1980.1020 H" (altså ".1" før ".2"; ikke "20" før "1020".
  2. Værre er det, at makeindex ikke kender danske tegn, hvorfor disse sorteres forkert (æ, ø og å sorteres før a / store og små bogstaver anses for forskellige tegn).

Anvendeligheden af makeindex er derfor begrænset til udkastfasen, medmindre man manuelt vil rette sorteringen i filerne.

Problemløsning under makeindex

Sortering

Problemerne angående sortering kan klares manuelt i \index{}-entry'en.

Ønskes U 1980.20 H før U 1980.1020 H kan det gøres vha. denne entry: \index{U 1980.0020@U 1980.20 H}

Der sorteres således efter den første erklæring, mens den efterstående skrives i registeret.

Xindy

Et bedre alternativ er xindy, som dog i lang tid kun fandtes til Linux.

Fra og med TexLive 2009 skulle Xindy dog virke med både Mac OS X og Windows.

I TexLive 2009 kan man forbedre Xindys evne til at sortere æ, ø og å ved at udpakke filen jura-xindy-DK-lang.zip i /usr/local/texlive/2009/texmf/xindy/lang/jura og kalde xindy med "-L jura (i stedet for -L danish). Dette er ikke længere nødvendigt i Texlive 2010.

Kan man ikke få Xindy til at virke under sit operativsystem, kan xindy kan installeres på en USB-key sammen med Puppy Linux. Nedenstående er afprøvet med Puppy linux 1.09.

Puppy lnux installeres således på en USB-key:

  • download iso-filen for Puppy linux
  • brænd dette til en CD
  • Start Puppy på en PC (med Intel-processor).
  • Installer Puppy på USB via den tilhørende wizard (findes i "start" knappen).
  • Luk ned og start Puppy via USB'en.
  • Installer
    • Perl (hentes via PubGet, som er installationsmetoden for Puppy linux).
    • libreadline.so.42 (hentes fra her eller her.
    • Følgende script-fil placeres i biblioteket ~/my-applications/bin/ (f.eks. med navnet jura-script.sh) - husk at filen skal gøres executionable. :
    #!/bin/sh
    for idxfiles in /mnt/home/index/*.idx
    do
    	echo
    	echo "*******************************"
    	echo $idxfiles
    	echo "*******************************"
    	perl /mnt/home/xindy-2.2/bin/texindy -L danish -M ff-ranges-only $idxfiles 
    
    done
    
    

På USB oprettes endeligt to biblioteker i root (som svarer til /mnt/home/ i Puppy linux):

  • /index/ (respektivt /mnt/home/index/ )
  • Et bibliotek, som oprettes ved at udpakke Xindy-pakken på USB-keyen (f.eks. /xindy-2.2/ (respektivt /mnt/home/xindy-2.2/ ).

Xindy bruges herefter således:

  1. idx-filer, som skal sorteres, kopieres fra bibliotektet med tex-filerne til /index på USB-keyen.
    • Husk at ændre navnene på idx-filerne, da latex generer nye .idx og .ind filer hver gang.
  2. USB-keyen indsættes PC'en, som bootes.
  3. Når Puppy er startet åbnes et terminal vindue.
  4. Index filerne håndteres herefter af Xindy blot ved at skrive navnet på scriptfilen (f.eks. jura-script.sh).
  5. USB-keyen fjernes herefter fra PC'en (husk at unmounte den, hvorimod det ikke er nødvnedigt at lukke Puppy ned).
  6. De resulterende ind-filer kopieres herefter tilbage til det bibliotek, hvorfra de kom.

De nye .ind filer indsættes automatisk af latex (forudsat at latex-filen har en \input{xxx.ind} kommando for hver fil).

Software?

Redskaber?

Tips?

LaTeX

jura-monografi

Dansk?

Edit - History - Print - Recent Changes - Search
Page last modified on June 04, 2012, at 08:32 AM