Hallo!

Idee ist es einen Strich zu erzeugen, der exakt die Breite eines vorgegebenen Zeichens hat und auf halber Höhe des Zeichens liegt. Das klappt soweit ganz gut; bloß bleibt ein Problem - ich kann das Kommando dafür nicht mehrfach anwenden - Fehlermeldung \Hoehe already defined.

Ich habe versucht, den Kommandoinhalt zu gruppieren, leider ohne Erfolg. Das kann man doch jetzt sicher leicht beheben :() ?

Ich hoffe, es sind keine fundamentalen Änderungen des Codes nötig :() Danke!

alt text

Open in writeLaTeX
Code, hier editierbar zum Übersetzen:
\documentclass[11pt, a4paper, ngerman]{article}
\usepackage[T1]{fontenc}
\usepackage[latin1]{inputenc}
\usepackage[ngerman]{babel}
\parindent0pt
\usepackage{amsmath}
\usepackage{calc}
\usepackage{tikz}
\newcommand{\xStrich}[1]{\bgroup
% Zeichenmaße messen mit calc-Paket
%Höhe
\newlength{\Hoehe}
%\settototalheight{\Hoehe}{#1}
\settoheight{\Hoehe}{#1}
%Breite
\newlength{\Breite}
\settowidth{\Breite}{#1}
%
\mathord{
\begin{tikzpicture}[baseline=0ex, line width=0.5pt, scale=1]
\draw[shorten <=0.0ex, shorten >=0.0ex] (-\Breite/2,\Hoehe/2) -- (\Breite/2,\Hoehe/2);
\end{tikzpicture}
}
\egroup}
\begin{document}
$\xStrich{a}$ $a$% GEHT
%$(\xStrich{a}, \xStrich{b})$ $(a,b)$ % GEHT NICHT!!!!!
\end{document}
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

gefragt 05 Jun '14, 18:45

cis's gravatar image

cis
9.6k104461491
Akzeptiert-Rate: 29%

bearbeitet 05 Jun '14, 20:19

cgnieder's gravatar image

cgnieder
22.1k253463

Ah, ich bin so doof - es darf einfach \newlength{\Hoehe} \newlength{\Breite} NICHT mit ins Kommand :()

(05 Jun '14, 18:54) cis

Bei jedem Aufruf von \xStrich werden durch Deinen Code \Hoehe und \Breite neu definiert, weshalb spätestens beim zweiten Aufruf eine Fehlermeldung kommt. Lösung: setze

Open in writeLaTeX
Code, hier editierbar zum Übersetzen:
\newlength{\Hoehe}
\newlength{\Breite}
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

außerhalb der Definition von \xStrich:

Open in writeLaTeX
Code, hier editierbar zum Übersetzen:
\newlength{\Hoehe}
\newlength{\Breite}
\newcommand{\xStrich}...
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Ich würde außerdem statt \bgroup und \egroup lieber \begingroup und \endgroup verwenden (auch wenn es für Deine Anwendung wahrscheinlich egal ist. Ich würde auch noch ein paar Zeilenenden mit % verstecken, obwohl auch das egal ist, wenn Du den Befehl nur im Mathemodus einsetzt, wo Leerzeichen ja nicht gesetzt werden.

Permanenter link

beantwortet 05 Jun '14, 20:18

cgnieder's gravatar image

cgnieder
22.1k253463
Akzeptiert-Rate: 60%

Ist mir kurz nach dem Post auch klar geworden, daß die Definitionen nicht ins Kommando gehören (siehe mein Kommentar). Da sich aber möglicherweise schon Leute Gedanken zur Frage gemacht hatten, wollte ich sie auch nicht einfach wieder löschen ;)

(05 Jun '14, 21:01) cis
Deine Antwort
[Vorschau ausblenden]

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

Frage-Themen:

×52
×20

gestellte Frage: 05 Jun '14, 18:45

Frage wurde gesehen: 9,213 Mal

zuletzt geändert: 05 Jun '14, 21:01