Задать вопрос

Не получается сгенерировать PDF через pandoc, скорее всего ошибка в шаблоне XeTeX?

Первый раз работаю с LaTeX/XeTeX и созданием PDF из MarkDown, используя Pandoc. Столкнулся с ошибкой, что в полученном PDF нет русских букв и файл обрывается на 3 странице.

Подробнее ошибку я описал вот тут.

Шаблон, и скрипт (в конце файла) который используется для генерации.


Здесь же хочется найти тех, кто или сталкивался с такой же ерундой, или может дать хороший шаблон для XeTeX под русский язык.
  • Вопрос задан
  • 5509 просмотров
Подписаться 3 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 1
ShashkovS
@ShashkovS
К сожалению, я ничего не знаю про работу LaTeX не виндовз системах, а также про XeTeX где угодно.
(Зато я довольно много знаю про LaTeX в винде rutracker.org/forum/viewtopic.php?t=3865802)

В MikTeX'е (и кодировке cp1251) я делаю так:

\documentclass[a4paper,12pt]{article}
\usepackage{cmap} % Поддержка поиска русских слов в PDF (pdflatex)
\usepackage[cp1251]{inputenc} % Выбор языка и кодировки
\usepackage[english, russian]{babel}
\usepackage[left=1cm,right=1cm,top=1cm,bottom=2cm]{geometry} % поля страницы

\begin{document}

\section{К работе готов!}

Можно начинать готовить новый документ в \TeX!

\end{document}


Возможно, у вас какие-то проблемы с шрифтами (у **TeX'ов всегда проблемы со шрифтами, если вы не хотите пользоваться теми, которые по умолчанию), и ваш шрифт отсутствует или не поддерживает русский.

Можно попробовать проинклюдить файл glyphtounicode.tex (в MikTeX он помогает очень хорошо, работает копи-паст из pdf (но не имеет отношения к отображению русских букв)).

У меня в MikTeX'е ваш файл XeLaTeX'ом компилируется в таком виде:

\documentclass{book}
\usepackage{fullpage}
\usepackage{changepage}
\usepackage{fontspec,xltxtra,xunicode}
\setmainfont{Calibri}
\setsansfont{Cambria}
\setmonofont{Consolas}
\defaultfontfeatures{Mapping=tex-text,Scale=MatchLowercase}

\setlength{\parindent}{0pt}
\setlength{\parskip}{12pt plus 2pt minus 1pt}
\linespread{1.2}

\usepackage{listings}
\usepackage[dvipsnames,usenames]{color}

\definecolor{lightgray}{rgb}{.95,.95,.95}
\definecolor{darkgray}{rgb}{.4,.4,.4}
\definecolor{purple}{rgb}{0.65, 0.12, 0.82}

\lstdefinelanguage{JavaScript}{
keywords={typeof, new, true, false, catch, function, return, null, catch, switch, var, if, in, while, do, else, case, break},
keywordstyle=\color{blue}\bfseries,
ndkeywords={class, export, boolean, throw, implements, import, this},
ndkeywordstyle=\color{darkgray}\bfseries,
identifierstyle=\color{black},
sensitive=false,
comment=[l]{//},
morecomment=[s]{/*}{*/},
commentstyle=\color{purple}\ttfamily,
stringstyle=\color{red}\ttfamily,
morestring=[b]',
morestring=[b]"
}

\lstset{
language=JavaScript,
backgroundcolor=\color{lightgray},
extendedchars=true,
basicstyle=\normalsize\ttfamily,
showstringspaces=false,
showspaces=false,
tabsize=1,
breaklines=true,
showtabs=false
}

\usepackage{enumerate}
\setcounter{secnumdepth}{-1}

\usepackage{hyperref}
\hypersetup{
colorlinks=true,%
citecolor=YellowOrange,%
filecolor=YellowOrange,%
linkcolor=YellowOrange,%
urlcolor=YellowOrange
}

\usepackage[compact]{titlesec}
\titlespacing{\section}{0pt}{*0}{*-2}
\titlespacing{\subsection}{0pt}{*0}{*-2}
\titlespacing{\subsubsection}{0pt}{*1}{*-2}

\begin{document}
Текст.

Text.
\end{document}


Русский язык присутствует и копи-пастится.
Но при этом он жалуется на «Option clash for package color»
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы