如何在 KOMA-Script 中实现 chapterthumb 功能?

如何在 KOMA-Script 中实现 chapterthumb 功能?

我来自这里因为我正在寻找一种方法来根据 d 获得 chapterthumb 工作方向

我手动将chapterthumb.sty包安装到 texlive2013 发行版中。但是,MWE 没有工作——错误:File chapterthumb.sty' not found. \pagestyle 当我将鼠标悬停在 上时,文本编辑器 (TexStudio) 显示包存在\usepackage{chapterthumb}。我不知道这是否足以说明包被 texlive 识别。我遗漏了什么?

注意:
Xetex 编译。

更新
我有 Windows 7 平台,根据 Chirstian Hupfer 的建议,我将.sty文件放在在职的目录,这在 v0.1 chapterthumb 包上有效,但在 v0.2 上无效。

要求
以 MWE 代码显示:

  1. 如何才能阻止 chapterthumb 出现在目录和附录章节中?
  2. 如何将章节缩略图的文本从 更改Chapter 1IntroductionChapter 2更改为Materials & Methods,等等,如上面链接的网站所承诺的那样。

平均能量损失

\documentclass{scrbook}
\usepackage{chapterthumb}
\pagestyle{scrheadings}
\lohead[\putchapterthumb]{\putchapterthumb}
\addtokomafont{chapterthumb}{\bfseries}
\begin{document}
\chapter{Am Anfang beginnt es}\dots
\chapter{Weiter}\dots
\chapter{Und weiter}\dots
\chapter{Und noch weiter}\dots
\chapter{Und immer weiter}\dots
\chapter{Geht die Reise}\dots
\chapter{Hinaus}\dots
\chapter{Und weiter hinaus}\dots
\chapter{Immer weiter hinaus}\dots
\end{document} 

更新
由于 KOMA 脚本更新,无法保证 MWE 或解决方案中的代码能够正常工作。新版本的 chapterthumb 包不再基于 scrpage2 包,而是基于其后继的 scrlayer 包。请参阅http://www.komascript.de/chapterthumbs-example了解更多信息。

答案1

编辑2014 年 7 月 10 日:** 上述问题及其解决方案将在后续问题中继续,可在此处找到:如何使章节缩略图与 KOMA-Script 中的章节标题相匹配?,其中提供了更好的方法。

chapterthumb可以通过禁用pagestyle{scrheadings}KOMA 类并在稍后需要时再次启用它来删除该样式。

为了打印章节标题而不是Chapter 1等,一种方法是将当前章节标题存储为标签内容,然后使用它在重新定义(捕获 [] 和 * 版本)和重新定义命令\nameref*中引用该标签名称。 (有关标签方法的更多详细信息,请参阅我的问题(和答案)\chapter\chapterthumbformatchapterthumb.sty将文本内容写为标签并使用 \nameref* 引用它们

注意:然而,这可能会导致非常长的章节拇指框!

注2:错误的根源在于章节号的重新设置!

\documentclass{scrbook}
\usepackage{chapterthumb}%
\usepackage{etoolbox}%
\usepackage{nameref}%
\lohead[\putchapterthumb]{\putchapterthumb}
\addtokomafont{chapterthumb}{\bfseries}

%
\let\LaTeXStandardChapter\chapter%
\renewcommand*{\chapterthumbformat}{\refcommand{chapter::title::\number\value{chapter}}}%

\makeatletter

\newcounter{totalchaptercounter}%

\newrobustcmd{\WriteChapterTitleToAux}[1]{%
\refstepcounter{totalchaptercounter}%
\immediate\write\@auxout{%
\string\newlabel{chapter::title::\number\value{totalchaptercounter}}{{\thesection}{\thepage}{\unexpanded{#1}}{}}
}% End of writing to AUX file
}%

\newrobustcmd{\refcommand}[1]{%
\nameref*{#1}%
}%

\newcommand{\chapter@noopt}[1]{%
\WriteChapterTitleToAux{#1}%
\LaTeXStandardChapter{#1}%
}%

\newcommand{\chapter@opt}[2][]{%
\WriteChapterTitleToAux{#2}%
\LaTeXStandardChapter[#1]{#2}%
}%


\newcommand{\unstarredchapter}{%
\@ifnextchar[{\chapter@opt}{\chapter@noopt}%
}%

\newcommand{\starredchapter}[1]{%
\LaTeXStandardChapter*{#1}
}%



\renewcommand{\chapter}{%
\@ifstar{\starredchapter}{\unstarredchapter}%
}%


\begin{document}
\pagestyle{plain}%
\tableofcontents
\clearpage
\pagestyle{scrheadings}

\chapter{Am Anfang beginnt es}\dots
\chapter{Weiter}\dots
\chapter{Und weiter}\dots
\chapter{Und noch weiter}\dots
\chapter{Und immer weiter}\dots
\chapter{Geht die Reise}\dots
\chapter{Hinaus}\dots
\chapter{Und weiter hinaus}\dots
\chapter{Immer weiter hinaus}\dots
\clearpage%
\pagestyle{plain} % Or any other user defined style
\appendix%
\section{Appendix A}%
\end{document}

在此处输入图片描述

相关内容