Formel mit \newcommand-Eingabe und Nummerierung

Formelsatz für Mathematik, Naturwissenschaften und Technik


JaneBA
Forum-Newbie
Forum-Newbie
Beiträge: 2
Registriert: Mi 14. Dez 2022, 12:04

Formel mit \newcommand-Eingabe und Nummerierung

Beitrag von JaneBA »

Hallo,
ich bin gerade das erste Mal dabei Latex für meine Bachelorarbeit zu nutzen und bekomme es nicht hin Formeln einzufügen mit Nummerierung.
Ich denke das Problem ist ebenfalls, dass ich bei \newcommand alles in math mode gespeichert habe und {align} das wieder auflöst. Allerdings habe ich da noch keinen Bericht gefunden der mir weiterhilft.

Ich hoffe, ihr habt eine Idee wie ich das zum Laufen bringen kann.
\documentclass[a4paper,12pt]{scrreprt}
\usepackage[ngerman]{babel}

\usepackage{amsmath}
\usepackage{graphicx}
\usepackage[colorlinks=true, allcolors=blue]{hyperref}
\usepackage[utf8]{inputenc}
\usepackage[ngerman]{babel}
\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{mathrsfs} %fourier F
\usepackage{blindtext}
\usepackage{mwe}
\usepackage{graphicx}
\usepackage{graphics}
\usepackage{subfigure}
\usepackage{float}
\usepackage{url}
\usepackage[german=quotes]{csquotes}
\usepackage{mathtools}
\usepackage{comment}

\newcommand{\kBolz}{$k$}
\newcommand{\TempK}{$T_{\text{K}}$}
\newcommand{\KleinF}{$f$}
\newcommand{\PNoiseT}{$P_{\text{Noise,therm}}$}

\begin{document}

\subsection{Math}

Hier gibt es keine richtige Nummerierung der Gleichung: \\
\begin{align}
    \PNoiseT = 10\times \log_{10}(\kBolz\cdot\TempK)+10\times \log_{10}(\Delta\,\KleinF)
    \label{eq:PNoise,Meas}
\end{align}

Und hier verschwinden ebenfalls die Formeln:
\begin{align}
    10\times \log_{10}(\kBolz\cdot\TempK) = (-174dBm)  %evtl weglassen
    \label{eq:1.Rauschleistung} \\
    10\times \log_{10}(\Delta\,\KleinF) = (70dB)      %evtl weglassen
    \label{eq:2.Rauschleistung}\\
    \to \PNoiseT = (-104dB) 
\end{align}
    
\end{document}

Benutzeravatar
KOMA
TeX-Entwickler
TeX-Entwickler
Beiträge: 2958
Registriert: Fr 4. Jul 2008, 17:28
Kontaktdaten:

Re: Formel mit \newcommand-Eingabe und Nummerierung

Beitrag von KOMA »

Wenn man mathematisches Material definieren will, das sowohl im Mathemodus als auch im Textmodus augerufen werden kann, verwendet man \ensuremath:
\documentclass[%
  a4paper,% überflüssig, weil Voreinstellung
  12pt
]{scrreprt}
\usepackage[ngerman]{babel}% Besser die Option bei \documentclass angeben, dann bekommen die alle Pakete, die sie verstehen.

\usepackage{amsmath}% das wird auch von mathtools geladen, ist hier also überflüssig
\usepackage{graphicx}
\usepackage[colorlinks=true, allcolors=blue]{hyperref}% Wird viel zu früh geladen! Die goldene Regel sag: Als letztes, außer in der Anleitung steht etwas anderes.
\usepackage[utf8]{inputenc}% braucht es seit April 2018 nicht mehr
\usepackage[ngerman]{babel}% Das wurde oben schon geladen. Solches Mehrfachladen sollte man vermeiden, weil es irgendwann zu Problemen führt.
\usepackage{amsmath}% Das wurde oben schon geladen. Solches Mehrfachladen sollte man vermeiden, weil es irgendwann zu Problemen führt.
\usepackage{amsfonts}
\usepackage{mathrsfs} %fourier F
\usepackage{blindtext}% wird von mwe ebenfalls geladen, also überflüssig.
\usepackage{mwe}
\usepackage{graphicx}
\usepackage{graphics}% wird bereits von graphicx geladen, also überflüssig
\usepackage{subfigure}% total veraltet besser subcaption (oder min. subfig)
\usepackage{float}% braucht man eigentlich nicht
\usepackage{url}% wurde bereits von hyperref geladen, ist also überflüssig
\usepackage[german=quotes]{csquotes}
\usepackage{mathtools}
\usepackage{comment}

\newcommand{\kBolz}{\ensuremath{k}}
\newcommand{\TempK}{\ensuremath{T_{\text{K}}}}
\newcommand{\KleinF}{\ensuremath{f}}
\newcommand{\PNoiseT}{\ensuremath{P_{\text{Noise,therm}}}}

\begin{document}

\subsection{Math}% Mit \subsection bei scrreprt anzufangen ist natürlich Unfug, aber in einem kurzen Beispiel OK.

Hier gibt es keine richtige Nummerierung der Gleichung:% Das \\ musste hier unbedingt weg!
\begin{align}% eigentlich würde hier equation reichen, weil weder & noch \\ verwendet wird.
    \PNoiseT = 10\times \log_{10}(\kBolz\cdot\TempK)+10\times \log_{10}(\Delta\,\KleinF)
    \label{eq:PNoise,Meas}
\end{align}

Und hier verschwinden ebenfalls die Formeln:
\begin{align}
    10\times \log_{10}(\kBolz\cdot\TempK) &= (-174dBm)% wenn schon align, dann bitte ordentlich ausrichten (siehe außerdem meine Hinweise zu Einheiten)
    \label{eq:1.Rauschleistung} \\
    10\times \log_{10}(\Delta\,\KleinF) &= (70dB)     % siehe oben
    \label{eq:2.Rauschleistung}\\
    \to \PNoiseT &= (-104dB) % siehe oben
\end{align}
    
\end{document}
Es ist in Deinem Interesse, meine zusätzlichen Kommentare ebenfalls zu beachten. Ich vermute jetzt einfach einmal, dass das ganze auf einer total veralteten Vorlage aus einer wenig zuverlässigen Quelle basiert.

Darüber hinaus sei darauf hingewiesen, dass man Einheiten aufrecht setzt. Bei Dir wären d, B und m jeweils Variablen. Am besten setzt man Einheiten mit siunitx. Notfalls kann man aber auch \mathrm verwenden.

JaneBA
Forum-Newbie
Forum-Newbie
Beiträge: 2
Registriert: Mi 14. Dez 2022, 12:04

Re: Formel mit \newcommand-Eingabe und Nummerierung

Beitrag von JaneBA »

Vielen Dank für deine Antwort. Funktioniert jetzt bei mir :)

Antworten