I want to read/input the body of a table from a separate file. I have mostly solved this problem using this question.

But when I try to read a table with multicolumn from a separate file, it failed.
The following is an example.

%main.tex
\documentclass{article}
\usepackage{filecontents,catchfile}
\begin{filecontents*}{table.tex}
%table.tex
    \hline
    A &amp; B  &amp; C &amp; D  \\   \hline
    E &amp; \multicolumn{3}{l|}{This is generated by excel2latex macro. I want to let it auto wrap according to the width of (B+C+D) }   \\      \hline

\end{filecontents*}

\begin{document}

Table test.

\section{Insert a full table}

    \begin{tabular}{|p{2cm}|p{2cm}|p{2cm}|p{2cm}|}
    \hline
    A &amp; B  &amp; C &amp; D  \\   \hline
    E &amp; \multicolumn{3}{p{6cm}|}{This is generated by excel2latex macro. I want to let it auto wrap according to the width of (B+C+D) }   \\      \hline
    \end{tabular}%

\section{ Input the body of table from a separate file}

\CatchFileDef{\mytable}{table.tex}{}% table.tex &gt; \mytable
    \begin{tabular}{|p{2cm}|p{2cm}|p{2cm}|p{2cm}|}
  \mytable
    \end{tabular}%

\end{document}


I just don't want to manually define the width in the body of table because it is generated automatically.


Question: Finding the smallest binary relation in a given set including a relation
Answer: You're on the right track. "Containing" means just what you would think, since $R$ is a set, we want another set of pairs of elements $(x,y)\in S\times S$ so that $R\subseteq R'$ and $R'$ has one of the properties you mention.

First you need to add $(x,x)$ for every $x\in S=\{a,b,c,d,e\}$ which will give you $R_r=R\cup\{(a,a),(b,b),(c,c), (d,d), (e,e)\}$--the smallest reflexive relation containing $R$.

For a symmetric one, you need to add all of the elements of $R$ where you switch $x$ and $y$, i.e. $R_s=R\cup\{(b,a), (c,a), (c,b)\}$

Continuing for the others, we need a transitive one, so we need to see if there are $xRy$ and $yRz$, and in-fact there is exactly one, namely since $aRb$ and $bRc$ we need to add $aRc$, but you already have $(a,c)\in R$, so $R_t=R$.

Finally anti-symmetry is already satisfied, since there are no $x,y\in S$ such that $xRy$ and $yRx$, so $R=R_a$ is already anti-symmetric. If you have trouble seeing how this is, remember that antisymmetric is parsed in logical symbols as

$$\forall x,y\in S (xRy\land yRx\implies x=y)$$

Since the set of $x,y\in S$ such that $xRy$ and $yRx$ is empty, the condition is vacuously true because all $\forall z\in\varnothing$ statements are vacuously true because the negation is $\exists z'\in\varnothing$ which is clearly false, since there are no elements in an empty set.