How can I set a list inside a definition in latex?

You can use a tabular environment or one of its variations:

\documentclass{article}
\usepackage{tabularx}
\begin{document}

\noindent\begin{tabularx}{\linewidth}{l@{\space}X}
What is science: & Lorem ipsum dolor sit amet, consectetur adipiscing elit.
\begin{itemize}
  \item List item 1
  \item List item 2
  \item List item 3
\end{itemize} \\
& Another lorem ipsum dolor sit amet, consectetur adipiscing elit.
\end{tabularx}

\end{document}

enter image description here


I would recommend using the description environment instead:

enter image description here

Notes:

  • I used the enumitem package as it provides more flexibility.
  • The calc package is needed for the \widthof{} macro.

Code:

\documentclass{article}
\usepackage{calc}
\usepackage{enumitem}

\begin{document}
\begin{description}[leftmargin=\widthof{\bfseries What is science:~}]
    \item [What is science:] Lorem ipsum dolor sit amet, consectetur adipiscing elit.
    \begin{itemize}
        \item List item 1
        \item List item 2
        \item List item 3
    \end{itemize}
    Another lorem ipsum dolor sit amet, consectetur adipiscing elit.
\end{description}
\end{document}

Just for record a solution with minipage without tabular environment:

\documentclass{article}
\usepackage{calc}
\newlength{\wis}
\settowidth{\wis}{\bf What~is~science:~}

\begin{document}

\paragraph{What~is~science:~}
\hfill\begin{minipage}[t]{\textwidth-\wis}
Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat. 
\begin{itemize}
\setlength\itemsep{0ex}
  \item List item 1
  \item List item 2 
  \item List item 3
\end{itemize}
Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat.
\end{minipage}

\end{document}

enter image description here