Я пытаюсь использовать pweave с LaTeX для воспроизводимых исследований.Я вижу странное поведение при попытке отобразить значение переменной в фрагменте кода.Я надеюсь, что кто-то может объяснить, что происходит.
При вызове print () внутри фрагмента кода, в зависимости от того, что должно быть напечатано, pweave иногда создает дословный раздел в файле разметки для кода, но не длявывод кода.
Средой является Ubuntu 18.04, python 3.6.8 и python-pweave 0.25-1 из репозиториев Ubuntu.(Это последняя доступная версия.)
Я экспериментировал с несколькими вариантами, чтобы определить, что работает, а что нет.Кажется, проблема возникает или нет, в зависимости от количества строк или символов, которые будут напечатаны фрагментом кода.
Я использую функцию pweave.weave () с форматом noweb следующим образом:
pweave.weave (имя файла, doctype = 'tex', informat = 'noweb', output = outfile)
Следующий фрагмент кода работает "правильно".
<<>>=
x = 3.14
print( x )
@
В файле .tex создается следующее:
\begin{verbatim}
x = 3.14
print( x )
\end{verbatim}
\begin{verbatim}
3.14
\end{verbatim}
Существуют отдельные дословные разделы для фрагмента кода и вывода интерпретатора.
С другой стороны, этот фрагмент кода не 't work.
<<>>=
x = 3
print( x )
@
Он производит следующий вывод:
\begin{verbatim}
x = 3
print( x )
\end{verbatim}
Нет стенографического раздела для вывода интерпретатора.
Другой работающий пример:this.
<<>>=
x = 33
print( x )
print( "Something else" )
@
Он производит такой вывод:
\begin{verbatim}
x = 33
print( x )
print( "Something else" )
\end{verbatim}
\begin{verbatim}
33
Something else
\end{verbatim}
Опять же, есть два отдельных стенографических раздела.
Это, однако, не работает.
<<>>=
X = 33
print( x )
@
Производит этот вывод.
\begin{verbatim}
X = 33
print( x )
\end{verbatim}