2

I'm trying to put some text (more exactly a bullet list) next to an image. At first I was using the wrapfigure package but saw that it was not suitable for bulleted lists. So I tried with a multicol but I have a problem because my text starts at the bottom of the image before moving to the side. How can I solve my problem.

\documentclass{article}

\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc} 
\usepackage[french]{babel}
\usepackage[left=1.5cm, right=1.5cm, top=1.5cm, bottom=1.5cm]{geometry}

\usepackage{array}
\usepackage{enumitem}  
\usepackage{pifont}
\usepackage{multicol}

\usepackage{graphicx}
\usepackage{picinpar}

\usetikzlibrary{babel}


\begin{document}

\begin{multicols}{2}
\includegraphics[width=6.5cm]{image}
\textbf{Principe du programme} :
\begin{itemize}[label=\ding{47}]
\item on alimente en 0V la broche D3 à l’aide de digitalWrite ce qui permet de décharger le condensateur ;
\item on appelle la fonction réglage qui permet de récupérer les données d'acquisition ;
\item tant que l'on a pas atteint le nombre de points de mesure (test avec if), on appelle la fonction lecture qui vérifie que :
    \begin{itemize}[label=\ding{49}]
    \item le condensateur est bien déchargé (test avec while), applique une tension de 5V à la broche D3 à l'aide de digitalWrite pour commencer la charge du condensateur et démarre le compteur en notant le temps de départ à l’aide de millis ;
    \item si la valeur lue aux bornes du condensateur (borne A0), test avec if, est supérieure à 63 \% de la valeur maximale (en analogique 10 bit, la valeur maximale est 1023 donc quand la valeur atteint 674), on arrête le compteur en notant la valeur de millis ;
    \end{itemize}
\item on écrit dans le moniteur série avec Serial.println le temps écoulé entre le départ et l'arrivée en le convertissant en secondes et on remet à 0V la tension aux bornes du circuit pour le décharger.
\end{itemize}

\end{multicols}

\end{document}

Thanks for your help

2
  • You could use two minipages, one for the image, tge secon one for the text.
    – leandriis
    Commented Dec 25, 2020 at 22:30
  • What about a \columnbreak after the image? BTW, for the width of the image use some like .9\linewidth instead of a absolute measure.
    – Fran
    Commented Dec 25, 2020 at 23:04

2 Answers 2

2

You can use minipages.

\documentclass{article}

\usepackage[T1]{fontenc}
\usepackage[french]{babel}
\usepackage[left=1.5cm, right=1.5cm, top=1.5cm, bottom=1.5cm]{geometry}
\usepackage{graphicx,pifont,enumitem}

\usepackage{lipsum} % for mock text


\begin{document}

\lipsum[2]

\begin{flushleft}
\begin{minipage}{6.5cm}
\includegraphics[width=\textwidth]{example-image}
\end{minipage}\hfill
\begin{minipage}{\dimexpr\textwidth-6.5cm-\columnsep}
\textbf{Principe du programme} :
\begin{itemize}[label=\ding{47}]
\item on alimente en 0V la broche D3 à l’aide de digitalWrite ce qui permet de décharger le condensateur ;
\item on appelle la fonction réglage qui permet de récupérer les données d'acquisition ;
\item tant que l'on a pas atteint le nombre de points de mesure (test avec if), on appelle la fonction lecture qui vérifie que :
    \begin{itemize}[label=\ding{49}]
    \item le condensateur est bien déchargé (test avec while), applique une tension de 5V à la broche D3 à l'aide de digitalWrite pour commencer la charge du condensateur et démarre le compteur en notant le temps de départ à l’aide de millis ;
    \item si la valeur lue aux bornes du condensateur (borne A0), test avec if, est supérieure à 63 \% de la valeur maximale (en analogique 10 bit, la valeur maximale est 1023 donc quand la valeur atteint 674), on arrête le compteur en notant la valeur de millis ;
    \end{itemize}
\item on écrit dans le moniteur série avec Serial.println le temps écoulé entre le départ et l'arrivée en le convertissant en secondes et on remet à 0V la tension aux bornes du circuit pour le décharger.
\end{itemize}
\end{minipage}
\end{flushleft}

\lipsum[3]

\end{document}

enter image description here

With the help of adjustbox you can get top alignment.

\documentclass{article}

\usepackage[T1]{fontenc}
\usepackage[french]{babel}
\usepackage[left=1.5cm, right=1.5cm, top=1.5cm, bottom=1.5cm]{geometry}
\usepackage{graphicx,pifont,enumitem}

\usepackage[export]{adjustbox}

\usepackage{lipsum} % for mock text


\begin{document}

\lipsum[2]

\begin{flushleft}

\includegraphics[width=6.5cm,valign=t]{example-image}\hfill
\begin{minipage}[t]{\dimexpr\textwidth-6.5cm-\columnsep}
\textbf{Principe du programme} :
\begin{itemize}[label=\ding{47}]
\item on alimente en 0V la broche D3 à l’aide de digitalWrite ce qui permet de décharger le condensateur ;
\item on appelle la fonction réglage qui permet de récupérer les données d'acquisition ;
\item tant que l'on a pas atteint le nombre de points de mesure (test avec if), on appelle la fonction lecture qui vérifie que :
    \begin{itemize}[label=\ding{49}]
    \item le condensateur est bien déchargé (test avec while), applique une tension de 5V à la broche D3 à l'aide de digitalWrite pour commencer la charge du condensateur et démarre le compteur en notant le temps de départ à l’aide de millis ;
    \item si la valeur lue aux bornes du condensateur (borne A0), test avec if, est supérieure à 63 \% de la valeur maximale (en analogique 10 bit, la valeur maximale est 1023 donc quand la valeur atteint 674), on arrête le compteur en notant la valeur de millis ;
    \end{itemize}
\item on écrit dans le moniteur série avec Serial.println le temps écoulé entre le départ et l'arrivée en le convertissant en secondes et on remet à 0V la tension aux bornes du circuit pour le décharger.
\end{itemize}
\end{minipage}
\end{flushleft}

\lipsum[3]

\end{document}

enter image description here

1
  • Thanks a lot for your response
    – Nicolas
    Commented Dec 27, 2020 at 8:00
1

Like this:

enter image description here

Partly considering @Fran comment, partly @Werner answer:

\documentclass{article}
\usepackage[margin=1.5cm]{geometry}

\usepackage[T1]{fontenc}
\usepackage[french]{babel}

\usepackage{enumitem}
\usepackage{pifont}
\usepackage{multicol}

\usepackage{graphicx}
\usepackage{lipsum}

\begin{document}
\lipsum[11]

    \begin{multicols}{2}
\null \vfill    % https://tex.stackexchange.com/questions/86452/
\noindent%
\includegraphics[width=\linewidth]{example-image-duck}

\vfill \null 
\columnbreak

\textbf{Principe du programme} :
\begin{itemize}[label=\ding{47}]
\item on alimente en 0V la broche D3 à l’aide de digitalWrite ce qui permet de décharger le condensateur ;
\item on appelle la fonction réglage qui permet de récupérer les données d'acquisition ;
\item tant que l'on a pas atteint le nombre de points de mesure (test avec if), on appelle la fonction lecture qui vérifie que :
    \begin{itemize}[label=\ding{49}]
    \item le condensateur est bien déchargé (test avec while), applique une tension de 5V à la broche D3 à l'aide de digitalWrite pour commencer la charge du condensateur et démarre le compteur en notant le temps de départ à l’aide de millis ;
    \item si la valeur lue aux bornes du condensateur (borne A0), test avec if, est supérieure à 63 \% de la valeur maximale (en analogique 10 bit, la valeur maximale est 1023 donc quand la valeur atteint 674), on arrête le compteur en notant la valeur de millis ;
    \end{itemize}
\item on écrit dans le moniteur série avec Serial.println le temps écoulé entre le départ et l'arrivée en le convertissant en secondes et on remet à 0V la tension aux bornes du circuit pour le décharger.
\end{itemize}
    \end{multicols}
\lipsum[12]

\end{document}

Addendum: Other possibility, where is simple possibility to change column width, is use table, for example of the tabularx type:

enter image description here

\documentclass{article}
\usepackage[margin=1.5cm]{geometry}

\usepackage[T1]{fontenc}
\usepackage[french]{babel}

\usepackage{enumitem}
\usepackage{pifont}
\usepackage{tabularx}

\usepackage[export]{adjustbox}
\usepackage{lipsum}

\begin{document}
\lipsum[11]
    \begin{center}
    \renewcommand\tabularxcolumn[1]{m{#1}}
\begin{tabularx}{\linewidth}{@{} cX @{}}
\includegraphics[width=56mm, valign=c]{example-image-duck}
    &   \textbf{Principe du programme}:
        \begin{itemize}[label=\ding{47}]
    \item on alimente en 0V la broche D3 à l’aide de digitalWrite ce qui permet de décharger le condensateur ;
    \item on appelle la fonction réglage qui permet de récupérer les données d'acquisition ;
    \item tant que l'on a pas atteint le nombre de points de mesure (test avec if), on appelle la fonction lecture qui vérifie que :
            \begin{itemize}[label=\ding{49}]
        \item le condensateur est bien déchargé (test avec while), applique une tension de 5V à la broche D3 à l'aide de digitalWrite pour commencer la charge du condensateur et démarre le compteur en notant le temps de départ à l’aide de millis ;
        \item si la valeur lue aux bornes du condensateur (borne A0), test avec if, est supérieure à 63 \% de la valeur maximale (en analogique 10 bit, la valeur maximale est 1023 donc quand la valeur atteint 674), on arrête le compteur en notant la valeur de millis ;
            \end{itemize}
    \item on écrit dans le moniteur série avec Serial.println le temps écoulé entre le départ et l'arrivée en le convertissant en secondes et on remet à 0V la tension aux bornes du circuit pour le décharger.
    \end{itemize}
\end{tabularx}
    \end{center}
\lipsum[12]

\end{document}
6
  • The problem with this method is that I feel like I can't change the width of the columns
    – Nicolas
    Commented Dec 26, 2020 at 7:25
  • If the problem is width of columns, than this approach is not what you looking for. This is not clear from your question. I will add another solution asap.
    – Zarko
    Commented Dec 26, 2020 at 7:30
  • @Nicolas, see addendum In it is solution with use of table.
    – Zarko
    Commented Dec 26, 2020 at 7:49
  • this is nice ! Can you explain to me : - the parameter {m{#1}} in tabularxcolumns - the parameter {@{} cX @{} in tabular - what is the & in front of the \ \textbf Thanks
    – Nicolas
    Commented Dec 26, 2020 at 11:01
  • @Nicolas, default are X cells equivalent to p{...} type of cells (with features that width is calculated by LaTeX), with \renewcommand\tabularxcolumn[1]{m{#1}} is p type replaced withm type, which vertically center cells' contents. By @{} are nullify columns separations. In your case at left and right border of table. To observe this, make a test with given MWE where delete tem in column specification and them observe difference. & is marker for columns, \textbf{...}` is command for boldface text inside braces.
    – Zarko
    Commented Dec 26, 2020 at 14:45

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .