Oops, parti trop vite.
Post by Jean-Côme CharpentierPost by Jean-Marc BourguetBonjour à tous,
J'aimerais bien que les lignes de base du texte extérieur à un tableau et
d'une des lignes (mais pas la première) du tableau soient alignées. Un
\documentclass{article}
\begin{document}
foo
\tiny
\begin{tabular}{|p{1cm}|p{1cm}|}
\hline
&\\
\multicolumn{2}{|c|}{\normalsize\strut bar}\\
&\\
\hline
\multicolumn{2}{r}{\huge\strut 1}\\
\end{tabular}
\end{document}
foo et bar devrait être alignés. huge aide à mettre en évidence, en
pratique le tableau est généré par une macro assez complexe et les tailles
sont paramétrisables et la solution idéale devrait jouer uniquement sur la
définition de la macro (donc faire des ajustements à la main ne marche pas).
Si je comprends bien, le foo doit se positionner avant que TeX n'est
lu le contenu du tableau.
Non, c'est le tableau qui doit être placé verticalement correctement par
rapport au paragraphe dans lequel il est. Je peux complèter mon exemple,
mais il est un peu moins minimal:
\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage{array}
\begin{document}
alignement désiré:
{\tiny
\begin{tabular}[t]{|p{1cm}|p{1cm}|}
\multicolumn{2}{|c|}{\normalsize\strut bar}\\
& 36 \\
\hline
\multicolumn{2}{r}{\tiny\strut 1}\\
\end{tabular}}
mais avec la ligne principale d'un tableau comme ceci:
{\tiny
\begin{tabular}{|p{1cm}|p{1cm}|}
\hline
42 & \\
\multicolumn{2}{|c|}{\normalsize\strut bar}\\
& 36 \\
\hline
\multicolumn{2}{r}{\tiny\strut 1}\\
\end{tabular}}
t ne fonctionne plus dès qu'on commence avec hline:
{\tiny
\begin{tabular}[t]{|p{1cm}|p{1cm}|}
\hline
\multicolumn{2}{|c|}{\normalsize\strut bar}\\
&\\
\hline
\multicolumn{2}{r}{\tiny\strut 1}\\
\end{tabular}}
et même avec hfirstline, j'arrive pas à aligner sur la première ligne avec
de ma macro:
{\tiny
\begin{tabular}[t]{|p{1cm}|p{1cm}|}
\firsthline
\multicolumn{2}{|c|}{\normalsize\strut bar}\\
&\\
\hline
\multicolumn{2}{r}{\tiny\strut 1}\\
\end{tabular}}
car il faut faire simple:
\begin{tabular}[t]{|p{1cm}|p{1cm}|}
\firsthline
\multicolumn{2}{|c|}{\normalsize\strut bar}\\
&\\
\hline
\multicolumn{2}{r}{\tiny\strut 1}\\
\end{tabular}
\end{document}
Post by Jean-Côme CharpentierComme TeX est incapable de retour arrière dans
1. Faire un macro qui compose à la fois le « foo » et le tableau,
charge à elle de faire tous les allers-retours souhaités.
C'est le tableau que je cherche à placer verticalement dans le paragraphe,
pas la ligne autour (perso, j'étendrais simplement le tableau avec une
cellule qui contient le préambule si c'était le cas).
Post by Jean-Côme Charpentier2. Utiliser le mécanisme de sauvegarde de la position du curseur
qu'offre pdftex et réaliser la chose en deux compilations.
3. Se servir d'un mécanisme de nœuds pour positionner à la fois le «
foo » et le « bar ». Perso, je connais plutôt PSTricks mais je suppose
que cela doit être faisable en TikZ (sinon je vais pouffer :-) )
En fait, j'ai du mal à imaginer ce qui est réellement demandé.
Je crois que c'est le coeur du problème. J'ai déjà la macro qui me fais
des tableaux depuis environ 10 ans (cette macro pas très longue mais
utilisant expandafter et tokenlists est à la limite de mes capacités en
TeX). Je ne les utilisais qu'en mode display et ça va va très bien dans
les cas que j'utilise. Un copain s'est mis à vouloir l'utiliser dans un
paragraphe. En jouant avec les tailles, j'arrive à ne pas perturber de
manière inacceptable à mes yeux les interlignes, et ce qui reste de
choquant pour le moment est l'alignement vertical du tableau.
Ton approche est tellement différente de mes préconceptions sur la solution
(idéalement, usepackage{quivabien} et faire [l=2] plutôt que [t] ou alors
partir du tableau, le mettre en boite, calculer le déplacement nécessaire
-- et c'est là que je sèche --, déplacer la boite) qu'il faudra que je
réfléchisse plus pour voir si je peux en faire quelque chose.
Merci
--
Jean-Marc
Site de usenet-fr: http://www.usenet-fr.news.eu.org