39 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			TeX
		
	
	
	
			
		
		
	
	
			39 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			TeX
		
	
	
	
| %%
 | |
| %% LaTeX style to for manual index.
 | |
| %%
 | |
| \NeedsTeXFormat{LaTeX2e}
 | |
| 
 | |
| \ProvidesPackage{myindex}
 | |
| 
 | |
| % \reallyindex{SORTKEY}{HEADCS}{TYPE}
 | |
| % writes (index-entry "SORTKEY" "HEADCS" TYPE PAGENUMBER)
 | |
| % which becomes  \item \HEADCS{SORTKEY} mainpagenumber ; auxpagenumber ...
 | |
| 
 | |
| \newcommand{\mainschindex}[1]{\index{#1!tt!main}}
 | |
| \newcommand{\mainindex}[1]{\index{#1!rm!main}}
 | |
| \newcommand{\schindex}[1]{\index{#1!tt!aux}}
 | |
| \newcommand{\sharpindex}[1]{\index{#1!sharp!aux}}
 | |
| 
 | |
| \newcommand{\codemainindex}[1]{{\mainschindex{{#1}}\code{#1}}}
 | |
| \newcommand{\codeindex}[1]{{\schindex{#1}\code{#1}}}
 | |
| 
 | |
| \newenvironment{myindex}
 | |
|                {\if@twocolumn
 | |
|                   \@restonecolfalse
 | |
|                 \else
 | |
|                   \@restonecoltrue
 | |
|                 \fi
 | |
|                 \columnseprule \z@
 | |
|                 %!! \columnsep 35\p@
 | |
|                 \twocolumn[\@makeschapterhead{\indexname}]%
 | |
|                 \@mkboth{\MakeUppercase\indexname}%
 | |
|                         {\MakeUppercase\indexname}%
 | |
|                 \thispagestyle{plain}\parindent\z@
 | |
|                 \parskip\z@ \@plus .3\p@\relax
 | |
|                 \let\item\@idxitem}
 | |
|                {\if@restonecol\onecolumn\else\clearpage\fi}
 | |
| \renewcommand\@idxitem{\par\hangindent 40\p@}
 | |
| \renewcommand\subitem{\@idxitem \hspace*{20\p@}}
 | |
| \renewcommand\subsubitem{\@idxitem \hspace*{30\p@}}
 | |
| \renewcommand\indexspace{\par \vskip 10\p@ \@plus5\p@ \@minus3\p@\relax}
 |