Archiv verlassen und diese Seite im Standarddesign anzeigen : if-Abfrage: String untersuchen
Hallo
Ich habe mit einen Befehl in LaTeX selbst erstellt, sodass
\befehl{k-q}
mit das ganze Argument tiefgesetzt und (da ausschließlich im Mathe-Modus verwendet) noch fett und normal (\textnormal) setzt. Problem ist nun, dass + und - auch fett gedruckt werden. Kann mir jemand sagen, wie ich in den Befehl einbaue, dass das Argument untersucht wird, ob da + oder - drin steht und falls ja, dass das dann nicht fett gedruckt wird?
Danke
Boffi
[QUOTE=Boffi23;264374]
Ich habe mit einen Befehl in LaTeX selbst erstellt, sodass
\befehl{k-q}
mit das ganze Argument tiefgesetzt und (da ausschließlich im Mathe-Modus verwendet) noch fett und normal (\textnormal) setzt. Problem ist nun, dass + und - auch fett gedruckt werden. Kann mir jemand sagen, wie ich in den Befehl einbaue, dass das Argument untersucht wird, ob da + oder - drin steht und falls ja, dass das dann nicht fett gedruckt wird?
\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage{amsmath,lmodern}
\makeatletter
\newcommand\befehl[1]{\expandafter\befehl@i#1++\@nil}
\def\befehl@i#1+#2+#3\@nil{%
\def\@temp{#2}
\ifx\@temp\@empty\expandafter\befehl@ii#1--\@nil
\else\text{\bfseries#1}+\text{\bfseries#2}\fi}
\def\befehl@ii#1-#2-#3\@nil{%
\def\@temp{#2}
\ifx\@temp\@empty\text{\bfseries#1}
\else\text{\bfseries#1}-\text{\bfseries#2}\fi}
\makeatother
\begin{document}
\Huge
$A_{\befehl{foobar}}$
$A_{\befehl{foo+bar}}$
$A_{\befehl{foo-bar}}$
$A_{\befehl{foo.bar}}$
\end{document}
Herbert
Danke für die Hilfe. Kannst du mir auch erklären, was da passiert? Interessiert mich einfach.
Außerdem müsste ich es noch erweitern auf auch evtl. 3 oder 4 Argumente, also z.B. \befehl{k+p-q-b}
Achso mir ist noch aufgefallen: ich brauch's eigentlich so, dass \befehl mir auch das A aus deinem beispiel schon schreibt und die Argumente dann tief setzt.
Danke
Hallo nochmal
Habe gesehen, dass es doch so allgemeiner und besser ist.
Habe mir einen neuen Befehl gemacht
\newcommand{\cd}[1]{c_{\befehl{#1}}}
Der ein c schreibt und dann den Befehl ausführt. Brauche ich sowieso mit meheren verschiedenen Variablen (nicht nur "c").
Wäre aber dennoch dankbar, wenn du mir kurz erläutern könntest, was da passier (habe nicht alles durchblickt, auch wenns kurz ist) und wie man das auf 3 oder 4 Variablen erweitern kann.
Danke!
Sabrina.Dankers
12-05-2008, 12:17
Hallo, wenn du statt c auch andere Buchstaben verwenden willst, wäre es doch sinniger das auch als variablen Parameter zu nehmen.
\newcommand{\cd}[2]{{#1}_{\befehl{#2}}}
LG Sabrina
Danke für die Hilfe. Kannst du mir auch erklären, was da passiert? Interessiert mich einfach.
Außerdem müsste ich es noch erweitern auf auch evtl. 3 oder 4 Argumente, also z.B. \befehl{k+p-q-b}
Achso mir ist noch aufgefallen: ich brauch's eigentlich so, dass \befehl mir auch das A aus deinem beispiel schon schreibt und die Argumente dann tief setzt.
das geht, aber da muss man schon etwas Hirnschmalz investieren, wozu
mir die Zeit fehlt. Mach es ersatzweise so: A_{\befehl{k+p}-\befehl{q-b}}.
Herbert
Vielen herzlichen Dank, Herbert! Dann mach ich's so.
@Sabrina: Danke für den Tipp, aber in meinem Dokument ist es praktischer, wenn ich die einzelnen Buchstaben einzeln definiere. Ist zwar mehr in den Kopfzeilen, lässt sich aber im Dokument dann besser lesen und zuordnen!
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.