问题是这样的:我想在自定义类文件(名为thesis.cls
)中使用一种不同于英语的语言,具体来说是希腊语。在.tex
文件中,我babel
使用以下命令加载了包
\usepackage[greek,english]{babel}
也就是说,英语是我的主要语言。此外,为了更改.tex
文件中的语言,我使用
\newcommand{\gr}{\selectlanguage{greek}}
\newcommand{\en}{\selectlanguage{english}}
现在,.cls
我想在文件内部为该.tex
文件创建下面的文本。
%%%%%%%%%%%%%%%%%%
\newcommand\Declaration[1]{
\btypeout{Declaration of Authorship}
\addtotoc{Declaration of Authorship}
\thispagestyle{plain}
\null\vfil
%\vskip 60\p@
\begin{center}{\huge\bf{\gr{Δήλωση Προστασίας Πνευματικών Δικαιωμάτων}}\par}\end{center}
%\vskip 60\p@
{\normalsize #1}
\vfil\vfil\null
%\cleardoublepage
}
%%%%%%%%%%%%%%%%%%%
我的问题是希腊句子
<<查看更多精彩内容>>
是以类似机器的语言输出的。我该如何用希腊语写出来呢?
%%%%%%%%%%
%thesis.cls (excerpt)
%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\NeedsTeXFormat{LaTeX2e}[1996/12/01]
\ProvidesClass{Thesis}
[2007/22/02 v1.0
LaTeX document class]
% declaration of options
\newif\ifdext@languagechosen
\DeclareOption{greek}{%
\PassOptionsToPackage{greek}{babel}
\dext@languagechosentrue
}
\DeclareOption{english}{%
\PassOptionsToPackage{english}{babel}
\dext@languagechosentrue
}
\def\baseclass{book}
\DeclareOption*{\PassOptionsToClass{\CurrentOption}{\baseclass}}
\def\@checkoptions#1#2{
\edef\@curroptions{\@ptionlist{\@currname.\@currext}}
\@tempswafalse
\@tfor\@this:=#2\do{
\@expandtwoargs\in@{,\@this,}{,\@curroptions,}
\ifin@ \@tempswatrue \@break@tfor \fi}
\let\@this\@empty
\if@tempswa \else \PassOptionsToClass{#1}{\baseclass}\fi
}
\@checkoptions{11pt}{{10pt}{11pt}{12pt}}
\PassOptionsToClass{a4paper}{\baseclass}
\ProcessOptions\relax
\LoadClass{\baseclass}
\newcommand\bhrule{\typeout{------------------------------------------------------------------------------}}
\newcommand\Declaration[1]{
\btypeout{Declaration of Authorship}
\addtotoc{Declaration of Authorship}
\thispagestyle{plain}
\null\vfil
%\vskip 60\p@
\begin{center}{\huge\bf{\tg{Δήλωση Προστασίας Πνευματικών Δικαιωμάτων}}\par}\end{center}
%\vskip 60\p@
{\normalsize #1}
\vfil\vfil\null
%\cleardoublepage
}
这是我的 LaTeX 文件
%%%%%%%%%%%%%%%%%%%%%%%%%%%
.tex file
%%%%%%%%%%%%%%%%%%%%%%%%%%%
\documentclass[11pt, a4paper, oneside]{Thesis} % Paper size, default font size and one-sided paper
\usepackage{kmath,kerkis} % The order of the packages matters; kmath changes the default text font
\usepackage[greek,english]{babel}
\usepackage[utf8x]{inputenx}
答案1
不要修改类。我认为已经下载了你提到的那个。我把文件拿来Thesis.tex
,把第一行(带有\documentclass
)改成
\documentclass[a4paper, 11pt, oneside]{Thesis}
\usepackage[T1]{fontenc}
\usepackage[utf8x]{inputenc}
\usepackage[greek,english]{babel}
\makeatletter
\renewcommand\Declaration[1]{%
\btypeout{Declaration of Authorship}
\addtotoc{Declaration of Authorship}
\thispagestyle{plain}
\null\vfil
\vskip 60\p@
\begin{center}\huge\bfseries
\textgreek{Δήλωση Προστασίας Πνευματικών Δικαιωμάτων}
\end{center}
\vskip 60\p@
{\normalsize #1}
\vfil\vfil\null
\cleardoublepage
}
\makeatother
声明页面变成了这样
我只需要修复Chapters/Chapter1.tex
文件的编码,编译就可以在 TeX Live 2012 和 2013 版本中顺利运行。我建议您更新您的 TeX 发行版,并将选项更改utf8x
为utf8
。