![Почему \usepackage[T2A]{fontenc} берет верх?](https://rvso.com/image/265773/%D0%9F%D0%BE%D1%87%D0%B5%D0%BC%D1%83%20%5Cusepackage%5BT2A%5D%7Bfontenc%7D%20%D0%B1%D0%B5%D1%80%D0%B5%D1%82%20%D0%B2%D0%B5%D1%80%D1%85%3F.png)
Я хочу создать документ со шрифтом без засечек. Я также хочу включить кириллические символы. Эти две цели кажутся взаимоисключающими. Когда я закомментирую \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
определено с babel
помощью параметра russian
, который делает это. Последняя указанная кодировка становится кодировкой по умолчанию.
Это должен быть полный список шрифтов без засечек, доступных также в кодировке 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 похож) для латинского текста и одного из предыдущих шрифтов для русского текста в кириллице. Выбирайте и определяйте \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
\documentclass[12pt]{article}
\usepackage{fontspec}
\usepackage{polyglossia} %% added for proper hyphening
\setmainfont{Arial}
\begin{document}
Todd is a cat. у меня есть машина. я очень харашо.
\end{document}
Также проверьтеКакие шрифты можно использовать для написания кириллицей в LaTeX