Pourquoi les deux tableaux du code ci-dessous ne donnent pas le même affichage ?

Ouvrir dans l'éditeur Overleaf
\documentclass{article}
\usepackage{tikz}
\begin{document}
\begin{tabular}{c|c|c}%
&\tikz[remember picture, overlay]{\coordinate[name=test1,yshift=-3.6];}&\tikz[remember picture,
 overlay]{\coordinate[name=test2,yshift=-3.6];}\\
 \hline
 A&1&2\\
 \hline
 B&4&8\\
 \hline
 \end{tabular}
 \tikz[remember picture,overlay]{%
  \draw[out=30,in=150] (test1) to (test2);
 }

 \begin{tabular}{c|c|c}%
 &\tikz[remember picture, overlay]{\coordinate[name=test1,yshift={-0.3*\baselineskip}];}&
 \tikz[remember picture, overlay]{\coordinate[name=test2,yshift={-0.3*\baselineskip}];}\\
 \hline
 A&1&2\\
 \hline
 B&4&8\\
 \hline
 \end{tabular}
 \tikz[remember picture,overlay]{%
  \draw[out=30,in=150] (test1) to (test2);
 }

\end{document}

Posée 14 Mai '20, 02:13

christophe-poulain's gravatar image

christophe-poulain
8661727
Taux d'acceptation : 37%

Modifiée 14 Mai '20, 02:24


Dans l'environnement tabular, \baselineskip est 0. Si on utilise 0mm au lieu de -3.6mm les deux tableaux donnent le même affichage :

Ouvrir dans l'éditeur Overleaf
\documentclass{article}
\usepackage{tikz}

\begin{document}

\begin{tabular}{c|c|c}%
 &\tikz[remember picture, overlay]{\coordinate[name=test1,yshift=0];}&\tikz[remember picture,
 overlay]{\coordinate[name=test2,yshift=0];}\\
 \hline
 A&1&2\\
 \hline
 B&4&8\\
 \hline
 \end{tabular}
 \tikz[remember picture,overlay]{%
  \draw[out=30,in=150] (test1) to (test2);
 }
 \begin{tabular}{c|c|c}%
 &\tikz[remember picture, overlay]{\coordinate[name=test1,yshift={-0.3*\baselineskip}];}&
 \tikz[remember picture, overlay]{\coordinate[name=test2,yshift={-0.3*\baselineskip}];}\\
 \hline
 A&1&2\\
 \hline
 B&4&8\\
 \hline
 \end{tabular}
 \tikz[remember picture,overlay]{%
  \draw[out=30,in=150] (test1) to (test2);
 }

\end{document}

alt text

Ou plus facile avec \tikzmark :

Ouvrir dans l'éditeur Overleaf
\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{tikzmark}

\begin{document}

\begin{tabular}{c|c|c}%
 &\tikzmark{test1}&\tikzmark{test2}\\
 \hline
 A&1&2\\
 \hline
 B&4&8\\
 \hline
 \end{tabular}
 \tikz[remember picture,overlay]{%
  \draw[out=30,in=150] (pic cs:test1) to (pic cs:test2);
 }

\end{document}
Lien permanent

Publiée 14 Mai '20, 03:33

samcarter's gravatar image

samcarter
8.4k2817
Taux d'acceptation : 56%

Modifiée 14 Mai '20, 19:53

Merci Samcarter. ça m'a permis de comprendre un peu mieux le fonctionnement de tabular. Je voulais le deuxième positionnement :), j'ai donc utilisé \dp\strutbox.

(14 Mai '20, 11:01) christophe-poulain christophe-poulain's gravatar image
Votre réponse
(dés)activer l'aperçu

Suivre cette question

Par courriel :

Une fois que vous serez enregistré, vous pourrez souscrire à n'importe quelle mise à jour ici

Par flux RSS :

Réponses

Réponses et commentaires

Bases de Markdown

  • *italique* ou _italique_
  • **gras** ou __gras__
  • Lien ::[texte](http://url.com/ "Titre ")
  • Image : ?![alt texte](/path/img.jpg "Titre ")
  • Liste numérotée : 1. Foo 2. Bar
  • Pour ajouter un passage à la ligne, ajoutez deux espaces à l'endroit où vous souhaitez que la ligne commence.
  • Les balises HTML de base sont également prises en charge.