PdfLatex、模板和希腊语产生编译错误

PdfLatex、模板和希腊语产生编译错误

我遇到了一个严重的问题,我不知道如何解决。我正在使用 overleaf 和 bristol 模板来写我的论文。我主要用英语写作,但我需要用希腊语写一篇摘要。如果我立即将希腊语添加到 babel,我会得到编译错误。我附上日志以供进一步了解。提前谢谢您。

Missing \endcsname inserted.

<to be read again> 
                   \protect 
l.341 \begin{document}

The control sequence marked <to be read again> should
not appear between \csname and \endcsname.

 memoirthesis.tex, line 341
Extra \endcsname.

<recently read> \endcsname 

l.341 \begin{document}

I'm ignoring this, since I wasn't doing a \csname.

 memoirthesis.tex, line 341
LaTeX Error: Missing \begin{document}.

No \begin{document} command was found. Make sure you have included \begin{document} in your preamble, and that your main document is set correctly.

 Learn more
See the LaTeX manual or LaTeX Companion for explanation.
Type  H <return>  for immediate help.
 ...                                              

l.341 \begin{document}

You're in trouble here.  Try typing  <return>  to proceed.
If that doesn't work, type  X <return>  to quit.

 memoirthesis.tex, line 341
Undefined control sequence.

The compiler is having trouble understanding a command you have used. Check that the command is spelled correctly. If the command is part of a package, make sure you have included the package in your preamble using \usepackage{...}.

 Learn more
\set@color ...\@pdfcolorstack push{\current@color 
                                                  }\aftergroup \reset@color 
l.341 \begin{document}

The control sequence at the end of the top line
of your error message was never \def'ed. If you have
misspelled it (e.g., `\hobx'), type `I' and the correct
spelling (e.g., `I\hbox'). Otherwise just continue,
and I'll forget about whatever was undefined.

 memoirthesis.tex, line 341
Extra \endcsname.

\declare@robustcommand ...e \string #1 \endcsname 

l.341 \begin{document}

I'm ignoring this, since I wasn't doing a \csname.

 memoirthesis.tex, line 341
Missing number, treated as zero.

<to be read again> 
                   \csname  
l.341 \begin{document}

A number should have been here; I inserted `0'.
(If you can't figure out why I needed to see a number,
look up `weird error' in the index to The TeXbook.)

 memoirthesis.tex, line 341
Extra \endcsname.

\font@name ...  \csname  T1/cmtt/m/n/12\endcsname 

l.341 \begin{document}

I'm ignoring this, since I wasn't doing a \csname.

 memoirthesis.tex, line 341
Extra endcsname.

GenericError ...iffirstchoice@ else 6fi endcsname 
                                                  protect GenericError  
l.341 \begin{document}

I'm ignoring this, since I wasn't doing a \csname.

 memoirthesis.tex, line 341
LaTeX Error: Font csname csname T1/cmtt/m/n/12endcsname not found.

See the LaTeX manual or LaTeX Companion for explanation.
Type  H <return>  for immediate help.
 ...                                              

l.341 \begin{document}

Your command was ignored.
Type  I <command> <return>  to replace it with another command,
or  <return>  to continue without it.

 memoirthesis.tex, line 341
Extra endcsname.

GenericError ...iffirstchoice@ else 6fi endcsname 
                                                  protect GenericError  
l.341 \begin{document}

(That makes 100 errors; please try again.) 
Here is how much of TeX's memory you used:
 32104 strings out of 493013
 595925 string characters out of 6135683
 888394 words of memory out of 5000000
 35034 multiletter control sequences out of 15000+600000
 15494 words of font info for 26 fonts, out of 8000000 for 9000
 1146 hyphenation exceptions out of 8191
 55i,3n,92p,1012b,152s stack positions out of 5000i,500n,10000p,200000b,80000s

 memoirthesis.tex
==> Fatal error occurred, no output PDF file produced!

而主要内容是:

%\title{University of Bristol Thesis Template}
\RequirePackage[l2tabu]{nag}        % Warns for incorrect (obsolete) LaTeX usage
%
%
% File: memoirthesis.tex
% Author: Victor Brena
% Description: Contains the thesis template using memoir class,
% which is mainly based on book class but permits better control of 
% chapter styles for example. This template is an adaptation and 
% modification of Oscar's.
% 
% Memoir is a flexible class for typesetting poetry, fiction, 
% non-fiction and mathematical works as books, reports, articles or
% manuscripts. CTAN repository is found at:
% http://www.ctan.org/tex-archive/macros/latex/contrib/memoir/
%
%
% UoB guidelines for thesis presentation were found at:
% http://www.bris.ac.uk/esu/pg/pgrcop11-12topic.pdf#page=49
%
% UoB guidelines:
%
% The dissertation must be printed on A4 white paper. Paper up to A3 may be used
% for maps, plans, diagrams and illustrative material. Pages (apart from the
% preliminary pages) should normally be double-sided.
%
% Memoir class loads useful packages by default (see manual).

\documentclass[a4paper,12pt,lenqo,openbib,oldfontcommands,twoside]{memoir} %add 'draft' to turn draft option on (see below)

%
%
% Adding metadata:

\usepackage{datetime}
\usepackage{ifpdf}
\ifpdf
\pdfinfo{
   /CreationDate (D:\pdfdate)
}
\fi
% When draft option is on. 
\ifdraftdoc 
    \usepackage{draftwatermark}             %Sets watermarks up.
    \SetWatermarkScale{0.3}
    \SetWatermarkText{\bf Draft: \today}
\fi
%
% Declare figure/table as a subfloat.
\newsubfloat{figure}
\newsubfloat{table}
% Better page layout for A4 paper, see memoir manual.
\settrimmedsize{297mm}{210mm}{*}
\setlength{\trimtop}{0pt} 
\setlength{\trimedge}{\stockwidth} 
\addtolength{\trimedge}{-\paperwidth} 
\settypeblocksize{634pt}{448.13pt}{*} 
\setulmargins{4cm}{*}{*} 
\setlrmargins{*}{*}{1} 
\setmarginnotes{17pt}{51pt}{\onelineskip} 
\setheadfoot{\onelineskip}{2\onelineskip} 
\setheaderspaces{*}{2\onelineskip}{*} 
\checkandfixthelayout
%
\frenchspacing
% Font with math support: New Century Schoolbook
\usepackage{fouriernc}
\usepackage[T1]{fontenc}
%
% UoB guidelines:
%
% Text should be in double or 1.5 line spacing, and font size should be
% chosen to ensure clarity and legibility for the main text and for any
% quotations and footnotes. Margins should allow for eventual hard binding.
%
% Note: This is automatically set by memoir class. Nevertheless \OnehalfSpacing 
% enables double spacing but leaves single spaced for captions for instance. 
\OnehalfSpacing 
%
% Sets numbering division level
\setsecnumdepth{subsection} 
\maxsecnumdepth{subsubsection}
%
% Chapter style (taken and slightly modified from Lars Madsen Memoir Chapter 
% Styles document
\usepackage{calc,soul,fourier}
\makeatletter 
\newlength\dlf@normtxtw 
\setlength\dlf@normtxtw{\textwidth} 
\newsavebox{\feline@chapter} 
\newcommand\feline@chapter@marker[1][4cm]{%
    \sbox\feline@chapter{% 
        \resizebox{!}{#1}{\fboxsep=1pt%
            \colorbox{gray}{\color{white}\thechapter}% 
        }}%
        \rotatebox{90}{% 
            \resizebox{%
                \heightof{\usebox{\feline@chapter}}+\depthof{\usebox{\feline@chapter}}}% 
            {!}{\scshape\so\@chapapp}}\quad%
        \raisebox{\depthof{\usebox{\feline@chapter}}}{\usebox{\feline@chapter}}%
} 
\newcommand\feline@chm[1][4cm]{%
    \sbox\feline@chapter{\feline@chapter@marker[#1]}% 
    \makebox[0pt][c]{% aka \rlap
        \makebox[1cm][r]{\usebox\feline@chapter}%
    }}
\makechapterstyle{daleifmodif}{
    \renewcommand\chapnamefont{\normalfont\Large\scshape\raggedleft\so} 
    \renewcommand\chaptitlefont{\normalfont\Large\bfseries\scshape} 
    \renewcommand\chapternamenum{} \renewcommand\printchaptername{} 
    \renewcommand\printchapternum{\null\hfill\feline@chm[2.5cm]\par} 
    \renewcommand\afterchapternum{\par\vskip\midchapskip} 
    \renewcommand\printchaptertitle[1]{\color{gray}\chaptitlefont\raggedleft ##1\par}
} 
\makeatother 
\chapterstyle{daleifmodif}
%
% UoB guidelines:
%
% The pages should be numbered consecutively at the bottom centre of the
% page.
\makepagestyle{myvf} 
\makeoddfoot{myvf}{}{\thepage}{} 
\makeevenfoot{myvf}{}{\thepage}{} 
\makeheadrule{myvf}{\textwidth}{\normalrulethickness} 
\makeevenhead{myvf}{\small\textsc{\leftmark}}{}{} 
\makeoddhead{myvf}{}{}{\small\textsc{\rightmark}}
\pagestyle{myvf}
%
% Oscar's command (it works):
% Fills blank pages until next odd-numbered page. Used to emulate single-sided
% frontmatter. This will work for title, abstract and declaration. Though the
% contents sections will each start on an odd-numbered page they will
% spill over onto the even-numbered pages if extending beyond one page
% (hopefully, this is ok).
\newcommand{\clearemptydoublepage}{\newpage{\thispagestyle{empty}\cleardoublepage}}
%
%
% Creates indexes for Table of Contents, List of Figures, List of Tables and Index
\makeindex
% \printglossaries below creates a list of abbreviations. \gls and related
% commands are then used throughout the text, so that latex can automatically
% keep track of which abbreviations have already been defined in the text.
%
% The import command enables each chapter tex file to use relative paths when
% accessing supplementary files. For example, to include
% chapters/brewing/images/figure1.png from chapters/brewing/brewing.tex we can
% use
% \includegraphics{images/figure1}
% instead of
% \includegraphics{chapters/brewing/images/figure1}
\usepackage{import}

% Add other packages needed for chapters here. For example:

\usepackage{lipsum}                 %Needed to create dummy text
\usepackage{amsfonts}                   %Calls Amer. Math. Soc. (AMS) fonts
\usepackage[centertags]{amsmath}            %Writes maths centred down
% \usepackage{algorithm}
\usepackage[noend]{algpseudocode}
\usepackage[ruled,vlined,linesnumbered]{algorithm2e}
\usepackage{stmaryrd}                   %New AMS symbols
\usepackage{amssymb}                    %Calls AMS symbols
\usepackage{amsthm}                 %Calls AMS theorem environment
\usepackage{newlfont}                   %Helpful package for fonts and symbols
\usepackage{layouts}                    %Layout diagrams
\usepackage{graphicx}                   %Calls figure environment
\usepackage{longtable,rotating}         %Long tab environments including rotation. 
\usepackage{pdflscape}
\usepackage[greek,english]{babel}   %For languages characters and hyphenation
\usepackage[utf8x]{inputenc}
\usepackage{mathtools}
\usepackage{adjustbox}
\usepackage{caption}



                                        %directly for mac
\usepackage{colortbl}                   %Makes coloured tables
\usepackage{wasysym}                    %More math symbols
\usepackage{mathrsfs}                   %Even more math symbols
\usepackage{float}                      %Helps to place figures, tables, etc. 
\usepackage{verbatim}                   %Permits pre-formated text insertion
\usepackage{upgreek}                    %Calls other kind of greek alphabet
\usepackage{latexsym}                   %Extra symbols
\usepackage[square,numbers,
             sort&compress]{natbib}     %Calls bibliography commands 
\usepackage{url}                        %Supports url commands
% \usepackage{etex}                     %eTeXÕs extended support for counters
% \usepackage{fixltx2e}                 %Eliminates some in felicities of the 
                                        %original LaTeX kernel


\usepackage{color}                      %Creates coloured text and background
\usepackage[colorlinks=true,
             allcolors=black]{hyperref}              %Creates hyperlinks in cross references
\usepackage{memhfixc}                   %Must be used on memoir document 
                                    %class after hyperref
\usepackage{enumerate}                  %For enumeration counter
\usepackage{footnote}                   %For footnotes
\usepackage{microtype}                  %Makes pdf look better.
\usepackage{rotfloat}                   %For rotating and float environments as tables, 
                                    %figures, etc. 
\usepackage{alltt}                      %LaTeX commands are not disabled in 
                                    %verbatim-like environment
\usepackage[version=0.96]{pgf}          %PGF/TikZ is a tandem of languages for producing vector graphics from a 
\usepackage{tikz}                       %geometric/algebraic description.
\usetikzlibrary{arrows,shapes,snakes,
               automata,backgrounds,
               petri,topaths}               %To use diverse features from tikz  




%                           
%Reduce widows  (the last line of a paragraph at the start of a page) and orphans 
% (the first line of paragraph at the end of a page)
\widowpenalty=1000
\clubpenalty=1000
%
% New command definitions for my thesis
%
\newcommand{\keywords}[1]{\par\noindent{\small{\bf Keywords:} #1}} %Defines keywords small section
\newcommand{\parcial}[2]{\frac{\partial#1}{\partial#2}}                             %Defines a partial operator
\newcommand{\vectorr}[1]{\mathbf{#1}}                                                        %Defines a bold vector
\newcommand{\vecol}[2]{\left(                                                                         %Defines a column vector
    \begin{array}{c} 
        \displaystyle#1 \\
        \displaystyle#2
    \end{array}\right)}
\newcommand{\mados}[4]{\left(                                                                       %Defines a 2x2 matrix
    \begin{array}{cc}
        \displaystyle#1 &\displaystyle #2 \\
        \displaystyle#3 & \displaystyle#4
    \end{array}\right)}
\newcommand{\pgftextcircled}[1]{                                                                    %Defines encircled text
    \setbox0=\hbox{#1}%
    \dimen0\wd0%
    \divide\dimen0 by 2%
    \begin{tikzpicture}[baseline=(a.base)]%
        \useasboundingbox (-\the\dimen0,0pt) rectangle (\the\dimen0,1pt);
        \node[circle,draw,outer sep=0pt,inner sep=0.1ex] (a) {#1};
    \end{tikzpicture}
}
\newcommand{\range}[1]{\textnormal{range }#1}                                             %Defines range operator
\newcommand{\innerp}[2]{\left\langle#1,#2\right\rangle}                                 %Defines inner product
\newcommand{\prom}[1]{\left\langle#1\right\rangle}                                         %Defines average operator
\newcommand{\tra}[1]{\textnormal{tra} \: #1}                                                       %Defines trace operator
\newcommand{\sign}[1]{\textnormal{sign\,}#1}                                                   %Defines sign operator
\newcommand{\sech}[1]{\textnormal{sech} #1}                                                  %Defines sech
\newcommand{\diag}[1]{\textnormal{diag} #1}                                                    %Defines diag operator
\newcommand{\arcsech}[1]{\textnormal{arcsech} #1}                                       %Defines arcsech
\newcommand{\arctanh}[1]{\textnormal{arctanh} #1}                                         %Defines arctanh
%Change tombstone symbol
\newcommand{\blackged}{\hfill$\blacksquare$}
\newcommand{\whiteged}{\hfill$\square$}
\newcounter{proofcount}
\renewenvironment{proof}[1][\proofname.]{\par
 \ifnum \theproofcount>0 \pushQED{\whiteged} \else \pushQED{\blackged} \fi%
 \refstepcounter{proofcount}
 \normalfont 
 \trivlist
 \item[\hskip\labelsep
       \itshape
   {\bf\em #1}]\ignorespaces
}{%
 \addtocounter{proofcount}{-1}
 \popQED\endtrivlist
}
%
%
% New definition of square root:
% it renames \sqrt as \oldsqrt
\let\oldsqrt\sqrt
% it defines the new \sqrt in terms of the old one
\def\sqrt{\mathpalette\DHLhksqrt}
\def\DHLhksqrt#1#2{%
\setbox0=\hbox{$#1\oldsqrt{#2\,}$}\dimen0=\ht0
\advance\dimen0-0.2\ht0
\setbox2=\hbox{\vrule height\ht0 depth -\dimen0}%
{\box0\lower0.4pt\box2}}
%
% My caption style
\newcommand{\mycaption}[2][\@empty]{
    \captionnamefont{\scshape} 
    \changecaptionwidth
    \captionwidth{0.9\linewidth}
    \captiondelim{.\:} 
    \indentcaption{0.75cm}
    \captionstyle[\centering]{}
    \setlength{\belowcaptionskip}{10pt}
    \ifx \@empty#1 \caption{#2}\else \caption[#1]{#2}
}
%
% My subcaption style
\newcommand{\mysubcaption}[2][\@empty]{
    \subcaptionsize{\small}
    \hangsubcaption
    \subcaptionlabelfont{\rmfamily}
    \sidecapstyle{\raggedright}
    \setlength{\belowcaptionskip}{10pt}
    \ifx \@empty#1 \subcaption{#2}\else \subcaption[#1]{#2}
}
%
%An initial of the very first character of the content
\usepackage{lettrine}
\newcommand{\initial}[1]{%
    \lettrine[lines=3,lhang=0.33,nindent=0em]{
        \color{gray}
            {\textsc{#1}}}{}}
%
% Theorem styles used in my thesis
%
\theoremstyle{plain}
\newtheorem{theo}{Theorem}[chapter]
\theoremstyle{plain}
\newtheorem{prop}{Proposition}[chapter]
\theoremstyle{plain}
\theoremstyle{definition}
\newtheorem{dfn}{Definition}[chapter]
\theoremstyle{plain}
\newtheorem{lema}{Lemma}[chapter]
\theoremstyle{plain}
\newtheorem{cor}{Corollary}[chapter]
\theoremstyle{plain}
\newtheorem{resu}{Result}[chapter]
%
% Hyphenation for some words
%
\hyphenation{res-pec-tively}
\hyphenation{mono-ti-ca-lly}
\hyphenation{hypo-the-sis}
\hyphenation{para-me-ters}
\hyphenation{sol-va-bi-li-ty}
%
%

\begin{document}
% UoB guidlines:
%
% Preliminary pages
% 
% The five preliminary pages must be the Title Page, Abstract, Dedication
% and Acknowledgements, Author's Declaration and Table of Contents.
% These should be single-sided.
% 
% Table of contents, list of tables and illustrative material
% 
% The table of contents must list, with page numbers, all chapters,
 % sections and subsections, the list of references, bibliography, list of
% abbreviations and appendices. The list of tables and illustrations
% should follow the table of contents, listing with page numbers the
% tables, photographs, diagrams, etc., in the order in which they appear
% in the text.
% 
\frontmatter
\pagenumbering{roman}
%
\input{frontmatter/title}
\clearemptydoublepage
%
\input{frontmatter/title_greek}
\clearemptydoublepage
%
\input{frontmatter/abstract}
\clearemptydoublepage
%
\input{frontmatter/dedication}
\clearemptydoublepage
%
%\input{frontmatter/declaration}
%\clearemptydoublepage
%
\renewcommand{\contentsname}{Table of Contents}
\maxtocdepth{subsection}
\setcounter{tocdepth}{3}
\tableofcontents*
\addtocontents{toc}{\par\nobreak \mbox{}\hfill{\bf Page}\par\nobreak}
\clearemptydoublepage
%
\listoftables
\addtocontents{lot}{\par\nobreak\textbf{{\scshape Table} \hfill Page}\par\nobreak}
\clearemptydoublepage
%
\listoffigures
\addtocontents{lof}{\par\nobreak\textbf{{\scshape Figure} \hfill Page}\par\nobreak}
\clearemptydoublepage
%
\listofalgorithms
\addtocontents{loa}{\par\nobreak\textbf{{\scshape Algorithm} \hfill Page}\par\nobreak}
\clearemptydoublepage
%
%
% The bulk of the document is delegated to these chapter files in
% subdirectories.
\mainmatter
%
\import{chapters/notations/}{notations.tex}
\import{chapters/chapter01/}{chap01.tex}
\import{chapters/chapter02/}{chap02.tex}
\import{chapters/chapter03/}{chap03.tex}
\import{chapters/chapter04/}{chap04.tex}
\import{chapters/chapter05/}{chap05.tex}
\import{chapters/chapter06/}{chap06.tex}
\clearemptydoublepage
%
%
% And the appendix goes here
% \appendix
% \import{chapters/appendices/}{app0A.tex}
% \clearemptydoublepage
%
% Apparently the guidelines don't say anything about citations or
% bibliography styles so I guess we can use anything.
\backmatter
\nocite{*}
\bibliographystyle{ieeetr}
\refstepcounter{chapter}
\bibliography{thesisbiblio}
\clearemptydoublepage
%
% Add index
%\printindex
%   
\end{document}

答案1

问题可以简化为:

\RequirePackage[l2tabu]{nag}
\documentclass{book} 
\usepackage[greek]{babel}  

\begin{document}
blub
\end{document}

如果移除包装,它就会消失nag

问题是 nag 使用

\renewcommand\thenag@c{\roman{nag@c}}% 

然后\thenag@c在 中使用csname。这完全是错误的,格式化命令\roman不应该像这样使用,并且与 greek 一起使用,这会重新定义\roman它爆炸。这显然是 nag 包的一个错误。

答案2

为了能够回答您的特定问题,需要更多有关文档样式和序言的文档。

一般来说,babel包允许您使用不同的语言来构建文档结构。也就是说,一旦您将babel包设置为希腊语,例如,摘要将显示为“Περίληψη”。另一方面,如果您的文档仅包含希腊语内容(例如几个单词或几个句子),而结构不是问题,则还有其他解决方案。

在编写希腊语的软件包中,我建议使用这个textgreek软件包。以下是包含两个摘要(英语和希腊语)的文档的最小工作示例:

\documentclass{article}
\usepackage{textgreek}
\usepackage[utf8]{inputenc}
\usepackage[greek,english]{babel}

\begin{document}

% create an abstract in English
\selectlanguage{english} 
\begin{abstract}
It is a long established fact that a reader will be distracted by the readable content of a page when looking at its layout. The point of using Lorem Ipsum is that it has a more-or-less normal distribution of letters, as opposed to using 'Content here, content here', making it look like readable English. Many desktop publishing packages and web page editors now use Lorem Ipsum as their default model text, and a search for 'lorem ipsum' will uncover many web sites still in their infancy. Various versions have evolved over the years, sometimes by accident, sometimes on purpose (injected humour and the like).
\end{abstract}

% create an abstract in Greek
\selectlanguage{greek} 
\begin{abstract}
Είναι πλέον κοινά παραδεκτό ότι ένας αναγνώστης αποσπάται από το περιεχόμενο που διαβάζει, όταν εξετάζει τη διαμόρφωση μίας σελίδας. Η ουσία της χρήσης του Lorem Ipsum είναι ότι έχει λίγο-πολύ μία ομαλή κατανομή γραμμάτων, αντίθετα με το να βάλει κανείς κείμενο όπως 'Εδώ θα μπει κείμενο, εδώ θα μπει κείμενο', κάνοντάς το να φαίνεται σαν κανονικό κείμενο. Πολλά λογισμικά πακέτα ηλεκτρονικής σελιδοποίησης και επεξεργαστές ιστότοπων πλέον χρησιμοποιούν το Lorem Ipsum σαν προκαθορισμένο δείγμα κειμένου, και η αναζήτησ για τις λέξεις 'lorem ipsum' στο διαδίκτυο θα αποκαλύψει πολλά web site που βρίσκονται στο στάδιο της δημιουργίας. Διάφορες εκδοχές έχουν προκύψει με το πέρασμα των χρόνων, άλλες φορές κατά λάθος, άλλες φορές σκόπιμα (με σκοπό το χιούμορ και άλλα συναφή).
\end{abstract}

% Set your default language to English again.
\selectlanguage{english}

\section{Introduction}
This is a test.

\textgreek{Αυτή είναι μια δοκιμασία για τον Μαρίνο.}

\end{document}

这将创建以下内容:

在此处输入图片描述

相关内容