다중 페이지 코드 사용 시 글꼴 문제(생성됨)

다중 페이지 코드 사용 시 글꼴 문제(생성됨)

다중 페이지 목록을 추가하려면 code환경이 사용됩니다. 첫 번째 페이지 번호 스타일은 모노 글꼴을 사용합니다. 두 번째 페이지 번호 스타일은 세리프 글꼴을 사용합니다. 모든 페이지에 세리프 글꼴이 필요합니다. 내 실수는 어디에 있습니까?

MWE:

% !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}

관련 정보