这是对这个问题的后续回答在 lineno 的 linenumbers 环境中将旧式数字更改为内衬数字
我发现那里给出的建议并不针对打印在节标题旁边的页边空白处的行号。它们仍然以旧式数字打印。我怎样才能让它们也显示为行号?
\documentclass{article}
\usepackage{lipsum,fontspec,lineno}
\setmainfont[Numbers=OldStyle]{Linux Libertine O}
\renewcommand\linenumberfont{\scriptsize\addfontfeatures{Numbers=Lining}}
\begin{document}
\begin{linenumbers}
\section{My first section}
\lipsum[1]
\section{My second section}
\lipsum[2]
\end{linenumbers}
\end{document}
答案1
您可以简单地\normalfont
添加
\renewcommand\linenumberfont{\scriptsize\addfontfeatures{Numbers=Lining}}
所以
\renewcommand\linenumberfont{\normalfont\scriptsize\addfontfeatures{Numbers=Lining}}
完成 MWE
\documentclass{article}
\usepackage{lipsum,fontspec,lineno}
\setmainfont[Numbers=OldStyle]{Linux Libertine O}
\renewcommand\linenumberfont{\normalfont\scriptsize\addfontfeatures{Numbers=Lining}}
\begin{document}
\begin{linenumbers}
\section{My first section}
\lipsum[1]
\section{My second section}
\lipsum[2]
\end{linenumbers}
\end{document}
输出
当然,您不会使用粗体行号作为标题,但这是行号的默认行为......