Überarbeitungsverlauf[Zurück]
Klicke auf Einblenden/Ausblenden von Überarbeitungen 2
Thema "expansion" hinzugefügt.

05 Nov '20, 21:34

Giovani%20Ragazze's gravatar image

Giovani Ragazze
2612

Symbolverzeichnis als CSV einlesen mit datatool und glossaries

Ein (zumindest im Original) recht umfangreiches Symbolverzeichnis soll in eine CSV-Datei ausgelagert werden, die per *datatool* eingelesen wird. Jedoch führt *\printglossary* damit nur den letzten Eintrag auf. % arara: pdflatex % arara: makeglossaries % arara: pdflatex \documentclass{article} \usepackage{datatool} \usepackage[nomain,symbols,xindy]{glossaries-extra} \begin{filecontents*}{matsym.csv} Marke,Symbol,Beschreibung E,E,E-Modul t0,t_0,Anfangszeitpunkt tmax,t_\text{max},Endzeitpunkt w,\omega,Winkelgeschwindigkeit \end{filecontents*} \DTLloaddb{matsym}{matsym.csv} \DTLforeach*{matsym}{\marke=Marke,\sym=Symbol,\beschr=Beschreibung}{ \glsxtrnewsymbol[description={\beschr}]{\marke}{\ensuremath{\sym}} } \makeglossaries \begin{document} \section{Die Tabelle, wie \textit{datatool} sie verstanden hat:} \DTLdisplaydb[Symbol]{matsym} % sprich: OHNE Symbol \section{Alle definierten Symbole werden hier genannt} \DTLforeach*{matsym}{\marke=Marke}{\gls{\marke} } \printglossary[type=symbols,title={Das Glossar zeigt nur den letzten Eintrag}] \end{document} [![Schnappschuss der Ausgabe][1]][1] Ich habe als Anhaltspunkt die glo-Datei: (indexentry :tkey (("\\marke " "\\glossentry{E}") ) :locref "{}{1}" :attr "pageglsnumberformat" ) (indexentry :tkey (("\\marke " "\\glossentry{t0}") ) :locref "{}{1}" :attr "pageglsnumberformat" ) (indexentry :tkey (("\\marke " "\\glossentry{tmax}") ) :locref "{}{1}" :attr "pageglsnumberformat" ) (indexentry :tkey (("\\marke " "\\glossentry{w}") ) :locref "{}{1}" :attr "pageglsnumberformat" ) Sieht so aus, als ob *\makeglossaries* alle Einträge unter der selben Marke anlegt hat, vermutlich weil die Definition in einer *\DTLforeach*-Schleife geschieht. Wie bekomme ich *pdflatex* dazu, jedesmal den tatsächlichen Wert anstatt diesem Platzhalter zu nehmen? PS: Die Kombi *datatool* mit *glossaries* wird bewusst benutzt, auch wenn *datatool* eine eigene Glossarunterstützung (*datagidx*) mitbringt. [1]: https://texwelt.de/upfiles/schnappschuss.png
Klicke auf Einblenden/Ausblenden von Überarbeitungen 1

05 Nov '20, 03:27

Giovani%20Ragazze's gravatar image

Giovani Ragazze
2612

Symbolverzeichnis als CSV einlesen mit datatool und glossaries

Ein (zumindest im Original) recht umfangreiches Symbolverzeichnis soll in eine CSV-Datei ausgelagert werden, die per *datatool* eingelesen wird. Jedoch führt *\printglossary* damit nur den letzten Eintrag auf. % arara: pdflatex % arara: makeglossaries % arara: pdflatex \documentclass{article} \usepackage{datatool} \usepackage[nomain,symbols,xindy]{glossaries-extra} \begin{filecontents*}{matsym.csv} Marke,Symbol,Beschreibung E,E,E-Modul t0,t_0,Anfangszeitpunkt tmax,t_\text{max},Endzeitpunkt w,\omega,Winkelgeschwindigkeit \end{filecontents*} \DTLloaddb{matsym}{matsym.csv} \DTLforeach*{matsym}{\marke=Marke,\sym=Symbol,\beschr=Beschreibung}{ \glsxtrnewsymbol[description={\beschr}]{\marke}{\ensuremath{\sym}} } \makeglossaries \begin{document} \section{Die Tabelle, wie \textit{datatool} sie verstanden hat:} \DTLdisplaydb[Symbol]{matsym} % sprich: OHNE Symbol \section{Alle definierten Symbole werden hier genannt} \DTLforeach*{matsym}{\marke=Marke}{\gls{\marke} } \printglossary[type=symbols,title={Das Glossar zeigt nur den letzten Eintrag}] \end{document} [![Schnappschuss der Ausgabe][1]][1] Ich habe als Anhaltspunkt die glo-Datei: (indexentry :tkey (("\\marke " "\\glossentry{E}") ) :locref "{}{1}" :attr "pageglsnumberformat" ) (indexentry :tkey (("\\marke " "\\glossentry{t0}") ) :locref "{}{1}" :attr "pageglsnumberformat" ) (indexentry :tkey (("\\marke " "\\glossentry{tmax}") ) :locref "{}{1}" :attr "pageglsnumberformat" ) (indexentry :tkey (("\\marke " "\\glossentry{w}") ) :locref "{}{1}" :attr "pageglsnumberformat" ) Sieht so aus, als ob *\makeglossaries* alle Einträge unter der selben Marke anlegt hat, vermutlich weil die Definition in einer *\DTLforeach*-Schleife geschieht. Wie bekomme ich *pdflatex* dazu, jedesmal den tatsächlichen Wert anstatt diesem Platzhalter zu nehmen? PS: Die Kombi *datatool* mit *glossaries* wird bewusst benutzt, auch wenn *datatool* eine eigene Glossarunterstützung (*datagidx*) mitbringt. [1]: https://texwelt.de/upfiles/schnappschuss.png

Willkommen, erstes Mal hier? Schau mal unter FAQ!

×