Потенциально коварное поведение pygments´s mapping.py / Редактирование лексера pygments
Я использую Windows 7, последнее обновление Windows и т. Д.
Недавно я решил начать использовать minted
пакет в латексе. Для этого меня перенаправили на установку pygments
, который я установил через pip
:
Я быстро расскажу вам, что я сделал (чтобы убедиться, что я не сделал ничего плохого):
- Установленный Python 3.4 с этой страницы.
easy_install pip
в командной строке Windows.pip install pygments
в командной строке.- Я добавил
%PYTHONPATH%
так же как%PYTHONPATH%\Scripts
(гдеpygments
работает от того, что меня заставили поверить), до системной среды PATH.
Я печатаю исходный код R
в LaTeX, но выпуски, которые я мог найти, не предлагают капитал R
синтаксис. Если я использую код LaTeX как таковой:
\documentclass{article}
\usepackage{minted}
\begin{document}
\begin{minted}{R} % Capital R won't function as intended with recent release
c(1,2,5,7,8)
\end{minted}
\end{document}
Не узнает столицу R
аргумент в minted
,
Теперь нижний регистр \begin{minted}{r}
работает просто отлично, поэтому я посмотрел вокруг, как это исправить, и нашел этот ответ.
Здесь предлагается настроить math.py
лексер (в %PYTHONPATH%\Lib\site-packages\pygments\lexers
) добавить псевдоним 'R'
к текущим псевдонимам. Он также предлагает запустить _mapping.py
в том же каталоге (%PYTHONPATH%\Lib\site-packages\pygments\lexers
). Бег _mapping.py
имеет два эффекта:
- Он полностью очищает файл, размер файла уменьшается до 0 байт, и редактирование его с помощью IDLE подтверждает пустой файл.
- Это также выдает это сообщение об ошибке.
Не работает _mapping.py
не будет применять мой новый псевдоним к pygments
, Работает, ломается pygments
полностью. Код ошибки показан ниже.
Я снова запустил код LaTeX (с изменениями и _mapping.py
также запустить), с pdfLaTeX, с аргументами: $synctexoption
, --enable-write18
, -interaction=nonstopmode
а также $fullname
(также в этом порядке), я получаю следующую ошибку в LaTeX:
LaTeX Error: File `temp.out.pyg' not found.
Type X to quit or <RETURN> to proceed,
or enter new name. (Default extension: out.pyg)
Enter file name:
! Emergency stop.
<read *>
l.64 \end{minted}^^M
После запуска _mapping.py
на чистой установке даже (без изменений, внесенных в любой лексер или что-нибудь), я также столкнулся с той же проблемой. Я не уверен, были ли внесены первоначальные изменения, изменения в реестре и так далее, но у меня возникли серьезные проблемы с применением этого простого изменения к pygments
лексер.