Archiv verlassen und diese Seite im Standarddesign anzeigen : Problem mit Symbolen in Überschriften und Hyperref
Hallo Zusammen!
Ich stehe vor einem kleinen Problem das sich durch die Kombination von Hyperref, Glossaries und einem Symboleintrag in Überschriften ergibt und hoffe ihr könnt mir helfen.
Folgendes Beispiel:
\documentclass[a4paper,12pt]{scrartcl}
\usepackage [latin1]{inputenc}
\usepackage[ngerman]{babel}
\usepackage[T1]{fontenc}
\usepackage{amsmath}
\usepackage{lipsum}
\usepackage[nonumberlist,acronym,toc,section, hyperfirst]{glossaries}%
\newglossary[slg]{symbolslist}{syi}{syg}{Symbolverzeichnis}
\makeglossaries
\newglossaryentry{symb:Zugfestigkeit}{
name={\ensuremath{R_m}},
description={Zugfestigkeit},
sort=Rm, type=symbolslist
}
\usepackage{hyperref}
\begin{document}
\tableofcontents
\printglossary[type=symbolslist,style=long]
\section{Ein Test}
\lipsum[1-2]
\section{Eine Festigkeit ({\boldmath\gls{symb:Zugfestigkeit}})}
Ein Möglichkeit die Festigkeit (\gls{symb:Zugfestigkeit}) zu ermitteln.
\end{document}
Ich möchte einen Symboleintrag in Überschriften verwenden, dieser soll natürlich auch fett gedruckt erscheinen. Dies funktioniert soweit ganz gut, nur der Lesezeicheneintrag in der PDF-Datei stimmt nicht. Kann man diesen irgenwie korrigieren. Dort wird nämlich nicht das Symbol angezeigt sondern in diesem Fall "symb:Zugfestigkeit".
Als Warnung bei der PDF-Erstellung erscheint die Meldung "Token not allowed in a PDF string".
Ich habe im Internet schon gesucht, aber noch keine passende Lösung gefunden.
Habt ihr eine Idee wie man das einfach lösen kann?
Vielen Dank.
Gruß,
Thomsen
Donalduck
05-05-2015, 18:37
Du kannst `texorpdfstring` verwenden:
\documentclass[a4paper,12pt]{scrartcl}
\usepackage [latin1]{inputenc}
\usepackage[ngerman]{babel}
\usepackage[T1]{fontenc}
\usepackage{amsmath}
\usepackage{lipsum}
\usepackage[nonumberlist,acronym,toc,section, hyperfirst]{glossaries}%
\newglossary[slg]{symbolslist}{syi}{syg}{Symbolverzeichnis}
\makeglossaries
\newglossaryentry{symb:Zugfestigkeit}{
name={\ensuremath{R_m}},
description={Zugfestigkeit},
sort=Rm, type=symbolslist
}
\usepackage{hyperref}
\begin{document}
\tableofcontents
\printglossary[type=symbolslist,style=long]
\section{Ein Test}
\lipsum[1-2]
\section{Eine Festigkeit (\texorpdfstring{{\boldmath\gls{symb:Zugfestigkeit }}}{Rm})}
Ein Möglichkeit die Festigkeit (\gls{symb:Zugfestigkeit}) zu ermitteln.
\end{document}
Vielen Dank für deine schnelle Antwort.
Das funktioniert soweit ganz gut. Gibt es aber auch die Möglichkeit, dass im Lesezeichen der PDF-Datei das Symbol mit tiefgestellten Zeichen dargestellt wird? In dem Fall also das "m" tiefgestellt, oder ist das ohnehin nicht möglich?
Danke.
Man kann Unicode-Zeichen in Bookmarks verwenden (aber keinen LaTeX-Code). Mit LuaLaTeX oder XeLaTeX funktioniert daher:
\documentclass[a4paper,12pt]{scrartcl}
\usepackage[ngerman]{babel}
\usepackage{fontspec}
\usepackage{amsmath}
\usepackage{lipsum}
\usepackage[nonumberlist,acronym,toc,section, hyperfirst]{glossaries}%
\newglossary[slg]{symbolslist}{syi}{syg}{Symbolverzeichnis}
\makeglossaries
\newglossaryentry{symb:Zugfestigkeit}{
name={\ensuremath{R_m}},
description={Zugfestigkeit},
sort=Rm, type=symbolslist
}
\usepackage[pdfencoding=auto]{hyperref}
\begin{document}
\tableofcontents
\printglossary[type=symbolslist,style=long]
\section{Ein Test}
\lipsum[1-2]
\section{Eine Festigkeit (\texorpdfstring{{\boldmath\gls{symb:Zugfestigkeit }}}{Rₘ })}
Ein Möglichkeit die Festigkeit (\gls{symb:Zugfestigkeit}) zu ermitteln.
\end{document}
Danke für deinen Hinweis. Leider arbeite ich gerade an einem sehr umfangreichen Projekt, welches in "latin1" codiert ist. Daher müsste ich mein komplettes Projekt abändern, dieser Aufwand ist mir im Moment zu groß.
Gibt es noch eine andere (einfache) Möglichkeit?
u_fischer
06-05-2015, 15:41
Du kannst es hiermit versuchen. Aber ich sehe im Adobe Reader (genauso wie bei dem unicode-Beispiel von Klops) nur ein Kästchen statt des m. D.h. man kann sich nicht darauf verlassen, dass die Schrift des Adobe das Zeichen auch hat.
\documentclass[a4paper,12pt]{scrartcl}
\usepackage [utf8]{inputenc}
\usepackage[ngerman]{babel}
\usepackage[T1]{fontenc}
\usepackage{amsmath}
\usepackage{lipsum}
\usepackage[pdfencoding=auto,psdextra]{hyperref}[2012/08/13]
\begin{document}
\tableofcontents
\section{Eine Festigkeit (\texorpdfstring{R\textsubscript{m}}{R\minferior })}
\end{document}
Danke Ulrike. Leider funktioniert das auch nicht wie gewünscht.
Dann bleibt mir vermutlich nur die Möglichkeit die Codierung zu änderen oder den kleinen Nachteil zu akzeptieren, dass das Zeichen eben nicht tiefgestellt ist. Mal sehen wozu ich mich entscheide.
Vielen Dank für eure Mühe.
Gruß,
Thomsen
nixversteh
12-05-2015, 10:36
Hallo Thomsen,
auf meinem System erscheint mit deinem Code diese PDF, der Link klappt ebenfalls
Gruß
Martin
auf meinem System erscheint mit deinem Code diese PDF, der Link klappt ebenfalls
Das ist ja interessant! Kannst du mal Details zu deinem System posten? Vielleicht lässt sich die Ursache so eingrenzen.
Gruß Max
u_fischer
12-05-2015, 10:59
Ich glaube nicht, dass es hilft die Eingabekodierung zu ändern. *Wenn* man ein tiefgestelltes m in die Bookmarks bekommen kann, dann muss es einen Weg mit jeder Eingabekodierung geben. \textxinferior und \textiinferior z.B. funktioniert bei mir ohne Probleme, nur das m sperrt sich. Und ein Wechsel zu utf8 und luatex ändert daran nichts.
nixversteh
12-05-2015, 11:01
Das ist ja interessant! Kannst du mal Details zu deinem System posten? Vielleicht lässt sich die Ursache so eingrenzen.
Gruß Max
Hallo Max,
ich verwende Linux Mint 17.1 (Rebecca) 64bit, Desktop Mate, Texlive 2015 Pretest und als Editor Texstudio 2.9.4, bzw eine makefile
Es erscheint zwar eine Warnung,
Package hyperref Warning: Token not allowed in a PDF string (PDFDocEncoding):
(hyperref) removing `\gls' on input line 28. diese ändert aber nichts am Aussehen der PDF.
Gruß
Martin
u_fischer
12-05-2015, 11:09
Das ist ja interessant! Kannst du mal Details zu deinem System posten? Vielleicht lässt sich die Ursache so eingrenzen.
Die Ursache ist doch klar: Martin hat das (fehlerhafte) Beispiel von Thomsen kompiliert, wo \texorpdfstring fehlt.
nixversteh
12-05-2015, 11:35
Die Ursache ist doch klar: Martin hat das (fehlerhafte) Beispiel von Thomsen kompiliert, wo \texorpdfstring fehlt.
Hallo Ulrike,
du hast recht, habe leider die Lesezeichen nicht beachtet.
Gruß
Martin
Oh, übersehen. Wenn es das einzige Problem ist und es sich um eine einmalige "Sache" handelt, könntest du alternativ im finalen Dokument das Lesezeichen mittels eines anderen Programms ändern. Das ist natürlich keine schöne Lösung...
Gruß Max
nixversteh
12-05-2015, 14:54
Hallo folks,
ich kann mich erinnern, dass Herbert Voß etwa vor fünf, sechs Jahren hier geschrieben hat, dass es NICHT machbar sei, soetwas zu stemmen.
Gruß
Martin
PS.: Bin im Garten und habe keine Zeit den thread zu suchen
Ich habe den Thread gesucht und gefunden: Mathematische Symbole in Überschrift verwenden ? (http://www.mrunix.de/forums/showthread.php?61073-Mathematische-Symbole-in-Überschrift-verwenden&highlight=lesezeichen)
Der Thread ist sehr kurz, der Vollständigkeit halber aber hier nochmal die Erkentnisse:
Warnung wurde auch hier mittels \texorpdfstring behoben
Das Symbol im Lesezeichen zu platzieren ist nicht möglich (wobei ich mich noch Frage ob es mit LaTeX nicht möglich ist oder überhaupt nicht)
[...] Es ist also nicht möglich, dass Lesezeichen Symbole enthalten ? [...]
nein
Herbert
Thread ist übrigens von 2008. Allerdings nioch vor meiner LaTeX-Zeit :D
Gruß Max
Wie ich bereits geschrieben habe: Unicode-Zeichen sind möglich. Wie Ulrike richtig bemerkt hat, nützt das aber nur etwas, wenn der vom PDF-Viewer für die Lesezeichen verwendete Zeichensatz diese auch bietet. TeX-Symbolfonts sind hingegen nicht möglich. Deshalb hatte ich auch zu LuaLaTeX oder XeLaTeX geraten. Dann kann man beispielsweise auch unicode-math (http://www.ctan.org/pkg/unicode-math) verwenden, das ebenfalls auf Unicode-Mathezeichen setzt.
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.