Breiter Akut für pdflatex

Formelsatz für Mathematik, Naturwissenschaften und Technik


user49915
Forum-Anfänger
Forum-Anfänger
Beiträge: 11
Registriert: Mi 17. Apr 2019, 15:10

Breiter Akut für pdflatex

Beitrag von user49915 »

Füttert man pdflatex mit

Code: Alles auswählen

\documentclass{article}
\pagestyle{empty}
\begin{document}
Gut: \(\acute{a}\) \ldots\ \(\acute{z}\) \(\acute{A}\) \ldots\ \(\acute{Z}\)
  \(\acute{\alpha}\) \ldots\ \(\acute{\omega}\) \(\acute{\Gamma}\) \ldots\
  \(\acute{\Omega}\) \(\acute{\aleph}\)\\
Beschissen: \(\acute{word}\)
\end{document}

so entsteht

mwe.jpg

Wie man sieht, ist der Akut über „word“ zu kurz. Ich hätte gerne ein Macro \wideacute, das bei Kompilierung mit pdflatex über seinem Parameter

  • einen normalen Akut liefert, wenn der Parameter einen einzelnen Buchstaben erzeugt, und

  • einen langen Akut malt, wenn der Parameter mehrere Buchstaben erzeugt (also einen langen Schrägstrich / über einem Wort, der mit der Länge des Arguments wächst und höchstens so lang ist wie das Wort selbst).

Ideen?

Zuletzt geändert von Stefan Kottwitz am Sa 20. Jun 2020, 17:42, insgesamt 1-mal geändert.

Ratgeber

So nicht erwünscht

Beitrag von Ratgeber »

Das ist prinzipiell ein Crosspost, auf den hier (wie dort) verlinkt werden sollte.


user49915
Forum-Anfänger
Forum-Anfänger
Beiträge: 11
Registriert: Mi 17. Apr 2019, 15:10

Re: So nicht erwünscht

Beitrag von user49915 »

Ratgeber hat geschrieben:
Sa 20. Jun 2020, 15:22

Das ist prinzipiell ein Crosspost, auf den hier (wie dort) verlinkt werden sollte.

Der Gravis und der Akut sind unterscheidliche Dinge; kein Crosspost. Zuerst sollte der Beitrag genau gelesen werden.


Benutzeravatar
Stefan Kottwitz
Admin
Admin
Beiträge: 2012
Registriert: Di 8. Jul 2008, 00:39
Kontaktdaten:

Re: Breiter Akut für pdflatex

Beitrag von Stefan Kottwitz »

Das ist durchaus ein Crosspost mit leichter Änderung, im wesentlichen gleich bis auf ein Detail. Crossposts sind ok wenn man Links setzt, daher ist der Hinweis auch gut.

Ein Link ist daher auch sinnvoll.

Stefan

PS: ich habe den Eingangspost nur editiert, um eine Codebox drum zu machen.


user49915
Forum-Anfänger
Forum-Anfänger
Beiträge: 11
Registriert: Mi 17. Apr 2019, 15:10

Re: Breiter Akut für pdflatex

Beitrag von user49915 »

Stefan Kottwitz hat geschrieben:
Sa 20. Jun 2020, 17:33

Das ist durchaus ein Crosspost mit leichter Änderung, im wesentlichen gleich bis auf ein Detail. Crossposts sind ok wenn man Links setzt, daher ist der Hinweis auch gut.

Ein Link ist daher auch sinnvoll.

Stefan

Aus der Tatsache, dass die Aufgabenstellungen ähnlich sind, folgt keineswegs, dass es Crossposts sind und schon gar nicht, dass die Lösungen ähnlich sein müssen. Daher ist die Kennzeichung von einem Post als Crosspost des anderen irreführend und sogar schädlich zu diesem Zeitpunkt. Ich zitiere https://de.wikipedia.org/wiki/Crossposting: „Als Crossposting [...] bezeichnet man das gleichzeitige Versenden EINES Beitrags [...]“. Von Änderungen/Ähnlichkeiten wird da nicht mal gesprochen.


Benutzeravatar
Stefan Kottwitz
Admin
Admin
Beiträge: 2012
Registriert: Di 8. Jul 2008, 00:39
Kontaktdaten:

Re: Breiter Akut für pdflatex

Beitrag von Stefan Kottwitz »

Wie oben gesagt, sehe ich Crossposts sowieso entspannt, solange ein Link da ist.

Falls z.B. jemand eine wide-Akzent-Lösung für einen Gravis-Akzent postet, der sich auf für einen Akut-Akzent ganz analog anwenden lässt, und man sieht das dank des Links gleich, kann man sich die Mühe im anderen Forum des Neu-Ausdenkens sparen. Oder es direkt anwenden auf den Akut.

Der Code und die Fragestellung sind bis auf das Detail nahezu exakt gleich, also betrachte ich es genauso entspannt als möglichen Crosspost mit nur einem kleinen Unterschied. Wundert mich nur (aber macht auch nix), warum Du nicht gleich nach beiden Akzenten fragst (wie auf TeX.SE und LaTeX.org, etwas weiter gefasst, wo es leider noch keine Lösung gab), sondern für einen Akzent in einem Forum und den anderen Akzent im anderen Forum, bei ansonstem gleichen Code/Problem und Wortlaut. Kann man auch gleich in beiden Foren tun und verlinken. Da sehe ich kein Problem dabei, und schon gar nicht sind Links zwischen den analogen Fragen schädlich.

Also ich drücke die Daumen, dass sich eine Akzent-Lösung in einem der beiden Foren findet, und im besten Fall lässt sie sich analog bei beiden Akzenten anwenden.

Stefan


Benutzeravatar
Stefan Kottwitz
Admin
Admin
Beiträge: 2012
Registriert: Di 8. Jul 2008, 00:39
Kontaktdaten:

Re: Breiter Akut für pdflatex

Beitrag von Stefan Kottwitz »

Von Phelype Oleinik gab es eine Lösung für einen wide Breve-Akzent auf TeX.SE. Vielleicht lässt sich diese analog anwenden, also mit \rotatebox, \resizebox etc. nur eben mit einem Akzent-Strich statt eines Bogens, dort als Klammer via \upshape( eingesetzt.

Stefan


user49915
Forum-Anfänger
Forum-Anfänger
Beiträge: 11
Registriert: Mi 17. Apr 2019, 15:10

Re: Breiter Akut für pdflatex

Beitrag von user49915 »

Wenn man breve mit acute ersetzt, kommt das raus:

Code: Alles auswählen

\documentclass{article}
\pagestyle{empty}
\usepackage{graphicx}
\makeatletter
\def\wideacute{\mathpalette\wide@acute}
\def\wide@acute#1#2{\sbox\z@{$#1#2$}%
     \mathop{\vbox{\m@th\ialign{##\crcr
\kern0.08em\acutefill#1{0.8\wd\z@}\crcr\noalign{\nointerlineskip}%
                    $\hss#1#2\hss$\crcr}}}\limits}
\def\acutefill#1#2{$\m@th\sbox\tw@{$#1($}%
  \hss\resizebox{#2}{\wd\tw@}{$\acute{\ }$}\hss$}
\makeatletter
\begin{document}
  \[
    \begin{array}{ll}
      \acute{a} & \wideacute{a}\\
      \acute{b} & \wideacute{b}\\
      \acute{d} & \wideacute{d}\\
      \acute{l} & \wideacute{l}\\
      \acute{al} & \wideacute{al}\\
      \acute{la} & \wideacute{la}\\
    \end{array}
  \]
\end{document}

Das Ergebnis vom Ablauf von pdflatex darauf sieht, milde gesagt, sehr verbesserungswürdig aus:

mwe.png
mwe.png (8.06 KiB) 1255 mal betrachtet

Der neue breite Akut sitzt einfach zu hoch und wird bei einzelnen Buchstaben unnötig verändert. Für Einzelbuchstaben gibt's einen besseren (nämlich, \acute{...}), aber ich weiß nicht, wie man nachprüft, ob das Argument ein einzelnes Symbol erzeugt.


Benutzeravatar
Stefan Kottwitz
Admin
Admin
Beiträge: 2012
Registriert: Di 8. Jul 2008, 00:39
Kontaktdaten:

Re: Breiter Akut für pdflatex

Beitrag von Stefan Kottwitz »

Das Tiefersetzen kann man mit \raisebox machen, die Unterscheidung nach Anzahl Zeichen mit xstring, etwa \StrLen{#1}[\anzahl]\ifnum\anzahl>1 ... \else ... \fi.

Stefan


user49915
Forum-Anfänger
Forum-Anfänger
Beiträge: 11
Registriert: Mi 17. Apr 2019, 15:10

Re: Breiter Akut für pdflatex

Beitrag von user49915 »

Erstens zu \raisebox: Es liefert nicht das Gewünschte, oder ich sehe nicht, wo man \raisebox hinsetzen sollte.
Füttert man pdflatex mit

Code: Alles auswählen

\documentclass{article}
\pagestyle{empty}
\usepackage{graphicx}
\makeatletter
\def\wideacute{\mathpalette\wide@acute}
\def\wide@acute#1#2{\sbox\z@{$#1#2$}%
     \mathop{\vbox{\m@th\ialign{##\crcr
\acutefill#1{\wd\z@}\crcr\noalign{\nointerlineskip}%
                    $\hss#1#2\hss$\crcr}}}\limits}
\def\acutefill#1#2{$\m@th\sbox\tw@{$#1($}%
  \hss\resizebox{#2}{\wd\tw@}{\raisebox{-1ex}{$\acute{\ }$}}\hss$}
\makeatletter
\begin{document}
  \[
    \begin{array}{ll}
      \acute{a} & \wideacute{a}\\
      \acute{b} & \wideacute{b}\\
      \acute{d} & \wideacute{d}\\
      \acute{l} & \wideacute{l}\\
      \acute{al} & \wideacute{al}\\
      \acute{la} & \wideacute{la}\\
    \end{array}
  \]
\end{document}

so kommt

mwe.png

raus.

Zweitens scheinen Akut und Gravis zwar symmetrisch, sind es aber nicht, da mathematischer Text nach rechts geneigt ist (insofern eins der zwei Akzente je nach Implementierung verschoben werden muss) und da der kleine Buchstabe l mit Akut „ĺ“ in Unicode vorhanden ist, aber der kleine Buchstabe l mit Gravis in Unicode meines Wissens fehlt.


Antworten