В своем рабочем процессе я конвертирую ноутбуки Jupyter в LaTeX с помощью nbconvert. При этом я сталкиваюсь с проблемой, что всякий раз, когда я выводю pandas кадр данных или изображение, мои последующие ячейки уценки имеют неправильное форматирование в LaTeX. Я создал минимальный пример, показывающий проблему с фреймом данных, который также доступен на GitHub . Запуск записной книжки Jupyter, показанной ниже
Получает файл .tex, который можно скомпилировать в следующий файл PDF:
Как видно из второй ячейки уценки, имеется шрифт и центрирование кадра данных над ним. Это остается верным для всех следующих ячеек уценки, что делает конвертированный ноутбук практически непригодным для использования.
Мне удалось отследить проблему дальше. При сравнении вывода 4
ячейки 2+2
с кадром данных в результирующем коде LaTeX:
\begin{tcolorbox}[breakable, size=fbox, boxrule=.5pt, pad at break*=1mm, opacityfill=0]
\prompt{Out}{outcolor}{23}{\boxspacing}
\begin{Verbatim}[commandchars=\\\{\}]
4
\end{Verbatim}
\end{tcolorbox}
\prompt{Out}{outcolor}{24}{}
{\begin{tabular}{lrrrr}
\toprule
{} & A & B & C & D \\
\midrule
A & 1 & 2 & 3 & 4 \\
B & 1 & 2 & 3 & 4 \\
C & 1 & 2 & 3 & 4 \\
D & 1 & 2 & 3 & 4 \\
\bottomrule
\end{tabular}
}
Как вы можете видеть, {tcolorbox}
отсутствует вокруг второго оператора Out. Это то, что вызывает проблему. Ручная упаковка данных в тот же {tcolorbox}
, что и 4
Output, решает проблему. Как я могу заставить nbconvert всегда обернуть Out
сообщения в tcolorbox
? Я начал читать в настройку nbconvert , но, откровенно говоря, это немного ошеломляет.