在图片附近添加一个 tabularx,该图片也插入到 tabularx 中

在图片附近添加一个 tabularx,该图片也插入到 tabularx 中

在我的文档中,为了将文本放在图像旁边,我选择了一个环境tabularx

在少数情况下,我需要添加一个数组(所以是另一个环境),但我收到错误消息并且它不起作用。

目前,为了解决这个问题,我把第二个环境放在了tabularx第一个环境之后,但是它不太漂亮!

有解决办法吗?提前谢谢

我的例子:

\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}  %pour l'option [resume] qui permet de reprendre la numérotation
\usepackage{pifont}
\usepackage{tabularx}
\usepackage{tabulary}
\usepackage[export]{adjustbox}
\usepackage{verbatim}
\usepackage{multicol}
\usepackage{appendix}

\usepackage{graphicx}
\usepackage{picinpar}

\usepackage[european, RPvoltages, straightvoltages]{circuitikz}
\usepackage{siunitx}
\usepackage{hyperref}

\hypersetup{colorlinks=false, linkcolor=black}
\usetikzlibrary{babel}
\renewcommand{\thesection}{\Roman{section}}
\renewcommand{\thesubsubsection}{\Roman{section}.\arabic{subsection}.\alph{subsubsection}}
\newcommand{\expo}{\textrm{e}} %pour écrire e puissance
\newcommand{\ofg}[1]{\og{}#1\fg{}}
\newcommand{\txtmesure}[1]{\textbf{#1}}
\newcommand{\txtpgm}[1]{\textbf{#1}}
\newcommand{\txtprelim}[1]{\textbf{#1}}
\newcommand{\txtmanip}[1]{\textbf{#1}}
\newcommand{\txtinterpretation}[1]{\textbf{#1}}
\newcommand{\itempgm}{\begin{itemize}[label=\ding{47}]}
\newcommand{\itempgmbis}{\begin{itemize}[label=\ding{49}]}
\newcommand{\itemmanip}{\begin{itemize}[label=\ding{45}]}
\newcommand{\itemcomplement}{\begin{itemize}[label=\ding{80}]}
\newcommand{\itemcomplementbis}{\begin{itemize}[label=\ding{79}]}


\begin{document}
\subsection{Capteur de force}
\subsubsection{Capteur utilisé}

\textbf{Principe du capteur :} un capteur de force (FSR, Force Sensing Resistor) est un capteur dont la résistance varie avec la pression qui lui est appliquée : à force nulle, sa résistance est élevée et diminue lorsqu’on lui exerce une force.


\begin{center}
    \renewcommand\tabularxcolumn[1]{m{#1}}
\begin{tabularx}{\linewidth}{@{} cX @{}}
\includegraphics[width=50mm, valign=c]{capteur_force}
    & \textbf{Manipulation : }programme capteur\_force\_etalonnage.ino
\itemmanip{}
    \item Le capteur de force est inséré dans un bloc de mousse. Faire les branchements électriques (\emph{comme il est déconseillé de chauffer le capteur pour éviter d’abîmer la partie active du capteur, il vaut mieux éviter de le souder à un fil électrique});
    \item Placer une bouteille d’eau vide sur la mousse (surmontée éventuellement d'un entonnoir en plastique) ;
    \item Pour différents volumes d’eau (et donc différentes forces appliquées au capteur), noter la résistance du capteur :
\end{itemize}
\end{tabularx}
\end{center}

    \begin{tabularx}{0.5\linewidth}{|c||*{7}{>{\centering \arraybackslash}X|}}\hline
    volume d'eau (\si{\liter}) & 0.5 & 0.7 & 0.9 & 1.1 & 1.3 & 1.5 \\ 
    \hline
    force (\si{\newton}) & 5 & 7 & 9 & 11 & 13 & 15  \\ 
    \hline 
    Résistance (\si{\kohm}) &  &  &  & & &  \\
    \hline
    \end{tabularx}
    
\itemmanip{}    
    \item Transférer les documents dans un logiciel de traitement (voir \ref{sec:traitement_donnees} \nameref{sec:traitement_donnees}) ;
    \item Modéliser les points obtenus par une fonction inverse de type $R=a/F + b$.
\end{itemize}

\end{document}

答案1

我认为tabularx实际上使用 来达到这个目的并没有多大意义。我建议使用minipages,它允许你将任何 LaTeX 对象(或多或少)放在一起。

以下是使用部分代码的示例:

\documentclass{scrartcl}

\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}  %pour l'option [resume] qui permet de reprendre la numérotation
\usepackage{pifont}
\usepackage{tabularx}
\usepackage[export]{adjustbox}
\usepackage{multicol}

\usepackage{graphicx}
\usepackage{siunitx}
\usepackage{hyperref}

\newenvironment{manip}{\begin{itemize}[label=\ding{45}]}{\end{itemize}}
\usepackage{booktabs}


\begin{document}
    \subsection{Capteur de force}
    \subsubsection{Capteur utilisé}
    
    \textbf{Principe du capteur :} un capteur de force (FSR, Force Sensing Resistor) est un capteur dont la résistance varie avec la pression qui lui est appliquée : à force nulle, sa résistance est élevée et diminue lorsqu’on lui exerce une force.
                
\begin{minipage}{.22\linewidth}
    \includegraphics[width=\linewidth, valign=c]{example}
\end{minipage}
\begin{minipage}{.78\linewidth}
    \textbf{Manipulation : }programme capteur\_force\_etalonnage.ino
    \begin{manip}
        \item Le capteur de force est inséré dans un bloc de mousse. Faire les branchements électriques (\emph{comme il est déconseillé de chauffer le capteur pour éviter d’abîmer la partie active du capteur, il vaut mieux éviter de le souder à un fil électrique});
        \item Placer une bouteille d’eau vide sur la mousse (surmontée éventuellement d'un entonnoir en plastique) ;
        \item Pour différents volumes d’eau (et donc différentes forces appliquées au capteur), noter la résistance du capteur :
    \end{manip}
\end{minipage}

\begin{minipage}[t][2.2cm][b]{.5\linewidth}
    \begin{tabularx}{\linewidth}{Xcccccc}
    \toprule
    volume d'eau (\si{\liter}) & 0.5 & 0.7 & 0.9 & 1.1 & 1.3 & 1.5 \\ \midrule
    force (\si{\newton}) & 5 & 7 & 9 & 11 & 13 & 15  \\ \midrule
    Résistance (\si{\kohm}) &  &  &  & & &  \\
    \bottomrule
    \end{tabularx}
\end{minipage}
\begin{minipage}[t][3.0cm][b]{.5\linewidth}
    \begin{manip}
    \item Transférer les documents dans un logiciel de traitement (voir \ref{sec:traitement_donnees} \nameref{sec:traitement_donnees}) ;
    \item Modéliser les points obtenus par une fonction inverse de type $R=a/F + b$.
    \end{manip}
\end{minipage}
\end{document}

编辑:在此过程中,我还manip根据您的newcommand列表定义了一个新环境,这使得您的编辑器更容易看到环境何时开始和结束。

编辑2:我添加了下面注释中提到的可选参数。此处的高度差异是由于itemizetabularx环境上方的间距不同造成的。minipages现在在顶部匹配(第一个可选参数,取 b、t 和 c),具有定义的高度(第二个可选参数,取任意长度),并且文本刷新到底部(第三个参数,取 t 和 c)。还请注意,要使minipages彼此相邻出现,两者之间不能有空行。

相关内容