É possível redimensionar uma tabela importada de outra tabela sem precisar modificar o código LaTeX do arquivo de onde a tabela foi importada? Eu estava pensando em algo como:
\documentclass[english]{article}
\usepackage{babel}
\usepackage{graphicx}
\usepackage[margin = 1.5 cm, tmargin=1.5 cm]{geometry}
\begin{document}
\scalebox{0.5}{%
\input{DS}
}%
\end{document}
A tabela no arquivo DS.tex é semelhante a esta:
\begin{table}[!htpb]
\centering
\begin{tabular}{ccc}
% ...
\end{tabular}
\end{table}
Recebi como esperado o erro: ! Erro LaTeX: Não está no modo par externo.
Gostaria de saber se é possível redimensionar a tabela no arquivo DS sem modificá-la.
Responder1
Um ambiente flutuante ( table
, figure
, ...) não pode ser colocado em um \hbox
ou \scalebox
que usa internamente \hbox
. No entanto, o ambiente pode ser redefinido localmente:
\scalebox{0.5}{%
\renewenvironment{table}[1][]{\ignorespaces}{\unskip}%
\input{DS}%
\unskip
}
\ignorespaces
e \unskip
remova espaços nas extremidades das linhas no arquivo DS.tex
que importa no modo horizontal. Uma alternativa é usar \endlinechar=-1\relax
, mas isso depende do conteúdo do tabular
ambiente, pois alguns finais de linha podem não ser indesejados (por exemplo, espaço entre palavras).
O ambiente flutuante pode ser inserido posteriormente, por exemplo:
\begin{table}
\centering
\caption{Table caption}
\scalebox{...}{...}
\end{table}