Automatisch großschreiben Erster Buchstabe des ersten Wortes in einem neuen Satz in LaTeX
Ich weiß, dass einer LaTeX ist Prahlerei Punkte ist, dass es nicht über diese Microsoftish Verhalten. Trotzdem ist es manchmal nützlich.
LaTeX schon fügt ein zusätzliches Leerzeichen nach der Eingabe eines (nicht-backslashed) Zeitraum, also sollte es möglich sein, um es automatisch nutzen Sie den folgenden Brief.
Ist es ein offensichtlicher Weg, um ein makro schreiben, das dies tut, oder ist es ein LaTeX-Paket, das tut es bereits?
- Sie möchten, geben Sie tex-Dateien mit kleinen Buchstaben nur??? warum?
- denn oft bin ich zu faul, um Typ-caps.
- der Ort, um Ihrer Faulheit gegönnt ist, in Ihrem text-editor, denke ich.
- ich habe darüber gewundert, dass. vielleicht sollte ich emacs übernehmen diese Arbeit für mich...
Du musst angemeldet sein, um einen Kommentar abzugeben.
Folgende code löst das problem.
\let\period.
sparen Sie Zeit\catcode\.\active
alle Perioden aktiv-symbol (wie makro).\def\uppercasesingleletter#1{\uppercase{#1}}
definiert makro\uppercasesingleletter
um automatisch nutzen Sie den folgenden Brief.\def.{\period\afterassignment\periodx\let\next= }
schreibt gespeicherten Zeitraum und checkes das nächste symbol.\def \periodx{\ifcat\space\next \next\expandafter\uppercasesingleletter \else\expandafter\next\fi}
Wenn der nächste Buchstabe ist ein Raum dann\uppercasesingleletter
eingefügt.\let\period=.
vor dem catcode, denke ich. Diese Art von token munging wird nur funktionieren, wenn Sie brav darüber, wie Sie die Perioden der Nutzung:{\em first.} second
funktioniert nicht so gut. +1 genial, aber.\active
ist gültig in LaTeX.Alter her, da war die Diskussion dieser Idee auf comp.text.tex, und das Allgemeine Fazit war, man kann es nicht zufriedenstellend. befriedigend, in meinem Buch geht es nicht macht Zeichen aktiv, aber ich kann nicht sehen, wie konnte es überhaupt funktioniert.
persönlich, ich würde wollen, um Raum aktiv, und haben es dann anschauen \spacefactor und \MakeUppercase die folgenden Zeichen, wenn der Faktor 3000.
etwas wie
dies nicht wirklich die Arbeit machen-es gibt genug lose enden zu stricken fairisle jumper. zum Beispiel, da können wir uns nicht darauf verlassen, dass \everypar in latex, wie Sie die Großschreibung der ersten Buchstaben eines Absatzes?
nicht ... aber es weh tut (das ist, warum ich vermeiden unnötige Schlüssel (Operationen), die wir brauchen, um zu geben latex "richtig" 🙁
Habe ich beschlossen, es zu lösen in der folgenden Weise:
Da ich immer kompilieren der LaTeX-code drei mal, bevor ich das okular auf das Ergebnis (um die Paginierung und Referenzen rechts), habe ich beschlossen zu bauen, die groß-und Kleinschreibung-Sätze in diesem Prozess.
So, ich habe jetzt ein shell-Skript aufruft (meine Großschreibung Skript (geschrieben in CRM114) zuerst, dann pdflatex drei mal, und dann okular. Auf diese Weise, alle die Sachen, die passiert, als das Ergebnis von einem einzigen Befehl.