Как использовать таблицу в среде multicols с абзацами p{} и \multicolumn?

Как использовать таблицу в среде multicols с абзацами p{} и \multicolumn?

обновленный вопрос

Я начну все сначала. Сделаю вопрос очень простым и прямым. Оставлю исходный вопрос ниже.

Я просто хочу увидеть пример использования \multicolumnв таблице (подойдет любая таблица окружения), где все окружение набрано в multicols.

Вот 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}

Если я раскомментирую вышесказанное \multicolumn, то таблица не будет набрана правильно. Мне нужно использовать \multicolumnвышесказанное. Что мне нужно сделать?

старый вопрос

Я хотел бы использовать \multicols{3}, где 3можно изменить другое значение, не изменяя код Latex для настройки таблицы в коде ниже.

Я хотел бы использовать таблицу (tabular или tabular* или tabularx, что бы ни подошло). Но используйте абзац для столбцов таблицы (или X, если это подойдет), так как я хочу поместить текст, который автоматически переносится, или использовать списки перечисления и тому подобное, так что это должен быть абзац, и я также хочу использовать \multicolumnвнутри таблицы, так как я хочу охватить одну строку более чем одним столбцом.

Я обнаружил(*), что tabularx не работает хорошо с \multicolumn. Я также обнаружил, что если я использую , \multicolumn{2}то что-то не работает, см. второй пример ниже. Так что есть некоторые конфликты, и я не могу найти правильную комбинацию для использования.

Если я использую tabular, мне придется использовать явный размер для столбца с помощью p{2in}или что-то в этом роде. Но я не хочу жестко кодировать ширину столбцов.

Ничего из того, что я пробовал, не сработало. Вот мои попытки

Пример 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}

Графика Mathematica

Пример 2

удаление, \multicolumn{2}{c}похоже, помогло.

\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}

Графика Mathematica

(*) ссылкаhttps://groups.google.com/forum/#!topic/comp.text.tex/WjdABHwT7-g

решение1

Ваши проблемы на самом деле не связаны ни с чем, multicolкроме того факта, что это изменяет ширину линии.

\noindent 

 ...

\noindentза которым следует \parпросто создает абзац, состоящий из пустой строки- \parfillskipклея и без текста, поэтому он будет немного похож на ложный вертикальный пробел, за исключением того, что, будучи строкой, он не будет отброшен при разрыве страницы, он не помешает отступу следующего текста.

%\begin{tabularx}{.8\textwidth}{@{}|X|X|@{}}

Это создаст таблицу размером .8 \textwidth, которая намного шире столбца (который меньше .5\textwidth, если учесть разделение столбцов)

%\begin{tabularx}{.8\linewidth}{@{}|X|X|@{}}

Это сделает таблицу шириной .8 столбца. Она будет отступом \parindentи может достигать или не достигать правого края столбца, в зависимости от того, \parindentбольше или меньше .2\linewidth

%\begin{tabularx}{\hsize}{|X|X|}

это делает таблицу шириной столбца (несколько неэффективно, поскольку вы заранее знаете, что хотите, чтобы оба столбца были одинаковой ширины, но TeX этого не знает). Строка будет переполнена из-за отступа абзаца.

%\begin{tabular*}{\hsize}{|l|p{.8\hsize}}}

Если вы используете , tabular*вам нужно использовать , \extracolumsepчтобы добавить некоторое растяжение, в противном случае вы указываете целевую ширину и не даете Tex возможности ее достичь. (Также вам следует использовать \linewidthnot \hsize.)

%\begin{tabular*}{.8\textwidth}{|l|p{2in}}}

как указано выше, .8\textwidthслишком широк, и вы не предусмотрели возможности растянуть таблицу.

%\begin{tabular}{|p{1in}|p{2in}}

Это создаст таблицу указанной ширины с отступом parindent

%\begin{tabular*}{.8\linewidth}{|p{.2\linewidth|p{.8\linewidth}}

как указано выше, вы не можете использовать табличную* таким образом.

\begin{tabularx}{.8\linewidth}{@{}|X|X|@{}}

Как и выше, это создаст таблицу .8\linewidth с отступом \parindent.

%\multicolumn{2}{c} The “lipsum” package is a more basic package&

Текст должен быть в аргументе\multicol

%\multicolumn{2}{c}{The “lipsum” package is a more basic package}&

и как вы указали cячейка не будет разрываться за пределы строки.

Например, см. этот ответ, чтобы узнать, как задать ширину столбцов с учетом отступов ячеек и ширины правил.

https://tex.stackexchange.com/a/150987/1090

Связанный контент