.png)
Для добавления многостраничных списков code
используется среда. Стиль номера первой страницы использует шрифт mono. Стиль номера второй страницы использует шрифт serif. Мне нужен шрифт serif для всех страниц. Где моя ошибка?
МВЭ:
% !TeX program = lualatex
% !TeX encoding = utf-8
%-----------------
\documentclass[oneside]{book}
\usepackage{polyglossia}
%-----------------
\setdefaultlanguage[spelling=modern]{russian}
\setotherlanguage{english}
\setmonofont{Courier New}
\newfontfamily\cyrillicfonttt[Script=Cyrillic]{Courier New}[Scale=0.976]
\defaultfontfeatures{Ligatures=TeX}
\setmainfont{Times New Roman}
\newfontfamily\cyrillicfont{Times New Roman}[Scale=0.976]
\linespread{1.464}
%-----------------
\usepackage{lipsum}
%-----------------
\usepackage{fancyhdr}
\pagestyle{fancy}
\fancyhf{}
\fancyhead[C]{\thepage}
\renewcommand{\headrule}{}
\fancypagestyle{plain}{
\fancyhead[C]{\thepage}
}
%-----------------
\usepackage[singlelinecheck=false]{caption}
%-----------------
\usepackage[newfloat]{minted}
\usemintedstyle{xcode}
\setminted{xleftmargin=0.5cm, linenos, numbersep=5pt, breaklines, breakanywhere, frame=single, framesep=1ex, fontsize=\small}
%
\newenvironment{code}{\captionsetup{type=listing, belowskip=-14pt plus 2pt minus 2pt}}{}
\SetupFloatingEnvironment{listing}{name=сode}
\AtBeginEnvironment{code}{\vspace{28pt plus 2pt minus 2pt}}
%-----------------
\begin{document}
Listing usage example:
\begin{code}
\caption{Listing foo (code) \thelisting}
\inputminted{tex}{\jobname.tex}
\end{code}
\end{document}
Заранее спасибо.
решение1
Заголовок страницы набирается во время \inputminted
подготовки дословной среды, поэтому заголовок набирается моноширинным шрифтом.
Декларирование \normalfont\thepage
должно работать, но есть сложности, связанные с этим, polyglossia
и в данном случае \cyrillicfont
это необходимо.
\documentclass[oneside]{book}
\usepackage{polyglossia}
\usepackage{fancyhdr}
\usepackage[singlelinecheck=false]{caption}
\usepackage[newfloat]{minted}
\usepackage{lipsum}
\setdefaultlanguage[spelling=modern]{russian}
\setotherlanguage{english}
\setmainfont{Times New Roman}
\setmonofont{Courier New}
\newfontfamily\cyrillicfont{Times New Roman}[
% Scale=0.976
]
\newfontfamily\cyrillicfonttt{Courier New}[
Script=Cyrillic,
Scale=0.976
]
\fancyhf{}
\fancyhead[C]{\cyrillicfont\thepage}
\renewcommand{\headrulewidth}{0pt}% <--- not \headrule
\pagestyle{fancy}
\usemintedstyle{xcode}
\setminted{
xleftmargin=0.5cm,
linenos,
numbersep=5pt,
breaklines,
breakanywhere,
frame=single,
framesep=1ex,
fontsize=\small,
}
\newenvironment{code}
{\captionsetup{type=listing, belowskip=-14pt plus 2pt minus 2pt}}
{}
\SetupFloatingEnvironment{listing}{name=сode}
\AtBeginEnvironment{code}{\vspace{28pt plus 2pt minus 2pt}}
\linespread{1.464}
\begin{document}
Listing usage example:
\begin{code}
\caption{Listing foo (code) \thelisting}
\inputminted{tex}{\jobname.tex}
\end{code}
\end{document}
Я бы использовал babel
. В любом случае, я переделал вашу преамбулу так, чтобы сначала были пакеты, а потом настройки. Проверьте небольшие изменения, внесенные для единообразия, но не только.
С babel
этим проблем нет.
\documentclass[oneside]{book}
\usepackage[main=russian,english]{babel}
\usepackage{fancyhdr}
\usepackage[singlelinecheck=false]{caption}
\usepackage[newfloat]{minted}
\usepackage{lipsum}
\babelfont{rm}{Times New Roman}
\babelfont{sf}[Scale=MatchLowercase]{Arial}
\babelfont{tt}[Scale=0.976]{Courier New}
\fancyhf{}
\fancyhead[C]{\thepage}
\renewcommand{\headrule}{}
\pagestyle{fancy}
\usemintedstyle{xcode}
\setminted{
xleftmargin=0.5cm,
linenos,
numbersep=5pt,
breaklines,
breakanywhere,
frame=single,
framesep=1ex,
fontsize=\small,
}
\newenvironment{code}
{\captionsetup{type=listing, belowskip=-8pt plus 2pt minus 2pt}}
{}
\SetupFloatingEnvironment{listing}{name=сode}
\AtBeginEnvironment{code}{\vspace{28pt plus 2pt minus 2pt}}
\linespread{1.464}
\begin{document}
Listing usage example:
\begin{code}
\caption{Listing foo (code) \thelisting}
\inputminted{tex}{\jobname.tex}
\end{code}
\end{document}