A inserção de dados para um ambiente tabular leva a um espaço extra estranho

A inserção de dados para um ambiente tabular leva a um espaço extra estranho

Estou escrevendo uma tabela e tentando importar seu conteúdo de um arquivo externo. Curiosamente, descobri que ao importar o conteúdo o TeX parece adicionar um espaço estranho à última entrada. Isso não ocorre quando copio o conteúdo do arquivo externo e colo diretamente no documento. Como posso corrigir esse comportamento?

MWE:

\documentclass[margin=0.1cm]{standalone}

\begin{filecontents*}{data.tex}
01 & 02 & 03 & 04 & 05\\06 & 07 & 08 & 09 & 10\\11 & 12 & 13 & 14 & 15\\16 & 17 & 18 & 19 & 20\\21 & 22 & 23 & 24 & 25
\end{filecontents*}

\begin{document}

\begin{tabular}{c|c|c|c|c}
\input{data.tex}
\end{tabular}

\begin{tabular}{c|c|c|c|c}
01 & 02 & 03 & 04 & 05\\06 & 07 & 08 & 09 & 10\\11 & 12 & 13 & 14 & 15\\16 & 17 & 18 & 19 & 20\\21 & 22 & 23 & 24 & 25
\end{tabular}

\end{document}

O resultado do MWE é mostrado abaixo. A tabela da esquerda é inserida e a da direita é digitada diretamente. Observe como 25 tem alinhamentos diferentes em cada caso. insira a descrição da imagem aqui

Responder1

Isso acontece devido ao manuseio de \input{…}(com LaTeX de 2020-10-01 AFAIK há ainda código de gancho extra após o final de an \input) e porque você tem um token de espaço extra: o final da linha após \input{…}. Para evitar isso, comente o final da linha após \input{…}:

\documentclass[margin=0.1cm]{standalone}

\begin{filecontents*}{data.tex}
01 & 02 & 03 & 04 & 05\\06 & 07 & 08 & 09 & 10\\11 & 12 & 13 & 14 & 15\\16 & 17 & 18 & 19 & 20\\21 & 22 & 23 & 24 & 25
\end{filecontents*}

\begin{document}

\begin{tabular}{c|c|c|c|c}
\input{data.tex}% <-- this percent is needed
\end{tabular}

\begin{tabular}{c|c|c|c|c}
01 & 02 & 03 & 04 & 05\\06 & 07 & 08 & 09 & 10\\11 & 12 & 13 & 14 & 15\\16 & 17 & 18 & 19 & 20\\21 & 22 & 23 & 24 & 25
\end{tabular}

\end{document}

o alinhamento de 25 é o mesmo aqui

Nota: Isso não aconteceria com o plainTeX \input …, pois neste caso o token de espaço (do fim de linha) seria o fim do nome do arquivo. Mas isso, por exemplo, não suportaria nomes de arquivos com espaços.

Veja também:Qual é a utilidade dos sinais de porcentagem (%) no final das linhas? (Por que minha macro está criando espaço extra...

informação relacionada