在我的文档中,为了将文本放在图像旁边,我选择了一个环境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:我添加了下面注释中提到的可选参数。此处的高度差异是由于itemize
和tabularx
环境上方的间距不同造成的。minipages
现在在顶部匹配(第一个可选参数,取 b、t 和 c),具有定义的高度(第二个可选参数,取任意长度),并且文本刷新到底部(第三个参数,取 t 和 c)。还请注意,要使minipages
彼此相邻出现,两者之间不能有空行。