Estou tentando inserir uma pequena listagem de código em uma tabu
tabela, porém não consigo construir um PDF.
O código que estou tentando usar (bem, uma forma simplificada) é o seguinte:
% !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}
E aqui estão os erros no log de construção:
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}]
Quando a listagem está fora do tabu
ambiente, tudo funciona conforme o esperado. Usar um ambiente de tabela diferente, como tabular
, produz a listagem dentro de uma tabela.
Há algum problema com meu código Tex? Não tabu
suporta listagens de código? Ou perdi algo extremamente óbvio? Só uso LaTeX há alguns dias, então me perdoe se for esse o caso!
Responder1
Pelo que eu sei, tabu
não suporta listings
nem no tabu*
meio ambiente.
No entanto, descobri que pythontex
funciona:
\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}
É preciso correr
pdflatex <filename>
pythontex <filename>
pdflatex <filename>
e então a saída é