なぜ\usepackage[T2A]{fontenc}が優先されるのでしょうか?

なぜ\usepackage[T2A]{fontenc}が優先されるのでしょうか?

セリフ体以外の書体で文書を作成したいと考えています。また、キリル文字も含めたいと思っています。この 2 つの目的は、互いに排他的であるように思われます。 をコメント アウトすると\usepackage[T2A]{fontenc}、文書は美しくなりますが、キリル文字は印刷されません。 を含めると\usepackage[T2A]{fontenc}、文書は美しくなりますが、完全にフォントになりますserif

以下はMWEです。序文の一部は少しおかしいかもしれませんが、すべて私の大学のテンプレートに含まれています(下のリンクを参照)。実際にコンパイルされますが、少し刺激を与えないとコンパイルされません(下のリンクを参照)。http://helpdesk.ufl.edu/wp-content/uploads/2012/12/latex_spring_2011.zip)。

私が読んだところによると、考える別のフォント ファミリを読み込む必要があります。しかし、それが正しいかどうか、また、どのように行うのかさえわかりません。

キリル文字を含む文書を作成するにはどうすればいいですかそしてフォントは保持されますsans serifか?

\documentclass{article}
\renewcommand{\rmdefault}{ma1}
\renewcommand{\sfdefault}{phv}
\renewcommand{\familydefault}{\sfdefault}
\usepackage{datetime}
\usepackage{qtree}
\usepackage[T1,T2A]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{tipa}
\usepackage{pgfplots}
\usepackage[authoryear]{natbib}
\usepackage{hypernat}
\usepackage[dvipdfm,hyperfootnotes=false]{hyperref}
\hypersetup{colorlinks=true,linkcolor=blue,anchorcolor=blue,citecolor=blue,filecolor=blue,urlcolor=blue,bookmarksnumbered=true,pdfview=FitB} \usepackage{gb4e}
\noautomath
\let\eachwordone=\sffamily
\let\eachwordtwo=\sffamily
\let\eachwordthree=\sffamily

\begin{document}

Todd is a cat. у меня есть машина. я очень харашо.

\end{document}

答え1

TeX フォントには 256 スロットしかありません。また、LaTeX に指示しない限り、エンコーディングを混在させることはできません。オプションで\textcyrillic定義すると、これが実行されます。最後に指定されたエンコーディングがデフォルトのエンコーディングになります。babelrussian


これは、T2A エンコーディング (キリル文字用) でも使用可能なサンセリフ フォントの完全なリストです。

\documentclass{article}
\usepackage[T2A,T1]{fontenc}
\usepackage[utf8]{inputenc}

\usepackage[russian,english]{babel}

\renewcommand{\familydefault}{\sfdefault}


\begin{document}

\renewcommand{\sfdefault}{PTSans-TLF}\normalfont
\section{PTSans}

Todd is a cat. \textcyrillic{у меня есть машина. я очень харашо.}


\renewcommand{\sfdefault}{fds}\normalfont
\section{Droid}

Todd is a cat. \textcyrillic{у меня есть машина. я очень харашо.}


\renewcommand{\sfdefault}{fco}\normalfont
\section{Comforta}

Todd is a cat. \textcyrillic{у меня есть машина. я очень харашо.}


\renewcommand{\sfdefault}{fca}\normalfont
\section{Cantarell}

Todd is a cat. \textcyrillic{у меня есть машина. я очень харашо.}


\renewcommand{\sfdefault}{iwona}\normalfont
\section{Iwona}

Todd is a cat. \textcyrillic{у меня есть машина. я очень харашо.}


\renewcommand{\sfdefault}{fos}\normalfont
\section{OpenSans}

Todd is a cat. \textcyrillic{у меня есть машина. я очень харашо.}

\end{document}

もちろん、宣言は序文に記載する必要がありますが、これは単にサンプルを示すためだけです。

ここに画像の説明を入力してください

次の例では、ラテン文字に Helvetica (Arial も同様) を使用し、キリル文字のロシア語テキストに以前のフォントの 1 つを使用した結果を示します。選択して、\sfcyrillic選択したファミリに定義します。

\documentclass{article}
\usepackage[T2A,T1]{fontenc}
\usepackage[utf8]{inputenc}

\usepackage[russian,english]{babel}

\renewcommand{\sfdefault}{phv}
\renewcommand{\familydefault}{\sfdefault}

\newcommand{\sfcyrillic}{} %%% Add here your preference
\usepackage{xpatch}
\xpatchcmd{\Russian}
  {\selectfont}
  {\fontfamily{\sfcyrillic}\selectfont}
  {}{}
\xshowcmd\Russian


\begin{document}

\renewcommand{\sfcyrillic}{PTSans-TLF}\normalfont
\section{PTSans}

Todd is a cat. \textcyrillic{у меня есть машина. я очень харашо.}


\renewcommand{\sfcyrillic}{fds}\normalfont
\section{Droid}

Todd is a cat. \textcyrillic{у меня есть машина. я очень харашо.}


\renewcommand{\sfcyrillic}{fco}\normalfont
\section{Comforta}

Todd is a cat. \textcyrillic{у меня есть машина. я очень харашо.}


\renewcommand{\sfcyrillic}{fca}\normalfont
\section{Cantarell}

Todd is a cat. \textcyrillic{у меня есть машина. я очень харашо.}


\renewcommand{\sfcyrillic}{iwona}\normalfont
\section{Iwona}

Todd is a cat. \textcyrillic{у меня есть машина. я очень харашо.}


\renewcommand{\sfcyrillic}{fos}\normalfont
\section{OpenSans}

Todd is a cat. \textcyrillic{у меня есть машина. я очень харашо.}

\end{document}

ここに画像の説明を入力してください

答え2

egreg のより正確な latex に関する回答を補足するには、 を調べるとよいでしょう。xelatexこれは、私がこれまで試したすべての latex パッケージ (およびそれ以上) をサポートしています。タイプセッティング エンジンを変更するだけで済みます。

以下に、できるだけ少ない行数で目的を達成するためのコードを示します。

新しいフォント ファミリを読み込むのは簡単です。

\setmainfont{システムフォント名}

この例では(しぶしぶ)Arial を選択しましたが、キリル文字とラテン文字の両方を含むフォントであればどれでも問題ありません。

EGREG のコメントに従って POLYGLOSSIA を含めるようにコードを更新しました

\documentclass[12pt]{article}
\usepackage{fontspec}
\usepackage{polyglossia} %% added for proper hyphening
\setmainfont{Arial}
\begin{document}

Todd is a cat. у меня есть машина. я очень харашо.

\end{document}

サンセリフキリル文字

こちらもご覧くださいLaTeXでキリル文字を書くときに使用できるフォントは何ですか

関連情報