0

I have a really big problem here. I have to insert a big table in a document. No matter how I tried to make it smaller, my boss does not want it to be changed. He made it using word, and I have to insert it in latex document. I tried using ltxtable, but it creates 116 errors... yeah, 116...

Here is the code I use for the table :

\begin{longtable}{|X|X|X|X|X|}%
\tiny
\hline
Problèmes & Exigences de conception de l'ATL  & Principes de conception de l'ATL & \multicolumn{2}{|c|}{Approche logicielle d'implantation}\\
\hline
Complexité & Masquer aux développeurs d'applications la connaissance et la complexité du choix des solutions protocolaires à invoquer.\newline Masquer aux développeurs d'applications la complexité d'utilisation des solutions protocolaires qui seront invoquées. & Abstraction Sémantique & \multirow{4}{\hsize}{Approche orientée services} & Approche basée sémantique\\
\cline{1-3} \cline{5-5}
Dépendance & Permettre une adaptation de la solution protocolaire retenue en réponse à une évolution du contexte machine/réseau, ou bien à une modification de l’expression du service requis par l’application, c’est à dire :\newline
\begin{itemize}
  \item être doté d’une capacité d’autonomie dans la prise de connaissance du contexte et de ces évolutions, en plus de celle liée au choix et à la mise en \oe uvre des solutions protocolaires à invoquer;
  \item être doté d’une capacité d’autonomie dans le choix et la mise en œuvre des adaptations de la solution protocolaire en cours;
  \item offrir aux développeurs d’applications la possibilité de modifier les caractéristiques du service requis durant le temps d’exécution de l’application.
\end{itemize} & Abstraction Autonomie & & Approche autonomique\\
\cline{1-3} \cline{5-5}
Manque d'extensibilité & Permettre son intégration au sein de son pool de services et de solutions protocolaires, en vue de la mise à disposition du service correspondant et de l’utilisation de la solution protocolaire. & Extensibilité & & \multirow{2}{\hsize}{Approche basée composants}\\
\cline{1-3}
Manque de configurabilité & Gérer la nature composable des différents protocoles et mécanismes protocolaires, chaque protocole pouvant se voir adjoindre des mécanismes externes. & Configurabilité & & \\
\hline
\caption{Synthèse des problèmes, exigences, principes et approches de conception de l'ATL}
\label{syntheseapproches}
\end{longtable}

Which I insert in the main document using :

\LTXtable{\textwidth}{Tables/synthese_approches}

I know this is crappy. There is a lot of text which is very wide and I don't have much time, unfortunately. A pdf of the "model" made with Word can be found there:

http://homepages.laas.fr/gdugue/bigTable.pdf

I know this problem may get on the nerves of some of you or make you at least raise an eyebrow, and for this I apologize in advance. Many many thanks for your help, I've been trying to work my way through this for days with no light of hope.

  • 1
    Did you remember to use UTF-8 input encoding? – ajeh Jun 23 '14 at 17:42
  • 2
    Sympathies. Everything that could possibly be wrong with a table, your boss has done it! – Brent.Longborough Jun 23 '14 at 18:28
  • So in your case it is better to insert it as a pdf image. – Sigur Jun 23 '14 at 18:43
  • Damn me, I did not notice the table dedicated .tex file did not save in UTF-8. Weird, it should be the default setting but anyway, it's still awfully ugly. I'll try rotate it to landscape or insert it as a pdf in last resort. – Vartaghan Jun 23 '14 at 20:16
1

Here is a solution that uses makecell, enumitem, ltablex that combines tabularx and longtable, and finally caption and babel (since it's written in French). I don't need multirow, since makecell has its own multirowcell command, with a simpler syntax and the possibility to use \\ inside a cell. Please note that the number of rows used by \multirowcell is rather the total number of lines of these rows – not exactly though, for diverse reasons, so that if you change the number of lines you'll have to adapt the exact values.

\documentclass[a4paper, 11pt, french]{article}
\usepackage[utf8]{inputenc}
\usepackage{cabin}
\usepackage{ragged2e}
\usepackage[margin = 2cm]{geometry}
\usepackage{babel}
\def\frenchtablename{Tableau}
\usepackage{enumitem}
\usepackage{array}
\usepackage{caption}
\captionsetup{font = {sf, small}, labelfont = sc}

\usepackage{ltablex}
\newcolumntype{S}{>{\hsize=.75\hsize}X}
\newcolumntype{L}{>{\hsize=2\hsize}X}

\usepackage{makecell}
\renewcommand\theadfont{\bfseries}
\renewcommand{\tabularxcolumn}[1]{>{\small\sffamily}m{#1}}

        \begin{document}

{\sffamily\small\renewcommand\arraystretch{1.33}
\begin{tabularx}{\linewidth}{|>{\centering}S|L|>{\centering}S|>{\centering\arraybackslash}S|>{\centering\arraybackslash}S|}%{|S|L|>{\centering}M|>{\centering}S|>{\centering}M|}%
\hline
\thead{Problèmes} & \thead{Exigences de conception de l'ATL} & \thead{Principes \\ de conception \\ de l'ATL} &\multicolumn{2}{|c|}{\thead{Approche logicielle \\ d'implantation}}\\
\hline
Complexité & Masquer aux développeurs d'applications la connaissance et la complexité du choix des solutions protocolaires à invoquer.\newline Masquer aux développeurs d'applications la complexité d'utilisation des solutions protocolaires qui seront invoquées. & Abstraction Sémantique & \multirowcell{22}{Approche\\ orientée\\ services} & Approche basée sémantique\\
\cline{1-3} \cline{5-5}
\multirowcell{11}{Dépendance} & Permettre une adaptation de la solution protocolaire retenue en réponse à une évolution du contexte machine/réseau, ou bien à une modification de l’expression du service requis par l’application, c’est-à-dire :%\newline
& \multirowcell{11}{Abstraction\\ Autonomie} & & \multirowcell{11}{Approche\\ autonomique} \\[-3.2ex]
 & \multicolumn{1}{m{0.348\linewidth}|}{%
\begin{itemize}[wide, label =$ \bullet $,leftmargin =1em, nosep]
 \item être doté d’une capacité d’autonomie dans la prise de connaissance du contexte et de ces évolutions, en plus de celle liée au choix et à la mise en \oe uvre des solutions protocolaires à invoquer;
 \item être doté d’une capacité d’autonomie dans le choix et la mise en œuvre des adaptations de la solution protocolaire en cours;
 \item offrir aux développeurs d’applications la possibilité de modifier les caractéristiques du service requis durant le temps d’exécution de l’application.\vskip-2ex
\end{itemize}} & & &
\\
\cline{1-3} \cline{5-5}
\makecell{Manque\\ d'extensibilité} & Permettre son intégration au sein de son pool de services et de solutions protocolaires, en vue de la mise à disposition du service correspondant et de l’utilisation de la solution protocolaire. & Extensibilité & & \multirowcell{5}{Approche\\ basée\\ composants}\\
\cline{1-3}
Manque de configurabilité & Gérer la nature composable des différents protocoles et mécanismes protocolaires, chaque protocole pouvant se voir adjoindre des mécanismes externes. & Configurabilité & & \\
\hline
\caption{Synthèse des problèmes, exigences, principes et approches de conception de l'ATL}
\label{syntheseapproches}
\end{tabularx}}

        \end{document} 

enter image description here

  • Wow, this is very impressive, thank you very much. I'll try it asap. I was about to download a word2latex converter. – Vartaghan Jun 25 '14 at 19:20
  • Word2latex surely can't produce such codes. I think it can only use basic latex and perhaps some long-established packages… – Bernard Jun 25 '14 at 19:30
  • This is great. I only had to make very few changes for it to fit in my document. It's perfect, thanks a lot. – Vartaghan Jun 26 '14 at 10:22

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.