Por que \usepackage[T2A]{fontenc} assume o controle?

Por que \usepackage[T2A]{fontenc} assume o controle?

Quero produzir um documento com tipo não serifado. Também quero incluir caracteres cirílicos. Estes dois objectivos parecem ser mutuamente exclusivos. Quando comento \usepackage[T2A]{fontenc}, o documento fica lindo, exceto que os caracteres cirílicos não são impressos. Quando incluo \usepackage[T2A]{fontenc}, o documento fica lindo, mas é inteiramente uma seriffonte.

Abaixo está um MWE. Parte do preâmbulo pode parecer um pouco bobo, mas está tudo incluído no modelo da minha universidade (veja o link abaixo). Na verdade, ele será compilado, mas apenas com algum incentivo (vejahttp://helpdesk.ufl.edu/wp-content/uploads/2012/12/latex_spring_2011.zip).

Pelo que li, eupensarPreciso carregar uma família de fontes diferente. Mas não tenho certeza se isso está certo, ou mesmo como fazê-lo.

Como faço para ter um documento que inclua caracteres cirílicosemantém sua sans seriffonte?

\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}

Responder1

As fontes TeX possuem apenas 256 slots. E você não pode misturar codificações sem dizer ao LaTeX para fazer isso; \textcyrillicdefinido por babelcom a russianopção faz isso. A última codificação especificada torna-se a padrão.


Esta deve ser uma lista completa de fontes sem serifa disponíveis também na codificação T2A (para cirílico):

\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}

É claro que as declarações devem ser feitas no preâmbulo, isto é apenas para mostrar os exemplares.

insira a descrição da imagem aqui

Com o exemplo a seguir, mostro o resultado de ter Helvetica (Arial é semelhante) para texto latino e uma das fontes anteriores para texto russo em cirílico. Faça a sua escolha e defina \sfcyrillicpara a família escolhida.

\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}

insira a descrição da imagem aqui

Responder2

Para complementar a resposta mais precisa do egreg para o latex, você pode querer dar uma olhada em xelatex, que suporta todos os pacotes do latex que eu já experimentei (e mais!). Você só precisaria mudar seu mecanismo de composição.

Aqui está o código para conseguir o que deseja com o menor número de linhas possível.

Carregar uma nova família de fontes é fácil:

\setmainfont{nomedafontedosistema}

Eu escolhi (com relutância) Arial para este exemplo, mas qualquer fonte que contenha caracteres cirílicos e latinos será suficiente.

CÓDIGO ATUALIZADO PARA INCLUIR POLIGLOSSIA CONFORME COMENTÁRIO DE EGREG

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

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

\end{document}

Tipografia cirílica sem serifa

Confira tambémQuais fontes posso usar para escrever em cirílico em LaTeX

informação relacionada