
Ich brauche einige neue Symbole und habe keine Ahnung, wie ich sie erstellen soll. Ich habe versucht herauszufinden, ob diese Symbole bereits in einem LaTeX-Paket enthalten waren, aber das waren sie nicht. Also frage ich schließlich hier.
Jede Antwort wäre für mich eine große Hilfe, da ich ein Neuling in der Verwendung von TeX bin.
Die gewünschten Befehle werden im Mathematikmodus verwendet. Ich möchte drei Befehle, aber zwei davon sind nur Varianten der anderen, die aufgerufen werden \lrod{ }
. Der Name stammt von dem Wünschelrutenwerkzeug „L-Stab“, das mit der linken Hand gehalten wird.
\lrod{ }
. Der Balken, dessen linke Spitze senkrecht nach unten gebogen ist. Siehe Bild unten.\rrod{ }
. Die rechtsseitige Version von\lrod{ }
.\stapler{ }
. Die beidseitige Version von\lrod{ }
.
\lrod{ }
nimmt als Argument einen Buchstaben oder eine Buchstabenfolge. Dann gibt es uns die (Zeichenfolge von) Buchstaben, die von der „linken L-Stange“ der entsprechenden horizontalen Länge darüber abgedeckt werden. Das heißt, wenn ich tippe
$\lrod{a}$, $\lrod{abc}$ and $\lrod{a \vphantom b}
,
dann sollte ich folgendes bekommen:
Wie Sie sehen, sollte die obere Höhe für jeden Buchstaben unterschiedlich sein. Aber wenn ich verwende \vphantom
, sollte ich das beheben können.
Außerdem wünschte ich, ich könnte die Länge jedes Segments Ihres selbst kürzen \lrod
: das lange vertikale Segment und das kurze horizontale. Geben Sie mir also bitte keine Antwort mit dem PDF-Bild, sondern nur mit den Codes.
Die Befehle \rrod{ }
und \stapler{ }
können auf ähnliche Weise beschrieben werden. Hier ist ein Beispielbild.
Wie Sie sehen, sollten die obere Höhe und Breite der drei Symbole für denselben Buchstaben gleich sein.
Und schließlich muss die Breite der Symbole etwas schmaler sein als die Buchstaben darunter, damit zwischen ihnen Lücken bleiben, wenn ich beispielsweise Folgendes eingebe.
$\lrod{b}\rrod{b}\stapler{b}$
Vielen Dank.
Antwort1
Ihr ist im Grunde das von definierte \stapler
Makro . Das Paket erlaubt auch, die Breite der Regeln anzupassen. Die Standardbreite ist etwas groß, also mache ich sie kleiner. Ich definiere und analog zur Definition von\overbracket
mathtools
lrod
\rrod
\overbracket
\documentclass{article}
\usepackage{mathtools}
\newcommand*{\stapler}[1]{{\overbracket[.4pt][.4\fontdimen5\textfont2]{#1}}}
\makeatletter
\newcommand*{\lrod}[1]{%
\vbox{\m@th\ialign{##\crcr
\downbracketend{.4pt}{.4\fontdimen5\textfont2}%
\leaders \vrule \@height .4pt \@depth \z@ \hfil
\crcr
\noalign{\kern .2\fontdimen5\textfont2 \nointerlineskip}%
$\displaystyle{#1}$%
\crcr}}%
}
\newcommand*{\rrod}[1]{%
\vbox{\m@th\ialign{##\crcr
\leaders \vrule \@height .4pt \@depth \z@ \hfil
\downbracketend{.4pt}{.4\fontdimen5\textfont2}%
\crcr
\noalign{\kern .2\fontdimen5\textfont2 \nointerlineskip}%
$\displaystyle{#1}$%
\crcr}}%
}
\makeatother
\begin{document}
$\lrod{a}$
$\lrod{\vphantom{b}a}$
$\lrod{b}$
$\lrod{ab}$
$\lrod{abc}$
\medskip
$\rrod{a}$
$\rrod{\vphantom{b}a}$
$\rrod{b}$
$\rrod{ab}$
$\rrod{abc}$
\medskip
$\stapler{a}$
$\stapler{\vphantom{b}a}$
$\stapler{b}$
$\stapler{ab}$
$\stapler{abc}$
\end{document}
Den vorangestellten Parameter habe ich \fontdimen5\textfont2
aus dem mathtools
Code übernommen. Du kannst ihn gerne deinen Wünschen entsprechend anpassen.
Antwort2
Im Folgenden wird Ihr Symbol bereitgestellt, indem die Regeln mithilfe von LaTeX gezeichnet werden, \rule
nachdem die Größe des Arguments mithilfe von \sbox
(innerhalb von, \mathpalette
um tiefgestellte und hochgestellte Zeichen zuzulassen) gemessen wurde.
\documentclass[]{article}
\makeatletter
\newcommand*\stapler@ht{.2ex} % height of the ticks on both ends
\newcommand*\stapler@wd{.1ex} % thickness of the rules
\newcommand*\stapler@dv{.2ex} % padding vertically between argument and symbol
\newcommand*\stapler@di{.2ex} % padding applied on either end of the argument
\newcommand*\stapler@do{.2ex} % padding applied on either end around the symbol
\newsavebox\stapler@box
\newif\ifstapler@left
\newif\ifstapler@right
\newcommand*\@stapler[2]
{%
\kern\stapler@do\relax
\sbox\stapler@box{$#1\kern\stapler@di\relax#2\kern\stapler@di\relax$}%
\ifstapler@left
\rule
[\dimexpr\ht\stapler@box+\stapler@dv]
{\stapler@wd}
{\dimexpr\stapler@ht+\stapler@wd/2}%
\kern-\stapler@wd
\fi
\rlap
{%
\rule
[\dimexpr\ht\stapler@box+\stapler@dv+\stapler@ht-\stapler@wd/2]
{\wd\stapler@box}
{\stapler@wd}%
}%
\usebox\stapler@box
\ifstapler@right
\kern-\stapler@wd
\rule
[\dimexpr\ht\stapler@box+\stapler@dv]
{\stapler@wd}
{\dimexpr\stapler@ht+\stapler@wd/2}%
\fi
\kern\stapler@do\relax
}
\newcommand*\stapler{\stapler@lefttrue\stapler@righttrue\mathpalette\@stapler}
\newcommand*\lrod{\stapler@lefttrue\stapler@rightfalse\mathpalette\@stapler}
\newcommand*\rrod{\stapler@leftfalse\stapler@righttrue\mathpalette\@stapler}
\makeatother
\begin{document}
$\lrod{a}\rrod{b}$
$\lrod{abc}\lrod{\vphantom{abc}a}$
$\lrod{b}\stapler{b}\rrod{b}$
$E^{\lrod{b}\stapler{b}\rrod{b}^{\lrod{a}\stapler{a}\rrod{a}}}$
\end{document}
Sie können das Aussehen anpassen, indem Sie die Definitionen der Parameter ändern.