Ich verwende den Befehl \todo
aus dem Paket \todonotes
. Ich möchte meine Quelle so gestalten, dass \todos
getrennt vom vorherigen Absatz gesetzt wird:
Ich möchte aber nicht, dass \todo
einen neuen Absatz startet oder den Abstand des Dokuments vergrößert.
Gibt es einen Befehl, um dies zu vermeiden?
Wenn es einen Befehl / ein Paket gäbe, um den Whitespace zu verbrauchen, dann könnte ich \todo
neu definieren, um es zu benutzen.
Bearbeiten: Das Hinzufügen von% zwischen allem ist offensichtlich sehr irritierend. Sonst noch etwas?
Ich muss allen anderen zustimmen, dass Sie wahrscheinlich nur %
hinzufügen sollten, aber ich finde diese Frage interessant. Das Problem ist, dass sobald LaTeX die leere Zeile liest, diese in den Befehl \par
konvertiert wird, der den vorherigen Absatz beendet. Zu Beginn von \todo
wurde dieser \par
-Befehl bereits ausgeführt, und es ist unmöglich, ihn rückgängig zu machen (denke ich). Ihre einzige Hoffnung ist also, dass \par
nicht eingefügt wird oder sich normal verhält. Wenn Sie verhindern möchten, dass es eingefügt wird, können Sie versuchen, Kapitel 8 von "The TeXbook" zu lesen, das Ihnen zeigen soll, wie eine leere Zeile in \par
konvertiert wird. Alternativ könnten Sie versuchen, eine Lösung basierend auf der folgenden Art von Idee zu machen:
Aber pass auf! Du willst definitiv nicht global das Verhalten von \par
ändern, weshalb ich ein zusätzliches Paar geschweifter Klammern hinzugefügt habe (LaTeX-Befehle sind im Bereich definiert, so dass die neue Definition von \par
nur benötigt wird) Wirkung innerhalb der Gruppe, in der die Definition gemacht wurde). Viel Glück.
Wenn das Makro dem unerwünschten Leerzeichen vorangeht, ist% nicht erforderlich, wenn Sie \ @ifnextchar und \ @gobble verwenden.
Betrachten Sie etwas wie (in der Präambel natürlich):
%Vor%So, wenn Sie etwas haben wie:
%Vor%wird genauso funktionieren wie
%Vor%oder
%Vor%Sie können solche Dinge mit einem Makro wie
verallgemeinern %Vor% Sie können \gobblepars
dann verwenden, wenn Sie Platz brauchen (wie nach dem Todo). Sie können Todo auch neu definieren (wie oben gezeigt), um danach automatisch ein \gobblepars
zu platzieren.
Um den führenden leeren Platz zu behandeln. Sie können auch \gobblepars
verwenden, aber Sie müssen explizit sein. Zum Beispiel:
verhindert, dass \ par zwischen den beiden Zeilen angezeigt wird.
Setzen Sie \endlinechar=-1
so, dass leere Zeilen keine Wirkung haben. Sie müssen \par
verwenden, um Absätze zu trennen, was meiner Meinung nach eine größere Irritation darstellt als die Eingabe von %
in Trennlinien, aber das ist es, wonach Sie fragen.
Wie wäre es damit, alles, was noch funktioniert hat, innerhalb von \ def-Tags zu belassen und es dann zu entfernen und es in das eigentliche Dokument zu verschieben, wenn keine weiteren Aufgaben zu erledigen sind?
z. B.
%Vor%Eine Geschichte von zwei Städten, von Charles Dickens
%Vor%Das hat den zusätzlichen Vorteil, Ihnen \ listoftodos sowohl in der Quelle wörtlich zu geben, als auch
in der Ausgabe.
fügen Sie Ihr \ todo genau in die Mitte Ihres Textes ein. keine Zeilenunterbrechung, nichts.
blah blah blah Text \ todo {Mach das jetzt!} mehr Text blah blah blah.
auf meinem Computer (win xp, miktex 2.7, texniccenter) funktioniert das gut, erzeugt keinen Zeilenumbruch und setzt die Todo-Note in den Rand. . .