Take the 2-minute tour ×
TeX - LaTeX Stack Exchange is a question and answer site for users of TeX, LaTeX, ConTeXt, and related typesetting systems. It's 100% free, no registration required.

I would like to wrap the text in an enumerate environment around a table, this is my actual situation (sorry for including so much code, but I wanted to give a precise idea of the number of lines in the enumerate environment):

\subsection{Given the following data set where “Target 2” represent the class attribute, 
compute the naive Bayesian classification for the instance $<L,white>$ and $<XS,?>$.}
\begin{table}[h!t]
\centering
\begin{tabular}{ccc}
    \toprule    
    Size        &   Color   &   Target2 \\
    \midrule
    XS      &   green   &   Yes     \\
    L       &   green   &   Yes     \\
    XS      &   white   &   No      \\
    M       &   black   &   No      \\
    XL      &   green   &   Yes     \\
    XS      &   white   &   Yes     \\
    L       &   black   &   No      \\
    M       &   green   &   Yes     \\
    \bottomrule
\end{tabular}
\end{table}
\begin{enumerate}
    \item In this case the experience $E$ is made up of $e_{1} = L$ and $e_{2} = white$, 
        which in Naive Bayes are to be considered as independent, therefore we have:
        \begin{align*}
            P(yes|E) &= P(L|yes)\cdot P(white|yes) \cdot P(yes)     \\
                     &= \sfrac{1}{5}\times \sfrac{1}{5} \times \sfrac{5}{8} \\
                     &= 0.025
        \end{align*}
        \begin{align*}
            P(no|E) &= P(L|no) \cdot P(white|no) \cdot P(no) \\
                    &= \sfrac{1}{3} \times \sfrac{1}{3} times \sfrac{3}{8}  \\
                    &= 0.041
        \end{align*}
        Then we normalize:
        \begin{align*}
            P(yes) &= \frac{0.025}{0.066}  
                    \simeq 0.38 
        \end{align*}
        \begin{align*}
            P(no) &= \frac{0.041}{0.066} 
                   \simeq 0.62
        \end{align*}
        As $P(no) > P(yes)$, we label $<L,white>$ as ``no''.
    \item Now we have to classify a sample with a missing value. During the testing phase 
        we simply omit the attribute\footnote{Classification Other Methods, slide 24}:
        \begin{align*}
            P(yes|XS) &= P(XS|yes) \cdot P(yes) = \sfrac{2}{5} \times \sfrac{5}{8}
                      = 0.25
        \end{align*}
        \begin{align*}
            P(no|XS) &= P(XS|no) \cdot P(no) 
                     = \sfrac{1}{3} \times \sfrac{3}{8}
                     = 0.125
        \end{align*}
        Let us normalize
        \begin{align*}
            P(yes) &= \sfrac{0.25}{0.375} \simeq 0.7 \\
            P(no)  &= \sfrac{0.125}{0.375} \simeq 0.3
        \end{align*}
        Bottom line this sample is classified as ``yes''.
\end{enumerate}

I have tried using the wrapfig and the floatftl package unsuccessfully, the table was moved to the end of the list in both cases. I have considered using two minipage environments, but I would like the text to actually wrap around the table.

share|improve this question

1 Answer 1

up vote 11 down vote accepted

It helps when you post questions to make complete documents including loading all the packages you need, I guessed

\usepackage{booktabs,xfrac,amsmath}

in this case. Also I fixed a few font issues (for multi-letter identifiers and angle brackets)

Changing margins within a LaTeX list is a bit delicate, but this is I think the layout you want

enter image description here

\documentclass{article}

\usepackage{booktabs,xfrac,amsmath}

\begin{document}

\subsection{Given the following data set where “Target 2” represent the class attribute, 
compute the naive Bayesian classification for the instance $\langle L,white\rangle$ and $\langle \mathit{XS},?\rangle$.}

\savebox0{%
\begin{tabular}{ccc}
    \toprule    
    Size        &   Color   &   Target2 \\
    \midrule
    XS      &   green   &   Yes     \\
    L       &   green   &   Yes     \\
    XS      &   white   &   No      \\
    M       &   black   &   No      \\
    XL      &   green   &   Yes     \\
    XS      &   white   &   Yes     \\
    L       &   black   &   No      \\
    M       &   green   &   Yes     \\
    \bottomrule
\end{tabular}}

\begin{enumerate}
\makeatletter
\dimen@\wd0
\advance\dimen@2em
\advance\rightmargin-\dimen@
\advance\linewidth-\dimen@
\parshape \@ne \@totalleftmargin \linewidth
\hbox to \textwidth{\hfill\vtop to \z@{\vskip1em \box\z@\vss}}
   \item

 In this case the experience $E$ is made up of $e_{1} = L$ and $e_{2} = \mathit{white}$, 
        which in Naive Bayes are to be considered as independent, therefore we have:
        \begin{align*}
            P(\mathit{yes}|E) &= P(L|\mathit{yes})\cdot P(\mathit{white}|\mathit{yes}) \cdot P(\mathit{yes})     \\
                     &= \sfrac{1}{5}\times \sfrac{1}{5} \times \sfrac{5}{8} \\
                     &= 0.025
        \end{align*}
        \begin{align*}
            P(\mathit{no}|E) &= P(L|\mathit{no}) \cdot P(\mathit{white}|\mathit{no}) \cdot P(\mathit{no}) \\
                    &= \sfrac{1}{3} \times \sfrac{1}{3} \times \sfrac{3}{8}  \\
                    &= 0.041
        \end{align*}

\advance\rightmargin\dimen@
\advance\linewidth\dimen@
\parshape \@ne \@totalleftmargin \linewidth

        Then we normalize:
        \begin{align*}
            P(\mathit{yes}) &= \frac{0.025}{0.066}  
                    \simeq 0.38 
        \end{align*}
        \begin{align*}
            P(\mathit{no}) &= \frac{0.041}{0.066} 
                   \simeq 0.62
        \end{align*}
        As $P(\mathit{no}) > P(\mathit{yes})$, we label $\langle L,\mathit{white}\rangle$ as ``no''.



    \item Now we have to classify a sample with a missing value. During the testing phase 
        we simply omit the attribute\footnote{Classification Other Methods, slide 24}:
        \begin{align*}
            P(\mathit{yes}|\mathit{XS}) &= P(\mathit{XS}|\mathit{yes}) \cdot P(\mathit{yes}) = \sfrac{2}{5} \times \sfrac{5}{8}
                      = 0.25
        \end{align*}
        \begin{align*}
            P(\mathit{no}|\mathit{XS}) &= P(\mathit{XS}|\mathit{no}) \cdot P(\mathit{no}) 
                     = \sfrac{1}{3} \times \sfrac{3}{8}
                     = 0.125
        \end{align*}
        Let us normalize
        \begin{align*}
            P(\mathit{yes}) &= \sfrac{0.25}{0.375} \simeq 0.7 \\
            P(\mathit{no})  &= \sfrac{0.125}{0.375} \simeq 0.3
        \end{align*}
        Bottom line this sample is classified as ``yes''.
\end{enumerate}


\end{document}
share|improve this answer
    
this is great, thank you very much David! –  Edo Apr 29 '12 at 10:26
    
Not quite right: note the "therefore we have:" is stretched out. That's probably fixable but a workaround is to put a blank line after that line, before the following align. –  David Carlisle Apr 29 '12 at 13:27
    
I had noticed that, but I guess that a \hfill should do the job. Still it is a great answer, even though I hoped there was some package to manage these situations, thank you very much again. –  Edo Apr 29 '12 at 13:30

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.