内側のテーブルの幅に外側のテーブルの列幅全体を使用するにはどうすればよいでしょうか?

内側のテーブルの幅に外側のテーブルの列幅全体を使用するにはどうすればよいでしょうか?

作成するときには、tabularx表の幅を指定する必要があります。最も外側の表の場合は、 を使用できます\textwidth

外部テーブル内に 1 つ以上の内部テーブルを作成する場合、内部テーブルにも幅が必要です。この場合、この幅は、この内部テーブルがたまたま含まれていた外部テーブルの列の幅になります。コンテキストを追跡し、ハードコードされた値を手動で指定するのは困難です。

LaTeX に外側の表から利用可能なすべての列幅を使用するように指示し、LaTeX に計算させる方法がわかりません。X表幅自体に似たものが必要です。

これは、1 つのテーブルが別のテーブルの中にある MWE です。

\documentclass[10pt,notitlepage]{article}%
\usepackage{tabularx}
\usepackage{hyperref}
\usepackage{array}
\newcolumntype{Y}{>{\centering\arraybackslash}X}
\begin{document}

%have to use tabular* for outer table since I can't figure how to use tabularx
\begin{tabular*}{\textwidth}{|p{0.5\textwidth}|p{0.5\textwidth}|}\hline

 \begin{tabularx}{0.5\textwidth}{@{}|Y|Y|Y|@{}}\hline  % how to automate this?
                                                       % instead of 0.5\textwidth
                                                       % use full column width

    \href{foo/index.htm}{A}
    \begin{enumerate}
      \item item 1
      \item item 2
    \end{enumerate}& 
    \href{foo/index.htm}{B}& 
    \href{foo/index.htm}{C}\\\hline
 \end{tabularx} 

  &

  second column

\end{tabular*}
\end{document}

Mathematica グラフィックス

答え1

を使用できます\linewidth。役立つ参考資料は次のとおりです。このQとAp{\dimexpr0.5\textwidth-2\tabcolsep\relax}外側の表には を使用し、 には左揃えのセル構造を使用する方がよいでしょうenumerate

\documentclass[10pt,notitlepage]{article}%
\usepackage{tabularx}
\usepackage{hyperref}
\usepackage{array}
\newcolumntype{Y}{>{\centering\arraybackslash}X}
\begin{document}

%have to use tabular* for outer table since I can't figure how to use tabularx

\noindent\begin{tabular*}{\textwidth}{|p{\dimexpr0.5\textwidth-2\tabcolsep\relax}|
                                @{\extracolsep{\fill}}p{\dimexpr0.5\textwidth-2\tabcolsep\relax}|}\hline

 \begin{tabularx}{\linewidth}{@{}|p{0.35\hsize}|Y|Y|@{}}\hline  % how to automate this?
                                                       % instead of 0.5\textwidth
                                                       % use full column width
    {\centering \href{foo/index.htm}{A}\par}    
    \begin{enumerate}
      \item item 1
      \item item 2
    \end{enumerate}
    &
    \href{foo/index.htm}{B}&
    \href{foo/index.htm}{C}\\\hline
 \end{tabularx}
  &
  second column
\end{tabular*}
\end{document}

ここに画像の説明を入力してください

答え2

これがあなたが達成したいことかどうか確認してください:

\documentclass[10pt,notitlepage]{article}%
\usepackage{array,tabularx,hyperref}
\newcolumntype{Y}{>{\centering\arraybackslash}X}
 \begin{document}
\begin{tabularx}{\textwidth}{|@{}X@{}|X|}%outer table, @{} omit column separation 
    \hline
    {\begin{tabularx}{\hsize}{|Y|Y|Y|}
    \hline
\href{foo/index.htm}{A}
    \begin{enumerate}
      \item item 1
      \item item 2
    \end{enumerate} &
        \href{foo/index.htm}{B} &
            \href{foo/index.htm}{C} \\
    \hline
    \end{tabularx}}
                &   second column   \\
\end{tabularx}
\end{document}

関連情報