Abkürzung zum Aufschreiben langer, gebräuchlicher Ausdrücke?

Abkürzung zum Aufschreiben langer, gebräuchlicher Ausdrücke?

Ich schreibe eine astronomische Arbeit und habe einige Symbole und Variablen, die überall vorkommen. Es wird mühsam, sie jedes Mal neu aufzuschreiben. Gibt es eine Möglichkeit, eine Art Abkürzung dafür zu erstellen? Beachten Sie, dass die meisten im Mathematikmodus sind.

Zum Beispiel:
log(Hallo)

$\log(\textrm{H}\textsc{i})$

log(SFR/M*)

$\log(\textrm{SFR} / \textrm{M}_{\odot})$

Antwort1

Es ist eine gute Idee, Makros zu erstellen, die Abkürzungen für häufig verwendete Zeichenfolgen bieten. Eine Einführung in die Verwendung der LaTeX- \newcommandDirektive finden Sie beispielsweise in Kapitel 6, „Anpassen von LaTeX“, des HandbuchsDie nicht ganz so kurze Einführung in LATEX2e.

Sie könnten beispielsweise die Anweisungen erteilen

\newcommand\loghi{\log(\mathrm{H}\textsc{i})}
\newcommand\sfrm{\log(\mathrm{SFR} / \mathrm{M}_{\odot})}

in der Präambel und später im Hauptteil des Textes etwas wie

bleet bleet $\loghi=\sfrm$ more bleet bleet

Wie Sie bereits in einem Kommentar angemerkt haben, ergibt sich eine Komplikation, wenn diese Makros auch indeutlichUmgebungen wie Abschnittsüberschriften. Insbesondere \loghiwird LaTeX bei der obigen Definition von versuchen, den Buchstaben iin fetten Kapitälchen zu setzen. Wie Sie festgestellt haben, wird der Buchstabe in „normalem“ Fett gesetzt, wenn die von Ihnen verwendete Schriftfamilie keine fetten Kapitälchen enthält, d. h. alsich. Nicht der gewünschte Effekt, oder?!

Was tun? Ich denke, Sie haben (mindestens) zwei Möglichkeiten. Die erste ist, eine Schriftfamilie zu verwenden, die eine fette Smallcap-Schriftart enthält. Zwei solche Familien sind newt xtext/ newtxmathund newpxtext/ newpxmath. Erstere bietet ein „Times Roman“-Aussehen, letztere ein „Palatino“-Aussehen. Dies kann für Sie akzeptabel sein (oder auch nicht...).

\loghiZweitens könnten Sie das Makro so einrichten, dass es nicht einmal versucht, ein (möglicherweise nicht vorhandenes) fettes Kapitälchen-Symbol zu verwenden. Zum Beispiel:

\newcommand\loghi{\log(\mathrm{H}\textsc{\mdseries i})}

(beachten Sie die Hinzufügung von \mdserieszum Argument von ) weist LaTeX an , eine Version von in „mittlerer Schriftstärke“ (anstatt in „fetter Schriftstärke“) \textscanzuwenden . Solange die mittelschwere Schriftart Kapitälchen-Glyphen enthält, ist der Erfolg garantiert.\textsci

Antwort2

Ich würde das Problem in zwei Teile aufteilen. Zuerst definiert man die elementaren Symbole, dann Ausdrücke anhand dieser:

\documentclass{article}
\usepackage{amsmath}

%% first the symbols
\newcommand{\Hi}{\textnormal{H\kern-.1em\textsc{i}}}
\newcommand{\SFR}{\mathrm{SFR}}
\newcommand{\Mo}{\mathrm{M}_{\odot}}
%% then common expressions
\newcommand{\lHi}{\log\Hi}
\newcommand{\lsfrmo}{\log(\SFR/\Mo)}

\begin{document}
\begin{gather*}
\log\Hi + \log(\SFR/\Mo)\\
\lHi+\lsfrmo
\end{gather*}
\end{document}

Ich habe der Definition etwas hinzugefügt, \Hium zu zeigen, wie Sie das elementare Symbol neu definieren können, ohne auch die Definition des darin definierten Ausdrucks ändern zu müssen.

Mit \textnormal{...}stellen wir sicher, dass die Schriftart unabhängig vom Kontext die „ursprüngliche“ ist. Dies ist für erforderlich \Hi, aber nicht für \SFR. Da \mathrmeffizienter als ist \textnormal, ist es vorzuziehen, wenn es verwendet werden kann.

Bildbeschreibung hier eingeben

verwandte Informationen