Создать PDF с Анаконда Сфинкс - PullRequest
0 голосов
/ 29 января 2019

Я пытаюсь создать документацию, используя sphinx.У меня нет разрешений sudo, но в моей среде установлена ​​anaconda.Я могу успешно построить HTML, но когда я создаю PDF, я получаю ошибки, но нет PDF.

Шаги

conda create --name jeff-sphinx
conda activate jeff-sphinx
conda install sphinx texlive-core

Есть и другие версии, которые устанавливаются по умолчанию:

sphinx:                   1.8.2-py37_0           
sphinxcontrib:            1.0-py37_1             
sphinxcontrib-websupport: 1.1.0-py37_1    
texlive-core:             20180414-hc8d0b01_0 

Я могу успешно построить HTML с помощью make html

Наличие HTML - это полдела.Нам также нужен некоторый пакетный формат, который можно отправлять пользователям, не имеющим доступа к HTML (поскольку инструкции по настройке вашей сети содержатся в документации) ... Acrobat и MS Word - единственные доступные читатели.

Когда я пытаюсь запустить make latexpdf, я получаю сообщение об ошибке:

------------
Running 'pdflatex   -recorder  "UserGuide.tex"'
------------
warning: kpathsea: configuration file texmf.cnf not found in these directories:
... many directories ...
This is pdfTeX, Version 3.14159265-2.6-1.40.19 (TeX Live 2018) (preloaded format=pdflatex)

Есть ли какая-то другая конфигурация, которую мне нужно сделать, чтобы установить и работать в моей среде texlive-core?

Попытки самопомощи

Я выполнил поиск texmf.cnf в среде и обнаружил, что присутствует , но не на любом из настроенных путей.Чтобы попытаться обойти проблему, я попытался создать символическую ссылку для переназначения папок:

cd ~/.conda/envs/jeff-sphinx/share
ln -s ./texlive/texmf-dist texmf-dist

Запускается после того, как это привело к сообщениям об ошибках о

------------
Running 'pdflatex   -recorder  "UserGuide.tex"'
------------
warning: ~/.conda/envs/jeff-sphinx/share/texmf-dist/web2c/texmf.cnf:540: (kpathsea) No cnf value on line: $SELFAUTOLOC ...more paths ...

В этот момент я предположил, что это былоневерный путь для отслеживания и возврата.

Я также попытался изменить установленные версии sphinx и texlive.Как правило, это приводило к худшим результатам (например, пропуск pdflatex).Это может быть связано с тем, что у меня были недопустимые комбинации.

Подробнее

Полный вывод

Основываясь на некоторых отзывах в комментариях, я включаю вывод.У меня есть очищенные пути.

The LaTeX files are in _build/latex.
Run 'make' in that directory to run these through (pdf)latex
(use `make latexpdf' here to do that automatically).
make[1]: Entering directory `/home/jeff/Documents/projects/docs/doc/_build/latex'
latexmk -pdf -dvi- -ps-  'UserGuide.tex'
Latexmk: This is Latexmk, John Collins, 17 Jan. 2018, version: 4.55.
Latexmk: applying rule 'pdflatex'...
Rule 'pdflatex': File changes, etc:
   Non-existent destination files:
      'UserGuide.pdf'
------------
Run number 1 of rule 'pdflatex'
------------
------------
Running 'pdflatex   -recorder  "UserGuide.tex"'
------------
warning: kpathsea: configuration file texmf.cnf not found in these directories: <many directories>.
This is pdfTeX, Version 3.14159265-2.6-1.40.19 (TeX Live 2018) (preloaded format=pdflatex)

kpathsea: Running mktexfmt pdflatex.fmt
warning: kpathsea: configuration file texmf.cnf not found in these directories: <many directories>.
/home/jeff/.conda/envs/jeff-sphinx/bin/mktexfmt: kpsewhich -var-value=TEXMFROOT failed, aborting early.
BEGIN failed--compilation aborted at /home/jeff/.conda/envs/jeff-sphinx/bin/mktexfmt line 25.
I can't find the format file `pdflatex.fmt'!
Latexmk: Errors, so I did not complete making targets
Collected error summary (may duplicate other messages):
  pdflatex: (Pdf)LaTeX failed to generate the expected log file 'UserGuide.log'
Latexmk: Did not finish processing file 'UserGuide.tex':
   (Pdf)LaTeX failed to generate the expected log file 'UserGuide.log'
Latexmk: Use the -f option to force complete processing,
 unless error was exceeding maximum runs of latex/pdflatex.
make[1]: *** [UserGuide.pdf] Error 12
make[1]: Leaving directory `/home/jeff/Documents/projects/docs/doc/_build/latex'
make: *** [latexpdf] Error 2

Bin Paths

Запуск which на некоторых утилитах

$ echo perl pdflatex latexmk | xargs "which"

/bin/perl
/home/jeff/.conda/envs/jeff-sphinx/bin/pdflatex
/home/jeff/.conda/envs/jeff-sphinx/bin/latexmk
...