PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : wie weit \newcommand ausreizen?



Yasser
31-10-2005, 17:15
Hallo,

ich habe schon ein wenig Erfahrung mit Latex gesammelt, und bei meinem letzten Projekt (das PDF auf www.debian-desktop.de) erstmals \newcommand eingesetzt.

Mein Lieblingsbeispiel:


\newcommand{\g}[1]{\glqq{}#1\grqq{}}

um Gänsefüßchen mit \g{blabla} darstellen zu können.

Dann habe ich mich gefragt, wie sinnvoll es ist, für alles andere was man braucht auch solche vereinfachten Dinger zu benutzen, welche auch immer das sind. Zum Beispiel \fett an Stelle von \bfseries. Man wäre ja flexibler, wenn man nachträglich was an der Form ändern wollte.

Oder gibt es Gründe, dass man sowas besser lassen soll?

Grüße Yasser

bischi
31-10-2005, 18:33
Ich würde wirklich nur mühsame Sachen in newcommand nehmen; Erstens wegen Gefahr des Überschreibens alter Kommandos (sollte zwar eigentlich Fehlermeldung geben), zweitens ist es für andere Leute klarer, wenn sie die üblichen Kommandos sehen (bspw hier im Forum), drittens ist es eher Fehleranfällig, wenn man nicht aufpasst und viertens würd ich mich an die normalen Befehle gewöhnen - denn es könnte ja sein, dass du deine Definitionen nicht dabei hast...

MfG Bischi

Xenara
31-10-2005, 18:39
Hm, Gründe die dagegen sprechen könnten höchstens sein, dass du nachher quasi nicht mehr weißt, wie es "richtig" funktioniert und ohne deine eigenen Umdefinitionen etwas hilflos bist.
Wenn du noch nicht so lange dabei bist, probier erst, ob du nicht mit den Standard-Befehlen klarkommst, und definier dann erst um.

Ansonsten geb ich dir schwer recht mit dem newcommand für die Anführungszeichen, das hab ich mir auch definiert :D
\bfseries, tut das nicht auch nur mit \bf? Bei mir jedenfalls tuts. Genauso wie \it.

Andere Makros musst du selbst wissen, inwiefern es für dich sinnvoll ist. "Normale" einfache, kurze Standardbefehle würd ich mir nicht umdefinieren.
Für mich habe ich den Befehl \begin{tabular}{ll} einfach als \bt und \end{tabular} als \et definiert, genauso wie \begin{eqnarray} ein \beq ist, da ich das andauernd brauch und ich mich sonst tot tippe.

countbela666
31-10-2005, 19:12
Hallo Xenara,

\bfseries, tut das nicht auch nur mit \bf? Bei mir jedenfalls tuts. Genauso wie \itEben nicht wirklich. Lies dazu mal das (http://www.mrunix.de/forums/showthread.php?t=41259) oder die l2tabu (ftp://tug.ctan.org/pub/tex-archive/info/l2tabu/german/l2tabu.pdf) .

Grüße,
Marcel

Yasser
31-10-2005, 19:48
Es begann damit, dass ich mir bei einigen "Feldern" bzgl. der Formatierungen nicht sicher war, ob ich sie dauerhaft so lassen wollte. Irgendwann war es dann soweit, dass ich ein aufgeblähtes newcommand solange entschlackt habe, bis es nur noch nach Fettschrift umwandelte;-). Da kam ich auf die Idee.

Für Dinge, die mit Sicherheit nicht nochmal angepasst werden müssen stimme ich zu, dass man die Standardbefehle verwenden sollte.

Gegen viel Tipparbeit müssten doch Editoren irgendwelche guten Funktionen mitbringen? Es wird Zeit, sich in einen der Großen einzuarbeiten.

etilli33
31-10-2005, 19:57
Das ist natürlich klar, dass man sich für besondere Felder, die formatiert werden sollen, extra Befehle bastelt -- eben genau aus dem Grund. Aber das ist ja was anderes als eine Schreibersparnis, wie sie hier vor allem erwähnt wurde. Ich muss sagen, es macht sich wohl jeder irgendwann mal Abkürzungs-Befehle, und warum auch nicht, aber man sollte da wohl nicht zu weit gehen, denn wenn sie nur noch aus zwei Buchstaben bestehen, dann stimmt es, dass sie schlecht auseinander zu halten sind. Das schöne an den Latex-Befehlen ist ja, dass sie eben aus ganzen Wörtern bestehen... man könnte sich jetzt nur noch vorstellen, dass das mal einer auf deutsch übersetzt... Aber dann müsste man eben doch den ganzen Befehlssatz wieder von vorne lernen. Solange man englisch kann, ist es ja nicht so schwer \emph z. B. zu erkennen usw.

Für diese neuen Befehle übrigens, also für Felder, die man sich definiert (wie eben Autoren-Formatierungen usw.) lohnt es sich wohl, ein eigenes Paket zu schreiben, dass man in seinem texmf-Baum ablegt und dann immer zur Verfügung hat. Das muss man dann natürlich bei der Distribution(=Verbreitung) mit weitergeben. Aber so verhindert man auch, dass ein kleiner Brief auf einmal anschwillt mit lauter Definitionen. Bei vielen solchen Anpassungen gibt es natürlich auch schon fertige Lösungen in Form von Paketen, meinen Autor beispielsweise krieg ich übers jurabib-Paket und sichere damit, dass die Formatierung im Text wirklich genauso ist wie im Verzeichnis und noch dazu, dass die von ihm geschriebene Schrift auch ins Verzeichnnis kommt, wenn ich ihn nur dem Namen nach erwähne, also gar nicht wirklich zitiere...

Also: nur zu!

till

rais
31-10-2005, 20:09
Also generell halte ich es immer dann fuer sinnvoll, ein eigenes Makro zu basteln, wenn man sich damit
a) Tipparbeit sparen kann (wie auch schon angedeutet), z.B. dadurch, dass mehrere Befehle sowieso nacheinander abgearbeitet werden sollen
b) wenn ich sicherstellen will, dass ich an verschiedenen Stellen die gleiche Ausgabe dadurch bekomme (bzw. dass ich bei Aenderungen diese dann nur an der zentralen Definition zu tun brauche;)

MfG,

pospiech
31-10-2005, 21:33
\newcommand{\g}[1]{\glqq{}#1\grqq{}}

um Gänsefüßchen mit \g{blabla} darstellen zu können.

du kennst das Paket csquotes? Das ist genau für diesen Fall gedacht und sollte selbstgestrickten Lösungen immer vorgezogen werden.



Dann habe ich mich gefragt, wie sinnvoll es ist, für alles andere was man braucht auch solche vereinfachten Dinger zu benutzen, welche auch immer das sind. Zum Beispiel \fett an Stelle von \bfseries.

Eigentlich ist genau das ein Beispiel dafür was man niemals machen sollte. Denn du willst garantiert nicht das fett irgentwann als kursiv dargestellt wird.

Sinnvoll wäre eine definition von z.B. \wichtig{...} Dabei macht es Sinn sich entscheiden zu können wie das dargestellt wird.

Oder kurzgesagt - LaTeX ist objekt und Sinnorientiert und _nicht_ Satzorientiert.

Von der Idee große Befehlssequenzen komplett abzukürzen halte ich auch nicht soviel weil man dadurch eine eigene Sprache kreiert die andere nicht mehr lesen können.

Matthias

Yasser
31-10-2005, 22:40
du kennst das Paket csquotes? Das ist genau für diesen Fall gedacht und sollte selbstgestrickten Lösungen immer vorgezogen werden.
Nein, ich werde es mir mal ansehen. Gibt es irgendwo Listen mit (alllen) verfügbaren Paketen? Ich stoße immer nur durch Zufall auf sowas.


Sinnvoll wäre eine definition von z.B. \wichtig{...} Dabei macht es Sinn sich entscheiden zu können wie das dargestellt wird.
Logisch ...


Von der Idee große Befehlssequenzen komplett abzukürzen halte ich auch nicht soviel weil man dadurch eine eigene Sprache kreiert die andere nicht mehr lesen können.
Ich kenne 3 Leute, die TeX nutzen, einer bin ich. Mit den anderen beiden habe ich noch nie zusammengearbeitet;-)

pospiech
01-11-2005, 20:06
Nein, ich werde es mir mal ansehen. Gibt es irgendwo Listen mit (alllen) verfügbaren Paketen? Ich stoße immer nur durch Zufall auf sowas.

http://www.matthiaspospiech.de/latex/pakete/


Ich kenne 3 Leute, die TeX nutzen, einer bin ich. Mit den anderen beiden habe ich noch nie zusammengearbeitet;-)
Mag sein, aber wer sagt denn das du nicht doch in Zukunft an einem Dokument mit meheren arbeitest - oder andere deins weiterverwenden möchten.

Matthias

Yasser
05-11-2005, 16:39
Coole Seite, da werde ich mir mal ein Lesezeichen setzen!:-)