答案1
作为起点:
\documentclass{article}
\usepackage[%showframe,
]{geometry}
\usepackage{booktabs, tabularx}
\usepackage{ragged2e}
\newcolumntype{L}{>{\RaggedRight}X}
\usepackage{enumitem}
\begin{document}
{
\centering
\renewcommand\arraystretch{1.2}
\begin{tabularx}{\linewidth}{| l | L |}
\hline
Titre & xxxxx xxx xx x xxxxxxx \\
\hline
xxxxx & xxxxx xxx xx x xxxxxxx \\
\hline
xxxxx & xxxxx xxx xx x xxxxxxx xxxxx xxx xx x xxxxxxx xxxxx xxx xx x xxxxxxx \\
\hline
xxxxx xxxxx & \begin{enumerate}[leftmargin=*,
nosep, topsep = 0pt, partopsep = 0pt,
before = \vspace{-0.5\baselineskip},
after = \vspace{-\baselineskip}]
\item xxxxx xxx xx x xxxxxxx
\item xxxxx xxx xx x xxxxxxx
\item xxxxx xxx xx x xxxxxxx xxxxx xxx xx x xxxxxxx
xxxxx xxx xx x xxxxxxx xxxxx xxx xx x xxxxxxx
xxxxx xxx xx x xxxxxxx xxxxx xxx xx x xxxxxxx
\item xxxxx xxx xx x xxxxxxx xxxxx xxx xx x xxxxxxx
xxxxx xxx xx x xxxxxxx xxxxx xxx xx x
\end{enumerate} \\
\hline
xxxxx xxxxx xx & xxxxx xxx xx x xxxxxxx xxxxx \\
\hline
\end{tabularx}
}
\end{document}
或利用booktabs
:
\begin{tabularx}{\linewidth}{ l L }
\toprule
Titre & xxxxx xxx xx x xxxxxxx \\
xxxxx & xxxxx xxx xx x xxxxxxx \\
xxxxx & xxxxx xxx xx x xxxxxxx xxxxx xxx xx x xxxxxxx xxxxx xxx xx x xxxxxxx \\
xxxxx xxxxx & \begin{enumerate}[leftmargin=*,
nosep, topsep = 0pt, partopsep = 0pt,
before = \vspace{-0.5\baselineskip},
after = \vspace{-\baselineskip}]
\item xxxxx xxx xx x xxxxxxx
\item xxxxx xxx xx x xxxxxxx
\item xxxxx xxx xx x xxxxxxx xxxxx xxx xx x xxxxxxx
xxxxx xxx xx x xxxxxxx xxxxx xxx xx x xxxxxxx
xxxxx xxx xx x xxxxxxx xxxxx xxx xx x xxxxxxx
\item xxxxx xxx xx x xxxxxxx xxxxx xxx xx x xxxxxxx
xxxxx xxx xx x xxxxxxx xxxxx xxx xx x
\end{enumerate} \\
xxxxx xxxxx xx & xxxxx xxx xx x xxxxxxx xxxxx \\
\bottomrule
\end{tabularx}
答案2
以下是带有wide
选项的变体解决方案enumitem
。我将针对最后两行进行演示。我使用 为单元格添加了一些垂直填充makecell
:
\documentclass[a4paper]{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{enumitem}
\usepackage{tabularx, makecell}
\setcellgapes{3pt}
\begin{document}
{\makegapedcells\noindent
\begin{tabularx}{\linewidth}{|l|>{\arraybackslash}X|}%
\hline
Scénario nominal & \begin{enumerate}[wide=0pt, nosep, before = \leavevmode\vspace*{-\baselineskip}, after=\vspace*{-\baselineskip}]
\item L’utilisateur demande la réinitialisation de son mot de passe.
\item L’utilisateur introduit son email.
\item Un email contenant un lien de réinitialisation lui est envoyé.
\item L’utilisateur clique sur le lien et arrive sur un formulaire où il saisit son nouveau mot de passe.
\item Une fois le mot de passe modifié, l’utilisateur peut se connecter avec son nouveau mot de passe.
\end{enumerate} \\
\hline
Scénario d’exception & Si l’email fourni est inexistant, l’utilisateur sera alerté. \\
\hline
\end{tabularx}}
\end{document}
我提出了另一种解决方案,使用framed
包,除了框架之外没有其他规则:
\setlength{\FrameSep}{2pt}\begin{framed}\makegapedcells\noindent
\begin{tabularx}{\linewidth}{ >{\bfseries}l>{\arraybackslash}X}%
Scénario nominal & \begin{enumerate}[wide=0pt, nosep, before = \leavevmode\vspace*{-1\baselineskip}, after=\vspace*{-2\baselineskip}]
\item L’utilisateur demande la réinitialisation de son mot de passe.
\item L’utilisateur introduit son email.
\item Un email contenant un lien de réinitialisation lui est envoyé.
\item L’utilisateur clique sur le lien et arrive sur un formulaire où il saisit son nouveau mot de passe.
\item Une fois le mot de passe modifié, l’utilisateur peut se connecter avec son nouveau mot de passe.
\end{enumerate} \\
Scénario d’exception & Si l’email fourni est inexistant, l’utilisateur sera alerté. \
\end{tabularx}
\end{framed}