Hintergrund meiner Frage:

Ich benutze als Editor texstudio, da es unter anderem die Vervollständigung-Funktion hat. Ich habe heute herausgefunden, dass man die dafür verwendeten *.cwl-Dateien selbst erstellen kann. Deshalb frage ich mich, ob man eine bestehende Datei für die eigenen Bedürfnisse anpassen kan. Allerdings kann ich noch nicht mal die acronym.cwl-Datei finden weder auf meinem mac (OS X 10.8.4) noch im Internet zum Downloaden.

Selbst wenn ich die Datei habe, stellt sich die Frage, was muss ich mich machen, um eine Liste wie z.B. bei der Benutzung von \autocite zu bekommen.

1.Bild

alt text

Nachtrag:

Dank @Qrrbrbirlbel konnte ich die acronym.cwl-Datei im Internet runterladen. Ich habe sie umbenannt in acronym_my.cwl und einen Teil meiner Abkürzungen alphabetisch sortiert eingefügt:

# acronym package
# ygrange 04/16/2007, Moritz Struebe 21/03/2013
# URL: http://www.ctan.org/tex-archive/help/Catalogue/entries/acronym.html
\begin{acronym}
\begin{acronym}[longest]
\acro{acronym}{full name}
\acro{acronym}[short name]{full name}
\acrodef{acronym}{full name}
\acrodef{acronym}[short name]{full name}
\newacro{acronym}{full name}
\newacro{acronym}[short name]{full name}
\newacroplural{acronym}{full plural name}
\newacroplural{acronym}[short plural name]{full plural name}
\acrodefplural{acronym}{full plural name}
\acrodefplural{acronym}[short plural name]{full plural name}
\acroplural{acronym}{full plural name}
\acroplural{acronym}[short plural name]{full plural name}
\acroextra{additional info}
\end{acronym}
\acresetall
\ac{acronym}
\ac{AceA}#c
\ac{AceB}#c
\ac{AceE}#c
\ac{AceF}#c
\ac{AckA}#c
\ac{AcnA}#c
\ac{AcnB}#c
\ac{Acs}#c
\ac{AdhE}#c
\ac{ArcA}#c
\ac{ArcB}#c
\ac{AtpA}#c
\ac{AtpD}#c
\ac{AtpH}#c
\ac{Crr}#c
\ac{Dhak}#c
\ac{Dld}#c
\ac{Eda}#c
\ac{Eno}#c

... die Datei geht hier noch weiter, aber ich glaube nicht, dass es zum Verständnis beträgt, die komplette Datei zu posten.

Meine Datei habe ich dann bei den Vervollständigung-Einstellung angewählt und das Ergebnis sieht so aus: 2. Bild

alt text

Die Einträge sind nur unsortiert zu sehen. Auch ist ein nicht möglich z.B. "A" einzugeben und dann tauchen nur die Abkürzungen mit A auf, wie es mit biblatex.cwl möglich ist (siehe 1. Bild).

Mit der bibid stand ich etwas auf dem Schlauch, sorry. bibid ist ja nichts anders als der Bib-Key. Diese Daten stehen natürlich in der .bib-Datei. Ich will aber gar nicht meine .bib-Datei mit meinen Abkürzungen vollmüllen.

Ist es nicht möglich die acronym.cwl-Datei so zu verändern, dass sie ein gleiches Verhalten zeigt wie die biblatex.cwl?

Nachtrag:

Ich habe mich zu früh gefreut. Zwar kann ich jetzt wunderbar die Abkürzungen auswählen, so wie ich es mir gewünscht hatte. Leider kann ich jetzt nicht mehr normal schreiben als ich Zyklus schreiben wollte, kam das heraus:

Zy\ac{k }\ac{l}u\ac{s}

Einige Buchstaben werden automatisch von "\ac{" und "}" eingeschlossen. Hat jemand eine Idee, was da schief läuft? (Meine ganze texstudio.ini wollte ich nicht posten, weil sie ziemlich lang ist. Aber ich kann es gerne machen, wenn es sinnvoll ist.) Nach Löschen der Einträge in der texstudio.ini-Datei funktioniert es wieder normal. Aber jetzt kann ich natürlich die Abkürzungen wieder nicht wie gewünscht nutzen.

gefragt 03 Aug '13, 20:34

Bettina's gravatar image

Bettina
665181923
Akzeptiert-Rate: 25%

bearbeitet 05 Aug '13, 14:17

@Bettina Kannst du deine Frage mit einem TeX-Beispiel, der *.cwl-Datei sowie der .bib-Datei aktualisieren? Ganz folgen kann ich dir jetzt nicht, was geht und was nicht geht. (Und da ist ein br zu viel in meinem Nutzernamen. ;))

(04 Aug '13, 01:25) Qrrbrbirlbel

@Qrrbrbirlbel Ich habe mir erlaubt, aus Deinen zwei Kommentaren gleich mal einen Antwort zu machen. Eigentlich ist es immer ein Hinweis, dass man besser gleich eine Antwort nehmen sollte, wenn ein einziger Kommentar auf eine Frage nicht genügt. BTW: Dein Name macht es tatsächlich nicht gerade leicht, Dir einen Kommentar zukommen zu lassen. Mich wundern Schreibfehler da nicht.

(04 Aug '13, 11:22) saputello

@sap Praktischerweise muss man den Namen ja nicht ausschreiben. :)

(04 Aug '13, 14:48) Qrrbrbirlbel

Ah, jetzt versteh ich erst deinen Vergleich mit \autocite. Natürlich möchtest du nicht, dass \ac mit Bib-Keys gefüllt wirst. Es sollte dementsprechend eigentlich reichen, den #c-Teil zu entfernen. Kannst du es damit nochmal probieren? (Ich würde außerdem die Einträge aus der Original acronym.cwl nicht einfügen, die werden ja sowieso schon geladen.)

(04 Aug '13, 20:14) Qrrbrbirlbel

Hast du eventuell Einträge wie \ac{k}, \ac{l} und \ac{s} eingetragen, aber den Standard-Trigger aus meiner Antwort beibehalten (das wäre dann k, l und s. Bei solchen Fällen würde ich den Trigger natürlich nicht verwenden (oder zumindest nicht so einen kurzen).

(05 Aug '13, 16:07) Qrrbrbirlbel

@Qrr Jap, das war mein Fehler. Jetzt läuft es wie geschmiert. :-)))))) Vielen Dank!!!!!!

(05 Aug '13, 18:07) Bettina
Ergebnis 5 von 6 show 1 more comments

Einige der .cwl-Dateien sind fix in TeXstudio einprogrammiert. Sie sind aber trotzdem auf der Sourceforge-Site zu lesen. Die kannst du natürlich kopieren, anpassen und selbst verwenden. Unter ~/.config/texstudio solltest du laut TeXstudio-Handbuch eine Liste von .cwl-Dateien finden.

Eine dort abgelegte Datei überschreibt die hart-kodierte. Im Handbuch findet man auch eine Beschreibung des CWL-Formats.

Wie du bemerkt hast, werden die in einer .cwl-Dateien abgelegten Macros zwar alphabetisch sortiert, dies betrifft aber nicht die Argumente. (Dafür sind die .cwl-Dateien eigentlich nicht gemacht.)


Eine Möglichkeit, doch eine alphabetisch sortierte Liste zu erhalten ist, ist sie als „Makro“ in TeXstudio zu hinterlegen. (Menü: Makros).

alt text

Damit das Eintragen der Liste nicht elend lang dauert, kann man diese Einträge auch direkt in der texstudio.ini vornehmen, dort sind sie abgelegt unter [texmaker] (der größte Abschnitt).

Macros\1=AceA, \\ac{AceA}, \\ac{AceA}, AceA
Macros\2=AceB, \\ac{AceB}, \\ac{Aceb}, AceB
Macros\3=AceB, \\ac{AceB}, \\ac{AceB}, AceB
Macros\4=AceE, \\ac{AceE}, \\ac{AceE}, AceE
Macros\5=AceF, \\ac{AceF}, \\ac{AceF}, AceF
Macros\6=AckA, \\ac{AckA}, \\ac{AckA}, AckA
Macros\7=AcnA, \\ac{AcnA}, \\ac{AcnA}, AcnA
Macros\8=AcnB, \\ac{AcnB}, \\ac{AcnB}, AcnB
Macros\9=Acs, \\ac{Acs}, \\ac{Acs}, Acs
Macros\10=AdhE, \\ac{AdhE}, \\ac{AdhE}, AdhE
Macros\11=ArcA, \\ac{ArcA}, \\ac{ArcA}, ArcA
Macros\12=ArcB, \\ac{ArcB}, \\ac{ArcB}, ArcB
Macros\13=AtpA, \\ac{AtpA}, \\ac{AtpA}, AtpA
Macros\14=AtpD, \\ac{AtpD}, \\ac{AtpD}, AtpD
Macros\15=AtpH, \\ac{AtpH}, \\ac{AtpH}, AtpH
Macros\16=Crr, \\ac{Crr}, \\ac{Crr}, Crr
Macros\17=Dhak, \\ac{Dhak}, \\ac{Dhak}, Dhak
Macros\18=Dld, \\ac{Dld}, \\ac{Dld}, Dld
Macros\19=Eda, \\ac{Eda}, \\ac{Eda}, Eda
Macros\20=Eno, \\ac{Eno}, \\ac{Eno}, Eno

Achtung: Der Eintrag Macros1 korrespondiert zu Makro 2. Bei mir ist Makro 1 (also Macros0) bereits belegt. (Ich habe hierreguläre Ausdrücke (RegExp) benutzt, um aus einer Liste von

\ac{<etwas>}

die Zeile

Macros=<etwas>, \\ac{<etwas>}, \\{<etwas>}, <etwas>

zu erstellen.

In Notepad++ ist dies die Ersetzung von \\ac\{([^}]*)\} durch Macros=\1, \\\\ac{\1}, \\\\ac{\1}, \1. Die \<Nummer> habe ich manuell eingefügt (das könnte Notepad++ auch automatisch).

Der letzte Wert (Trigger) sorgt dafür, dass du einfach nur AceA eingeben musst und er macht automatisch \ac{AceA} draus. Das bietet sich natürlich an, wenn du das Kürzel im Kopf hast (du kannst da natürlich auch acea eingeben und musst dir dann weder die Umschalt-Taste noch den kleinen Finger kaputt machen). Du kannst selbstverständlich auch etwas Längeres als Trigger eingeben, das sich einfacher merken lässt.

In TeXstudio selbst, erscheinen die Einträge nun alphabetisch und sie werden gefiltert, sofern man nur Kleinbuchstaben verwendet):

alt text

Permanenter link

beantwortet 03 Aug '13, 20:42

Qrrbrbirlbel's gravatar image

Qrrbrbirlbel
2.9k3815
Akzeptiert-Rate: 53%

bearbeitet 04 Aug '13, 21:06

Deine Antwort
Vorschau umschalten

Folgen dieser Frage

Per E-Mail:

Wenn sie sich anmelden, kommen Sie für alle Updates hier in Frage

Per RSS:

Antworten

Antworten und Kommentare

Markdown-Grundlagen

  • *kursiv* oder _kursiv_
  • **Fett** oder __Fett__
  • Link:[Text](http://url.com/ "Titel")
  • Bild?![alt Text](/path/img.jpg "Titel")
  • nummerierte Liste: 1. Foo 2. Bar
  • zum Hinzufügen ein Zeilenumbruchs fügen Sie einfach zwei Leerzeichen an die Stelle an der die neue Linie sein soll.
  • grundlegende HTML-Tags werden ebenfalls unterstützt

Frage-Themen:

×25
×9
×2

gestellte Frage: 03 Aug '13, 20:34

Frage wurde gesehen: 12,084 Mal

zuletzt geändert: 05 Aug '13, 18:07