Typesetting langer Variablennamen im Normal- und Mathemodus

Formelsatz für Mathematik, Naturwissenschaften und Technik


pooz
Forum-Anfänger
Forum-Anfänger
Beiträge: 48
Registriert: Fr 19. Feb 2010, 10:56

Typesetting langer Variablennamen im Normal- und Mathemodus

Beitrag von pooz »

Hi,

ich würde gerne wissen, wie das korrekte Typesetting für lange Variablennamen in LaTeX ist (also Variablennamen länger als 1 Zeichen). Sowohl im Mathemodus, als auch im normalen Fließtext, wenn man Bezug auf den Variablennamen nimmt.

z.B. mit der Variablen "env"
		\begin{equation}
		u = x \cdot env
		\end{equation}

wobei die Variable $env$ ist die Einhüllende ist.
Wie würde es "korrekt" aussehen?
Vielen Dank!

Benutzeravatar
iTob
Forum-Meister
Forum-Meister
Beiträge: 1221
Registriert: Mo 19. Apr 2010, 22:19
Kontaktdaten:

Beitrag von iTob »

Ich weiß nicht, ob es dafür ne Regel gibt, aber ich würde mir einen Befehl definieren, um die Buchstaben zu einer Einheit zusammenzufassen, vielleicht so:
\documentclass{report}
\usepackage[latin1]{inputenc}
\usepackage{amsmath, textcomp}
% neuer Befehl für lange Variablennamen
\newcommand{\lvar}[1]{\ensuremath\mathit{#1}}

\begin{document}
Anwendung mit
\begin{equation}
c + \lvar{env} \neq c + e \cdot n \cdot v
\end{equation}
Verweis im Text mit $\lvar{env}$.
\end{document}
Dann könntest du ggf. (im Nachhinein) die Darstellung, z.B. als serifenlos, global ändern.

Diese Lösung macht optisch keinen Unterschied, weiß ich. Wie wird es denn in Büchern sonst dargestellt?
Der Leser muss halt wissen, dass es längere Variablen gibt, damit er env nicht als e*n*v liest...

LG
Tobi[/code]

Benutzeravatar
iTob
Forum-Meister
Forum-Meister
Beiträge: 1221
Registriert: Mo 19. Apr 2010, 22:19
Kontaktdaten:

Beitrag von iTob »

Hier noch eine zweite Version, in der zusätzlich der Buchstabenabstand etwas verringert wird:
\documentclass{report}
\usepackage[latin1]{inputenc}
\usepackage{amsmath, textcomp, soul}
%\usepackege{txfonts}
%Befehl um Laufweite (=Buchstabenabstand) zu verringern
%evtl. mit dem Wert -0,11em experimentieren
\sodef\eng{}{-0.13em}{0em}{0em}
% neuer Befehl für lange Variablennamen
\newcommand{\lvar}[1]{\ensuremath\mathit{\eng{#1}}}

\begin{document}
\section*{lange Variablen}
Anwendung in (abgesetzten) Formeln, zweite Version, mit
verringerter Laufweite für lange Variablennamen
\begin{equation}
e \cdot n \cdot v \neq \lvar{env} \neq env = e \cdot n \cdot v 
\end{equation}
Verweis im Text mit $\lvar{env}$.

Der Wert für die Laufweite muss für die Schriftart angepasst werden!
Deutlich zu sehen, wenn \texttt{\textbackslash usepackege\{txfonts\}}
eingeschaltet wird.
\end{document}
Ich weiß allerdings nicht, ob man das wirklich so machen sollte! Ich hab' einfach ins Blaue rumprobiert...

pooz
Forum-Anfänger
Forum-Anfänger
Beiträge: 48
Registriert: Fr 19. Feb 2010, 10:56

Beitrag von pooz »

Danke, Tobi,

für deine praktischen Beispiele.

Meine Idee für lange Variablennamen wäre gewesen, diese nicht in "kursiv" zu schreiben, d.h. mittels
\text{env}
in eine "gerade" Form zu bringen. Auf die Idee bin ich gekommen, da Funktionsnamen auch so gedruckt werden, wie
$\sin$  
%statt 
$sin$

oder wie auch lange Indizes gebildet werden:
$x_\text{env}$
statt
$x_{env}$

Benutzeravatar
iTob
Forum-Meister
Forum-Meister
Beiträge: 1221
Registriert: Mo 19. Apr 2010, 22:19
Kontaktdaten:

Beitrag von iTob »

pooz hat geschrieben:Danke, Tobi,

für deine praktischen Beispiele.

Meine Idee für lange Variablennamen wäre gewesen, diese nicht in "kursiv" zu schreiben, d.h. mittels
\text{env}
in eine "gerade" Form zu bringen. Auf die Idee bin ich gekommen, da Funktionsnamen auch so gedruckt werden,
Eben das ist das Problem ;-) env ist eine Variable und KEIN Funktionsname...
und Variablen werden gemeinhin kursiv gesetzt.

und Indizes werden nicht grundsätzlich mit \text{} gemacht.
Wenn der Index eine Laufindex ist, ist er Kursiv (weil Variabel), ist er dagegen beschreibend, wird der er aufrecht gesetzt.
Beispiel:
K = \sum_{i=1}^n k_i, Eigenwerte: \lambda_i
% im Gegensatz zu
v_\text{max}, \alpha_\text{tot}, I_\text{R}, U_\text{Lampe} 

Benutzeravatar
nfa019
Forum-Century
Forum-Century
Beiträge: 115
Registriert: Mi 2. Jun 2010, 22:32

Beitrag von nfa019 »

Ist dieses $env$ eigentlich eine Standardbezeichnung oder eine eigene Erfindung? Ich kann mich erinnern, mal mit jemandem was zusammen geschrieben zu haben, der sich partout nicht auf Variablennamen einlassen wollte, der mehr als 1 Buchstaben hatte (was dann zu eher kryptischen Bezeichnungen führte :)). Um späteren Diskussionen aus dem Weg zu gehen, sollte man sich so einen Variablennamen deshalb gut überlegt haben.

pooz
Forum-Anfänger
Forum-Anfänger
Beiträge: 48
Registriert: Fr 19. Feb 2010, 10:56

Beitrag von pooz »

iTob hat geschrieben: Eben das ist das Problem ;-) env ist eine Variable und KEIN Funktionsname...
und Variablen werden gemeinhin kursiv gesetzt.

und Indizes werden nicht grundsätzlich mit \text{} gemacht.
Wenn der Index eine Laufindex ist, ist er Kursiv (weil Variabel), ist er dagegen beschreibend, wird der er aufrecht gesetzt.
Ist der Standard für "korrektes" Typesetting?

Falls ja, wie unterscheidet man nun "env" von "e*n*v", denn in deinem 1. Beispiel ist - wie du erwähnst - optisch kein Unterschied und im 2. Beispiel erwähnst du, dass du nicht sicher bist, ob man das so machen sollte.

@nfa019
"env" ist ein eigener Name, den ich als Kurzform für "Envelope" (Einhüllende) in Matlab gewählt habe.

Benutzeravatar
iTob
Forum-Meister
Forum-Meister
Beiträge: 1221
Registriert: Mo 19. Apr 2010, 22:19
Kontaktdaten:

Beitrag von iTob »

Ich hab keine Ahnung, wie man das Unterscheidet, in 2 Semestern Physikstudium und einem abgreborchenen ersten Semester Mathe ist mir noch nie eine Variable begegnet, die mehr als einen Buchstaben hatte...

Wenn env (oder Ähnliches) nicht in irgendeinem Fachgebiet üblich ist, sndern du dir das selbst ausgedacht hast, würde ich es nicht verwenden, weil eben schwer zu unterscheiden ist, was gemeint ist.
nimm lieber nur einen Buchstaben und erläutere, was du damit meinst.

Andernfalls könntest du zu beginn des Dokumentes erklären, dass du entgegen der Lesegewohnheiten/Konventionen/... eine Kombination aus mehreren Buchstaben immer als eine Variable meinst und Multiplikationen ausdrücklich mit Malpunkt angibst (dass müsstest du dann aber Konsequent machen!)
Das finde ich aber eher unglücklich...

Die Einhüllende wird bei Wikipedia mit einem großen H (also $H$) bezeichnet. Du könntest dich auch in der Fachliteratur umsehen, wie sie dort bezeichnet wird.
Und wenn du im Text vorher oder hinterher was schreibt wie »hier sieht man deutlich, dass die Hüllkurve $H$ …« sollte jeder Leser verstehen, was du meinst.
Um was für ein Dokument geht es überhaupt?

Achso und zu deiner Frage ob das aus dem Vorhergehenden Post der Standard ist: Weiß ich nicht, aber ich finde es macht Sinn und in anständig gesetzten Büchern wird es auch so gemacht.
Hier und hier wird es so gesagt. Es scheint durch die DIN 1338 geregelt zu sein, aber ich finde keine Online-Version, wo man anschauen könnte. In unserer UB gibt's die ebenfalls nicht...

Gute Nacht![/url]

Benutzeravatar
nfa019
Forum-Century
Forum-Century
Beiträge: 115
Registriert: Mi 2. Jun 2010, 22:32

Beitrag von nfa019 »

pooz hat geschrieben: "env" ist ein eigener Name, den ich als Kurzform für "Envelope" (Einhüllende) in Matlab gewählt habe.
Da dies offensichtlich kein Standard ist (in der engl. Wikipedia wird naheliegender Weise $E$ verwendet), kann ich dir (als altgediente Mathematikerin) wirklich nur empfehlen, eine einbuchstabige Abkürzung zu verwenden, um der Verwechslung mit der Multiplikation einzelner Variabler zu entgehen. Auch wenn du es am Anfang des Dokumentes erklärst, wird es immer Leute geben, die nicht linear lesen und dann verwirrt sind.
Wenn du deinen Formeln auch mal Matlab-Code zur Seite stellst, kannst du immer noch darauf verweisen, dass die entsprechende Variable dort $env$ heißt. Mathematiker sind da eigentlich flexibel :).

pooz
Forum-Anfänger
Forum-Anfänger
Beiträge: 48
Registriert: Fr 19. Feb 2010, 10:56

Beitrag von pooz »

Vielen Dank für Eure Hilfen.

Ok, ich möchte mit selbstverständlich an Konventionen halten und werde Variablen als Indizes kursiv schreiben, hingegen Konstanten oder beschreibende Indizes aufrecht.

Aber irgendwie geht mir immer noch nicht ganz ein Licht auf:

1.)
Ich mein, mein Matlab-Code ist gut lesbar, da ich eindeutige und nicht einbuchstabige Variablennamen verwende, wie z.B.
env = ... % envelope
xFrame =... % a frame of input signal x
err = ... % error signal 
und daher dachte ich, dass ich in meiner schriftlichen Ausarbeitung diese Namen fortführe, wenn ich das in einen mathematischen Zusammenhang bringen möchte.
Ich mein, ich kann ja nicht alles in meiner schiftlichen Ausarbeitung dann auf einen Buchstaben "herunterbrechen", oder? Was schlagt ihr vor für "x: input signal" und "xFrame: Frames of input signal x" ?

2.a)
Wenn ich in Matlab ein Array/Vektor der Länge L namens "e" habe, wie würde es dann korrekt in mathematischer Notation aufgeschrieben werden?
Also:
  • * als Funktion, e(n) ?
    * als Vektor \vec e ?
    * fett+kursiv \boldsymbol{e} ?
2.b)
Und würde die Schreibweise sein, wenn sich der Vektor "e" in jeder Iteration ändert und somit L neue Werte jedesmal erhält?

Danke für die Hilfe, ich hoffe, ihr könnt mir Licht ins Dunkle bringen :-)

Antworten