如何在作品集中给出轨道值(字符之间的字母间距)

如何在作品集中给出轨道值(字符之间的字母间距)

我的要求是,需要在页眉和页码(页码)中给出积极的跟踪(即增加字符之间的字母间距),为此我使用以下代码:

\documentclass{book}
\usepackage{lipsum,soul}

\sodef\RHtrack{}{0.95pt}{4pt}{5pt}%

\makeatletter
  \def\ps@headings{
\def\@oddfoot{\relax}%
\def\@evenfoot{\relax}%%
      \def\@evenhead{\fontsize{7}{7}\selectfont{{\thepage}}\ignorespaces\hspace*{7\p@}\ignorespaces{\MakeUppercase\leftmark}\hfill}%
      \def\@oddhead{\fontsize{7}{7}\selectfont\hfill{\MakeUppercase\rightmark}\ignorespaces\hspace*{7\p@}\ignorespaces{\thepage}}%
      \let\@mkboth\markboth
    \def\chaptermark##1{\markboth{\RHtrack{##1}}{\RHtrack{##1}}}%
}
\makeatother

\pagestyle{headings}

\begin{document}

\setcounter{page}{101}

\chapter{Chapter Title}

\lipsum[1-10]

\end{document}

在此处输入图片描述

这仅适用于运行头,但对于对开本则不起作用,请提出建议......

答案1

\ignorespaces无需执行任何操作。我只是删除了它们。要使页面显示间距,您必须先扩展数字,然后再将其提供给\RHtrack。以下使用尽可能\romannumeral扩展(但对于、和编号失败)。\thepageRomanalphAlph

\documentclass{book}
\usepackage{lipsum,soul}

\sodef\RHtrack{}{0.95pt}{4pt}{5pt}%

\makeatletter
\def\ps@headings
  {%
    \def\@oddfoot{\relax}%
    \def\@evenfoot{\relax}%%
    \def\@evenhead
      {%
        \fontsize{7}{7}\selectfont
        \expandafter\RHtrack\expandafter{\romannumeral-`0\thepage}%
        \hspace*{7\p@}%
        \MakeUppercase{\leftmark}\hfill
      }%
    \def\@oddhead
      {%
        \fontsize{7}{7}\selectfont
        \hfill
        \MakeUppercase{\rightmark}%
        \hspace*{7\p@}%
        \expandafter\RHtrack\expandafter{\romannumeral-`0\thepage}%
      }%
    \let\@mkboth\markboth
    \def\chaptermark##1{\markboth{\RHtrack{##1}}{\RHtrack{##1}}}%
  }
\makeatother

\pagestyle{headings}

\begin{document}

\setcounter{page}{101}

\chapter{Chapter Title}

\lipsum[1-10]

\end{document}

在此处输入图片描述

如果您使用 pdfTeX 或 LuaTeX,您可以考虑使用microtype及其字母间距:

\documentclass{book}
\usepackage{lipsum}

\usepackage[letterspace=150]{microtype}

\makeatletter
\def\ps@headings
  {%
    \def\@oddfoot{\relax}%
    \def\@evenfoot{\relax}%%
    \def\@evenhead
      {%
        \fontsize{7}{7}\selectfont
        \lsstyle
        \thepage
        \hspace*{7\p@}%
        \MakeUppercase{\leftmark}\hfill
      }%
    \def\@oddhead
      {%
        \fontsize{7}{7}\selectfont
        \lsstyle
        \hfill
        \MakeUppercase{\rightmark}%
        \hspace*{7\p@}%
        \thepage
      }%
    \let\@mkboth\markboth
    \def\chaptermark##1{\markboth{##1}{##1}}%
  }
\makeatother

\pagestyle{headings}

\begin{document}

\setcounter{page}{101}

\chapter{Chapter Title}

\lipsum[1-10]

\end{document}

(结果看起来非常相似)

编辑使用soul和一个临时宏进行扩展使用\edef可以得到使用解决方案,soul以适用于 LaTeX 中的每个标准计数器格式(我希望我没有忘记一个,我测试过:arabic,,,,,):alphAlphromanRoman

\documentclass{book}
\usepackage{lipsum,soul}

\sodef\RHtrack{}{0.95pt}{4pt}{5pt}%

\makeatletter
\def\ps@headings
  {%
    \def\@oddfoot{\relax}%
    \def\@evenfoot{\relax}%%
    \def\@evenhead
      {%
        \fontsize{7}{7}\selectfont
        \begingroup
        \edef\tmp{\thepage}%
        \expandafter\RHtrack\expandafter{\tmp}%
        \endgroup
        \hspace*{7\p@}%
        \MakeUppercase{\leftmark}\hfill
      }%
    \def\@oddhead
      {%
        \fontsize{7}{7}\selectfont
        \hfill
        \MakeUppercase{\rightmark}%
        \hspace*{7\p@}%
        \begingroup
        \edef\tmp{\thepage}%
        \expandafter\RHtrack\expandafter{\tmp}%
        \endgroup
      }%
    \let\@mkboth\markboth
    \def\chaptermark##1{\markboth{\RHtrack{##1}}{\RHtrack{##1}}}%
  }
\makeatother

\pagestyle{headings}

\begin{document}

\setcounter{page}{101}

\chapter{Chapter Title}

\lipsum[1-10]

\end{document}

答案2

使用microtype而不是soul

500 这个倍数有些夸张,只是为了清楚地表明跟踪确实完成了。

\documentclass{book}
\usepackage{microtype}

\usepackage{lipsum}

\makeatletter
\def\ps@headings{%
  \def\@oddfoot{\relax}%
  \def\@evenfoot{\relax}%
  \def\@evenhead{\footnotesize\textls[500]{\thepage\hspace*{7\p@}\MakeUppercase{\leftmark}}\hfill}%
  \def\@oddhead{\hfill\footnotesize\textls[500]{\MakeUppercase{\rightmark}\hspace*{7\p@}\thepage}}%
  \let\@mkboth\markboth
  \def\chaptermark##1{\markboth{##1}{##1}}%
}
\makeatother

\pagestyle{headings}

\begin{document}

\setcounter{page}{101}

\chapter{Chapter Title}

\lipsum[1-20]

\end{document}

在此处输入图片描述

相关内容