一般的な理解

一般的な理解

一般的な理解

基本的に、私がやろうとしているのは、1 つまたは複数の科学論文の表を作成するプロセス全体を効率化することです。最終的な目標は、表の共通スタイル、つまり (通常の) 表と長い表のラフ ドラフト/フレームのようなものを見つけることです。厳密に科学的な表を扱いたいと考えています。

議論を誘発するよりも、明確な答えが得られるように設計された質問をすべきだということはよくわかっています。それにもかかわらず、ここでは「ベスト プラクティスの質問」が次々と出てきましたが、このような問題は実際には扱われてきませんでした。私は、表のタイポグラフィの基本、表に関連する科学的ルールやパッケージについてかなり読みましたが、最も役に立ったのは次の点です。

しかし、私はこれをさらに一歩進めて、ユーザーが実際にパッケージとコードを使用してテーブルを作成する方法について説明したいと思います。

最も重要なことは、これらのタイプのテーブルが可能な限り同じように見えるようにすることです。

対処できる質問:

  • どのようなパッケージを使用していますか? (tabu など、より洗練された意味のあるものはありますか?)
  • テキスト幅などに合わせてどのように拡大縮小しますか? (個人的には、個別のフォント サイズに比べて連続的な拡大縮小が可能なので、resize/scalebox アプローチは非常に魅力的だと思います。いずれにしても、落とし穴も見えていますし、長いテーブルには機能しないですよね? それとも、常に tabularx などを使用するのでしょうか。)
  • どのような場合にランドスケープモードに切り替えますか?
  • 列の配置をどのように選択しますか? 「56 (16%)」のようなものを配置する合理的な方法はありますか、それとも 2 つの列を選択しますか?
  • 表に数式や方程式をどのように含めますか?
  • 通常のテーブルと長いテーブルの間でスタイルの一貫性をどのように実現しますか? (私の知る限り、標準のデザインはかなり異なっているようです)
  • 表の注釈はどのようにフォーマットしますか? 通常のテキスト サイズと比較して、表の内容と注釈の最小フォント サイズはどのくらいにすべきでしょうか?
  • +思いつく限り何でも
  • この標準化されたテーブル設定を確実に使用するにはどうすればよいでしょうか? 環境名/定義を含む .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 パッケージを使用し、次の列タイプと定義などを定義します。テーブル内の数値と配置する列タイプに応じて、次のようになります。

\newcolumntype{.}{D{.}{.}{2.2}}
\newcolumntype{j}{D{.}{.}{1.2}}

私は通常、テーブル環境で直接それらを定義します。さらに、テーブル内でも太字の数字を便利に使用して揃えるために、次のコードをプレファブルに追加しました。ただし、太字の複数列セルの列タイプは、一般的な列定義と寸法が一致している必要があります。例: {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 パッケージを使用して、表に太字の拡張された数字を表示する方法です。この場合、上記のコードでは、拡張されていないバージョンである Z 列タイプを常に参照できます。

関連情報