¿Por qué \usepackage[T2A]{fontenc} se hace cargo?

¿Por qué \usepackage[T2A]{fontenc} se hace cargo?

Quiero producir un documento con tipo no serif. También quiero incluir caracteres cirílicos. Estos dos objetivos parecen mutuamente excluyentes. Cuando comento \usepackage[T2A]{fontenc}, el documento es hermoso, excepto que los caracteres cirílicos no se imprimen. Cuando incluyo \usepackage[T2A]{fontenc}, el documento es hermoso, pero es enteramente una seriffuente.

A continuación se muestra un MWE. Parte del preámbulo puede parecer un poco tonto, pero está todo incluido en la plantilla de mi universidad (ver enlace a continuación). En realidad se compilará, pero sólo con algo de estímulo (verhttp://helpdesk.ufl.edu/wp-content/uploads/2012/12/latex_spring_2011.zip).

Por lo que he leído, yopensarNecesito cargar una familia de fuentes diferente. Pero no estoy seguro de si eso es correcto, ni siquiera de cómo hacerlo.

¿Cómo tengo un documento que incluye caracteres cirílicos?yconserva su sans seriffuente?

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

Respuesta1

Las fuentes TeX tienen sólo 256 espacios. Y no se pueden mezclar codificaciones sin decirle a LaTeX que lo haga; \textcyrillicdefinido por babelcon la russianopción hace esto. La última codificación especificada se convierte en la predeterminada.


Esta debería ser una lista completa de fuentes sans serif disponibles también en codificación 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}

Por supuesto, las declaraciones deberían figurar en el preámbulo, esto es sólo para mostrar los ejemplos.

ingrese la descripción de la imagen aquí

Con el siguiente ejemplo muestro el resultado de tener Helvetica (Arial es similar) para texto en latín y una de las fuentes anteriores para texto en ruso en cirílico. Elija y defina \sfcyrillica la familia elegida.

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

ingrese la descripción de la imagen aquí

Respuesta2

Para complementar la respuesta más precisa de egreg para el látex, es posible que desee consultar xelatex, que admite todos los paquetes de látex que he probado (¡y más!). Sólo necesitarías cambiar tu motor de composición.

Aquí está el código para lograr lo que deseas con la menor cantidad de líneas posibles.

Cargar una nueva familia de fuentes es fácil:

\setmainfont{nombredelsistemafuente}

Elegí (a regañadientes) Arial para este ejemplo, pero cualquier fuente que contenga caracteres cirílicos y latinos será suficiente.

CÓDIGO ACTUALIZADO PARA INCLUIR POLIGLOSIA SEGÚN EL COMENTARIO DE EGREG

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

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

\end{document}

Tipografía cirílica Sans Serif

También echa un vistazo¿Qué fuentes puedo utilizar para escribir en cirílico en LaTeX?

información relacionada