变化

变化

我正在使用来自“The Legrand Orange Book”的模板(tex 文件的名称是 main.tex),作者有一个非常漂亮的模板,如下所示:

在此处输入图片描述

但是,使用 WinEdt 的“制作索引”后,我的索引就变得很单调,没有像上面那样的颜色。他在模板中提到要运行:

makeindex main.idx -s StyleInd.ist

从命令行。我如何在我的文档中实现此索引模板。在他可用的文件夹中,他已经有 .idx 和 ind 文件。但每当我运行 WinEdt 的“制作索引”时,它都会被覆盖,看起来像:

在此处输入图片描述

我怎样才能使 WinEdt 中的索引看起来像上面的第一张图片?

答案1

我找到了一个版本的样式文件MyStyle.ist 这里

delim_0 "\\dotfill\ "
delim_1 "\\dotfill\ "
headings_flag 1
heading_prefix "\\vspace*{0.5cm}\\nopagebreak\n\\tikz\\node at (0pt,0pt) [rounded corners=5pt,draw=ocre,fill=ocre!10,line width=1pt,inner sep=5pt]{\\parbox{\\linewidth-2\\fboxsep-2\\fboxrule-2pt}{\\centering\\large\\sffamily\\bfseries\\textcolor{black}{" heading_suffix "}}};\\vspace*{0.2cm}\\nopagebreak\n"

它使用来自其他包的命令和 color ocre。以下示例使用包imakeidx来生成索引,因为问题标有同名的标签。

完整示例:

\documentclass{article}

% Setup for MyStyle.ist
\usepackage{calc}                         
\usepackage{xcolor}                       
\definecolor{ocre}{HTML}{F16723}
\usepackage{tikz}                       

\usepackage{imakeidx}
\makeindex[options=-s MyStyle.ist]

\begin{document}

% Some empty pages for generating the index entries
\setcounter{page}{6}\index{Citation}\null\newpage
\index{Definitions}\null\newpage
\index{Examples!Equation and Text}\index{Corollaries}\null\newpage
\index{Examples!Paragraph of Text}\null\newpage

% Index
\begingroup
  % \fbox* settings to fix the code in MyStyle.ist   
  \setlength{\fboxsep}{5pt}% 
  \setlength{\fboxrule}{0pt}%
  \printindex
\endgroup

\end{document}

结果

变化

如果 makeindex 的样式文件是针对某个项目的,那么样式文件可以以 TeX 文件的名称保存,但使用扩展名mst( \jobname.mst)。如果 makeindex 自动加载这样的文件,则无需通过选项指定样式文件(参见上文:-s MyStyle.ist)。

环境filecontents可用于将样式文件的内容放入 TeX 文件中。如果文件不存在,则写入,但不会更新。如果filecontents加载了包,则文件总是书面的,即使它存在。

我不会使用复杂的 TeX 代码,而是使用可以在 TeX 文件中定义的标记命令。

完整示例,对样式代码进行了一些更改:

\RequirePackage{filecontents}
\begin{filecontents*}{\jobname.mst}
delim_0 "\\IndexDotfill "
delim_1 "\\IndexDotfill "
headings_flag 1
heading_prefix "  \\IndexHeading{"
heading_suffix "}\n"
\end{filecontents*}

\documentclass{article}

% Setup for MyStyle.ist
\usepackage{xcolor}
\definecolor{ocre}{HTML}{F16723}
\usepackage{tikz}

\newcommand*{\IndexDotfill}{%
  \nobreak\dotfill\ \nobreak
}
\renewcommand*{\indexspace}{%
  \par
  \vspace{25pt plus 6pt minus 4pt}%
}
\newcommand*{\IndexHeading}[1]{%
  \tikz\node[
    rounded corners=5pt,
    draw=ocre,
    fill=ocre!10,
    line width=1pt,
    inner sep=5pt,
    align=center,
    font=\sffamily\bfseries\large,
    minimum width=\linewidth-\pgflinewidth,
  ] {#1};%
  \nopagebreak
  \par
  \vspace{2mm}%
}

\usepackage{imakeidx}
\makeindex

\begin{document}

% Some empty pages for generating the index entries
\setcounter{page}{6}\index{Citation}\null\newpage  
\index{Definitions}\null\newpage
\index{Examples!Equation and Text}\index{Corollaries}\null\newpage
\index{Examples!Paragraph of Text}\null\newpage

% Index
\printindex

\end{document}

结果

答案2

makeindex只是为了让您知道如何在 WinEdt的命令行中动态添加其他选项。

打开“执行模式”对话框(选项菜单),并为 MakeIndex 应用程序选择“现场输入额外开关”选项

在此处输入图片描述

在编译时,系统会提示你插入额外选项并输入-s StyleInd.ist

在此处输入图片描述

如果您想永久添加它,请-s StyleInd.ist在“开关”字段中输入

在此处输入图片描述

相关内容