%20%D0%B2%20%D1%82%D0%B0%D0%B1%D0%BB%D0%B8%D1%87%D0%BD%D1%8B%D0%B9%20%D1%81%D1%82%D0%BE%D0%BB%D0%B1%D0%B5%D1%86%3F.png)
Этот вопрос является продолжением моегопредыдущий вопрос:
Можно ли использовать >
и <
для открытия и закрытия фигурных скобок с каждой стороны содержимого ячейки? Если говорить точнее, то я хочу определить следующий столбец:
\newcolumntype{P}{>{\leavevmode\kern-\tabcolsep\bfseries\parbox[t]{\hsize}{}X<{}}}
Мне нужен тип столбца, который автоматически охватывает содержимое ячейки в \parbox
.
Прилагаю краткий MNWE:
\documentclass[table]{article}
\usepackage{lmodern, microtype, xcolor, tabularx, tabulary}
\begin{document}
\begin{tabularx}{0.5\columnwidth}{>{\raggedright\arraybackslash\leavevmode\kern-\tabcolsep\parbox[t]{\hsize}{ }X<{}}XX<{\leavevmode\kern-\tabcolsep\raggedleft\arraybackslash}}
\rowcolor{lightgray}All this testing is not so funny&test&test\\\hline
testing, testing and even more testing &test&test\\
\rowcolor{lightgray}I want to write a noce table in a simple way&test&test\\
\end{tabularx}
\end{document}
решение1
Растягивание скобок над >{}
и <{}
кажется сложнее, чем ожидалось; я не могу придумать способ, который использует явные токены скобок. Вот альтернативное решение, которое использует разделенные аргументы TeX. Вместо того, чтобы использовать напрямую \parbox
, мы определяем вспомогательный макрос \parboxx ... \endparboxx
, который оборачивает его. Затем этот макрос используется в новом типе столбца P
:
\documentclass[table]{article}
\usepackage{lmodern, microtype, xcolor, tabularx, tabulary}
\begin{document}
\def\parboxx#1\endparboxx{\parbox[t]{\hsize}{\raggedright#1}}
\newcolumntype{P}{>{\leavevmode\kern-\tabcolsep\bfseries\parboxx}X<{\endparboxx}}
\begin{tabularx}{0.5\columnwidth}{PXX<{\leavevmode\kern-\tabcolsep\raggedleft\arraybackslash}}
\rowcolor{lightgray}All this testing is not so funny&test&test\\\hline
testing, testing and even more testing &test&test\\
\rowcolor{lightgray}I want to write a noce table in a simple way&test&test\\
\end{tabularx}
\end{document}
выходы