PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : poetica fonts in sections; Probleme mit includegraphcis und poetica



Thriceguy
26-07-2010, 13:31
Hallo liebe Forumsgemeinde,

nach viel Schmerz und Trauer habe ich es nun endlich geschafft poetica-fonts mit meinem System zum Laufen zu bringen; soweit so gut, wenn ich lediglich Gedichte oder ähnliches mit poetica setze, funktioniert auch alles Bestens.

Nun wollte ich das Layout meiner baldigst anstehenden BA auffrischen, indem ich poetica-alternate capitals für sections benutze. Beim Einbinden des poetica-packages und gleichzeitiger Verwendung eines \includegraphics-Befehles, kommt es aber zu 101fachen Fehlermeldung:

! Undefined control sequence.
_->\bgroup \let \compare
=+\let \bump =\bumpup \INC 1 \poetic =\poetfloor \a...
l.8 \includegraphics{gfx/logo_hs_bremen2.pdf}

Der nicht gefundene Befehl ist in der poetica.sty definiert, allerdings innerhalb der Umgebungsdefinition von Poetica, welche ich im Zusammenhang mit der Einbindung der Grafik logischerweise nicht aufrufe.



\newenvironment{Poetica}{%
\begingroup\fontencoding{OT1}\fontfamily{poet}\fon tsize{18}{22}
\fontseries{m}\Fontshape{n3}\poetic=3 \setshape}{\endgroup}
\let\dhyph=\- \let\mytabs=\+ % save discretionary hyphen, tab command
\let\oldhat=^ \let\oldsub=_ \let\oldvert=|
\catcode`\^\active \catcode`\_\active
\catcode`\|\active \def\|{\oldvert} \let|=\noboundary
\newcount\INC \INC 1 % an increment register
\def^{\bgroup \let\compare=-\let\bump=\bumpdown \INC-1 \poetic=\poetceiling
\afterassignment\getnextchar \global\let\nexttok= }
\def_{\bgroup \let\compare=+\let\bump=\bumpup \INC 1 \poetic=\poetfloor
\afterassignment\getnextchar \global\let\nexttok= }
\def\-{\bgroup \let\compare=-\let\bump=\bumpdown \INC-1 \bump
\afterassignment\getnextchar \global\let\nexttok= }
\def\+{\bgroup \let\compare=+\let\bump=\bumpup \INC 1 \bump
\afterassignment\getnextchar \global\let\nexttok= }

Selbiger Fehler erscheint, wenn ich mithilfe des titlesec-packages die \section-befehle zu ändern versuche, auch wenn ich nur mit den ebenfalls vom poetica-definierten \Fontshape-Befehlen arbeite, und nicht mit der Poetica-Umgebung selber.

Hat irgendjemand eine Ahnung, was das Problem ist? Ohne \includegraphics läuft es einwandfrei durch und mir düngt, meine TeX-Kenntnisse stoßen hier gerade an ihre Grenzen.

Hier ein Minimalbeispiel:



\documentclass{scrartcl}
\usepackage{graphicx}
\usepackage{poetica}
\begin{document}
\includegraphics{somegraphic.endung}
\end{document}

Ich danke für Eure Hilfe! Sollte ich irgendwelche wichtigen Informationen vergessen haben, bitte ich um Verzeihung.

Thriceguy

u_fischer
26-07-2010, 14:32
Deine Fehlermeldung spricht von gfx/logo_hs_bremen2.pdf, in deinem "Minimalbeispiel" verwendest du "somegraphic.endung". Ich habe gewisse Zweifel, dass du ein derartiges Bild benutzt und dein "Minimalbeipiel" tatsächlich getestet hast.

Wenn du eine echtes Minimalbeispiel hergestellt hättest, wäre dir vielleicht aufgefallen, dass der Name des Bildes eines Rolle spielt: poetica aktivert _ und definiert es um, und zwar nicht innerhalb der poetica-Umgebung (die hört bei {\endgroup}) auf, sondern global. Du kannst in diesem Fall statt des _ \string_ benutzen, aber ich würde mir die Verwendung von Poetica schwer überlegen, die Umdefinitionen können dir an vielen anderen Stellen Ärger machen:


\documentclass{scrartcl}
\usepackage{poetica}
\begin{document}
$a_2$
\end{document}

Thriceguy
26-07-2010, 18:07
Danke für die Antwort.

Stimmt, ich habe kein "echtes" Minimalbeispiel erstellt, weil ich nicht wusste, wie ich eine Grafik mithinzufügen kann. Entschuldige.

Wenn ich Dich richtig verstehe heißt das in der Folge, dass alle Poetica-Macros die sonst als Befehl Verwendung finden, d.h. z.B. auch "^" zu denselben Problemen führen? Ich könnte doch dann einfach die entsprechenden Befehle in der poetica.sty umdefinieren, z.B. einfach zu \Baum, da ich die entsprechenden poetica-Befehle ja entschieden weniger nutzen werde, als die vordefinierten TeX-Makros, oder habe ich irgendwas übersehen?

Vielen Dank jedenfalls.
Thriceguy

Thriceguy
27-07-2010, 09:52
Falls jemand mal auf dasselbe Problem stößt, ich habe es wie folgt gelöst.

In der poetica.sty habe ich folgende Zeilen auskommentiert



\let\oldhat=^
\let\oldsub=_
\catcode`\^\active
\catcode`\_\active


Die alten Befehlsdefinitionen



\def^{\bgroup \let\compare=-\let\bump=\bumpdown \INC-1 \poetic=\poetceiling
\afterassignment\getnextchar \global\let\nexttok= }
\def_{\bgroup \let\compare=+\let\bump=\bumpup \INC 1 \poetic=\poetfloor
\afterassignment\getnextchar \global\let\nexttok= }


Habe ich durch



\def\up{\bgroup \let\compare=-\let\bump=\bumpdown \INC-1 \poetic=\poetceiling
\afterassignment\getnextchar \global\let\nexttok= }
\def\down{\bgroup \let\compare=+\let\bump=\bumpup \INC 1 \poetic=\poetfloor
\afterassignment\getnextchar \global\let\nexttok= }


ersetzt. Die "Original"-.sty liegt dabei immer noch unverändert in meinem local tex-Verzeichnis.
Jetzt könnte man entweder die veränderte .sty jeweils immer mit in den Datei-Ordner packen, indem man die .tex-Datei hat, für die man die modifizierte Version benutzen möchte oder man bennent einfach die .sty und die entsprechenden Stellen in poetica2 um und kann dann je nach Anforderung poetica oder poetica2 laden.

Möchte man nur einen Text mit poetica setzen, ist die alte Makrodefinition schon praktischer.
Danke nochmal für die Hilfe,

Thriceguy