Я пытаюсь вставить небольшой листинг кода в tabu
таблицу, однако не могу создать PDF-файл.
Код, который я пытаюсь использовать (ну, его упрощенная форма), выглядит следующим образом:
% !TEX encoding = UTF-8 Unicode
\documentclass[11pt]{article} % use larger type; default would be 10pt
\usepackage[utf8]{inputenc} % set input encoding (not needed with XeLaTeX)
%%% PAGE DIMENSIONS
\usepackage{geometry} % to change the page dimensions
\geometry{a4paper} % or letterpaper (US) or a5paper or....
%%% PACKAGES
\usepackage{listings} % code listings
\usepackage{tabu} % for tables
\begin{document}
\begin{tabu}{X|X}
\begin{lstlisting}
myFunction() {
do.Something();
}
\end{lstlisting}
& This does something
\end{tabu}
\end{document}
А вот ошибки в журнале сборки:
D:/mwe.tex:22: Forbidden control sequence found while scanning use of \lst@next. [\end{tabu}]
D:/mwe.tex:22: Missing } inserted. [\end{tabu}]
D:/mwe.tex:22: Missing \endgroup inserted. [\end{tabu}]
D:/mwe.tex:22: Missing \endgroup inserted. [\end{tabu}]
D:/mwe.tex:22: Missing \endgroup inserted. [\end{tabu}]
D:/mwe.tex:22: Missing } inserted. [\end{tabu}]
D:/mwe.tex:22: Forbidden control sequence found while scanning use of \lst@next. [\end{tabu}]
D:/mwe.tex:22: Missing } inserted. [\end{tabu}]
D:/mwe.tex:22: Missing \endgroup inserted. [\end{tabu}]
D:/mwe.tex:22: Missing \endgroup inserted. [\end{tabu}]
D:/mwe.tex:22: Missing \endgroup inserted. [\end{tabu}]
D:/mwe.tex:22: Missing } inserted. [\end{tabu}]
D:/mwe.tex:22: Missing $ inserted. [\end{tabu}]
D:/mwe.tex:22: Missing } inserted. [\end{tabu}]
D:/mwe.tex:22: Missing } inserted. [\end{tabu}]
D:/mwe.tex:22: Forbidden control sequence found while scanning use of \lst@next. [\end{tabu}]
D:/mwe.tex:22: Missing } inserted. [\end{tabu}]
D:/mwe.tex:22: Missing \endgroup inserted. [\end{tabu}]
D:/mwe.tex:22: Missing \endgroup inserted. [\end{tabu}]
D:/mwe.tex:22: Missing \endgroup inserted. [\end{tabu}]
D:/mwe.tex:22: Missing } inserted. [\end{tabu}]
Когда листинг находится вне среды tabu
, все работает так, как и ожидалось. Использование другой табличной среды, например tabular
, создает листинг внутри таблицы.
Проблема с моим кодом Tex? tabu
Не поддерживает листинги кодов? Или я пропустил что-то очевидное? Я использую LaTeX всего несколько дней, так что простите меня, если это так!
решение1
Насколько мне известно, даже в среде tabu
не поддерживается .listings
tabu*
Однако я обнаружил, что это pythontex
работает:
\documentclass[11pt]{article} % use larger type; default would be 10pt
\usepackage[utf8]{inputenc} % set input encoding (not needed with XeLaTeX)
%%% PAGE DIMENSIONS
\usepackage{geometry} % to change the page dimensions
\geometry{a4paper} % or letterpaper (US) or a5paper or....
%%% PACKAGES
\usepackage{pythontex} % code listings
\usepackage{tabu} % for tables
\begin{document}
\begin{tabu*}{X|X}
\begin{pygments}{c}
myFunction() {
do.Something();
}
\end{pygments}
& This does something
\end{tabu*}
\end{document}
Нужно бежать
pdflatex <filename>
pythontex <filename>
pdflatex <filename>
и тогда выход будет таким