私は Overleaf で博士論文を執筆しており、オンラインで見つけて大学のガイドラインに合わせて調整したテンプレートを使用しています。私は LaTeX の初心者で、基本的なユーザーです。
約 1 か月前から、エラーは表示されていないのに、Overleaf で論文をコンパイルできなくなりました。このため、Mac に LaTeX をダウンロードしましたが、文書をコンパイルしようとすると、次のエラー メッセージが表示されます: Argument of \blx@defformat@i has an extra }
92 行目を参照 (大学のガイドラインに合わせて変更した参考文献設定)。
これは私の序文の一部です:
\documentclass[
12pt,
openany,
english,
onehalfspacing,
headsepline,
]{MastersDoctoralThesis} % The class file specifying the document structure
\usepackage[T1]{fontenc} % Output font encoding for international characters
\usepackage{fontspec}
\usepackage{multirow}
\usepackage{tabularx}
\setmainfont{Times New Roman}
\hyphenpenalty=1000 % preventing splitting of words
\usepackage{xurl}
\usepackage{hyperref}
\hypersetup{breaklinks=true}
\usepackage{ragged2e}
\usepackage[format=plain,margin=25pt,font=small,labelsep=colon]{caption}
\newcommand{\foo}{\foo}
%------------------------------------------------------------------- BIBLIOGRAPHY SETTINGS UNIGRAZ ---------------------------------------------------------------------
\usepackage[style=ext-authoryear,sorting=nyt,sortcites=true,mincitenames=1,maxcitenames=3,autopunct=true,autolang=hyphen,hyperref=true,abbreviate=true,backref=false,backend=biber,maxbibnames=20,innamebeforetitle=true,uniquename=false,uniquelist=false]{biblatex} % Use the bibtex backend with the authoryear citation style (which resembles APA)
\DeclareDelimFormat{multinamedelim}{\addslash} %slash between names
\DeclareDelimAlias{finalnamedelim}{multinamedelim}
\renewcommand{\bibpagespunct}{\addcomma\addspace}
\DeclareFieldFormat{pages}{#1} %remove "pp"
\DeclareFieldFormat[article,incollection]{pages}{#1}
\renewbibmacro*{volume+number+eid}{
\printfield{volume}
\setunit{\addcolon}
\printfield{number}
\setunit{\addcomma\space}%
\printfield{eid}}
\DeclareFieldFormat[article,incollection]{number}{\addcolon{#1}} %volume:issue
\usepackage{xpatch}
\xpatchbibdriver{article}
{\usebibmacro{title}%
\newunit}
{\usebibmacro{title}%
\printunit{\addcomma\space}}
{}
{} %comma after title of articles
\DefineBibliographyStrings{english}{%
urlfrom = {in},
}
\DeclareFieldFormat{url}{\bibstring{urlfrom}\addcolon\space\url{#1}} %url as "in"
\DeclareFieldFormat[misc]
**\usepackage{xpatch}** %here error while compiling
\xpatchbibdriver{misc}
{\usebibmacro{title}%
\newunit}
{\usebibmacro{title}%
\printunit{\addcomma\space}}
{}
{}%comma after titles of articles in websites
\DeclareFieldFormat{urldate}{\mkbibbrackets{\bibstring{urlseen}#1}}
\DefineBibliographyStrings{english}{urlseen ={}} %url in square brackets without "accessed on"
\DeclareNameAlias{sortname}{family-given} %lastname first
\renewcommand{\labelnamepunct}{\addspace} %no period after year
\renewcommand*{\postnotedelim}{\addcolon}
\DeclareFieldFormat{postnote}{#1}
\DeclareFieldFormat{multipostnote}{#1} %quotes (year:page)
\DeclareFieldFormat{editortype}{\mkbibparens{#1}}
\DeclareDelimFormat{editortypedelim}{\addspace}
\DeclareFieldAlias{translatortype}{editortype}
\DeclareDelimAlias{translatortypedelim}{editortypedelim}
\DeclareNameAlias{default}{family-given}
\DeclareNameAlias{sortname}{family-given}
\renewbibmacro*{in:}{%
\setunit{\addcomma\space}%
\printtext{%
\bibstring{in}\intitlepunct}} %incollection with title, :in editor (ed.)
\DeclareLabeldate{\field{year}\field{eventdate} \field{origdate}\literal{nodate}} % n.d. in sites when no year
\addbibresource{example.bib} % The filename of the bibliography
\usepackage[autostyle=true]{csquotes} % Required to generate language-dependent quotes in the bibliography
\setlength\bibitemsep{0.5\baselineskip} % space between bibliography entries
答え1
マーカーの前の線に%here error while compiling
欠陥があります。
\DeclareFieldFormat[misc]
\DeclareFieldFormat
は単に不完全です。の構文は
\DeclareFieldFormat[<entry type_1,...,entry type_n>]{<field>}{<formatting code>}
問題となっている行には、2 つの必須引数がありません。2 つの引数が何であるべきかは推測できないため、このエラーを解消するには、この行を削除することをお勧めします。
Overleaf では、PDF 出力を生成する場合でも、この問題のある行に対してエラーが表示されることに注意してください。
確かに試してみると
\documentclass[british]{article}
\usepackage[T1]{fontenc}
\usepackage{babel}
\usepackage{csquotes}
\usepackage[backend=biber, style=authoryear]{biblatex}
\DeclareFieldFormat[misc]
\addbibresource{biblatex-examples.bib}
\begin{document}
Lorem \autocite{sigfridsson}
\printbibliography
\end{document}
例えばhttps://www.overleaf.com/read/rvgqqbfngrrv
Overleaf からエラーが 1 つ報告されました (「再コンパイル」ボタンの横にある 1 の付いた赤いボックスを参照 - ピンク色で強調表示)
Overleafはエラーメッセージを隠すのに非常に優れています。だからこそ、いつも文書に誤りがないことを確認してください。Overleafユーザーがエラーメッセージに気付かない例。