Anknüpfend an

https://texwelt.de/fragen/5626/wie-schreibe-ich-serifenlos-im-mathemodus-und-im-textmodus/5647

einfach mal spaßeshalber gefragt: Kann man den Mathmodus auch auf teletyper-Schrift bringen?

Ich habe das nämlich in einem älteren Buch gesehen, in dem alles in ttfamily war (mit Lettern gesetzt?); dort aber leider teils inkonsequent, so war z.B. das Integralzeichen wiederum aus einer anderen Schrift. Ergänzung: Das sollte natürlich hier besser sein.

Als M.W.E. würde ich den Code aus dem Link nehmen, der aktuell allerdings eine sfmath-Umsetzung zeigt.

Vermutlich gibt es hier 3 Probleme:
1. Finden der Rechenzeichen (Wurzel, Integral, ...) in ttfont.
2. Erhalten griechischer Buchstaben in ttfont.
3. Erhalten von slanted tt-Buchstaben im Mathemodus, da im Formelsatz Symbole üblicherweise kursiv gesetzt wird (mit Ausnahme von Standardfunktionen, z.B. \sin).

\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}

\usepackage[sfmath,lighttext]{kpfonts}
\renewcommand*\familydefault{\sfdefault}

\begin{document}

\section{Text}
Der Satz des Pythagoras, $a^2 + b^2 = c^2$,  hat  auch eine trigonometrische Version:
\begin{equation}
  \sin^2(\phi) + \cos^2(\phi) = 1
\end{equation}
dabei ist $\phi = \sphericalangle(b, c) ~\text{oder}~ \phi = \sphericalangle(a, c)$.

Eine komplizierte Formel (\emph{mit Detailunterschieden}) ist z.\,B. 
\[
  \sigma_{\alpha \beta \Gamma}
  =
  \sigma_{max} \cdot \left(1+2\pi  \sqrt{\frac{a + b}{\Phi^\Theta}}\right) + \pi
\]
oder
\[
  \int\limits_a^b f(x) \; {\operatorname{d}}x = \big[F(x) \big]_a^b
\]

Manchmal haben die Zeichen auch Akzente:
\begin{equation}
  \tilde{M} \ddot{u} \hat{T} \vec{\alpha}
\end{equation}

\section{Griechische Buchstaben}

\subsection{Mathemodus oder Textmodus (serifenlos, schräggestellt):}
$\alpha \beta \gamma \delta \epsilon \zeta \eta \theta \iota \kappa \lambda
\mu \nu \xi o \pi \rho \sigma \tau \upsilon \phi \chi \psi \omega$

$\mathsf{A} \mathsf{B} \Gamma \Delta \mathsf{E} \mathsf{Z} \mathsf{H} \Theta
\mathsf{I} \mathsf{K} \Lambda \mathsf{M} \mathsf{N} \Xi \mathsf{O} \Pi
\mathsf{P} \Sigma \mathsf{T} \Upsilon \Phi \mathsf{X} \Psi \Omega$

$\vartheta \varrho \sigma \varkappa \varpi$

\end{document}

gefragt 16 Mär '20, 17:41

haver555's gravatar image

haver555
199512
Akzeptiert-Rate: 7%

bearbeitet 18 Mär '20, 20:35

Welche TT-Schrift mit Integralzeichen etc. hast Du denn? Anders gesagt: Wenn Du eine entsprechende Schrift hast, ist das kein grundsätzliches Problem, erst recht nicht mit unicode-math. Da aber schon SF-Matheschriften recht dünn gesät sind, vermute ich sehr, dass es bei TT-Schriften noch deutlich schwerer wird, etwas zu finden.

Ich habe übrigens auch noch ein altes Informatikbuch, das mit der Schreibmaschine geschrieben wurde. Alle Mathesymbole sind dort von Hand gezeichnet. will man das? Sollte man das wollen? Nein.

(16 Mär '20, 18:22) saputello

Ich habe hier überhaupts nichts. Ich kenne mich auch mit LaTeX-Schriften nicht aus. Aber ist denkbar, das mal jemand sowas erstellt hat. Keine Ahnung. Wenn ich es wüsste, würde ich es selbst machen. "Und wenn es einfach wäre, würde es jeder machen", naja in dem Fall vermutlich eher nicht. Einfach mal aus reinem Interesse gefragt; sieht sicher heiß aus, wenn es klappt...

(16 Mär '20, 18:54) haver555

Nur mal so aus Spaß ein Beispieldokument, das mathastext verwendet, um im Mathemodus einen TT-Font zu verwenden, und die Befehle \sqrt, \frac und \int quick und dirty in tt übersetzt. Für etwaige schreckliche Folgen bin ich nicht verantwortlich.

\documentclass[]{article}

\usepackage{xparse}
\usepackage{amssymb}

\renewcommand*\familydefault{\ttdefault}
\usepackage{mathastext}
\renewcommand*\familydefault{\rmdefault}

\makeatletter
\newsavebox\ttrulebox
\newcommand\ttrule[2][0pt]
  {%
    \raisebox{#1}
      {%
        \begingroup
        \setbox\ttrulebox\hbox{\_}%
        \count0=\numexpr#2/\wd\ttrulebox\relax
        \ifdim#2>\count0\wd\ttrulebox
          \advance\count0by1
        \fi
        \leaders\hbox{\_}\hskip\count0\wd\ttrulebox
        \endgroup
      }%
  }
\NewDocumentCommand\ttsqrt{om}
  {%
    \IfValueTF{#1}
      {\sqrt[{#1}]}%
      {\sqrt}%
      {\vphantom{#2}}%
    \mathpalette\ttsqrt@{#2}%
  }
\newcommand\ttsqrt@[2]
  {%
    \setbox0\hbox{$#1#2$}%
    \rlap{\ttrule[\dimexpr\ht0+2pt]{\wd0}}%
    #2%
  }
\newcommand\ttfrac[2]
  {%
    \mathpalette\ttfrac@a{{#1}{#2}}%
  }
\newcommand\ttfrac@a[2]
  {%
    \ttfrac@b#1#2%
  }
\newcommand\ttfrac@b[3]
  {%
    \begingroup
    \setbox0\hbox{$#1#2$}%
    \setbox2\hbox{$#1#3$}%
    \dimen0=\ifdim\wd0>\wd2\wd0\else\wd2\fi
    \setbox4\hbox{\ttrule{\dimen0}}%
    \dimen0=\ifdim\dimen0>\wd4\dimen0\else\wd4\fi
    \raise.5ex\hbox
      {%
        \rlap{\raise\dimexpr\dp0+2pt\hbox to \dimen0{\hss\box0\hss}}%
        \rlap{\box4}%
        \lower\dimexpr\ht2+2pt\hbox to \dimen0{\hss\box2\hss}%
      }%
    \endgroup
  }
\NewDocumentCommand\ttint{e{^_}}
  {%
    \mathchoice
      {\ttint@\displaystyle\scriptstyle{#1}{#2}}%
      {\ttint@\textstyle\scriptstyle{#1}{#2}}%
      {\ttint@\scriptstyle\scriptscriptstyle{#1}{#2}}%
      {\ttint@\scriptscriptstyle\scriptscriptstyle{#1}{#2}}%
  }
\newcommand\ttint@symbol[1]
  {%
    \begingroup
    \setbox0\hbox{$#1\texttt{|}$}%
    \rlap{$#1\mkern3.5mu\raise0.4\ht0\hbox{$#1\texttt{\string^}$}$}%
    \rlap{$#1\mkern1.9mu\texttt{|}$}%
    \rlap{$#1\lower\dimexpr\dp0+1.5ex\relax\hbox{$#1\texttt{ˇ}$}$}%
    \mkern12mu
    \endgroup
  }
\newcommand\ttint@[4]
  {%
    \begingroup
    \mkern3mu
    \setbox0\hbox{$#1\ttint@symbol{#1}$}%
    \setbox2\hbox{\IfValueT{#3}{$#2#3$}}%
    \setbox4\hbox{\IfValueT{#4}{$#2#4$}}%
    \dimen0=\ifdim\wd0>\wd2\wd0\else\wd2\fi
    \dimen0=\ifdim\dimen0>\wd4\dimen0\else\wd4\fi
    \rlap{\raise\dimexpr\ht0+\dp2+2pt\hbox to \dimen0{\hss\box2\hss}}%
    \rlap{\lower\dimexpr.3\dp0+\ht4+2pt\hbox to \dimen0{\hss\box4\hss}}%
    \hbox to \dimen0{\hss\box0\hss}%
    \endgroup
  }
\makeatother

\begin{document}
Dies ist Text, aber Einstein hat herausgefunden, dass
\begin{equation}
  E=mc^2
\end{equation}
gilt. Außerdem gibt es Wurzeln und Brüche in der Mathematik
\begin{equation}
  \ttsqrt{4} = \ttfrac{\ttfrac{8}{2}}{2} = \ttsqrt[3]{\ttfrac{16}{2}}
\end{equation}
Eine einfache Stammfunktion lautet
\begin{equation}
  \ttint x\,dx = \ttfrac{1}{2}x^2 + c
\end{equation}
während das bestimmte Integral ausgewertet werden kann
\begin{equation}
  \ttint_0^2 4\,dx = 8
\end{equation}
\end{document}

Ergebnis:

alt text

Permanenter link

beantwortet 17 Mär '20, 09:59

Skillmon's gravatar image

Skillmon
1.2k6
Akzeptiert-Rate: 46%

Oha, also Du bastelst die Zeichen schreibmaschinenartig nach. Dann vermute ich, dass es kein Paket mit ttmath gibt, ähnlich wie \usepackage[sfmath]{kpfonts}

(17 Mär '20, 21:31) haver555

@have555 meines Wissens nach gibt es das nicht. Allerdings ist mein Wissen um die existierenden Pakete (gerade im Bereich Schriften) relativ beschränkt.

(17 Mär '20, 21:52) Skillmon

Minus die gewünschte Ergänzung, aber dafür mit viel Spaß: es gibt das typewriter-Paket.

% arara: lualatex
\documentclass{article}
\usepackage{typewriter}
\usepackage{blindtext}
\begin{document}

\blindmathpaper

\end{document}

alt text

alt text

alt text

Permanenter link

beantwortet 19 Mär '20, 18:42

cgnieder's gravatar image

cgnieder
22.1k253463
Akzeptiert-Rate: 60%

Ja, das typewriter-Paket simmuliert ein optisch schreibmaschinenhaftes Dokument. Echt schade: Es hat sicher Mühe gekostet, das umzusetzen. Schöner wäre es gewesen, wenn diese "Verzerrungen", oder wie man das nennen soll, eine Option gewesen wären und man ansonsten auch ein echtes ttmath-Dokument erstellen könnte.

(20 Mär '20, 00:58) haver555

@haver555 das ganze Paket ist nur eine Spielerei und nicht für produktiven Einsatz gedacht, ungefähr so wie das coffee-Paket

(21 Mär '20, 12:23) cgnieder
Deine Antwort
Vorschau umschalten

Folgen dieser Frage

Per E-Mail:

Wenn sie sich anmelden, kommen Sie für alle Updates hier in Frage

Per RSS:

Antworten

Antworten und Kommentare

Markdown-Grundlagen

  • *kursiv* oder _kursiv_
  • **Fett** oder __Fett__
  • Link:[Text](http://url.com/ "Titel")
  • Bild?![alt Text](/path/img.jpg "Titel")
  • nummerierte Liste: 1. Foo 2. Bar
  • zum Hinzufügen ein Zeilenumbruchs fügen Sie einfach zwei Leerzeichen an die Stelle an der die neue Linie sein soll.
  • grundlegende HTML-Tags werden ebenfalls unterstützt

Frage-Themen:

×78
×49

gestellte Frage: 16 Mär '20, 17:41

Frage wurde gesehen: 5,207 Mal

zuletzt geändert: 21 Mär '20, 12:23