
pergunta atualizada
Vou começar tudo de novo. Tornará a pergunta muito simples e direta. Deixarei a pergunta original abaixo.
Eu simplesmente quero ver um exemplo de uso \multicolumn
em uma tabela (qualquer ambiente de tabela servirá) onde todo o ambiente. é digitado em um arquivo multicols
.
Aqui está um MWE
\documentclass[english]{article}
\usepackage{booktabs}% http://ctan.org/pkg/booktabs
\usepackage{multirow}
\usepackage{array}
\usepackage{multicol}
\usepackage{babel}
\usepackage[pangram]{blindtext}
\usepackage{tabularx}
%see similar question asked before
%https://groups.google.com/forum/#!topic/comp.text.tex/66SUHWPeqZY
\begin{document}
\begin{multicols}{2}
\Blindtext[2][3]
\begin{tabularx}{.9\linewidth}{@{}|X|X|@{}}\hline
%\multicolumn{2}{c} \Blindtext[1][3]\\ %% PROBLEM AREA HERE ******
\Blindtext[1][3]&\Blindtext[1][3]\\\hline
\end{tabularx}
\Blindtext[2][3]
\end{multicols}
\end{document}
Se eu descomentar o \multicolumn
acima, a tabela não será composta corretamente. Eu preciso usar \multicolumn
o acima. O que eu preciso fazer?
pergunta antiga
Gostaria de usar \multicols{3}
, onde 3
pode ser alterado outro valor, sem precisar alterar o código do Latex para montagem da tabela no código abaixo dele.
Eu gostaria de usar uma tabela (tabular ou tabular* ou tabularx, o que funcionar). Mas usar parágrafo para colunas da tabela (ou X se funcionar), já que quero colocar texto que quebra automaticamente, ou usar listas de enumeração e tal, então tem que ser parágrafo, e também quero usar \multicolumn
dentro da tabela já que Quero abranger uma linha em mais de uma coluna.
Descobri (*) que tabularx não funciona bem com arquivos \multicolumn
. Também descobri que se eu usar \multicolumn{2}
as coisas não funcionam, veja o segundo exemplo abaixo. Portanto, existem alguns conflitos e não consigo encontrar a combinação correta para usar.
Se eu usar tabular
, tenho que dar tamanho explícito para a coluna usando p{2in}
ou algo assim. Mas não quero codificar a largura das colunas.
Nada do que tentei funcionou. Aqui estão minhas tentativas
Exemplo 1
\documentclass[12pt,a4paper]{article}
\usepackage{booktabs}% http://ctan.org/pkg/booktabs
\usepackage{multirow}
\usepackage{array}
\usepackage{multicol}
\usepackage{lipsum}
\usepackage{tabularx}
\begin{document}
\begin{multicols}{2}
\noindent
\lipsum[1]
%\begin{tabularx}{.8\textwidth}{@{}|X|X|@{}}
%\begin{tabularx}{.8\linewidth}{@{}|X|X|@{}}
%\begin{tabularx}{\hsize}{|X|X|}
%\begin{tabular*}{\hsize}{|l|p{.8\hsize}}}
%\begin{tabular*}{.8\textwidth}{|l|p{2in}}}
%\begin{tabular}{|p{1in}|p{2in}}
%\begin{tabular*}{.8\linewidth}{|p{.2\linewidth|p{.8\linewidth}}
\begin{tabularx}{.8\linewidth}{@{}|X|X|@{}}
\multicolumn{2}{c} The “lipsum” package is a more basic package.
It generates a certain “lorem ipsum” text\\
The “lipsum” package is a more basic package. Itlorem ipsum” text&
The “lipsum” package is a more basic package. It generates a
certain number of the standard “lorem ipsum” text
\end{tabularx}
\lipsum[1]
\end{multicols}
\end{document}
Exemplo 2
a remoção \multicolumn{2}{c}
parece ter ajudado.
\documentclass[12pt,a4paper]{article}
\usepackage{booktabs}% http://ctan.org/pkg/booktabs
\usepackage{multirow}
\usepackage{array}
\usepackage{multicol}
\usepackage{lipsum}
\usepackage{tabularx}
\begin{document}
\begin{multicols}{2}
\noindent
\lipsum[1]
%\begin{tabularx}{.8\textwidth}{@{}|X|X|@{}}
%\begin{tabularx}{.8\linewidth}{@{}|X|X|@{}}
%\begin{tabularx}{\hsize}{|X|X|}
%\begin{tabular*}{\hsize}{|l|p{.8\hsize}}}
%\begin{tabular*}{.8\textwidth}{|l|p{2in}}}
%\begin{tabular}{|p{1in}|p{2in}}
%\begin{tabular*}{.8\linewidth}{|p{.2\linewidth|p{.8\linewidth}}
%\begin{tabularx}{\columnwidth}{@{}|X|X|@{}}
\begin{tabularx}{.8\linewidth}{@{}|X|X|@{}}
%\multicolumn{2}{c} The “lipsum” package is a more basic package&
It generates a certain “lorem ipsum” text\\
The “lipsum” package is a more basic package. Itlorem ipsum” text&
The “lipsum” package is a more basic package. It generates a
certain number of the standard “lorem ipsum” text
\end{tabularx}
\lipsum[1]
\end{multicols}
\end{document}
(*) referênciahttps://groups.google.com/forum/#!topic/comp.text.tex/WjdABHwT7-g
Responder1
Seus problemas não estão realmente relacionados a multicol
nada além do fato de que isso altera a largura da linha.
\noindent
...
\noindent
seguido por \par
apenas cria um parágrafo que consiste em uma linha em branco \parfillskip
colada e sem texto, então ficará um pouco parecido com um espaço vertical espúrio, exceto por ser uma caixa de linha que não será descartada em uma quebra de página, não impedirá o recuo do seguinte texto.
%\begin{tabularx}{.8\textwidth}{@{}|X|X|@{}}
Isso criaria uma tabela 0,8 de \textwidth que é muito mais larga que a coluna (que é menor que 0,5\textwidth, depois de levar em conta a separação das colunas
%\begin{tabularx}{.8\linewidth}{@{}|X|X|@{}}
Isso criaria uma tabela com 0,8 de largura da coluna. Será recuado por \parindent
e poderá ou não atingir a borda direita da coluna, dependendo se \parindent
for maior ou menor que .2\linewidth
%\begin{tabularx}{\hsize}{|X|X|}
isso torna a tabela a largura da coluna (de forma um tanto ineficiente, pois você sabe antecipadamente que deseja que ambas as colunas tenham a mesma largura, mas o TeX não sabe disso). A linha ficará cheia demais devido ao recuo do parágrafo.
%\begin{tabular*}{\hsize}{|l|p{.8\hsize}}}
Se você usar, tabular*
precisará \extracolumsep
adicionar algum alongamento, caso contrário, estará especificando uma largura alvo e não dará ao Tex nenhuma maneira de alcançá-la. (Você também deve usar \linewidth
not \hsize
.)
%\begin{tabular*}{.8\textwidth}{|l|p{2in}}}
como acima .8\textwidth
é muito largo e você não forneceu nenhuma maneira de esticar a mesa.
%\begin{tabular}{|p{1in}|p{2in}}
Isto criará uma tabela com a largura especificada, recuada por parindent
%\begin{tabular*}{.8\linewidth}{|p{.2\linewidth|p{.8\linewidth}}
como acima, você não pode usar tabular* assim.
\begin{tabularx}{.8\linewidth}{@{}|X|X|@{}}
Como acima, isso criaria uma tabela .8\linewidth recuada por \parindent
.
%\multicolumn{2}{c} The “lipsum” package is a more basic package&
O texto deve estar no argumento para\multicol
%\multicolumn{2}{c}{The “lipsum” package is a more basic package}&
e como você especificou, c
a célula não quebrará uma linha.
Veja, por exemplo, esta resposta para saber como especificar as larguras das colunas, levando em consideração o preenchimento das células e as larguras das regras