Seite 1 von 1

metre-Package: tie-Befehle

Verfasst: Sa 5. Apr 2014, 18:52
von voyage200
Hallo liebe LaTeX-Teil-Gemeinde,

ich habe ein Problem mit dem metre-Package, v. 1.0. Alle tie-Befehle (tie, tie*, itie, itie*) funktionieren -- teilweise. Denn es wird zwar der Bogen zwischen zwei Vokalen gesetzt (auch das optionale Argument zur Angabe der Bogen-Größe geht), aber vor den ersten Vokal wird ein Counter, denke ich, ausgegeben.

Beispiel:
\documentclass{scrartcl}

\usepackage{metre}
\newcommand{\metrics}[1]{\begin{metrica}#1\end{metrica}}

%%%Dokumentenbeginn

\begin{document}

\metrics{n\=om\-in\-a, d\=ic \=ips\=os; n\-equ\itie[0.5]{e \-e}n\=im g\-en\-er\=os\-i\-or \=umqu\-am}

\end{document}
Hat jemand eine Lösung für das Problem? Das muss ja anscheinend an der metre.sty-Datei liegen, die wohl einen Fehler enthält, oder? :?

Verfasst: So 6. Apr 2014, 09:14
von Noch so einer
Die Ursache des Problems. metre verwendet ein \relsize{-10}. Allerdings funktionieren offenbar bei \relsize nach dem Laden von metre nur noch Argumente bis -3:
\documentclass{article}
\usepackage{metre}

\begin{document}
\begingroup\relsize{-1}-1\endgroup

\begingroup\relsize{-2}-2\endgroup

\begingroup\relsize{-3}-3\endgroup

\begingroup\relsize{-4}-4\endgroup

\begingroup\relsize{-5}-5\endgroup

\begingroup\relsize{-6}-6\endgroup
\end{document}
Das Problem scheint aber an metre zu liegen, denn nur mit dem Paket relsize funktionieren auch kleinere Werte:
\documentclass{article}
\usepackage{relsize}

\begin{document}
\begingroup\relsize{-1}-1\endgroup

\begingroup\relsize{-2}-2\endgroup

\begingroup\relsize{-3}-3\endgroup

\begingroup\relsize{-4}-4\endgroup

\begingroup\relsize{-5}-5\endgroup

\begingroup\relsize{-6}-6\endgroup

\begingroup\relsize{-10}-10\endgroup
\end{document}
Demnach scheint metre relsize ins Handwerk zu pfuschen. Du solltest einen Bugreport an den Autor von metre schicken.

Die Ursache ist, dass metre in einem Anfall von üblem Hack \rs@rsize@warning, eine interne Anweisung von relsize, inkompatibel umdefiniert. Wenn man diese Umdefinierung beseitigt, funktioniert es:
\documentclass{article}
\usepackage{relsize}
\makeatletter
\let\saved@rs@size@warning\rs@size@warning
\makeatother
\usepackage{metre}
\makeatletter
\let\rs@size@warning\saved@rs@size@warning
\makeatother

\begin{document}
\begin{metrica}
n\=om\-in\-a, d\=ic \=ips\=os; n\-equ\itie[0.5]{e \-e}n\=im
g\-en\-er\=os\-i\-or \=umqu\-am
\end{metrica}
\end{document}
Wenn ein Paketautor so eine Umdefinierung von internen Anweisungen anderer Pakete vornimmt, sollte er zuvor wenigstens prüfen, ob die ursprüngliche Definition noch den Erwartungen entspricht und ggf. entweder einen Fehler oder eine Warnung ausgeben. Leider hat der metre-Autor diese Grundregel nicht beachtet.

Verfasst: So 6. Apr 2014, 10:05
von voyage200
Hi Noch so einer,

Vielen Dank für die schnelle Antwort! Ich werden deinen Rat befolgen und dem Autor mal eine Nachricht schreiben. Zur Not Hilft ja aber auch dein Beispiel. Danke auch dafür. :wink:

Gruß,
voyage200

Verfasst: So 6. Apr 2014, 10:21
von Noch so einer
BTW: Ohne Dein sehr passendes vollständiges Minimalbeispiel hätte ich keinerlei Ansatz gehabt, um den Fehler aufzuspüren. Du hast selbst also einen großen Anteil an der Lokalisierung des Problems.