Voici une solution utilisant les arbres de TikZ. Mais il faut encore fournir toutes les données de chaque match...
![tableau][1]
\documentclass[tikz]{standalone}
\usepackage[utf8]{inputenc}
\usepackage{lmodern}
\usepackage[T1]{fontenc}
\usetikzlibrary{matrix,calc}
\colorlet{gain}{black}
\colorlet{perdant}{gray!50!black}
\def\gainpremier#1#2#3#4{
node[match] {
\textcolor{gain}{\textbf{#1}} \& \textcolor{gain}{#2} \\
\textcolor{perdant}{#3} \& \textcolor{perdant}{#4} \\
}
}
\def\gainsecond#1#2#3#4{
node[match] {
\textcolor{perdant}{#1} \& \textcolor{perdant}{#2} \\
\textcolor{gain}{\textbf{#3}} \& \textcolor{gain}{#4} \\
}
}
\begin{document}
\begin{tikzpicture}
\tikzset{
match/.style={
matrix,matrix of nodes,ampersand replacement=\&,
inner sep=0,nodes={inner sep=.2em,text height=.7em,text depth=.1em}
},
grow=left,
level distance=10em,
level 1/.style={sibling distance=12em},
level 2/.style={sibling distance=6em},
level 3/.style={sibling distance=3em},
edge from parent path={
(\tikzparentnode.west)
-| ($(\tikzparentnode)!.5!(\tikzchildnode)$)
|- (\tikzchildnode.east)
},
}
\path \gainpremier{États-Unis}{5}{Japon}{2}
child {\gainpremier{États-Unis}{2}{Allemagne}{0}
child {\gainsecond{Chine}{0}{États-Unis}{1}
child {\gainpremier{Chine}{1}{Cameroun}{0}}
child {\gainpremier{États-Unis}{2}{Colombie}{0}}
}
child {\gainpremier{Allemagne}{1(5)}{France}{1(4)}
child {\gainpremier{Allemagne}{4}{Suède}{1}}
child {\gainpremier{France}{3}{Corée du Sud}{0}}
}
}
child {\gainpremier{Japon}{2}{Angleterre}{1}
child {\gainsecond{Australie}{0}{Japon}{1}
child {\gainsecond{Brésil}{0}{Australie}{1}}
child {\gainpremier{Japon}{2}{Pays-Bas}{1}}
}
child {\gainpremier{Angleterre}{2}{Canada}{1}
child {\gainsecond{Norvège}{1}{Angleterre}{2}}
child {\gainpremier{Canada}{1}{Suisse}{0}}
}
}
;
\end{tikzpicture}
\end{document}
Seconde proposition
===
Voici une amélioration du code précédent permettant l'ajout d'un titre et d'un fond coloré pour chaque colonne.
![tableau][2]
\documentclass[tikz]{standalone}
\usepackage[utf8]{inputenc}
\usepackage{lmodern}
\usepackage[T1]{fontenc}
\usetikzlibrary{matrix,calc,backgrounds,fit}
\colorlet{gain}{black}
\colorlet{perdant}{gray!50!black}
\def\gainpremier#1#2#3#4#5{
node[match,name=#1] {
\textcolor{gain}{\textbf{#2}} \& \textcolor{gain}{#3} \\
\textcolor{perdant}{#4} \& \textcolor{perdant}{#5} \\
}
}
\def\gainsecond#1#2#3#4#5{
node[match,name=#1] {
\textcolor{perdant}{#2} \& \textcolor{perdant}{#3} \\
\textcolor{gain}{\textbf{#4}} \& \textcolor{gain}{#5} \\
}
}
\begin{document}
\begin{tikzpicture}
\tikzset{
label/.style={text depth=.2em,font=\itshape\scriptsize,anchor=south},
match/.style={
matrix,matrix of nodes,ampersand replacement=\&,
inner sep=0,nodes={inner sep=.2em,text height=.7em,text depth=.1em}
},
grow=left,
level distance=10em,
level 1/.style={sibling distance=12em},
level 2/.style={sibling distance=6em},
level 3/.style={sibling distance=3em},
edge from parent path={
(\tikzparentnode.west)
-| ($(\tikzparentnode)!.5!(\tikzchildnode)$)
|- (\tikzchildnode.east)
},
}
\path \gainpremier{1-1}{États-Unis}{5}{Japon}{2}
child {\gainpremier{2-1}{États-Unis}{2}{Allemagne}{0}
child {\gainsecond{4-1}{Chine}{0}{États-Unis}{1}
child {\gainpremier{8-1}{Chine}{1}{Cameroun}{0}}
child {\gainpremier{8-2}{États-Unis}{2}{Colombie}{0}}
}
child {\gainpremier{4-2}{Allemagne}{1(5)}{France}{1(4)}
child {\gainpremier{8-3}{Allemagne}{4}{Suède}{1}}
child {\gainpremier{8-4}{France}{3}{Corée du Sud}{0}}
}
}
child {\gainpremier{2-2}{Japon}{2}{Angleterre}{1}
child {\gainsecond{4-3}{Australie}{0}{Japon}{1}
child {\gainsecond{8-5}{Brésil}{0}{Australie}{1}}
child {\gainpremier{8-6}{Japon}{2}{Pays-Bas}{1}}
}
child {\gainpremier{4-4}{Angleterre}{2}{Canada}{1}
child {\gainsecond{8-7}{Norvège}{1}{Angleterre}{2}}
child {\gainpremier{8-8}{Canada}{1}{Suisse}{0}}
}
}
;
\begin{pgfonlayer}{background}
\node[inner sep=.2em,fit=(8-1)(8-2)(8-3)(8-4)(8-5)(8-6)(8-7)(8-8)]
(huitieme){};
\node[inner sep=.2em,fit=(4-1)(4-2)(4-3)(4-4)](quart){};
\node[inner sep=.2em,fit=(2-1)(2-2)](demi){};
\node[inner sep=.2em,fit=(1-1)](finale){};
\node[inner sep=0,fit=(huitieme)(quart)(demi)(finale)](global){};
\foreach \niveau/\couleur in {
huitieme/cyan!10,
quart/orange!10,
demi/yellow!20,
finale/red!10%
}{
\fill[fill=\couleur]
(\niveau.west |- global.south)
rectangle
(\niveau.east |- global.north);
}
\path
(huitieme |- global.north) node[label]{Huitièmes de finale}
(quart |- global.north) node[label]{Quarts de finale}
(demi |- global.north) node[label]{Demi-finales}
(finale |- global.north) node[label]{Finale}
;
\end{pgfonlayer}
\end{tikzpicture}
\end{document}
Troisième proposition
===
Ici, afin d'aligner les noms des pays à gauche et les scores à droite et pour garantir un alignement globale, on fixe la largeur de la matrice contenant un match en fixant la largeur de chacune des deux colonnes (merci à @touhami pour cette suggestion).
On ajoute aussi la petite finale (qui ne fait pas partie de l'arbre des matches), en la positionnant à l'intersection du dernier match des huitièmes de finale (8-8) et de la finale (1-1) d'où l'utilisation de `(8-8 -| 1-1)` (`-`: intersection horizontale, `|`: intersection verticale). On ajoute le titre (le `label`) "petite finale" avec un code similaire à celui permettant de placer les titres des colonnes.
![tableau][3]
\documentclass[tikz]{standalone}
\usepackage[utf8]{inputenc}
\usepackage{lmodern}
\usepackage[T1]{fontenc}
\usetikzlibrary{matrix,calc,backgrounds,fit}
\colorlet{gain}{black}
\colorlet{perdant}{red!50!black}
\def\gainpremier#1#2#3#4#5{
node[match,name=#1] {
\textcolor{gain}{\textbf{#2}} \& \textcolor{gain}{#3} \\
\textcolor{perdant}{#4} \& \textcolor{perdant}{#5} \\
}
}
\def\gainsecond#1#2#3#4#5{
node[match,name=#1] {
\textcolor{perdant}{#2} \& \textcolor{perdant}{#3} \\
\textcolor{gain}{\textbf{#4}} \& \textcolor{gain}{#5} \\
}
}
\begin{document}
\begin{tikzpicture}
\tikzset{
label/.style={text depth=.2em,font=\itshape\scriptsize,anchor=south},
match/.style={
matrix,matrix of nodes,ampersand replacement=\&,
inner sep=.2em,nodes={inner sep=.1em,text height=.7em,text depth=.1em},
column 1/.style={text width=6em,align=left},
column 2/.style={text width=1.5em,align=right}
},
grow=left,
level distance=10.5em,
level 1/.style={sibling distance=12em},
level 2/.style={sibling distance=6em},
level 3/.style={sibling distance=3em},
edge from parent path={
(\tikzparentnode.west)
-| ($(\tikzparentnode)!.5!(\tikzchildnode)$)
|- (\tikzchildnode.east)
},
}
\path \gainpremier{1-1}{États-Unis}{5}{Japon}{2}
child {\gainpremier{2-1}{États-Unis}{2}{Allemagne}{1}
child {\gainsecond{4-1}{Chine}{0}{États-Unis}{1}
child {\gainpremier{8-1}{Chine}{1}{Cameroun}{0}}
child {\gainpremier{8-2}{États-Unis}{2}{Colombie}{0}}
}
child {\gainpremier{4-2}{Allemagne}{1(5)}{France}{1(4)}
child {\gainpremier{8-3}{Allemagne}{4}{Suède}{1}}
child {\gainpremier{8-4}{France}{3}{Corée du Sud}{0}}
}
}
child {\gainpremier{2-2}{Japon}{2}{Angleterre}{1}
child {\gainsecond{4-3}{Australie}{0}{Japon}{1}
child {\gainsecond{8-5}{Brésil}{0}{Australie}{1}}
child {\gainpremier{8-6}{Japon}{2}{Pays-Bas}{1}}
}
child {\gainpremier{4-4}{Angleterre}{2}{Canada}{1}
child {\gainsecond{8-7}{Norvège}{1}{Angleterre}{2}}
child {\gainpremier{8-8}{Canada}{1}{Suisse}{0}}
}
}
;
\path (8-8 -| 1-1) \gainpremier{pf}{Allemagne}{2}{Angleterre}{1};
\begin{pgfonlayer}{background}
\node[inner sep=.2em,fit=(8-1)(8-2)(8-3)(8-4)(8-5)(8-6)(8-7)(8-8)]
(huitieme){};
\node[inner sep=.2em,fit=(4-1)(4-2)(4-3)(4-4)](quart){};
\node[inner sep=.2em,fit=(2-1)(2-2)](demi){};
\node[inner sep=.2em,fit=(1-1)](finale){};
\node[inner sep=0,fit=(huitieme)(quart)(demi)(finale)](global){};
\foreach \niveau/\couleur in {
huitieme/cyan!10,
quart/orange!10,
demi/yellow!20,
finale/red!10%
}{
\fill[fill=\couleur]
(\niveau.west |- global.south)
rectangle
(\niveau.east |- global.north);
}
\path
(huitieme |- global.north) node[label]{Huitièmes de finale}
(quart |- global.north) node[label]{Quarts de finale}
(demi |- global.north) node[label]{Demi-finales}
(finale |- global.north) node[label]{Finale}
(pf.north) node[label]{Petite Finale}
;
\end{pgfonlayer}
\end{tikzpicture}
\end{document}
[1]: http://texnique.fr:80/osqa/upfiles/tikz-championnat-p-1_Pwvj5DL.png
/osqa/upfiles/tikz-championnat-p-1_Pwvj5DL.png
[2]: http://texnique.fr:80/osqa/upfiles/tikz-championnat-p-1_AwnSwf2.png
/osqa/upfiles/tikz-championnat-p-1_AwnSwf2.png
[3]: http://texnique.fr:80/osqa/upfiles/tikz-championnat-p-1-r.png
/osqa/upfiles/tikz-championnat-p-1-r.png