我通常使用xelatex
,但我更喜欢用 打印的文档的外观pdflatex
。也就是说,我\polyglossia
比更熟悉\babel
。此外,我保留了 LaTeX 模板,以便将来更轻松地完成工作。
话虽如此,今天是空闲的一天,我想我会用俄语排版一些在线文章,以供娱乐和个人使用,并借此机会克恩一些用于排版俄语文档的模板,以备将来需要。
我遇到的问题是我的名字的拼写方式。我的名字在法律上是“Matthew”,但在除法律文件之外的所有文件上我都将其拼写为“Matþew”。因此,我遇到的问题是,{\th}
不在T2A
字体编码方案中。但是,我当然调用了T1
和T2A
。我认为,这是一个需要在作者部分声明使用英语的问题,但我不知道如何做到这一点。
这是我的序言:
% pdflatex
\documentclass[letterpaper]{article}
% ===MAIN PACKAGES===
% - - - - - - - - - - - - - - - -
\usepackage[T1,T2A]{fontenc}
\usepackage[USenglish,main=russian]{babel}
\addto\captionsUSenglish{%
\renewcommand{\contentsname}%
{Table of Contents}%
}
\usepackage{indentfirst}
%%% \usepackage[utf8]{inputenc} % DEPROCATED IN NEWEST VERSIONS %
%%% \usepackage[pass]{geometry} % ALLOWS DECLARATION OF PAPER SIZE... %
% IN SOME INSTANCES, WHERE NEEDED %
% ===SECONDARY PACKAGES===
% - - - - - - - - - - - - - - - -
\usepackage{xcolor} % HIGHLIGHTING COLOURS
\usepackage{soul} % HIGHLIGHTING AND BETTER UNDERLINING
% ===TITLE===
% - - - - - - - - - - - - - - - -
\title{%
Учимся говорить по-алтайски. \\%
%
Урок № 1. Алфавит.%
}
\author{%
~Typeset by: \\%
%
Mat{\th}ew T. Scarbrough%
}
\date{\today}
我怀疑主体并不重要,但事实是这样的:
\begin{document}
\pagenumbering{roman} % ===FRONTMATTER===
% ===TITLE===
% - - - - - - - - - - - - - - - -
\maketitle
% ===TABLE OF CONTENTS===
% - - - - - - - - - - - - - - - -
\tableofcontents
\newpage
\pagenumbering{arabic} % ===MAINMATTER===
% Body 1
% - - - - - - - - - - - - - - - -
\section{<Раздел>}
\indent
Съешь же ещё этих мягких французских булок да выпей чаю...
\end{document}
先感谢您!
编辑:我确实先加载\fontenc
,它只是这里的代码,当我输入它时,我第二次声明了 fontenc,然后复制并粘贴它,然后更改它并且从未更新它,对不起。
答案1
这是一个有趣的问题。
首先,正如评论中所指出的蝉,您需要更改 的语言\author
,因为它是英文的。如果正确切换了语言,编码也会切换,这样您就可以毫无问题地使用\th
(或者至少在现代版本的 LaTeX 中)。þ
问题在于,
\author{%
\foreignlanguage{USenglish}{%
Typeset by:\\
Matþew Scarbrough}}
没有按预期工作。
article
要了解原因,我们需要更深入地研究用于排版标题的宏。
您可能知道\author
在 中定义latex.ltx
为
\DeclareRobustCommand\author[1]{\gdef\@author{#1}}
因此只需在内部宏中\author{<author>}
保存即可。到目前为止一切顺利。使用您的设置(默认)进行一些准备,然后调用进行标题的排版。定义为(在)<author>
\@author
notitlepage
\maketitle
\@maketitle
\@maketitle
article.cls
\def\@maketitle{%
\newpage
\null
\vskip 2em%
\begin{center}%
\let \footnote \thanks
{\LARGE \@title \par}%
\vskip 1.5em%
{\large
\lineskip .5em%
\begin{tabular}[t]{c}%
\@author
\end{tabular}\par}%
\vskip 1em%
{\large \@date}%
\end{center}%
\par
\vskip 1.5em}
这意味着作者(如中所示\@author
)是在表格环境中排版的。
尤其
\author{%
\foreignlanguage{USenglish}{%
Typeset by:\\
Matþew Scarbrough}}
将导致 LaTeX 排版
\begin{tabular}[t]{c}%
\foreignlanguage{USenglish}{%
Typeset by:\\
Matþew Scarbrough}
\end{tabular}
或者安排得更具暗示性
\begin{tabular}[t]{c}%
\foreignlanguage{USenglish}{Typeset by:\\
Matþew Scarbrough}
\end{tabular}
事实上,\\
在表格环境中会开始一个新行,而不是像人们预期的那样“仅仅”开始一个新行。由于每个单元格都属于自己的一个组,因此这会导致缺少右括号和左括号的问题。您可以使用以下命令验证第一“行”中的命令不会影响第二行
\author{%
\color{red}This is red\\
This isn't red
}
此外,如果你放弃\\
\author{%
\foreignlanguage{USenglish}{Typeset by: Matþew Scarbrough}%
}
一个简单的解决方案就是\foreignlanguage
为每一“行”单独发出\author
。
\documentclass[letterpaper]{article}
\usepackage[T1,T2A]{fontenc}
\usepackage[USenglish,main=russian]{babel}
\usepackage{xcolor}
\usepackage{indentfirst}
\addto\captionsUSenglish{%
\renewcommand{\contentsname}{Table of Contents}%
}
\title{%
Учимся говорить по-алтайски.\\
Урок № 1. Алфавит.%
}
\author{%
\foreignlanguage{USenglish}{Typeset by:}\\
\foreignlanguage{USenglish}{Matþew Scarbrough}%
}
\begin{document}
\pagenumbering{roman}
\maketitle
\tableofcontents
\newpage
\pagenumbering{arabic}
\section{<Раздел>}
Съешь же ещё этих мягких французских булок да выпей чаю...
\end{document}
答案2
如果你加载fontenc
前 babel
:
% pdflatex
\documentclass[letterpaper]{article}
% ===MAIN PACKAGES===
% - - - - - - - - - - - - - - - -
%%% \usepackage[utf8]{inputenc} % DEPROCATED IN NEWEST VERSIONS %
\usepackage[T1,T2A]{fontenc}
%%% \usepackage[pass]{geometry} % ALLOWS DECLARATION OF PAPER SIZE... %
% IN SOME INSTANCES, WHERE NEEDED %
\usepackage[USenglish,main=russian]{babel}
\addto\captionsUSenglish{%
\renewcommand{\contentsname}%
{Table of Contents}%
}
\usepackage{indentfirst}
% ===SECONDARY PACKAGES===
% - - - - - - - - - - - - - - - -
\usepackage{xcolor} % HIGHLIGHTING COLOURS
\usepackage{soul} % HIGHLIGHTING AND BETTER UNDERLINING
% ===TITLE===
% - - - - - - - - - - - - - - - -
\title{%
Учимся говорить по-алтайски. \\%
%
Урок № 1. Алфавит.%
}
\author{%
~Typeset by: \\%
%
\selectlanguage{USenglish}Mat{\th}ew T. Scarbrough%
}
\date{\today}
\begin{document}
\pagenumbering{roman} % ===FRONTMATTER===
% ===TITLE===
% - - - - - - - - - - - - - - - -
\maketitle
% ===TABLE OF CONTENTS===
% - - - - - - - - - - - - - - - -
\tableofcontents
\newpage
\pagenumbering{arabic} % ===MAINMATTER===
% Body 1
% - - - - - - - - - - - - - - - -
\section{<Раздел>}
\indent
Съешь же ещё этих мягких французских булок да выпей чаю...
\end{document}