
일반적인 이해
기본적으로 제가 하려는 작업은 하나 또는 다수의 과학 논문에 대한 테이블을 만드는 전체 프로세스를 간소화하는 것입니다. 궁극적인 목표는 테이블에 대한 공통 스타일, 즉 긴 테이블뿐만 아니라 (일반) 테이블에 대한 대략적인 초안/프레임과 같은 것을 찾는 것입니다. 나는 엄격하게 과학적인 표를 다루고 싶다고 말하고 싶습니다.
토론을 촉발하기보다는 명확한 답을 얻기 위한 질문을 던져야 한다는 사실을 나는 잘 알고 있다. 그럼에도 불구하고 여기에 "모범 사례 질문"의 흐름이 나타났지만 이와 같은 문제는 실제로 다루어지지 않았습니다. 나는 표의 타이포그래피, 과학적 규칙 및 표와 관련된 패키지의 기초를 통해 많은 것을 읽었습니다. 제가 가장 유용하다고 생각하는 내용은 다음과 같습니다.
- ㅏ많은 예가 포함된 테이블에 대한 매우 포괄적인 가이드
- 모범 사례 타이포그래피 및 모든 종류의 과학적 조언그리고 더 많은
- 안개요패키지와 같은 것권장 사항/모범 사례
그러나 여기서는 한 단계 더 나아가 사용자가 테이블을 생성하기 위해 실제로 패키지와 코드를 사용하는 방법을 다루고 싶습니다.
가장 중요한 것은 이러한 유형의 테이블이 가능한 한 동일하게 보이길 원한다는 것입니다.
해결될 수 있는 질문:
- 어떤 패키지를 사용하시나요? (금기 등과 같이 이해하기 쉬운 좀 더 정교한 것이 있습니까?)
- 텍스트 너비 등으로 어떻게 확장합니까? (개인적으로 크기 조정/크기 조정 상자 접근 방식은 별개의 글꼴 크기에 비해 지속적인 확장성을 제공하기 때문에 매우 매력적이라고 생각합니다. 어쨌든 함정도 어느 정도 있으며 긴 테이블에서는 작동하지 않을 것입니다. 그렇죠? 항상 tabularx 등과 같은 것을 사용하십시오.)
- 어떤 경우에 가로 모드로 전환되나요?
- 열 정렬을 어떻게 선택합니까? "56(16%)"과 같이 정렬하는 합리적인 방법이 있습니까? 아니면 두 개의 열을 선택하시겠습니까?
- 표에 공식/방정식을 어떻게 포함하나요?
- 일반 테이블과 긴 테이블 사이에서 스타일 측면에서 일관성을 어떻게 유지합니까? (내가 아는 한 표준 디자인은 상당히 다른 것 같습니다)
- 테이블 노트의 형식을 어떻게 지정합니까? 이요, 일반 텍스트 크기와 비교하여 표 내용과 메모의 가장 작은 글꼴 크기는 어떻게 되어야 합니까?
- +생각나는 대로 뭐든지
- 이 표준화된 테이블 설정을 어떻게 사용합니까? 환경 이름/정의를 사용하여 .xml 파일을 만들었지만 서문에 정의된 새 환경도 보았습니다.
어쨌든, 이것을 요약하자면, 제가 찾고 있는 것은 개인적으로 테이블의 형식을 어떻게 지정하시나요?라는 질문에 대한 답입니다.
아이디어를 얻기 위해 다음에서는 일반 테이블과 긴 테이블에 대한 MWE를 게시하겠습니다.
MWE/환경
프리앰블/패키지
\usepackage{longtable}
\usepackage{ifthen}
\usepackage{array}
\usepackage{tabularx}
\usepackage{multirow}
\usepackage{booktabs}
\usepackage[flushleft]{threeparttable}
\usepackage{threeparttablex}
\usepackage{dcolumn}
\usepackage[labelfont=bf,format=plain,labelsep=colon,textformat=period,font={small,singlespacing},justification=justified,singlelinecheck=false,skip=6pt,belowskip=-6pt]{caption}
표준 테이블
\begin{table}[htb]
\newcolumntype{.}{D{.}{.}{}}
\scalebox{1}{
\begin{threeparttable}
\begin{tabular}{ll}
\toprule
\midrule
\bottomrule
\end{tabular}
\begin{tablenotes}
\footnotesize
\item\quad
\end{tablenotes}
\end{threeparttable}}
\caption{}
\label{tab:}
\end{table}
긴 테이블
\begin{ThreePartTable}
\begin{TableNotes}
\vspace{-12pt}
\scriptsize\singlespacing
\item[a]
\end{TableNotes}
\begin{longtable}{ll}
\toprule
\toprule
\multicolumn{4}{c}{\textbf{Two-Stage Cross-Sectional Regressions}}\\
\endfirsthead
\multicolumn{4}{c}
{{\bfseries\tablename\ \thetable{}} -- {\itshape continued}}\\ \\
\endhead
%\midrule
%\multicolumn{3}{|r|}{{Continued~on~next~page}}
%\\
%\midrule
\endfoot
\endlastfoot
%Tablecontents
%&//* &//
\insertTableNotes\\
\caption{}
\label{tab:}
\end{longtable}
\end{ThreePartTable}
기꺼이 Latex 테이블에 데이터를 포함하는 자동화에 대한 다른 팁을 받아들이겠습니다. 또한 이 주제를 가능한 한 체계적으로 정리하기 위해 필요한 조치를 취하겠습니다. 잠시 동안 열어 두는 것을 고려하십시오. 아마도 그것으로부터 지침을 만들 수 있을 것입니다.
편집하다:
좋아, 내가 목표로 하는 것이 무엇인지 더 명확히 할 필요가 있는 것 같다. 나는 일반적으로나 개인적인 목적을 위한 모범 사례가 어떤 것인지 알아내려고 노력하고 있으므로 "테이블 연습"을 잠깐이나마 보고 싶습니다. 따라서 기본적인 표 형식 환경에서 단순히 입력하는 것 이상으로 다소 표준화된 접근 방식을 사용하고 이를 공유하려는 사람이 있다면 그렇게 하십시오!
답변1
좋아, 지금까지 내가 생각해낸 것과 내 요구 사항을 거의 만족시키는 것은 다음과 같습니다.
이는 공통 테이블노트 크기를 설정합니다.
\makeatletter
\g@addto@macro\TPT@defaults{\scriptsize}
\makeatother
그리고 저는 보통 텍스트 너비로 펼쳐지는 테이블을 사용합니다. 따라서긴 테이블환경에서 메모의 너비를 수동으로 채택해야 합니다. 또한, 들여쓰기를 피하기 위해 메모를 표에 더 가깝게 가져오고 메모가 표의 표시를 참조하지 않는 경우 코드를 변경했습니다.
\begin{ThreePartTable}
\singlespacing
\setlength\LTleft{0pt}
\setlength\LTright{0pt}
\renewcommand\TPTminimum{\textwidth}
\begin{TableNotes}
\vspace{-0.5em}
\item \leavemode\kern-\scriptspace\kern-\labelsep Notes:
%\item[a]
\end{TableNotes}
{%\fontsize
\begin{longtable}{@{\extracolsep{\fill}}ll}
\toprule
%Heading\\
\midrule
\endfirsthead
\multicolumn{#columns}{c}
{\small{\bfseries\tablename\ \thetable{}} -- {\itshape continued}} \vspace{6pt}\\
\toprule
%Heading on following pages
\endhead
\midrule
%\multicolumn{#columns}{c}{{Continued~on~next~page}}
\\
\midrule
\endfoot
\endlastfoot
%Tablecontents
\insertTableNotes\\
\caption{}
\label{tab:}
\end{longtable}
\end{ThreePartTable}
그런 다음 열 정렬을 위해 dcolumn-package를 사용하고 다음 열 유형 및 정의 또는 이와 유사한 것을 정의합니다. 테이블에 있는 숫자와 정렬하려는 열 유형에 따라 다음과 같이 보일 수 있습니다.
\newcolumntype{.}{D{.}{.}{2.2}}
\newcolumntype{j}{D{.}{.}{1.2}}
나는 보통 테이블 환경에서 직접 정의합니다. 그리고 테이블에서도 굵은 숫자를 편리하게 사용하고 정렬하기 위해 preable에 다음과 같이 넣었습니다.굵은 다중 열 셀의 열 유형은 일반 열 정의와 차원이 일치해야 합니다(예: {2.2}에서 {2.2}).
\makeatletter
\newcolumntype{B}[3]{>{\boldmath\DC@{#1}{#2}{#3}}c<{\DC@end}}
\newcolumntype{Z}[3]{>{\mathversion{nxbold}\DC@{#1}{#2}{#3}}c<{\DC@end}}
\makeatother
\newcommand\mcb[1]{\multicolumn{1}{Z{.}{.}{2.2}}{#1}} % shortcut macro
내가 아직 알아낼 수 없었던 것은 예를 들어 mathptmx-package를 사용하여 테이블에 굵은 숫자를 포함하는 방법입니다. 이 경우 위 코드의 Z-열 유형인 비확장 버전을 항상 참조할 수 있습니다.