Mehr

Wie füge ich ein Zeilenumbruchzeichen in die Beschreibung der Add-In-Erweiterung ein?

Wie füge ich ein Zeilenumbruchzeichen in die Beschreibung der Add-In-Erweiterung ein?


Anscheinend umbricht das Textfeld im Extension Manager von Esri keinen Text (10.0 SP2).

Als Workaround versuche ich, Newline-Zeichen in die XML-Datei einzufügen, habe aber nichts gefunden, was funktioniert.

Hier ist die xml-Datei:

  Ermöglicht das Festlegen von Erweiterungen, die beim Schließen des Dokuments 
 automatisch deaktiviert werden.

Weiß jemand, wie man ein Newline-Zeichen in die Add-In-XML-Konfigurationsdatei einfügt?


Ich hätte SO zuerst suchen sollen, ich hätte diese Antwort gefunden.

Das scheint zu funktionieren:

  Ermöglicht die Angabe von Erweiterungen, die beim Schließen des Dokuments automatisch deaktiviert werden.

Die Erweiterungsbeschreibung kann auch als öffentliche Eigenschaft festgelegt und direkt codiert werden mit:

ESRI.ArcGIS.esriSystem.IExtensionConfig.Description

Ich habe dies als nützlich empfunden, um die Beschreibung mit laufenden Updates (z. B. neuen Versionen) zu verknüpfen, damit ich nicht jedes Mal zurückgehen und sie bearbeiten muss.

BEARBEITEN: Hinweis - dies funktioniert nicht für die neuen Add-Ins, die innerhalb der XML-Metadaten bearbeitet werden müssen.


LinkedIn: Wie geben Sie im Abschnitt Zusammenfassung einen 'Wagenrücklauf' ein?

Wie geben Sie einen Wagenrücklauf (Zeilenumbruch) im Abschnitt Zusammenfassung eines LinkedIn-Profils ein? Ich habe die Eingabetaste und das Drücken von Leerzeichen ausprobiert und nichts funktioniert. Es eliminiert nur die Zeilenumbrüche und Leerzeichen und schneidet alles ab.

Ich möchte ein Profil mit einer Zusammenfassung, die wie folgt aussieht: https://www.linkedin.com/in/stevendavismba/

In diesem Profil hat "Meine Leidenschaft" einen Zeilenumbruch davor. Wie hat er das gemacht?


Dies liegt daran, dass die Originaldatei am Ende der letzten Zeile keinen Zeilenumbruch hatte. echo "182.2.3.4 host_1" fügt am Anfang keinen hinzu (aber fügt einen am Ende nach . host_1 hinzu), sodass die resultierende Datei keine hat.

Wegen solcher Probleme und weil der Standard streng genommen verlangt, dass ein "Zeile" mit einem Zeilenumbruch endet, sollten Sie es immer dort haben. Einige Dienstprogramme können unerwartetes Verhalten ohne den letzten Zeilenumbruch verursachen (z. B. wc -l zählt Zeilenumbruchzeichen, würde also eine solche Zeile nicht als Zeile zählen und das eingebaute read gibt einen falschen Status zurück, wenn es keinen Zeilenumbruch sieht). Einige Redakteure fügen es immer hinzu, andere nicht. In denjenigen, die dies nicht tun, stellen Sie sicher, dass Sie nach der letzten Zeile die Eingabetaste drücken, oder prüfen Sie, ob Sie den Cursor in die "leere Zeile" darunter bewegen können, um sicherzustellen, dass der Zeilenumbruch dort ist.

Dateien wie diese könnten mit z.B.

was den nachgestellten Zeilenumbruch unverändert lassen sollte, wenn er bereits vorhanden ist. ( awk 1 < file.txt > fixed.txt scheint auch zu funktionieren, aber awk hat keine standardmäßige In-Place-Bearbeitungsfunktion. sed hat, aber ich kann nicht sagen, wie man das macht.)

Natürlich könnten Sie den Zeilenumbruch auch bedingungslos mit etwas wie echo >> /etc/hosts oder echo -e ' 182.2.3.4 host_1' >> /etc/hosts hinzufügen, aber das würde falsche leere Zeilen in der Mitte hinzufügen, wenn die Datei wurde vor dem Hinzufügen korrekt formatiert.

Eine Möglichkeit, den letzten Zeilenumbruch zu überprüfen, ohne die gesamte Zeile lesen zu müssen, besteht darin, tail -n1 oder tail -c1 zu verwenden, um die letzte Zeile (oder das Zeilenfragment) oder nur das letzte Zeichen abzurufen. Dann

kann verwendet werden, um es bei Bedarf hinzuzufügen. (Dies beruht darauf, dass die Befehlsersetzung alle Zeilenumbrüche frisst, daher ist ihre Erweiterung leer, wenn die Zeilenumbrüche ist dort.) Oder mit read (was einen falschen Status zurückgibt, wenn kein Zeilenumbruch angezeigt wird):

Beachten Sie, dass sich das Wagenrücklaufzeichen (CR) von dem Zeilenumbruch-/Zeilenvorschubzeichen (LF) unterscheidet, das auf Unix-ähnlichen Systemen als Zeilenabschlusszeichen verwendet wird. (CR+LF wird als Zeilenabschluss unter DOS und Windows verwendet.)


Auf diese Weise können Sie mit <Leader>o eine Zeile unter Ihrem Cursor einfügen und mit <Leader>O eine in die vorherige Zeile.

Notiz: Man könnte argumentieren, dass es so viele Tastenanschläge wie o<Esc> erfordert, aber hoffentlich haben Sie Ihren Anführer gewählt, um diese Art der Zuordnung einfach zu machen. Ich bin mir auch nicht sicher, ob es eine integrierte Möglichkeit gibt, dies zu tun.

Bearbeiten Ich habe stattdessen diese Zuordnungen verwendet, weil es einige Randfälle gab, in denen die neue Zeile unerwünschte Leerzeichen enthielt:

Auch das Plugin vim-unimpaired macht es etwas anders:

Der Unterschied besteht darin, dass meine Version Ihren Cursor auf die neu erstellte Zeile setzt, während die Version von Pope die Zeile hinzufügt, Ihren Cursor jedoch an derselben Stelle belässt. Er verwendet auch sein vim-repeat-Plugin, damit die . Befehl funktioniert besser.


Das macht der a-Befehl:

Stellen Sie die Textzeilen, die diesem Befehl folgen (jede bis auf die letzten mit einem enden, die aus der Ausgabe entfernt werden), in eine Warteschlange, um am Ende des aktuellen Zyklus oder beim Lesen der nächsten Eingabezeile ausgegeben zu werden.

Wenn wir also in diesem Fall eine Zeile mit /test message1/ vergleichen, führen wir den Befehl a pend mit dem Textargument " 'testing testing' " aus, was zu einer neuen Zeile der Datei wird:

Sie können mehrere Zeilen einfügen, indem Sie jede der nicht letzten Zeilen mit einem umgekehrten Schrägstrich beenden. Der obige doppelte Backslash soll verhindern, dass die Shell ihn frisst, wenn Sie ihn in einem eigenständigen sed-Skript verwenden und einen einzelnen Backslash verwenden. GNU sed akzeptiert auch eine einzelne Textzeile unmittelbar nach a, aber das ist nicht portabel.


Verwenden Sie das Makro caption für die (kurze) "Überschrift" der Abbildung und fügen Sie einfach die längere Beschreibung in die Abbildungsumgebung ein (nach der caption und mit dem richtigen vertikalen Abstand).

Die Lösung ist sehr einfach und erfordert keine vertikale Anpassung (d. h. vspace ). Anstatt

Tatsächlich müssen Sie den Titel nur einmal im [] und am Anfang von <> wiederholen. Titel und Beschreibung sollten durch par small (oder eine andere gewünschte Schriftgröße) getrennt werden, um die Zeile zu unterbrechen und die Größe zu ändern. Dies wird produzieren:

während nur das hält Kurzer Titel im Abbildungsverzeichnis.

Normalerweise möchte ich keine neue Zeile (ich bevorzuge es, den Titel und die Beschreibung als einen Absatz zu haben). Daher mache ich:


6 Antworten 6

Es geht nicht darum, einen zusätzlichen Zeilenumbruch am Ende einer Datei hinzuzufügen, sondern darum, den Zeilenumbruch, der dort sein sollte, nicht zu entfernen.

Unter Unix besteht eine Textdatei aus einer Reihe von Zeilen, die jeweils mit einem Zeilenumbruchzeichen ( ) enden. Eine Datei, die nicht leer ist und nicht mit einem Zeilenumbruch endet, ist daher keine Textdatei.

Dienstprogramme, die mit Textdateien arbeiten sollen, kommen möglicherweise nicht gut mit Dateien zurecht, die nicht mit einem Zeilenumbruch enden. Historische Unix-Dienstprogramme ignorieren zum Beispiel den Text nach dem letzten Zeilenumbruch. GNU-Dienstprogramme haben die Regel, sich mit Nicht-Text-Dateien anständig zu verhalten, ebenso wie die meisten anderen modernen Dienstprogramme, aber Sie können immer noch auf ein seltsames Verhalten bei Dateien stoßen, denen ein letzter Zeilenumbruch fehlt¹.

Wenn bei GNU diff eine der verglichenen Dateien mit einem Zeilenumbruch endet, die andere jedoch nicht, ist dies sorgfältig zu beachten. Da diff zeilenorientiert ist, kann es dies nicht anzeigen, indem es einen Zeilenumbruch für eine der Dateien speichert, aber nicht für die anderen – die Zeilenumbrüche sind notwendig, um anzugeben, wo jede Zeile steht in der Diff-Datei beginnt und endet. Diff verwendet also diesen speziellen Text Kein Zeilenumbruch am Ende der Datei, um eine Datei, die nicht mit einem Zeilenumbruch endete, von einer Datei zu unterscheiden, die dies tat.

Übrigens besteht eine Quelldatei in einem C-Kontext ähnlich aus einer Reihe von Zeilen. Genauer gesagt wird eine Übersetzungseinheit in einer Implementierungsdefinition als eine Reihe von Zeilen angesehen, von denen jede mit einem Newline-Zeichen enden muss (n1256 §5.1.1.1). Auf Unix-Systemen ist die Zuordnung unkompliziert. Unter DOS und Windows wird jede CR LF-Sequenz ( ) einem Zeilenumbruch zugeordnet ( das passiert immer, wenn eine Datei gelesen wird, die auf diesen Betriebssystemen als Text geöffnet ist). Es gibt einige Betriebssysteme, die kein Newline-Zeichen haben, sondern stattdessen Datensätze mit fester oder variabler Größe auf diesen Systemen haben. Die Zuordnung von Dateien zu C-Quellen führt ein am Ende jedes Datensatzes ein. Obwohl dies für Unix nicht direkt relevant ist, bedeutet dies, dass wenn Sie eine C-Quelldatei, der der letzte Zeilenumbruch fehlt, in ein System mit datensatzbasierten Textdateien kopieren und sie dann zurückkopieren, werden Sie entweder mit der unvollständigen Datei enden letzte Zeile, die bei der ersten Konvertierung abgeschnitten wurde, oder ein zusätzlicher Zeilenumbruch, der während der Rückwärtskonvertierung daran angeheftet wurde.

¹ Beispiel: Die Ausgabe von GNU sort endet immer mit einem Zeilenumbruch. Wenn also der Datei foo der letzte Zeilenumbruch fehlt, finden Sie diese Sortierung foo | wc -c meldet ein Zeichen mehr als cat foo | wc -c .


  1. Jawohl. $ stimmt mit dem überein Ende der Zeile, nicht der Newline-Zeichen die nach dem Ende der Zeile kommt.
  2. Mach C-M-s C-q C-j . C-q ist die Standardbindung für Quoted-Insert und funktioniert auch im Minibuffer. Dieser Ausdruck sucht buchstäblich nach einem Zeilenumbruch: C-j .

Wie Dan kommentiert, die Regex, die einem Zeilenumbruch entspricht ist ein Zeilenumbruch.

Sie können einen Zeilenumbruch in einer Zeichenfolge in Anführungszeichen in Elisp als " " darstellen. Es gibt keine besonderen zusätzlichen regexp-spezifisch Syntax dafür -- Sie verwenden einfach einen Zeilenumbruch, genau wie jedes andere Literalzeichen.

Wenn Sie einen Regexp eingeben interaktiv dann können Sie den Zeilenumbruch mit C-q C-j einfügen, wie die Antwort von kaushalmodi zeigt.


Lösung: Setzen Sie eine gleiche Anzahl von geschützte Leerzeichen um deine erste Zeile.

Was soll man eingeben:

So geben Sie ein geschütztes Leerzeichen ein:

  • Ubuntu: Shift+AltGr+[Leertaste] auf einer französischen (Variante) Tastaturbelegung.
  • Noch etwas: Ihre Laufleistung kann variieren, Sie haben viele Antworten nur wenige Tastendrücke entfernt.

Kopieren und Einfügen von geschützten Leerzeichen direkt in den Twitter-Textbereich hat nicht funktioniert, ich musste sie direkt eingeben. Ich wünschte, das Web würde es nicht so schwer machen, eine schöne Typografie zu bekommen.


Verwenden Sie das Movie15-Paket. Beispielsweise:

PDFLaTeX wird benötigt, und Sie müssen Adobe Reader mit bestimmten Mediaplayer-Plug-Ins verwenden. So scheitert es oft.

Eine andere Methode besteht darin, das Animationspaket zu verwenden. Sie müssen das animierte GIF zuerst mit ImageMagick in separate Bilder konvertieren:

Dies würde manchmal zu einem suboptimalen Ergebnis führen, wenn das GIF optimiert ist

Möglicherweise erhalten Sie foo-0.png , foo-1.png , . foo-18.png .

Fügen Sie dann die Grafiken ein:

Weitere Optionen finden Sie im Handbuch von animate.

benötigt pdflatex -shell-escape . und eine installierte Programmkonvertierung, die für alle Plattformen verfügbar ist

Mit der originalen Latex-Engine würde dies funktionieren:

Wenn Sie jedoch pdflatex oder xelatex verwenden, führt dies zu einem Fehler, dass .gif eine unbekannte Grafikerweiterung ist. (Wenn Sie nicht wissen, welche Engine Sie verwenden, ist es wahrscheinlich pdflatex .) Ich würde empfehlen, die .gif-Datei in eine .png-Datei zu konvertieren und den obigen Ausschnitt zu wiederholen, wobei your.gif durch your.png ersetzt wird. Tatsächlich können Sie einfach verwenden, dass Ihr Latex einen Standardsatz von Erweiterungen hat, der hinzugefügt wird, um die Datei zu finden.

Es gibt Dutzende von Möglichkeiten, GIFs in PNGs zu konvertieren, darunter viele kostenlose Online-Dienste. Google ist dein Freund. Der einzige Grund, den ich sehen kann, um die Datei bei jeder Kompilierung des Latexdokuments im Handumdrehen zu konvertieren, wäre, wenn sich Ihre GIF-Datei aufgrund eines anderen Prozesses häufig ändert.


Schau das Video: Tuning the turbine and stand - I am preparing for the grand tests