LaTeX: Neuen Absatz vermeiden?

7

Ich verwende den Befehl \todo aus dem Paket \todonotes . Ich möchte meine Quelle so gestalten, dass \todos getrennt vom vorherigen Absatz gesetzt wird:

%Vor%

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?

    
Paul Biggar 21.08.2009, 13:36
quelle

8 Antworten

9

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:

%Vor%

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.

    
Anton Geraschenko 21.08.2009, 16:10
quelle
6

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:

%Vor%

verhindert, dass \ par zwischen den beiden Zeilen angezeigt wird.

    
TedPavlic 24.08.2011 03:54
quelle
4

Versuchen Sie Folgendes:

%Vor%     
redtuna 21.08.2009 13:38
quelle
2

Wie wäre es mit

? %Vor%     
Sinan Ünür 21.08.2009 13:39
quelle
2

kann sein, dass Sie keine neue Zeile zwischen dem Text und der Todo-Notiz lassen sollten oder einfach nur kommentieren

%Vor%     
stefita 21.08.2009 13:39
quelle
2

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.

    
Jouni K. Seppänen 14.09.2009 18:23
quelle
1

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.

    
s2m 31.01.2011 05:39
quelle
0

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. . .

    
Mica 21.08.2009 17:18
quelle

Tags und Links