Verzerrte Tabelle mit datatool

Antwort erstellen


Diese Frage dient dazu, das automatisierte Versenden von Formularen durch Spam-Bots zu verhindern.
Smilies
:D :) :( :o :shock: :? 8) :lol: :-x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen:

BBCode ist eingeschaltet
[img] ist eingeschaltet
[flash] ist ausgeschaltet
[url] ist eingeschaltet
Smilies sind eingeschaltet

Die letzten Beiträge des Themas

Ich habe die Datenschutzerklärung gelesen und bin damit einverstanden.

   

Wenn du eine Datei oder mehrere Dateien anhängen möchtest, gib die Details unten ein.

Ansicht erweitern Die letzten Beiträge des Themas: Verzerrte Tabelle mit datatool

von ThoRie » Mi 22. Mai 2019, 17:34

Danke, das ist genau das, was ich erreichen wollte :D

von esdd » Mi 22. Mai 2019, 17:12

Wenn ich nach hyperref datatool suche, bekomme ich als ersten Treffer Creating table using tabularx and datatool from csv file. Dort findest Du eine Erklärung für das Verhalten und zwei Lösungsvorschläge, beispielsweise
\documentclass[12pt,a4paper]{article} 

\usepackage{tabularx} 
\usepackage{booktabs} 
\usepackage{siunitx} 
\usepackage{filecontents} 
\begin{filecontents*}{elnum6b.txt} 
\num{e-1} 0,953101798043 \num{4,7e-2} 
\num{e-2} 0,995033085317 \num{5,0e-3} 
\num{e-3} 0,999500333083 \num{5,0e-4} 
\num{e-4} 0,999950003333 \num{5,0e-5} 
\num{e-5} 0,999995000040 \num{5,0e-6} 
\num{e-6} 0,999999499918 \num{5,0e-7} 
\num{e-7} 0,999999950584 \num{4,9e-8} 
\num{e-8} 0,999999988923 \num{1,1e-8} 
\num{e-9} 1,000000082240 \num{8,2e-8} 
\num{e-10} 1,000000082690 \num{8,3e-8} 
\num{e-11} 1,000000082735 \num{8,3e-8} 
\num{e-12} 1,000088900582 \num{8,9e-5} 
\num{e-13} 0,999200722163 \num{8,0e-4} 
\num{e-14} 0,999200722163 \num{8,0e-4} 
\num{e-15} 1,110223024625 \num{1,1e-1} 
\end{filecontents*} 
\usepackage{datatool} 
\DTLsetseparator{ } 
\DTLloaddb[noheader]{elnum6a}{elnum6b.txt} 
\usepackage{hyperref} 
\begin{document} 
%\DTLsetheader{elnum6a}{Column1}{I} 
%\DTLsetheader{elnum6a}{Column2}{II} 
%\DTLsetheader{elnum6a}{Column3}{III} 
%\renewcommand\dtlheaderformat[1]{#1} 
\begin{NoHyper}% <- ergänzt
\begin{tabularx}{\textwidth}{XXX} 
\toprule 
$\lg(h)$ & $\Delta(h)$ & $\lg(\Delta(h))$\tabularnewline\midrule 
\DTLforeach{elnum6a}{\sI=Column1,\sII=Column2,\sIII=Column3}{% 
  \sI&\sII&\sIII% 
  \DTLiflastrow{}{\\}% 
}\\\bottomrule 
\end{tabularx}% <- ergänzt
\end{NoHyper}
\end{document}

von Gast » Mi 22. Mai 2019, 17:10

Verzerrte Tabelle mit datatool

von ThoRie » Mi 22. Mai 2019, 16:48

Hallo, ich habe ein Anliegen zu folgendem Code:
\documentclass[12pt,a4paper]{article}

\usepackage{tabularx}
\usepackage{booktabs}
\usepackage{siunitx}
\usepackage{filecontents}
\begin{filecontents*}{elnum6b.txt}
\num{e-1} 0,953101798043 \num{4,7e-2}
\num{e-2} 0,995033085317 \num{5,0e-3}
\num{e-3} 0,999500333083 \num{5,0e-4}
\num{e-4} 0,999950003333 \num{5,0e-5}
\num{e-5} 0,999995000040 \num{5,0e-6}
\num{e-6} 0,999999499918 \num{5,0e-7}
\num{e-7} 0,999999950584 \num{4,9e-8}
\num{e-8} 0,999999988923 \num{1,1e-8}
\num{e-9} 1,000000082240 \num{8,2e-8}
\num{e-10} 1,000000082690 \num{8,3e-8}
\num{e-11} 1,000000082735 \num{8,3e-8}
\num{e-12} 1,000088900582 \num{8,9e-5}
\num{e-13} 0,999200722163 \num{8,0e-4}
\num{e-14} 0,999200722163 \num{8,0e-4}
\num{e-15} 1,110223024625 \num{1,1e-1}
\end{filecontents*}
\usepackage{datatool}
\DTLsetseparator{ }
\DTLloaddb[noheader]{elnum6a}{elnum6b.txt}
\usepackage{hyperref}
\begin{document}
\DTLsetheader{elnum6a}{Column1}{I}
\DTLsetheader{elnum6a}{Column2}{II}
\DTLsetheader{elnum6a}{Column3}{III}
\renewcommand\dtlheaderformat[1]{#1}
\begin{tabularx}{\textwidth}{XXX}
\toprule
$\lg(h)$ & $\Delta(h)$ & $\lg(\Delta(h))$\\\midrule
\DTLforeach{elnum6a}{\sI=Column1,\sII=Column2,\sIII=Column3}{%
  \sI&\sII&\sIII%
  \DTLiflastrow{}{\\}%
}\\\bottomrule
\end{tabularx}
\end{document}
Und zwar ist die Tabelle ja, wie unschwer zu erkennen ist, sehr verzerrt. Ich habe bereits herausgefunden, dass das Problem verschwindet, wenn ich
\usepackage{hyperref}
aus der Präambel entferne. Aber genau da liegt auch das Problem, das kann ich unter keinen Umständen machen, da ich hyperref dringend brauche.

Jetzt steht also die Frage, ob das jemand beheben kann, ohne, dass ich hyperref raus nehmen muss :/

Nach oben