如果我已经加载了 tikz 包,为什么 makenote 不起作用?

如果我已经加载了 tikz 包,为什么 makenote 不起作用?

我本来想问一个关于 tikz 和如何scrlayer-notecolumn交互的问题。但在我的 MWE 中,它们似乎甚至不能在同一个文档中使用。我知道事实并非如此,因为在我的主文档中我同时使用了两者。但这是 MWE:

没有 tikz

\documentclass{scrartcl}
\usepackage{kantlipsum}
%\usepackage{tikz}
\usepackage{scrlayer-notecolumn}

\begin{document}
Hello and welcome
\makenote{Just a note}
\kant[1]
\makenote{A second note}
\kant[2]

\end{document}

输出结果与预期一致: 预期收益

usepackage{tikz}

除了取消注释usepackage{tikz}行之外,代码是相同的。

现在的输出是: 失败输出

我的笔记去哪儿了?我尝试过几次构建并清除所有 .snlc 文件和辅助文件,但在这种情况下似乎不起作用。在这个例子中,tikz 甚至没有用于任何事情

答案1

来自以下文档scrlayer-notecolumn

scrlayer-notecolumn 包应该可以解决所有这些问题。为此,它使用了 scrlayer 的基本功能。然而,使用此包有一个缺点:只能在使用基于 scrlayer 的页面样式的页面上输出注释。使用 scrlayer-scrpage 可以轻松解决这个缺点,甚至可能将其转变为优点。

因此您必须加载/使用包scrlayer-scrpage以确保使用层页面样式:

\documentclass{scrartcl}
\usepackage{kantlipsum}
\usepackage{tikz}
\usepackage{scrlayer-scrpage}
\usepackage{scrlayer-notecolumn}
\begin{document}
Hello and welcome
\makenote{Just a note}
\kant[1]
\makenote{A second note}
\kant[2]
\section{A section}
\kant
\end{document}

结果是

在此处输入图片描述

注意,scrlayer-scrpage将 pagestylesheadings和分别重新定义为 pagestyles和plain层的别名。并且它将激活 pagestyle 。scrheadingsplain.scrheadingsscrheadings


补充说明:

scrlayer-notecolumn基于(并加载)包scrlayer,该包自动将页面样式重新定义empty为层页面样式。

\documentclass{scrartcl}
\usepackage{kantlipsum}
\usepackage{scrlayer-notecolumn}
\begin{document}
Hello and welcome
\makenote{Just a note}
\kant[1]
\makenote{A second note}
\kant[2]
\section{A section}
\kant
\end{document}

你会收到警告

包 scrlayer-notecolumn 警告:\clearnotecolumns 激活非层页面样式时。(scrlayer-notecolumn)激活空页面样式,直到输入行 14 上的注释列(scrlayer-notecolumn)被清除。

在文档末尾\clearnotecolumns会自动执行 a 并且注释位于使用 pagestyle 的最后一页empty。我确信这也不是理想的结果。

看起来包tikz阻止了在文档末尾自动执行\clearnotecolumns。但如果在文档末尾添加此命令

\documentclass{scrartcl}
\usepackage{kantlipsum}
\usepackage{tikz}
%\usepackage{scrlayer-scrpage}
\usepackage{scrlayer-notecolumn}
\begin{document}
Hello and welcome
\makenote{Just a note}
\kant[1]
\makenote{A second note}
\kant[2]
\section{A section}
\kant
\clearnotecolumns
\end{document}

您将获得与上面相同的结果:注释在最后一页,并且此页面使用 pagestyle empty

我不推荐,但您可以尝试手动更改页面样式:

\documentclass{scrartcl}
\usepackage{kantlipsum}
\usepackage{tikz}
\usepackage{scrlayer-notecolumn}
\begin{document}
Hello and welcome
\makenote{Just a note}\thispagestyle{empty}
\kant[1]
\makenote{A second note}\thispagestyle{empty}
\kant[2]
\section{A section}
\kant
\end{document}

相关内容