当我运行我的代码时,我得到:Overfull \hbox (31.04974pt too wide) in alignement at lines 287--347
\documentclass
\chapter{ Présentation Générale}
\label{chap1}
\minitoc
\newpage
\section{Méthodologie du travail }
Suivre une méthodologie de travail est une première assurance pour produire des logiciels et des applications de qualité qui répondent aux besoins des utilisateurs tout en respectant la contrainte du temps en assurant une optimisation du produit.\\
En effet, il existe plusieurs méthodologies de développement parmi lesquelles nous citons les approches classiques caractérisées par un processus de développement linéaire dont ses phases principales sont recueillir les besoins, définir le produit, le développer et le tester avant de le livrer. \\
Il s'agit ici de prévoir des phases séquentielles et des plans détaillés basées sur des exigences stables dès le début du projet.
\subsection{Étude comparative entre ces méthodologies }
Le tableau ci-dessous dégage les différences entre les méthodes de développement susmentionnées :
\newpage
\begin{longtable}{|p{3cm}|p{4cm}|p{4cm}|p{4cm}|}
\hline
& \textbf{Principes }& \textbf{Points forts} & \textbf{Points faibles} \\
\hline
\begin{center}
\textbf{Modèle en Cascade}
\end{center}
&
\begin{itemize}
\item Les étapes se terminent à des dates précises par la production de documents ou logiciels.
\item Processus linéaire.
\item Les résultats de d’étapes sont examinées attentivement avant de passer à l’étape suivante.
\end{itemize}
&
\begin{itemize}
\item Facile à comprendre et à utiliser.
\item Les limites de chaque étape sont visibles.
\item Vision globale du projet au cours de développement.
\end{itemize}
&
\begin{itemize}
\item Tous les besoins doivent être bien spécifiés au départ.
\item Difficulté de retour en arrière aux cas des anomalies.
\item L’intégration n’a lieu qu’à la fin du cycle.
\end{itemize}\\
\hline
\begin{center}
\textbf{Modèle en V}
\end{center}
&
\begin{itemize}
\item Le développement de test et du logiciel sont effectuées de manière synchrone.
\end{itemize}
&
\begin{itemize}
\item Met l’accent sur les tests et la validation et donc accroît la qualité.
\item Chaque livrable doit être testable.
\item Facile à utiliser et à planifier.
\end{itemize}
&
\begin{itemize}
\item Le processus n’est pas itératif.
\item Ne gère pas les activités parallèles.
\end{itemize}\\
\hline
\end{longtable}
\begin{longtable}{|p{3cm}|p{4cm}|p{4cm}|p{4cm}|}
\hline
&
\begin{itemize}
\item Avec toute décomposition doit être décrite la recomposition.
\item Toute description d’un composant est accompagnée de tests qui assurent leurs correspondance.
\end{itemize}
&
&
\begin{itemize}
\item Difficile de séparer les phases de
conception et de réalisation.
\end{itemize}\\
\hline
\begin{center}
\textbf{Modèle en Spirale}
\end{center}
&
\begin{itemize}
\item Détermination des objectifs du cycle, analyse des risques et évaluation des alternatives.
\item Développement et vérification de la solution retenue.
\item Revue des résultats et vérification du cycle suivant.
\end{itemize}
&
\begin{itemize}
\item Donne des indications sur les risques majeurs sans élever le coût.
\item La conception ne doit pas forcément être terminée.
\item Le développement se fait en interaction avec les clients.
\end{itemize}
&
\begin{itemize}
\item Ce modèle est complexe.
\item La spirale peut être infinie.
\item Il est difficile de définir les objectifs et les points de validation intermédiaires entre les différentes étapes.
\end{itemize}\\
\hline
\begin{center}
\textbf{Modèle par incrément}
\end{center}
&
\begin{itemize}
\item Développement d’un noyau fonctionnel commun à un ensemble d’applications.
\item Développement de ces applications autour du noyau commun.
\item Le recouvrement des différentes phases.
\end{itemize}
&
\begin{itemize}
\item Chaque développement est moins complexe.
\item Les intégrations sont progressives.
\item Possibilité de livrer et de mettre en service chaque incrément.
\end{itemize}
&
\begin{itemize}
\item Nécessité d’une bonne planification et une bonne conception.
\item Le coût total du développement du système n’est pas négligeable.
\item Les différentes interfaces doivent être bien définies.
\end{itemize}\\
\hline
\end{longtable}
\caption{Comparaison entre les méthodologies }
\end{document}
请问我该如何解决这个问题?
答案1
最可能的原因是列宽总和大于文本宽度。
这是一个以参数为参数的列类型
- 总数的分数的分子
- 分数的分母
- 列数
我使用单个longtable
,标题位于其上方。列排版在右侧参差不齐,当列非常窄时,这种方式会更好。
\documentclass[a4paper]{book}
\usepackage{geometry}
\usepackage[T1]{fontenc}
\usepackage[french]{babel}
\usepackage{minitoc}
\usepackage{longtable}
\usepackage{array}
\usepackage{enumitem}
\newcolumntype{P}[3]{%
>{\raggedright\arraybackslash}
p{\dimexpr #1\textwidth/#2 - 2\tabcolsep - #3\arrayrulewidth/\numexpr#3+1}%
}
\newlist{ltitemize}{itemize}{1}
\setlist[ltitemize]{leftmargin=*,label=---}
\begin{document}
\chapter{Présentation Générale}\label{chap1}
\minitoc
\clearpage
\section{Méthodologie du travail}
Suivre une méthodologie de travail est une première assurance
pour produire des logiciels et des applications de qualité qui
répondent aux besoins des utilisateurs tout en respectant la
contrainte du temps en assurant une optimisation du produit.
En effet, il existe plusieurs méthodologies de développement
parmi lesquelles nous citons les approches classiques caractérisées
par un processus de développement linéaire dont ses phases
principales sont recueillir les besoins, définir le produit,
le développer et le tester avant de le livrer.
Il s'agit ici de prévoir des phases séquentielles et des plans
détaillés basées sur des exigences stables dès le début du projet.
\subsection{Étude comparative entre ces méthodologies }
Le tableau ci-dessous dégage les différences entre les méthodes
de développement susmentionnées :
\newpage
\begin{longtable}{
|
P{3}{15}{4}
|
P{4}{15}{4}
|
P{4}{15}{4}
|
P{4}{15}{4}
|
}
\caption{Comparaison entre les méthodologies}\label{tab-comparaison} \\
\hline
\endfirsthead
\caption{Comparaison entre les méthodologies (continued)} \\
\hline
\endhead
& \textbf{Principes}& \textbf{Points forts} & \textbf{Points faibles} \\
\hline
\begin{center}
\textbf{Modèle en Cascade}
\end{center}
&
\begin{ltitemize}
\item Les étapes se terminent à des dates précises par la production
de documents ou logiciels.
\item Processus linéaire.
\item Les résultats de d’étapes sont examinées attentivement avant
de passer à l’étape suivante.
\end{ltitemize}
&
\begin{ltitemize}
\item Facile à comprendre et à utiliser.
\item Les limites de chaque étape sont visibles.
\item Vision globale du projet au cours de développement.
\end{ltitemize}
&
\begin{ltitemize}
\item Tous les besoins doivent être bien spécifiés au départ.
\item Difficulté de retour en arrière aux cas des anomalies.
\item L’intégration n’a lieu qu’à la fin du cycle.
\end{ltitemize}\\
\hline
\begin{center}
\textbf{Modèle en V}
\end{center}
&
\begin{ltitemize}
\item Le développement de test et du logiciel sont effectuées de manière synchrone.
\end{ltitemize}
&
\begin{ltitemize}
\item Met l’accent sur les tests et la validation et donc accroît la qualité.
\item Chaque livrable doit être testable.
\item Facile à utiliser et à planifier.
\end{ltitemize}
&
\begin{ltitemize}
\item Le processus n’est pas itératif.
\item Ne gère pas les activités parallèles.
\end{ltitemize}\\
\hline
&
\begin{ltitemize}
\item Avec toute décomposition doit être décrite la recomposition.
\item Toute description d’un composant est accompagnée de tests qui
assurent leurs correspondance.
\end{ltitemize}
&
&
\begin{ltitemize}
\item Difficile de séparer les phases de
conception et de réalisation.
\end{ltitemize}\\
\hline
\begin{center}
\textbf{Modèle en Spirale}
\end{center}
&
\begin{ltitemize}
\item Détermination des objectifs du cycle, analyse des risques et
évaluation des alternatives.
\item Développement et vérification de la solution retenue.
\item Revue des résultats et vérification du cycle suivant.
\end{ltitemize}
&
\begin{ltitemize}
\item Donne des indications sur les risques majeurs sans élever le coût.
\item La conception ne doit pas forcément être terminée.
\item Le développement se fait en interaction avec les clients.
\end{ltitemize}
&
\begin{ltitemize}
\item Ce modèle est complexe.
\item La spirale peut être infinie.
\item Il est difficile de définir les objectifs et les points de
validation intermédiaires entre les différentes étapes.
\end{ltitemize}\\
\hline
\begin{center}
\textbf{Modèle par incrément}
\end{center}
&
\begin{ltitemize}
\item Développement d’un noyau fonctionnel commun à un ensemble d’applications.
\item Développement de ces applications autour du noyau commun.
\item Le recouvrement des différentes phases.
\end{ltitemize}
&
\begin{ltitemize}
\item Chaque développement est moins complexe.
\item Les intégrations sont progressives.
\item Possibilité de livrer et de mettre en service chaque incrément.
\end{ltitemize}
&
\begin{ltitemize}
\item Nécessité d’une bonne planification et une bonne conception.
\item Le coût total du développement du système n’est pas négligeable.
\item Les différentes interfaces doivent être bien définies.
\end{ltitemize}\\
\hline
\end{longtable}
\end{document}
请更加谨慎地输入:
\chapter{ Présentation Générale}
\section{Méthodologie du travail }
是不正确的,因为空格也算。它们应该是
\chapter{Présentation Générale}
\section{Méthodologie du travail}
不要使用\\
它来结束段落,而是用空行;\\
来结束表格行就好了。
答案2
改用 xltabular
:
\documentclass{article}
\usepackage{xltabular}
\usepackage{enumitem}
\usepackage{ragged2e}
\setlist{nosep,itemsep=0ex,leftmargin=3mm}
\begin{document}
\begin{xltabular}{\linewidth}{ |c| *3{>{\RaggedRight}X|} }
\hline
& \textbf{Principes }& \textbf{Points forts} & \textbf{Points faibles} \\
\hline
\bfseries\raisebox{-12pt}{\begin{tabular}[t]{@{}c@{}}Modèle en\\ Cascade\end{tabular}}
&
\begin{itemize}
\item Les étapes se terminent à des dates précises par la production de documents ou
logiciels.
\item Processus linéaire.
\item Les résultats de d’étapes sont examinées attentivement avant de passer à l’étape
suivante.
\end{itemize}
&
\begin{itemize}
\item Facile à comprendre et à utiliser.
\item Les limites de chaque étape sont visibles.
\item Vision globale du projet au cours de développement.
\end{itemize}
&
\begin{itemize}
\item Tous les besoins doivent être bien spécifiés au départ.
\item Difficulté de retour en arrière aux cas des anomalies.
\item L’intégration n’a lieu qu’à la fin du cycle.
\end{itemize}\\
\hline
\bfseries\raisebox{-12pt}{\begin{tabular}[t]{@{}c@{}}Modèle\\ en V\end{tabular}}
&
\begin{itemize}
\item Le développement de test et du logiciel sont effectuées de manière synchrone.
\end{itemize}
&
\begin{itemize}
\item Met l’accent sur les tests et la validation et donc accroît la qualité.
\item Chaque livrable doit être testable.
\item Facile à utiliser et à planifier.
\end{itemize}
&
\begin{itemize}
\item Le processus n’est pas itératif.
\item Ne gère pas les activités parallèles.
\end{itemize}\\
\hline
\end{xltabular}
\end{document}