Latex 如何在当前页面上查看新章节是否开始?
我正在使用这个软件包。使用\adderyPageHook命令,我可以在文档的每一页的开头重复操作。现在我想做这样的事情:Latex 如何在当前页面上查看新章节是否开始?,latex,conditional,tex,Latex,Conditional,Tex,我正在使用这个软件包。使用\adderyPageHook命令,我可以在文档的每一页的开头重复操作。现在我想做这样的事情: \AddEverypageHook{ \if "New chapter starts at current page." - "Do stuff." \else "Do other stuff." \fi } 我怎样才能签入latex,新章节是否从当前页面开始?我有一个解决方案。目的是检查chapternumber计数器是否已更改。这是由自定义计数器完成的:
\AddEverypageHook{
\if "New chapter starts at current page." - "Do stuff."
\else "Do other stuff."
\fi
}
我怎样才能签入latex,新章节是否从当前页面开始?我有一个解决方案。目的是检查chapternumber计数器是否已更改。这是由自定义计数器完成的:
\newcounter{CurrentChapNum}
- 如果章节计数器没有更改,那么我们仍然在当前章节中,所以请执行\customcommand1内容
- 如果计数器已更改,则我们似乎处于新章节的开头,因此请填充\customcommand2并将CurrentChapNum计数器重置为当前章节的值
\AddEverypageHook{
\ifnum\value{chapter}=\value{CurrentChapNum} \customcommand1
\else \customcommand2 \setcounter{CurrentChapNum}{\value{chapter}}
\fi
}
因为我对latex标记非常陌生,我希望这不会太笨拙。我有一个解决方案。目的是检查chapternumber计数器是否已更改。这是由自定义计数器完成的:
\newcounter{CurrentChapNum}
- 如果章节计数器没有更改,那么我们仍然在当前章节中,所以请执行\customcommand1内容
- 如果计数器已更改,则我们似乎处于新章节的开头,因此请填充\customcommand2并将CurrentChapNum计数器重置为当前章节的值
\AddEverypageHook{
\ifnum\value{chapter}=\value{CurrentChapNum} \customcommand1
\else \customcommand2 \setcounter{CurrentChapNum}{\value{chapter}}
\fi
}
由于我对latex标记的内容还不太熟悉,我希望这不会太笨拙。在一个典型的文档中,发出
\chapter
命令之后会自动分页符。例如,请参见中的\chapter
的功能:
它发出一个\clearpage
(或\cleardoublepage
),刷新任何挂起的内容并从新页面开始
因此,根据您的设置,使用的\afterpage{}
宏在当前页面之后执行
就足够了。例如,在序言中,您将
\let\oldchapter\chapter % Store \chapter
\renewcommand{\chapter}{% Redefine \chapter to...
\afterpage{\customcommand}% ...execute \customcommand after this page
\oldchapter}
当然,这只有在不在非章节页面上执行任何其他操作时才有意义,因为该条件与\chapter
相关。因此,在每个页面上做出文档范围的决策可能需要稍微不同的方法
我仍然建议点击\chapter
宏,但使用条件。下面是一个示例(单击以放大图像):
上述方法的优点是它适用于
\chapter
和\chapter*
\chapter*
不会增加chapter
计数器,因此依靠基于这种比较的条件是不够的。在典型文档中,发出\chapter
命令后会自动分页符。例如,请参见中的\chapter
的功能:
它发出一个\clearpage
(或\cleardoublepage
),刷新任何挂起的内容并从新页面开始
因此,根据您的设置,使用的\afterpage{}
宏在当前页面之后执行
就足够了。例如,在序言中,您将
\let\oldchapter\chapter % Store \chapter
\renewcommand{\chapter}{% Redefine \chapter to...
\afterpage{\customcommand}% ...execute \customcommand after this page
\oldchapter}
当然,这只有在不在非章节页面上执行任何其他操作时才有意义,因为该条件与\chapter
相关。因此,在每个页面上做出文档范围的决策可能需要稍微不同的方法
我仍然建议点击\chapter
宏,但使用条件。下面是一个示例(单击以放大图像):
上述方法的优点是它适用于
\chapter
和\chapter*
\chapter*
不会增加chapter
计数器,因此依靠基于这种比较的条件是不够的。点击\chapter
宏可能比每页检查更容易。你到底想做什么?嗨,沃纳。我为每个页面添加了一个彩色的拇指索引(这就是everypage包的原因)。这很有效。但是,我希望包含“chapter X”字符串的页面的外观有所不同。@Werner:因为我不知道是否有其他代码在某个地方重新定义了chapter宏,所以再次这样做是否有危险?点击\chapter
宏可能比检查每一页更容易。你到底想做什么?嗨,沃纳。我为每个页面添加了一个彩色的拇指索引(这就是everypage包的原因)。这很有效。但是,我希望包含“chapter X”字符串的页面的外观有所不同。@Werner:因为我不知道是否有其他代码在某个地方重新定义了chapter宏,再次这样做是否危险?除非您使用的是\chapter*
,否则这种用法应该可以。我添加了地址。除非您使用的是\chapter*
,否则这种用法应该可以。我补充了这个问题。