Probleme mit newcommand < LaTeX < Mathe-Software < Mathe < Vorhilfe
|
Status: |
(Frage) beantwortet | Datum: | 09:22 Sa 20.09.2008 | Autor: | MarioS |
Um mir ein bischen Tipparbeit zu sparen, habe ich mir
ein paar neue Befehle definiert, ganz simpel und ohne Argumente. Eigentlich sollte LaTeX ja dann die Befehle einfach ersetzen. Tut es aber irgendwie nicht, denn hinter den fettgedrucken Buchstaben fehlt der Platz für das Leerzeichen. Man könnte fast meinen, dass nur Platz für einen normalen Buchstaben reserviert wurde, und danach der fettgedruckte Buchstaben in den zu kleinen Platz gepresst wurde.
1: | \documentclass{article}
| 2: | \newcommand{\AI}{\textbf{A1}}
| 3: | \newcommand{\AII}{\textbf{A2}}
| 4: | \newcommand{\AIII}{\textbf{A3}}
| 5: | \begin{document}
| 6: | \{\AI, \AII, \AIII\} See: \AI, \AII and \AIII do
| 7: |
| 8: | \{\textbf{A1}, \textbf{A2}, \textbf{A3}\} See: \textbf{A1}, \textbf{A2} and \textbf{A3} do
| 9: | \end{document}
|
Um zu überprüfen, ob es diesen Befehl schon gibt, habe ich newcommand mal in renewcommand geändert, aber für alle drei Befehle sinngemäß
1: | ! LaTeX Error: \AI undefined.
| 2: | [...]
| 3: | l.2 \renewcommand{\AI}
| 4: | {\textbf{A1}}
| 5: | ? |
erhalten.
Hat jemand eine Idee, woran das liegt, und wie man es behebt (außer mit sed)?
Ich habe diese Frage in keinem Forum auf anderen Internetseiten gestellt.
|
|
|
|
Hallo MarioS,
Wenn man im Text \AII{} statt \AII schreibt, funktioniert es (zumindest in MikTeX) wie gewünscht. Ich vermute: Mit den leeren Klammern teilt man LaTeX mit, daß man keine zusätzlichen Parameter an einen Befehl übergibt. Ansonsten scheint es das Leerzeichen für einen Parameter zu halten. Warum das dann nur beim Leerzeichen der Fall ist, weiß ich nicht.
Vielleicht hat ja noch jemand einen Vorschlag, wie man das eleganter lösen kann.
Viele Grüße
Karl
|
|
|
|
|
Status: |
(Mitteilung) Reaktion unnötig | Datum: | 10:26 Sa 20.09.2008 | Autor: | MarioS |
Irgendwie darf ich meine Frage nicht selbst beantworten, auch wenn ich es jetzt kann. Nachdem du die Antwort gegeben hast, ist mir was eingefallen, was ich zwar mal gelesen, aber irgendwie nicht auf mich bezogen hatte: http://www.eng.cam.ac.uk/help/tpl/textprocessing/teTeX/latex/latex2e-html/ltx-431.html
LaTeX brauch ein Leerzeichen, um das Ende des Befehls zu erkennen. Deshalb wird nach einem Befehl das Leerzeichen nicht angezeigt und muss mit \ oder {} erzwungen werden.
|
|
|
|
|
Hallo,
etwas komfortabler wird es mit dem xspace-Paket:
\usepackage{xspace}
\newcommand{\AII}{\textbf{A2}\xspace}
Viele Grüße,
Stefan
|
|
|
|