Hallo oiseau,
willkommen zurück (nach zwei Beiträgen im Jahr 2010) im Forum! Bitte gib bei deinen Fragen immer deine verwendete LilyPond-Version und möglichst ein kompilierbares Minimalbeispiel an, damit potentielle Helfer schnell selbst deinen Code ausprobieren können. Bei diesem einfachen Problem komme ich tatsächlich ohne Minimalbeispiel aus, aber in der Regel wärs gut, die Definition von \rechteHand und \linkeHand noch dabeizuhaben.
In deinem PianoStaff stehen drei Dinge:
1. ein Tempo-Befehl
2. ein neuer Staff
3. ein weiterer neuer Staff
Der Tempo-Befehl steht in keinem der beiden Staffs. Nun legt LilyPond im Zweifelsfall implizit Kontexte an. Man kann so z. B. in eine Datei nichts weiter als
{ c }schreiben und LilyPond macht daraus quasi
\new Score {
\new Staff {
\new Voice {
c
}
}
}In deinem Fall wird um den PianoStaff implizit ein Score erzeugt und um den \tempo-Befehl ein Voice und darum ein Staff. Das erkennst du an dem zusätzlichen Notenschlüssel: Der gehört zu dem neuen Staff; es sind nur (vermutlich) keine Notenlinien da, weil keine Musik da drin steht, die Zeit verbraucht (\tempo verbraucht keine).
Die Lösung sieht folgendermaßen aus: Verhindere den neuen Staff, indem du den \tempo-Befehl in einen der beiden Staffs mit reinpackst. In welchen genau ist tatsächlich egal, weil MetronomeMarks (die Grobs, die dieser Befehl erzeugt) immer über dem obersten System stehen:
\new PianoStaff <<
\new Staff { \tempo "Allegretto" \rechteHand }
\new Staff \linkeHand
>>