Closed for Summer (2015)

April 28, 2015

Comes again the time where the semester comes to an end. Students are busy with finals and various assignments, professors are busy with marking finals and assignments. Soon it will be over and I will concentrate on research and publication. I have this thing I’ve been trying to finish for a few months now—still just a few days more, just a few days more—and new stuff I want to start. So I will neglect, like last year, the blog until September, where I will return with the normal, once-a-week or almost, posting schedule.

(Dalia, 2560×1440)

(Dalia, 2560×1440)


Yet more LaTeX indexing woes

April 21, 2015

Still more indexing woes. LaTeX indexing, while superficially easy to use, turns out to be rather finicky, especially for anchor placement—that is, where the index (hyper)link actually points to.

index-woes

Let’s see what I have found to circumvent some of the difficulties.

Read the rest of this entry »


No post today

April 14, 2015

Except to say that there’sn’t a post today. Things have been busy lately, so no entry for this week. ¯\_(ツ)_/¯


Beauxindex

April 7, 2015

Last week I presented a simple script that helped spot almost identical index entries. Since then, I’ve sought a better index style. While I found most book use a rather plain index style, I was looking for something that used space efficiently yet was easy to read.

fancy-index

The idxlayout package will help us customize the index somewhat. It will allow us to set the number of columns, set the distance between them, maybe with a line, set font size, and decide how we want topics arranged. In the image above, I have used the singlepar layout. It is invoked by adding the itemlayout=singlepar option as a package option:

\usepackage[itemlayout=singlepar]{idxlayout}

With an extra bit of configuration somewhere else in your LaTeX source:

\renewcommand{\see}[2]{\mdseries \emph{\seename} #1 }
\renewcommand{\indexsubsdelim}{~\raisebox{0.2ex}{\resizebox{1em}{0.5ex}{$\sim$}}
} % symbol(s) between subtopics 
\setkeys{ila}{columns=3} % nb columns
\setkeys{ila}{rule=0pt} % width of line between cols (0=no line)
\setkeys{ila}{columnsep=1em} % spacing between columns
\setkeys{ila}{font=footnotesize} % base font size
\setkeys{ila}{indentunit=1em} % how much to indent after first line
\setkeys{ila}{justific=standard} % raggedright is a mess!
\setkeys{ila}{initsep=0.5em plus 0.5em minus 0.1em} % rubberband length between paragraphs
\printindex

The idxlayout package isn’t very well documented, so you might have to dig in the source code itself to find values that you’re interested in changing. It produces:

maths-discretes-index

Which appears… flat.

These tweak make a much better-looking index than the makeindex default, but there are still a few things to tweak. The thing that bothered me most is that we do not really have a clear separation between the head topic and subtopics. To achieve good visual separation, we must redefine yet more variables. This time in makeindex. However, makeindex customization involves an “index style” file:

\makeindex[options=-s back-matter/index.ist]

The configurable elements are found in makeindex‘s man page. The necessary elements are set in the index.ist file, as follows:

item_0 "\n \\bfseries \\item "
item_1 "\n \\mdseries \\subitem "
item_01 "\n \\mdseries \\indexsubsdelim "
item_x1 "\n \\mdseries \\indexsubsdelim "

The item_0 variable defines the style with which a topic will be displayed. For now, in bold. The item_xy variables define the style change when you go from a level x item to a y level item. Since I want subtopic to appear “normal face”, \mdseries is inserted just before the subitem. The item_x1 seems to be also necessary to ensure that only the first topic in a paragraph is bold.

The changes produce the index as shown in the image at the beginning