프랑스어: 문서 서문에 \usepackage{fontspec}을 추가하세요.

프랑스어: 문서 서문에 \usepackage{fontspec}을 추가하세요.

입력을 고려하십시오

\documentclass{article}
\usepackage{fontspec}
\usepackage[french,main=american]{babel}
% \usepackage{fontspec}%%% Doesn't matter where you use fontspec
\begin{document}
Nothing.
\end{document}

Fontspec 패키지를 포함하는 두 줄 중 어느 줄이 활성화되어 있어도 경고가 표시됩니다.

Package frenchb.ldf Warning: Add \usepackage{fontspec} to the 
(frenchb.ldf)                preamble of your document, on input line 5.

xelatex 또는 lualatex로 컴파일할 때 로그에 인쇄됩니다.

출력 파일이 괜찮은 것 같습니다. 경고가 가짜인가요?

버전:

  • XeTeX 3.14159265-2.6-0.99996(TeX 라이브 2016)
  • LuaTeX 버전 0.95.0(TeX Live 2016)
  • LaTeX2e <2017/01/01> 패치 레벨 1
  • 바벨 2016/04/23 3.9r
  • 글꼴 사양 2017/01/24 v2.5d

답변1

이는 기본적으로 fontspec로드가 중지된 최근 변경 사항의 결과입니다 . xunicode관련 코드는 다음과 frenchb.ldf같습니다.

\ifFBunicode
   \ifdefined\DeclareUTFcharacter
   \else
      \@ifpackageloaded{luainputenc}{}%
        {\PackageWarning{frenchb.ldf}%
         {Add \protect\usepackage{fontspec} to the\MessageBreak
         preamble of your document,}%
        }%
   \fi
\else
  [...irrelevant part...]
\fi

\ifBunicode사용된 엔진이 XeTeX 또는 LuaTeX일 때 조건은 true입니다 . 이 경우 \DeclareUTFcharacter이 수단이 fontspec로드되었다고 가정하고 정의된 경우 아무 작업도 수행되지 않습니다. 이는 xunicode가 로드되었는지 확인하는 것이 아니라 로드되었는지 만 확인하기 때문에 잘못된 테스트입니다 fontspec. 이 패키지는 더 이상 로드되지 않으므로 테스트에서 false를 반환하므로 luainputenc당연히 로드되지 않기 때문에 경고가 발생합니다.

패키지를 사용하여 가 업데이트될 silence때까지 이 가짜 경고를 제거할 수 있습니다 .babel-french\setmainfont


업데이트

2017/01/30에 출시된 버전 3.2g 에서는 babel-french문제가 해결되어야 합니다. .dtx우리가 보는 파일 의 메모에서

\changes{v3.2g}{2017/01/24}{fontspec defines TU encoding now and
  no longer loads xunicode.sty. Test changed.}

이는 관리자가 이미 문제를 알고 있었음을 보여줍니다. 이제 테스트는

\ifFBunicode
  \@ifpackageloaded{fontspec}{}%
     {\@ifpackageloaded{luainputenc}{}%
         {\PackageWarning{frenchb.ldf}%
             {Add \protect\usepackage{fontspec} to the\MessageBreak
              preamble of your document, reported}%
         }%
     }
\else
[...irrelevant part...]
\fi

따라서 로딩이 fontspec구체적으로 확인됩니다.

그러나 이는 (이전과 마찬가지로) fontspec이후에 로드하는 것을 허용하지 않습니다 babel.

관련 정보