unbold Boldsymbols in AMSMATH Umgebung

Fragen und Probleme, die nicht den obigen Kategorien zugeordnet werden können


Schneitzmaster
Forum-Anfänger
Forum-Anfänger
Beiträge: 11
Registriert: So 26. Sep 2010, 16:21

unbold Boldsymbols in AMSMATH Umgebung

Beitrag von Schneitzmaster »

Hallo Latex-spezis,

ich habe ein Problem mit dem Schreiben von fetten Lettern im Mathemodus.
Da ich sehr viele Formeln schreiben muss, habe ich mir Befehele gebaut, die gewissen Variablen zugeordnet sind.
Die Variablen werden meist fett geschrieben. Es gibt aber auch Situationen in denen ich die normale Schreibweise benötige.
Kann man den \boldmath Befehl über irgendeine Anweisung ausschalten?

Ich habe es schon erfolglos mit \mathit versucht
Hier mein Minimalbeispiel:
\documentclass[a4paper,12pt,]{scrreprt}

\usepackage{amsmath}                  % Formeln
\newcommand{\bs}{\boldsymbol}         % fette Letter im Mathemodus
\newcommand{\tend}[1]{ \bs{#1}}       % Tensor of 2nd order
\newcommand{\cst}{\tend{\sigma}}

\begin{document}
So soll es aussehen:
\begin{equation}
    \cst = \sigma_{ij} \vec{e}_{i} \otimes \vec{e}_{j}
\end{equation}
So so sieht es aus:
\begin{equation}
    \cst = \mathit{\cst} \vec{e}_{i} \otimes \vec{e}_{j}
\end{equation}
\end{document}
Vielleicht hat ja jemand einen Tip für mich.

Epllus
Forum-Guru
Forum-Guru
Beiträge: 470
Registriert: So 23. Sep 2012, 17:31

Beitrag von Epllus »

Ich fürchte ich verstehe das Problem nicht ganz, kannst du nicht einfach \sigma statt \cst hinschreiben?
\documentclass[a4paper,12pt,]{scrreprt} 

\usepackage{amsmath}                  % Formeln 
\newcommand{\bs}{\boldsymbol}         % fette Letter im Mathemodus 
\newcommand{\tend}[1]{ \bs{#1}}       % Tensor of 2nd order 
\newcommand{\cst}{\tend{\sigma}} 

\begin{document} 
So soll es aussehen: 
\begin{equation} 
    \cst = \sigma_{ij} \vec{e}_{i} \otimes \vec{e}_{j} 
\end{equation} 
So so sieht es aus: 
\begin{equation} 
    \cst = \sigma_{ij} \vec{e}_{i} \otimes \vec{e}_{j} 
\end{equation} 
\end{document} 

Schneitzmaster
Forum-Anfänger
Forum-Anfänger
Beiträge: 11
Registriert: So 26. Sep 2010, 16:21

Beitrag von Schneitzmaster »

Hi Epllus,

ja das könnte ich schon machen. Leider ist meine Arbeit sehr umfangreich und ich weiß nicht ob ich später einmal Probleme mit doppelt auftretenden Variablen habe. Von daher ist jede Variable von mir mit einem eigenen Befehl verknüpft. Somit erreiche ich das alle Variablen automatisch im Glossar auftauchen und ich beispielsweise sehr einfach alle Cauchy-Spannungen die momentan mit \sigma bezeichnet sind in T umbenennen kann.
Am Anfang ist das zwar alles sehr auf wendig, gegen Ende der Arbeit lohnt sich das aber auf jedenfall.
Nun ist es so, dass ich manchmal nicht die symbolische (also fette Notation) verwenden möchte sondern indizistisch (normal italic-style) schreibe. Dabei geht es aber immer noch um die selbe variable.
Von daher möchte ich das fett gedruckte (\boldsymbols) bei bedarf ausschalten.

Vielleicht ist es jetzt etwas klarer
Grüße

mrpiggi
Forum-Anfänger
Forum-Anfänger
Beiträge: 18
Registriert: Mi 3. Apr 2013, 17:42

Beitrag von mrpiggi »

Hallo Schneitzmaster,

wie wär's damit:
\documentclass[a4paper,12pt,]{scrreprt} 

\usepackage{amsmath}                  % Formeln 
\newcommand{\bs}{\boldsymbol}         % fette Letter im Mathemodus 
\newcommand{\tend}[1]{ \bs{#1}}       % Tensor of 2nd order 
\newcommand{\cst}{\tend{\sigma}} 
\newcommand{\unbold}[1]{%
  \begingroup%
  %\let\boldsymbol\relax%
  \let\bs\relax%
  #1
  \endgroup%
}

\begin{document} 
So soll es aussehen: 
\begin{equation} 
    \cst = \sigma_{ij} \vec{e}_{i} \otimes \vec{e}_{j} 
\end{equation} 
So sieht es aus: 
\begin{equation} 
    \cst = \unbold{\cst_{ij}} \vec{e}_{i} \otimes \vec{e}_{j} 
\end{equation}
So sah es aus:
\begin{equation} 
    \cst = \mathit{\cst_{ij}} \vec{e}_{i} \otimes \vec{e}_{j} 
\end{equation}
\end{document}
Der Befehl \unbold (den du auch nennen kannst, wie es dir beliebt) setzt die Bedeutung des Befehls \bs innerhalb einer Gruppe auf \relax. Das sollte so passen oder?

Grüße
Falk

Benutzeravatar
u_fischer
Forum-Meister
Forum-Meister
Beiträge: 4268
Registriert: Do 22. Nov 2012, 11:09
Kontaktdaten:

Beitrag von u_fischer »

Vielleicht so:
\makeatletter
\newcommand\cst{\@ifnextchar_{\sigma}{\tend{\sigma}}}
\makeatother

Schneitzmaster
Forum-Anfänger
Forum-Anfänger
Beiträge: 11
Registriert: So 26. Sep 2010, 16:21

Beitrag von Schneitzmaster »

Sauber!!
Danke Falk genau nach so einem Befehl habe ich gesucht.
So will ich das haben. Danke!!

@u_fischer: Deine Variante versteh ich nicht. könntest du das in einem Minimalbeispiel angeben? Ich weiß nicht wo ich die drei Zeilen einfügen muss.

Aber es klappt ja auch anders.
Danke noch mal.
Beste Grüße

Benutzeravatar
u_fischer
Forum-Meister
Forum-Meister
Beiträge: 4268
Registriert: Do 22. Nov 2012, 11:09
Kontaktdaten:

Beitrag von u_fischer »

\documentclass[a4paper,12pt,]{scrreprt}

\usepackage{amsmath}                  % Formeln
\newcommand{\bs}{\boldsymbol}         % fette Letter im Mathemodus
\newcommand{\tend}[1]{ \bs{#1}}       % Tensor of 2nd order
%\newcommand{\cst}{\tend{\sigma}}
\makeatletter
\newcommand\cst{\@ifnextchar_{\sigma}{\tend{\sigma}}}
\makeatletter
\begin{document}
 So soll es aussehen:
\begin{equation}
     \cst = \sigma_{ij} \vec{e}_{i} \otimes \vec{e}_{j}
\end{equation}
 So so sieht es aus:
\begin{equation}
     \cst = \cst_{ij} \vec{e}_{i} \otimes \vec{e}_{j}
\end{equation}
\end{document}

Antworten