biblatex를 사용하여 latin1을 인코딩하는 데 문제가 있습니다.

biblatex를 사용하여 latin1을 인코딩하는 데 문제가 있습니다.

패키지 에 약간의 문제가 있습니다 biblatex. pdflatex를 사용하여 컴파일하려고 하면 다음 WARN 메시지가 반환됩니다.

Process started: biber.exe AuxDirectory/"example"

INFO - This is Biber 2.12
INFO - Logfile is 'AuxDirectory/example.blg'
INFO - Reading 'AuxDirectory/example.bcf'
INFO - Found 2 citekeys in bib section 0
INFO - Processing section 0
INFO - Looking for bibtex format file 'example.bib' for section 0
INFO - LaTeX decoding ...
INFO - Found BibTeX data source 'example.bib'
INFO - Overriding locale 'pt-BR' defaults 'variable = shifted' with 'variable = non-ignorable'
INFO - Overriding locale 'pt-BR' defaults 'normalization = NFD' with 'normalization = prenormalized'
INFO - Sorting list 'none/global//global/global' of type 'entry' with template 'none' and locale 'pt-BR'
INFO - No sort tailoring available for locale 'pt-BR'
INFO - Writing 'AuxDirectory/example.bbl' with encoding 'latin1'
WARN - The entry 'Adam2009' has characters which cannot be encoded in 'latin1'.
       - Recoding problematic characters into macros.
WARN - The entry 'Adam2010' has characters which cannot be encoded in 'latin1'.
       - Recoding problematic characters into macros.
INFO - Output to AuxDirectory/example.bbl
INFO - WARNINGS: 2

Process exited normally

내 tex 파일에 다음과 같은 최소 코드를 사용했습니다.

\documentclass[a4paper,twoside,openright,final]{memoir}%
\usepackage{fouriernc}
\usepackage[T1]{fontenc}
\usepackage[latin1]{inputenc}
\usepackage{lastpage}
\usepackage{indentfirst}
\usepackage[backend=biber,style=numeric-comp,sorting=none,sortlocale=auto,bibencoding=auto,backref=true,date=year]%
{biblatex}
\usepackage{url}
\usepackage[english,brazilian]{babel}
\usepackage{csquotes}


\settrimmedsize{297mm}{210mm}{*}
\setlength{\trimtop}{0pt}
\setlength{\trimedge}{\stockwidth}
\addtolength{\trimedge}{-\paperwidth}
\settypeblocksize{247mm}{160mm}{*}
\setulmargins{3cm}{*}{*}
\setlrmargins{*}{*}{1.5}
\setmarginnotes{17pt}{51pt}{\onelineskip}
\setheadfoot{\onelineskip}{2\onelineskip}
\setheaderspaces{*}{2\onelineskip}{*}
\checkandfixthelayout
\frenchspacing
\addbibresource{example.bib}

\makeatother


\begin{document}
    \cite{Adam2009}
    \cite{Adam2010}
    \printbibliography
\end{document}

아래에는 문제가 있는 두 가지 참조가 포함된 최소한의 턱받이 코드도 제시됩니다.

@Article{Adam2009,
  author    = {Adam, C. and Klimas, P. and S{\'a}nchez-Guill{\'e}n, J. and Wereszczy{\'n}ski, A.},
  title     = {Compact baby Skyrmions},
  journal   = {Physical Review D},
  year      = {2009},
  volume    = {\bfseries 80},
  issue     = {10},
  month     = {11},
  pages     = {105013},
  doi       = {10.1103/PhysRevD.80.105013},
  url       = {https://link.aps.org/doi/10.1103/PhysRevD.80.105013},
  urldate   = {2019-01-31},
  numpages  = {14},
  publisher = {American Physical Society},
}


@Article{Adam2010,
  author       = {Adam, C. and Roma{\'n}czukiewicz, T. and S{\'a}nchez-Guill{\'e}n, J. and Wereszczy{\'n}ski, A.},
  title        = {Investigation of restricted baby Skyrme models},
  journaltitle = {Phys.ical Review D},
  year         = {2010},
  volume       = {\bfseries 81},
  number       = {8},
  month        = {4},
  pages        = {085007},
  doi          = {10.1103/PhysRevD.81.085007},
  url          = {https://link.aps.org/doi/10.1103/PhysRevD.81.085007},
  urldate      = {2019-01-31},
  numpages     = {10},
  publisher    = {American Physical Society},
}

{\'n}해당 문자를 ' '로 인코딩할 수 없기 때문에 문제가 발생하는 것 같습니다 latin1. 코드를 변경하려고 시도했지만 성공하지 못했습니다. 이 문제를 해결해 줄 수 있는 사람이 있다면 진심으로 감사하겠습니다.

답변1

utf8이 메시지는 단지 경고일 뿐이며 조치를 취하는 것(예: 대신 사용)이 가치가 없다고 판단한 경우 무시해도 됩니다 latin1(모든 것을 UTF-8로 인코딩하는 것이 절대적이라고 생각한다는 점을 덧붙이겠습니다). 여기서는 가장 좋은 솔루션이 될 것이지만 이유가 있을 것입니다.)

경고가 발생하는 이유는NLatin-1에 포함되어 있지 않으므로 Latin-1을 고집하는 경우 실제 문자 대신 LaTeX 매크로 조합으로만 내보낼 수 있습니다(사실 Biber는 여기에서 필요한 것보다 조금 더 급진적입니다. 전체 문자를 작성합니다. 문제가 되는 문자뿐만 아니라 ASCII 매크로를 사용한 항목). Biber는 정렬을 수행할 수 있도록 내부적으로 모든 것을 UTF-8로 변환하므로 이는 문자 입력과 무관합니다. .bbl를 사용한 추가 처리를 위해 문자가 파일에 기록되는 방법에만 관심이 있습니다 biblatex.

옵션을 사용하여 Biber를 호출하면 경고를 피할 수 있습니다 --output-safechars.

biber --output-safechars <filename>

이렇게 하면 모든 비ASCII 문자가 매크로 형식으로 유지되고 문자를 비ASCII 범위의 Latin-1로 변환하려고 시도하지 않습니다. (따라서 .bbl라틴-1 문자가 모두 포함된 항목이 있는 경우 차이가 나타납니다 .)


참고하세요

volume    = {\bfseries 80},

별로 의미론적이지 않습니다. 노력하다

volume    = {80},

~와 함께

\DeclareFieldFormat[article,periodical]{volume}{\mkbibbold{#1}}% volume of a journal

대신에.

관련 정보