Как экспортировать изображения в папку при использовании nbconvert - PullRequest
0 голосов
/ 05 сентября 2018

Я пытаюсь использовать приложение nbconvert для экспорта блокнота в латексный файл. Текст создан, но с проблемами ниже.

  1. изображения в двоичном формате base64. я хочу, чтобы они автоматически записывались в виде файлов в папке с тем же именем, что и имя исходного файла записной книжки. у нас есть какой-нибудь вариант сделать это?
  2. ссылки на изображения в результирующем текстовом файле находятся в той же папке. как мне сделать nbconvert api, чтобы он ссылался на папку, которую я только что сказал в пункте 1 выше? для этого я не могу придумать обходной путь после преобразования было бы утомительно искать каждый файл, указанный в tex, и менять его путь. опция в nbconvert была бы очень полезна.

Код:

sourcefile = "test.ipynb"  # file to be converted

with open(sourcefile) as nb_file:
    nb_contents = nb_file.read()

import nbformat
# Convert using the ordinary exporter
notebook = nbformat.reads(nb_contents, as_version=4)

# create a configuration object to extract figures as files
from traitlets.config import Config
c = Config()
c.LatexExporter.preprocessors = ['nbconvert.preprocessors.ExtractOutputPreprocessor']

# ref: https://nbconvert.readthedocs.io/en/latest/nbconvert_library.html#Quick-overview
# 1. Import the exporter
from nbconvert import LatexExporter

# 2. Instantiate the exporter. 
latex_exporter = LatexExporter(config=c)
latex_exporter.template_file = 'ipy2tex_converter.tplx'

# 3. Process the notebook we loaded earlier
(body, resources) = latex_exporter.from_notebook_node(notebook)

# 4. write the tex file
import ntpath
foldername = ntpath.basename(sourcefile).split('.ipynb')[0]
basename = foldername +'.tex'
with open(basename, 'w') as output_file:
    output_file.write(body)

код ссылка

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...