\newcolumntype{Y}{>{\raggedleft\arraybackslash}X} неопределенная управляющая последовательность

\newcolumntype{Y}{>{\raggedleft\arraybackslash}X} неопределенная управляющая последовательность

Я новичок в LaTex и мне нужна помощь. Я использовал tabout в Stata для создания сводной таблицы. Используя код здесь, я получаю следующее сообщение об ошибке:

неопределенная управляющая последовательность
\newcolumntype{Y}{>{\raggedleft\arraybackslash}X}

Вот код, который я использовал:

\documentclass[11pt]{article}

\begin{document}

\begin{center}
\textbf{Table 9: A oneway table} \par \vspace{2ex}
\footnotesize
 \newcolumntype{R}{>{\raggedleft\arraybackslash}X}
\begin{tabularx} {11cm} {@{} l Y Y Y Y @{}}
\toprule
 & Count & Col \% & Cum \% & Sample \\
\midrule 

\textbf{Industry} \\
Ag/Forestry/Fisheries & 84 & 0.8 & 0.8 & 17 \\
Mining & 14 & 0.1 & 0.9 & 4 \\
Construction & 160 & 1.4 & 2.3 & 29 \\
Manufacturing & 1,848 & 16.6 & 18.9 & 367 \\
Transport/Comm/Utility & 433 & 3.9 & 22.8 & 90 \\
Wholesale/Retail Trade & 1,685 & 15.1 & 37.9 & 333 \\
Finance/Ins/Real Estate & 970 & 8.7 & 46.7 & 192 \\
Business/Repair Svc & 429 & 3.9 & 50.5 & 86 \\
Personal Services & 472 & 4.2 & 54.8 & 97 \\
Entertainment/Rec Svc & 99 & 0.9 & 55.6 & 17 \\
Professional Services & 4,151 & 37.3 & 92.9 & 824 \\
Public Administration & 786 & 7.1 & 100.0 & 176 \\
Total & 11,129 & 100.0 &  & 2,232 \\
\midrule 

\textbf{Occupation} \\
Professional/technical & 1,477 & 13.2 & 13.2 & 317 \\
Managers/admin & 1,322 & 11.8 & 25.1 & 264 \\
Sales & 3,626 & 32.5 & 57.5 & 726 \\
Clerical/unskilled & 511 & 4.6 & 62.1 & 102 \\
Craftsmen & 239 & 2.1 & 64.2 & 53 \\
Operatives & 1,305 & 11.7 & 75.9 & 246 \\
Transport & 136 & 1.2 & 77.1 & 28 \\
Laborers & 1,491 & 13.4 & 90.5 & 286 \\
Farmers & 8 & 0.1 & 90.5 & 1 \\
Farm laborers & 40 & 0.4 & 90.9 & 9 \\
Service & 75 & 0.7 & 91.6 & 16 \\
Household workers & 3 & 0.0 & 91.6 & 2 \\
Other & 938 & 8.4 & 100.0 & 187 \\
Total & 11,171 & 100.0 &  & 2,237 \\
\bottomrule
\end{tabularx}
\par\smallskip\noindent\parbox{11cm}{\raggedright \scriptsize Source: nlsw88.dta}
\normalsize
\end{center}

\end{document}

решение1

Изменение вашего кода

Если вы измените определение типа столбца R на Y и добавитетабличныйxизакладки, ваш пример компилируется без ошибок:

\documentclass[11pt]{article}
\usepackage{tabularx, booktabs} %% Load packages that you use

\begin{document}

\begin{center}
%%\textbf{Table 9: A oneway table} \par \vspace{2ex} %% To avoid label on separate page
\footnotesize
 \newcolumntype{Y}{>{\raggedleft\arraybackslash}X} %% You defined R, but used Y
\begin{tabularx} {11cm} {@{} l Y Y Y Y @{}}
\multicolumn{5}{@{}c}{\normalsize\bfseries Table 9: A oneway table}\\\addlinespace[2ex]  %% Label as part of the table
\toprule
 & Count & Col \% & Cum \% & Sample \\
\midrule 

\textbf{Industry} \\
Ag/Forestry/Fisheries & 84 & 0.8 & 0.8 & 17 \\
Mining & 14 & 0.1 & 0.9 & 4 \\
Construction & 160 & 1.4 & 2.3 & 29 \\
Manufacturing & 1,848 & 16.6 & 18.9 & 367 \\
Transport/Comm/Utility & 433 & 3.9 & 22.8 & 90 \\
Wholesale/Retail Trade & 1,685 & 15.1 & 37.9 & 333 \\
Finance/Ins/Real Estate & 970 & 8.7 & 46.7 & 192 \\
Business/Repair Svc & 429 & 3.9 & 50.5 & 86 \\
Personal Services & 472 & 4.2 & 54.8 & 97 \\
Entertainment/Rec Svc & 99 & 0.9 & 55.6 & 17 \\
Professional Services & 4,151 & 37.3 & 92.9 & 824 \\
Public Administration & 786 & 7.1 & 100.0 & 176 \\
Total & 11,129 & 100.0 &  & 2,232 \\
\midrule 

\textbf{Occupation} \\
Professional/technical & 1,477 & 13.2 & 13.2 & 317 \\
Managers/admin & 1,322 & 11.8 & 25.1 & 264 \\
Sales & 3,626 & 32.5 & 57.5 & 726 \\
Clerical/unskilled & 511 & 4.6 & 62.1 & 102 \\
Craftsmen & 239 & 2.1 & 64.2 & 53 \\
Operatives & 1,305 & 11.7 & 75.9 & 246 \\
Transport & 136 & 1.2 & 77.1 & 28 \\
Laborers & 1,491 & 13.4 & 90.5 & 286 \\
Farmers & 8 & 0.1 & 90.5 & 1 \\
Farm laborers & 40 & 0.4 & 90.9 & 9 \\
Service & 75 & 0.7 & 91.6 & 16 \\
Household workers & 3 & 0.0 & 91.6 & 2 \\
Other & 938 & 8.4 & 100.0 & 187 \\
Total & 11,171 & 100.0 &  & 2,237 \\
\bottomrule
\multicolumn{5}{@{}l}{\scriptsize{Source: nlsw88.dta}}\\
\end{tabularx}
%% \par\smallskip\noindent\parbox{11cm}{\raggedright \scriptsize Source: nlsw88.dta} %% to avoid source reference on a separate page
\normalsize
\end{center}

\end{document}

Также имейте в виду, что center-environment добавляет пространство перед и после таблицы. Кроме того, поскольку метка и ссылка на источник являются отдельными текстовыми строками, вы можете оказаться в ситуации, когда один из этих элементов будет набран на отдельной странице. Добавьте несколько строк текста перед таблицей, чтобы увидеть эффект.

Вы можете избежать этого эффекта несколькими способами. Быстрое и грязное решение — поместить метку и ссылку на источник в таблицу, добавив новые первую и последнюю строки. Используйте \multicolumnдля охвата всех ячеек в одну строку таблицы:

Этикетка:

\multicolumn{5}{@{}c}{\normalsize\bfseries Table 9: A oneway table}\\\addlinespace[2ex]

Источник ссылки:

\bottomrule\addlinespace[0.5ex]
\multicolumn{5}{@{}l}{\scriptsize{Source: nlsw88.dta}}\\

См. обновленную версию MWE.

Вы также можете поместить всю центральную среду, включая стол, в minipage-среду или коробку.

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

Использование threeparttable

Вот MWE с использованием threeparttable. Я добавил немного текста выше и ниже, чтобы продемонстрировать настройку. Если вы заключите всю вашу таблицу вthreeparttable подписью, у вас будет автоматическая нумерация и одинаковое форматирование для всех. Добавьте меткипослеподписи, и вы можете автоматически ссылаться на таблицы по номеру в тексте:

\documentclass[11pt]{article}
\usepackage{tabularx, booktabs, threeparttable, caption}

\captionsetup{font=bf, aboveskip=1ex, belowskip=2ex}

\newcolumntype{Y}{>{\raggedleft\arraybackslash}X}

\begin{document}


Text before \emph{threeparttable}. Even more text. Even more text.Even more text.Even more text.Even more text.Even more text.Even more text.Even more text.Even more text.Even more text.Even more text. Even more text. See table~\ref{table:onewaytable}:

\begingroup
\centering
\begin{threeparttable}[b]
\caption{A oneway table}
\label{table:onewaytable} %% Add a label after the caption
\footnotesize
\begin{tabularx} {11cm} {@{} l Y Y Y Y @{}}
\toprule
 & Count & Col \% & Cum \% & Sample \\
\midrule 

\textbf{Industry} \\
Ag/Forestry/Fisheries & 84 & 0.8 & 0.8 & 17 \\
Mining & 14 & 0.1 & 0.9 & 4 \\
Construction & 160 & 1.4 & 2.3 & 29 \\
Manufacturing & 1,848 & 16.6 & 18.9 & 367 \\
Transport/Comm/Utility & 433 & 3.9 & 22.8 & 90 \\
Wholesale/Retail Trade & 1,685 & 15.1 & 37.9 & 333 \\
Finance/Ins/Real Estate & 970 & 8.7 & 46.7 & 192 \\
Business/Repair Svc & 429 & 3.9 & 50.5 & 86 \\
Personal Services & 472 & 4.2 & 54.8 & 97 \\
Entertainment/Rec Svc & 99 & 0.9 & 55.6 & 17 \\
Professional Services & 4,151 & 37.3 & 92.9 & 824 \\
Public Administration & 786 & 7.1 & 100.0 & 176 \\
Total & 11,129 & 100.0 &  & 2,232 \\
\midrule 

\textbf{Occupation} \\
Professional/technical & 1,477 & 13.2 & 13.2 & 317 \\
Managers/admin & 1,322 & 11.8 & 25.1 & 264 \\
Sales & 3,626 & 32.5 & 57.5 & 726 \\
Clerical/unskilled & 511 & 4.6 & 62.1 & 102 \\
Craftsmen & 239 & 2.1 & 64.2 & 53 \\
Operatives & 1,305 & 11.7 & 75.9 & 246 \\
Transport & 136 & 1.2 & 77.1 & 28 \\
Laborers & 1,491 & 13.4 & 90.5 & 286 \\
Farmers & 8 & 0.1 & 90.5 & 1 \\
Farm laborers & 40 & 0.4 & 90.9 & 9 \\
Service & 75 & 0.7 & 91.6 & 16 \\
Household workers & 3 & 0.0 & 91.6 & 2 \\
Other & 938 & 8.4 & 100.0 & 187 \\
Total & 11,171 & 100.0 &  & 2,237 \\
\bottomrule
\end{tabularx}
\scriptsize
\begin{tablenotes}[flushleft]
\item Source: nlsw88.dta
\end{tablenotes}\smallskip
\end{threeparttable}%

\endgroup


More text. Even more text. Even more text.Even more text.Even more text.Even more text.Even more text.Even more text.Even more text.Even more text.Even more text.

\end{document}

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

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