Можно ли перенаправить несбалансированные фигурные скобки (`{` и `}`) в табличный столбец?

Можно ли перенаправить несбалансированные фигурные скобки (`{` и `}`) в табличный столбец?

Этот вопрос является продолжением моегопредыдущий вопрос:

Можно ли использовать >и <для открытия и закрытия фигурных скобок с каждой стороны содержимого ячейки? Если говорить точнее, то я хочу определить следующий столбец:

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

выходы

введите описание изображения здесь

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