Makeindex - 是否可以在右边框设置页码,而不是使用逗号分隔符?

Makeindex - 是否可以在右边框设置页码,而不是使用逗号分隔符?

我正在使用该包创建索引makeidx,并且想改变默认行为:

键,数字

类似于:

键.................................................................................................数字

其中“数字”位于页面的右边界,点可以是空格或点。

目前我正在使用类似于以下的代码:

\documentclass[a4paper, 11pt]{article}
\usepackage{makeidx}
\usepackage[columns=1]{idxlayout}
\makeindex

% more packages...

\begin{document}

Cover page

% index
\clearpage
\renewcommand\indexname{Table of Contents}
\printindex

\clearpage
Introduction
\index{Introduction}

\clearpage
Document body

\end{document}

包含的文件照常调用索引:例如。\index{1. Introduction}该文件使用 makeindex 和 pdflatex 进行编译。

但我不知道如何改进,也没有发现关于这个主题的类似问题。任何帮助都非常感谢。

答案1

在这个特殊的例子中,它实际上是一个目录,可以通过以下方式简单地生成\tableofcontents

\documentclass{article}

\begin{document}
\tableofcontents

\section{Introduction}
This is an introductory section.

\subsection{Sample Subsection}
This is a sample sub-section.

\end{document}

这不需要任何外部工具,只需要两个 LaTeX 实例(pdflatexxelatexlualatex,视情况而定)。

image of document

这是一个稍微长一点的例子:

\documentclass{book}

\title{Sample Document}
\author{Ann Other}
\begin{document}
\maketitle

\frontmatter
\tableofcontents

\chapter{Preface}
This is the preface.

\mainmatter

\part{Sample Part}

\chapter{Introduction}
This is an introductory chapter.

\section{Sample section}
This is a sample section.

\subsection{Sample Subsection}
This is a sample sub-section.

\appendix
\chapter{Sample Appendix}
This is a sample appendix.

\chapter{Another Sample Appendix}
This is another sample appendix.

\end{document}

目录现在如下所示:

image of document

这将自动处理所有的编号。(\frontmatter将页码切换为小写罗马数字,并抑制部分命令的编号。\mainmatter切换回来。)

如果您使用\index,makeindex 将按字母顺序排列。例如:

\documentclass{book}

\usepackage{makeidx}

\makeindex

\title{Sample Document}
\author{Ann Other}

\begin{document}
\maketitle

\frontmatter
\printindex

\chapter{Preface}\index{Preface}
This is the preface.

\mainmatter

\part{Sample Part}\index{I Sample Part}

\chapter{Introduction}\index{1 Introduction}
This is an introductory chapter.

\section{Sample section}\index{1.1 Sample section}
This is a sample section.

\subsection{Sample Subsection}\index{1.1.2 Sample subsection}
This is a sample sub-section.

\appendix
\chapter{Sample Appendix}\index{A Sample Appendix}
This is a sample appendix.

\chapter{Another Sample Appendix}\index{B Another Sample Appendix}
This is another sample appendix.

\end{document}

得出的结果为:

image of index

为了回答您关于更改索引项和相应数字之间的分隔符的实际问题,您需要创建一个更改适当分隔符的样式文件:

\documentclass{article}

\usepackage{makeidx}

\usepackage{filecontents}
\begin{filecontents*}{\jobname.ist}
delim_0 "\\dotfill"
delim_1 "\\dotfill"
delim_2 "\\dotfill"
\end{filecontents*}

\makeindex

\begin{document}
Test\index{test}\index{test!subitem}\index{test!subitem!subsubitem}.

\printindex
\end{document}

现在的调用makeindex需要包含-s在环境.ist创建的文件中filecontents。例如,如果调用该文档,myDoc.tex则:

pdflatex myDoc
makeindex -s myDoc.ist myDoc
pdflatex myDoc

image of index

索引默认为 2 列格式,因此点不会占据整个页面宽度。您可能更喜欢使用imakeidx而不是 ,makeidx以便更轻松地进行自定义。

相关内容