页眉中的章节编号

页眉中的章节编号

我是新手,这是我第一次问 latex 问题!我想知道是否有可能在批判性版本中创建一种章节计数器、文本部分等,并将它们打印在 fancyhdr 中。我不知道我是否说清楚了。我找到的最接近的方法是用户35641 在这个问题中但问题是,在书籍类的页面布局中,15cm(宽度)和 23cm(高度)的页眉打印在文本的宽度之外。

谢谢

平均能量损失

\documentclass{book}

\usepacakge[utf8]{inputenc}

\usepackage[T1]{fontenc}

\usepackage[latin]{babel}

\usepackage{fancyhdr}

\usepackage[noeledmac]{ledmac} % I know it is obsolete package but, for me, it's working well

\footparagraph{A} % textual variants of apparatus in paragraph

\begin{document}

\beginnumbering % begin line numeration

\pstart

\begin{center}
LIBER I % I would like this to be the first counter to print in fancyhdr

\end{center}


1. %(second type of counter, i.e "chapter")


 Dummy text Dummy text Dummy text Dummy text


1.1  %(third type of counter, i.e "section")

Dummy text Dummy text Dummy text Dummy text Dummy text
\pend
\endnumbering

\end{document}

我所指的例子(不是实际的编译结果) 在此处输入图片描述

原来的链接图片

我想我找到了方法

平均能量损失

\documentclass{book}

\usepacakge[latin]{babel} 

\usepackage[latin]{babel}
\usepackage{fancyhdr} % self explaining
\usepackage{reledmac}
\linenummargin{inner}
\sidenotemargin{outer} % thanks to djdekker.net
\newcounter{libro}% book
\newcounter{capitolo} %chapter bold
\newcounter{sezione} %section  italic
\pagestyle{fancy}
\fancyhead[L,R]{}% reset header
\fancyhead[CO,CE]{\thelibro. \thecapitolo-\thesezione}

 \begin{center}
  % number of book in normal text
 \end{center}
 \beginnumbering
 \pstart

\refstepcounter{libro} % book reference

 \ledsidenote{\textbf{X}} \refstepcounter{capitolo}  Text
 Text

 \ledsidenote{\texit{X}} \refstepcounter{sezione} Text Text  

 \pend

 \endnumbering

 \end{document}

换句话说:我创建了三个计数器(libro,capitolo,sezione)。如果是 capitolo 则打印 ledsidenote 粗体(因此 \refstrepcounter{capitolo}),如果是 sezione 则打印斜体(因此 \refstepcounter{sezione})

问题是:ledsidenote 第 3 章在第 2 页,但页眉甚至在第 1 页上打印它。页眉是“静态的”;它不会打印实际页面的实际大写字母/章节。

有什么解决办法吗?

在此处输入图片描述

在此处输入图片描述

答案1

好的,首先我会尝试恢复您的需求,因为您没有说得很明确。

  1. 您需要排版批判版。完美,这就是 ledmac 及其后续产品专为
  2. 在您的批判版本中,您需要添加裁定标题

    1. 章节编号
    2. 起始和结束的诗句编号,取决于当前页面 要管理页眉,您需要fancyhdr,这很完美。

问题是双重的

  1. 为了在标题中获得正确的标记(问题fancyhdr
  2. 使用 (re)ledmac (problem connex) 来管理它。

页眉中的章节编号

因此,从开始fancyhdr。您可能已经读过,或者您应该已经读过,运行标题与标记系统一起工作:

文中要调用的两个命令

  • \markboth{<l>}{<r>}
  • \markright{<r>}

标题中要调用的两个命令

  • \leftmark给出<l>紧接在前的markboth
  • \rightmark返回<r>第一页\markright\markboth当前页的值,或者最后一页\markright或上一页的值。\markboth

就你的情况而言,问题在于你需要处理 3 个标记

  • 章节
  • 起始诗句
  • 结尾诗

我认为确实有一些包允许有更多标记。但是,对于当前情况,我们将简化示例,并考虑您以分页符开始一章。

我将简化示例,使其只有两级编号。当您理解了标记机制后,我们可以稍后寻找更复杂的问题。

一个简化的例子是

\documentclass{book}


\usepackage[latin]{babel}

\usepackage{fancyhdr}

\usepackage{reledmac} % Really, use reledmac, not ledmac
\pagestyle{fancy}%Calling fancy style
\fancyhead[L,R]{}%Reset header
\fancyfoot[C]{\thepage}%Page number in foot

\fancyhead[C]{\theliber, \rightmark-\leftmark}% In the center, print liber number + division
\newcounter{liber}%a spectific counter for liber


\newcommand{\division}[1]{#1.\markboth{#1}{#1}}%uste a shortup for divison
\begin{document}


\newpage
\refstepcounter{liber}
\begin{center}
    LIBER \theliber
\end{center}

\division{1} Dummy text Dummy text Dummy text Dummy text


\division{2} Dummy text Dummy text Dummy text Dummy text Dummy text
\newpage % Juste for the example
s

\division{3}
s

\division{4}
s

\newpage
\refstepcounter{liber}
\begin{center}
    LIBER \theliber
\end{center}

\division{1} Dummy text Dummy text Dummy text Dummy text


\division{2} Dummy text Dummy text Dummy text Dummy text Dummy text
\newpage % Juste for the example
s

\division{3}
s

\division{4}
s

\end{document}

我根本不是专家\mark,我认为您可能需要更复杂的情况来处理。但我的观点是,这个问题与没有直接关系ledmac。你只需要清楚地解释你在标题中需要什么类型的划分,以及你需要范围的事实。

现在,处理 ledmac

首先,我很遗憾地告诉您,您需要切换到 reledmac。为什么?因为\mark无法直接在 ledmac 中处理,并且您需要 reledmac 的功能。

这里要记住一个基本规则ledmac:在\pstart...之间\pend,不要使用:

  • 大小字体改变
  • 理由修改
  • 标记命令。

那么,如何处理

  1. 您的center环境可以在可选参数中使用\pstart
  2. 您可以使用\doinsidethislinehook包含类似以下内容的命令\marking。查看http://mirrors.ctan.org/macros/latex/contrib/reledmac/examples/2-subdivision-number-in-header.tex举个例子

以下是针对 reledmac 的改编代码

\documentclass{book}


\usepackage[latin]{babel}

\usepackage{fancyhdr}

\usepackage{reledmac} % Really, use reledmac, not ledmac
\pagestyle{fancy}%Calling fancy style
\fancyhead[L,R]{}%Reset header
\fancyfoot[C]{\thepage}%Page number in foot

\fancyhead[C]{\theliber, \rightmark-\leftmark}% In the center, print liber number + division
\newcounter{liber}%a spectific counter for liber


\newcommand{\division}[1]{#1.\doinsidethislinehook{\markboth{#1}{#1}}}%uste a shortup for divison
\begin{document}


\beginnumbering
\pstart[\newpage
\refstepcounter{liber}
\begin{center}
    LIBER \theliber
\end{center}]
\division{1} Dummy text Dummy text Dummy text Dummy text
\pend
\pstart
\division{2} Dummy text Dummy text Dummy text Dummy text Dummy text
\pend
\newpage % Juste for the example
\pstart
s
\pend
\pstart
\division{3}
s
\pend
\pstart
\division{4}
s
\pend
\newpage
\pstart[
\refstepcounter{liber}
\begin{center}
    LIBER \theliber
\end{center}
]
\division{1} Dummy text Dummy text Dummy text Dummy text
\pend
\pstart
\division{2} Dummy text Dummy text Dummy text Dummy text Dummy text
\pend
\newpage % Juste for the example
\pstart
s
\pend
\pstart
\division{3}
s
\pend
\pstart
\division{4}
s
\pend
\endnumbering
\end{document}

总体结论

  1. 首先,不用 reledmac 思考
  2. 然后,适配reledmac

相关内容