Hallo,
ich bin ein Newbie, wie man so schön sagt. Ich habe lange gekämpft und gelesen, aber jetzt ist leider schluß.
Mein Problem:
Ich erstelle via XSLT ein TEX-Dokument. Das TEX-Dokument stellt eine API dar, in der zwischen den Element hin und her gesprungen werden soll.
Bsp in TEX:
\label{A} Knoten A: hat Vater \hyperref[B]{B} und Kinder \hyperref[C]{C} und \hyperref[D]{D}
\label{C} Knoten C: hat Vater \hyperref[A]{A} und Kinder \hyperref[E]{E} und \hyperref[F]{F}
usw.
Die Verlinkung lässt sich einwandfrei "compilieren", doch klappt's dann dennoch nicht. Jeder Link springt an den Kapitelanfang und nicht zur Labelpos im Text.
Hier mein Minimalbeispiel:
Mein Wunsch:Code:\documentclass[12pt,a4paper]{scrreprt} %Für Diplomarbeiten geeignet \usepackage{ngerman} \usepackage[ngerman]{babel} % mehrsprachiger Textsatz, hier neue deutsche Rechtschreibung \usepackage[latin1]{inputenc} % verwendeter Zeichensatz für Eingabe \usepackage[babel,german=quotes]{csquotes} % Deutsche Anführungszeichen \usepackage{color} % Ermöglicht farbigen Text \usepackage{xspace} % Ermöglicht korrekten Leerraum nach Befehlen \usepackage{amssymb} % Symbolpaket \usepackage{ifthen} % Paket für if-then-else Test \usepackage{hyperref} % ermöglicht das Springen innerhalb des Dokuments -> Tutorial unter % ----------------------------------------------------------------------- % ----------------------------------------------------------------------- % ----------------------------------------------------------------------- % ----------------------------------------------------------------------- \definecolor{attributeGroupBGColor}{gray}{0.95} % ------------------------------------------------------------------ % Eigene Formatvorlagen -> bitte nur diese ändern (vgl. CSS bei HTML) % oberer Abstand zwischen Linie und Text \newcommand{\marginTop}{\vspace{1.5mm}} \newcommand{\newTextWidth}{ \hsize } % eingerückte ParBox \newcommand{\indentParbox}[1]{ % erwartet Namen und LabelID \vspace{0mm}% \begin{minipage}{0.1\linewidth} ~ \end{minipage}% \begin{minipage}{0.9\linewidth}% \colorbox{white}{\parbox{\newTextWidth}{\textcolor{black}{#1}}}% \end{minipage}% } % Box für die Darstellung der zu dokumentierenden Elements \newcommand{\nodeOut}[1]{ % erwartet Namen und LabelID \vspace{5mm}% \colorbox{white}{\parbox{\hsize}{\textcolor{black}{\hrule height 0.5mm \marginTop% \bfseries% #1% \hfill \tiny \hyperref[LabelofROOT]{top}}}} } % Box für die Darstellung der möglichen Elternknoten \newcommand{\parentOut}[1]{ % erwartet Namen und LabelID \vspace{0mm} \indentParbox{% \hrule height 0.1mm \marginTop% \bfseries% Parentelement(s): % \mdseries% \ifthenelse{\equal{#1}{ }}{$ \varnothing $}{#1}% }} % Box für die Darstellung der möglichen Kindknoten \newcommand{\childrenOut}[1]{ % erwartet Namen und LabelID \vspace{0mm} \indentParbox{% \hrule height 0.1mm \marginTop% \bfseries% Childelement(s): % \mdseries% \ifthenelse{\equal{#1}{ }}{$ \varnothing $}{#1}% }} % Box für die Darstellung der AttributeGruppen \newcommand{\attributeGroupOut}[1]{ % erwartet Namen und LabelID \vspace{0mm} \indentParbox{% \hrule height 0.1mm \marginTop% \bfseries% AttributeGroups: % \mdseries% \ifthenelse{\equal{#1}{ }}{$ \varnothing $}{#1}% }} % Box für die Darstellung der Attribute \newcommand{\attributeOut}[1]{ % erwartet Namen und LabelID \vspace{0mm} \indentParbox{% \hrule height 0.1mm \marginTop% \bfseries% Attribute: % \mdseries% \ifthenelse{\equal{#1}{ }}{$ \varnothing $}{#1}% }} % ------------------------------------------------------------------ % ------------------------------------------------------------------ \begin{document} \chapter{Anhangname} \label{anhang1} \section{Quellcodes} \subsubsection{CDISC ODM Documentation} % Automatisch generierte ODM-Doku \label{LabelofROOT} % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Erzeuge Beschreibung fuer den Knoten 'ODM' \normalsize \nodeOut{ \label{ODM} ODM} \footnotesize\parentOut{ \hyperref[ODM]{ODM}} \childrenOut{ \hyperref[AdminData]{AdminData} } % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Erzeuge Beschreibung fuer den Knoten 'AdminData' \normalsize \nodeOut{ \label{AdminData} AdminData} \footnotesize\parentOut{ \hyperref[ODM]{ODM}} \childrenOut{ \hyperref[Location]{Location}\textsuperscript{*} \hyperref[SignatureDef]{SignatureDef}\textsuperscript{*} \hyperref[User]{User}\textsuperscript{*} } % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Erzeuge Beschreibung fuer den Knoten 'Location' \normalsize \nodeOut{ \label{Location} Location} \footnotesize\parentOut{ \hyperref[AdminData]{AdminData}} \childrenOut{ \hyperref[MetaDataVersionRef]{MetaDataVersionRef} } % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Erzeuge Beschreibung fuer den Knoten 'MetaDataVersionRef' \normalsize \nodeOut{ \label{MetaDataVersionRef} MetaDataVersionRef} \footnotesize\parentOut{ \hyperref[Location]{Location}} \childrenOut{ } % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Erzeuge Beschreibung fuer den Knoten 'SignatureDef' \normalsize \nodeOut{ \label{SignatureDef} SignatureDef} \footnotesize\parentOut{ \hyperref[AdminData]{AdminData}} \childrenOut{ \hyperref[LegalReason]{LegalReason} \hyperref[Meaning]{Meaning} } % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Erzeuge Beschreibung fuer den Knoten 'LegalReason' \normalsize \nodeOut{ \label{LegalReason} LegalReason} \footnotesize\parentOut{ \hyperref[SignatureDef]{SignatureDef}} \childrenOut{ } % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Erzeuge Beschreibung fuer den Knoten 'Meaning' \normalsize \nodeOut{ \label{Meaning} Meaning} \footnotesize\parentOut{ \hyperref[SignatureDef]{SignatureDef}} \childrenOut{ } % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Erzeuge Beschreibung fuer den Knoten 'User' \normalsize \nodeOut{ \label{User} User} \footnotesize\parentOut{ \hyperref[AdminData]{AdminData}} \childrenOut{ \hyperref[Address]{Address}\textsuperscript{*} \hyperref[Certificate]{Certificate}\textsuperscript{*} \hyperref[DisplayName]{DisplayName} \hyperref[Email]{Email}\textsuperscript{*} \hyperref[Fax]{Fax}\textsuperscript{*} } % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Erzeuge Beschreibung fuer den Knoten 'Address' \normalsize \nodeOut{ \label{Address} Address} \footnotesize\parentOut{ \hyperref[User]{User}} \childrenOut{ \hyperref[City]{City} \hyperref[Country]{Country} \hyperref[OtherText]{OtherText} \hyperref[PostalCode]{PostalCode} \hyperref[StateProv]{StateProv} \hyperref[StreetName]{StreetName}\textsuperscript{*} } % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Erzeuge Beschreibung fuer den Knoten 'City' \normalsize \nodeOut{ \label{City} City} \footnotesize\parentOut{ \hyperref[Address]{Address}} \childrenOut{ } % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Erzeuge Beschreibung fuer den Knoten 'Country' \normalsize \nodeOut{ \label{Country} Country} \footnotesize\parentOut{ \hyperref[Address]{Address}} \childrenOut{ } % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Erzeuge Beschreibung fuer den Knoten 'OtherText' \normalsize \nodeOut{ \label{OtherText} OtherText} \footnotesize\parentOut{ \hyperref[Address]{Address}} \childrenOut{ } % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Erzeuge Beschreibung fuer den Knoten 'PostalCode' \normalsize \nodeOut{ \label{PostalCode} PostalCode} \footnotesize\parentOut{ \hyperref[Address]{Address}} \childrenOut{ } % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Erzeuge Beschreibung fuer den Knoten 'StateProv' \normalsize \nodeOut{ \label{StateProv} StateProv} \footnotesize\parentOut{ \hyperref[Address]{Address}} \childrenOut{ } % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Erzeuge Beschreibung fuer den Knoten 'StreetName' \normalsize \nodeOut{ \label{StreetName} StreetName} \footnotesize\parentOut{ \hyperref[Address]{Address}} \childrenOut{ } % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Erzeuge Beschreibung fuer den Knoten 'Certificate' \normalsize \nodeOut{ \label{Certificate} Certificate} \footnotesize\parentOut{ \hyperref[User]{User}} \childrenOut{ } % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Erzeuge Beschreibung fuer den Knoten 'DisplayName' \normalsize \nodeOut{ \label{DisplayName} DisplayName} \footnotesize\parentOut{ \hyperref[User]{User}} \childrenOut{ } % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Erzeuge Beschreibung fuer den Knoten 'Email' \normalsize \nodeOut{ \label{Email} Email} \footnotesize\parentOut{ \hyperref[User]{User}} \childrenOut{ } % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Erzeuge Beschreibung fuer den Knoten 'Fax' \normalsize \nodeOut{ \label{Fax} Fax} \footnotesize\parentOut{ \hyperref[User]{User}} \childrenOut{ } \end{document}
Ich bin auf der Suche nach einer Möglichkeit eine API mit (vielen) Querverweisen in LaTeX zu schreiben/generieren.
Bin für jede Hilfe dankbar.
VG Daniel
Lesezeichen