DataMuseum.dk

Presents historical artifacts from the history of:

DKUUG/EUUG Conference tapes

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about DKUUG/EUUG Conference tapes

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - metrics - download
Index: T i

⟦ba17b25e6⟧ TextFile

    Length: 1477 (0x5c5)
    Types: TextFile
    Names: »idx2ind«

Derivation

└─⟦3d0c2be1b⟧ Bits:30001254 ISODE-5.0 Tape
    └─⟦eba4602b1⟧ »./isode-5.0.tar.Z« 
        └─⟦d3ac74d73⟧ 
            └─⟦this⟧ »isode-5.0/doc/manual/idx2ind« 
└─⟦2d1937cfd⟧ Bits:30007241 EUUGD22: P.P 5.0
    └─⟦35176feda⟧ »EurOpenD22/isode/isode-6.tar.Z« 
        └─⟦de7628f85⟧ 
            └─⟦this⟧ »isode-6.0/doc/manual/idx2ind« 
└─⟦2d1937cfd⟧ Bits:30007241 EUUGD22: P.P 5.0
    └─⟦dc59850a2⟧ »EurOpenD22/pp5.0/pp-5.tar.Z« 
        └─⟦e5a54fb17⟧ 
            └─⟦this⟧ »pp-5.0/doc/manual/volume1/idx2ind« 
            └─⟦this⟧ »pp-5.0/doc/manual/volume2/idx2ind« 
            └─⟦this⟧ »pp-5.0/doc/manual/volume3/idx2ind« 

TextFile

#! /bin/sh
: 'idx2ind - new LaTeX index converter - 11-Jul-88/JLR'

L=%%
case x$1 in
  x-l) L=""; shift ;;
esac

for i
do
  awk 'BEGIN {for (i = 97; i < 123; i++)	# index letters "a" to "z"
		printf "%c\n", i; exit}' |\
  cat - $i.idx |\
  sed \
    -e 's/	/ /g'\
    -e 's/^\\indexentry{\(.*\)}{\([^}]*\)}$/\1	\2/'\
    -e 's/^\\verb\(.\)\(.*\)\1	\(.*\)$/\2	\3	\\verb\1\2\1/'\
    -e '/\\/!s/ *{}//'\
    -e '/,/{;s/^\(.*\)	\(.*\)$/\1	\2	\1/;s/,/ /;}' |\
  sort -u -t"	" +0fd -1 +1n |\
  awk -F"	" '
BEGIN	{printf "\\begin{theindex}\\makeatletter\n"
	printf "\\raggedright\n"
	printf "\\def\\newindex#1{{\\huge\\hspace{-.5in}"
	printf "\\parbox[t]{.5in}{\\makebox[.35in][c]{\\uppercase{#1}}}"
	printf "\\vspace{-1.5ex}}}\n"
	}
NF == 1	{x = $1; next}				# NF=1: index letter
	{n = $1}
NF == 3	{n = $3}				# NF=3: special sort key
n == p	{printf ", %s", $2; next}		# another page number
p != ""	{printf "\n"}				# end of this item
x != ""	{if (p != "")				# index letter?
	    printf "\\indexspace\n"
	printf "'$L'\\newindex{%s}\n", x
	}
	{x = s = ""; i = n; l = $2}		# reset
/,/	{s = "sub"				# sub-item
	nf = split (i, a, ","); k = a[1]; i = a[2]
	split (p, pk, ",")
	if (pk[1] != k && pk[1] != k"{}")	# should use substr...
	    {i = n; s =""}
	else for (j = 3; j <= nf; j++) 		# add sub-sub-items
	    i = sprintf ("%s,%s", i, a[j])
	}
	{printf "\\%sitem %s, %s", s, i, l}
	{p = n}					# save for next comparison
END	{printf "\n\\end{theindex}\n"
	}' > $i.ind

done

exit 0