PdfLatex、模板和希臘語言產生編譯錯誤

PdfLatex、模板和希臘語言產生編譯錯誤

我遇到了一個嚴重的問題,我不知道該如何解決。我正在使用背頁和布里斯托爾模板來寫我的論文。我主要用英語寫作,但我需要用希臘語寫摘要。如果我立即將希臘語加入 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!

而主要的 tex 是:

%\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@ca 中csname。這完全是錯誤的,像這樣的格式化命令\roman永遠不應該這樣使用,並且用希臘語重新定義\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}

這會創建以下內容:

在此輸入影像描述

相關內容