von B.O.D » Fr 28. Apr 2017, 16:11
Hallo Gemeinde,
ich nutze gerne Excel2Latex, wenn es um Tabellen geht, jedoch möchte ich mittlerweile etwas mehr Spielraum haben, d.h. Tabellenbreite, Positionierung, Tabellenfußnoten etc.
Mittels nachfolgender Basisumgebung umgehe ich die Umgebungsdefinition von Excel2Latex.
\begin{table}[htbp]
\centering
\caption{caption}\label{tab:beispiel}
\begin{tabularx}{<breite>}{<ausrichtung>}
\toprule
\ExecuteMetaData[file]{tag}
\bottomrule
\end{tabularx}
\end{table}
Dabei wird für
\ExecuteMetaData[file]{tag}
das Paket 'catchfilebetweentags' benötigt, welches im obigen Beispiel zwischen den nachfolgenden Tags den Inhalt einfügt.
In Excel definiere ich für die Tags Zellenformatvorlagen, sodass ich weiterhin Rechnungen durchführen lassen kann. Das ist insofern bequem, weil veränderte Zellen Einfluss auf andere Zellen nehmen, aber keine Veränderungen in der Latex-Datei notwendig sind, da lediglich die Tabelle als Tex-File neu gespeichert werden muss. Das wird dann zum Vorteil wenn man große Tabellen hat: Wer hat schon lust >100 Werte im Quellcode händisch zu ändern? Soweit so gut.
Nun zu meinen Fragen:
- 1. Es tritt das Problem der Codierung auf, wenn man Umlaute in Excel verwendet. Wie lässt sich das lösen?
2. Weiterhin möchte ich in der tabularx-Umgebung Inhalte am Komma ausrichten, was zum Beispiel bei Ergänzungen mittels Tabellenfußnoten notwendig wird (siehe Minimalbeispiel bzw. Anhang). Gibt es da eine Möglichkeit bzw. welche Alternativen gibt es z. B. für 'tabularx'?
Nachfolgend ein Minimalbeispiel, das funktioniert, weil keine Umlaute in der Tabelle verwendet werden. Hier definiere ich den Tabellenkopf in Latex, um die Ausrichtung anzupassen.
\documentclass[10pt,a4paper]{scrartcl}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[ngerman]{babel}
\usepackage{amsmath}
\usepackage{threeparttable}
\usepackage{catchfilebetweentags}
\usepackage{tabularx}
\usepackage{booktabs}
\newcolumntype{G}{>{\raggedleft\arraybackslash}X}
\begin{filecontents}{Tabelle1.tex}
% Table generated by Excel2LaTeX from sheet 'Tabelle1'
\begin{tabular}{rrrrr}
\toprule
Ueberschrift 1 & Ueberschrift 2 & Ueberschrift 3 & Ueberschrift 4 & Ueberschrift 5 \\
\midrule
\%<*tag>Groesse 1$^\text{a}$ & 200.00 & 300.00 & 400.00 & 500.00 \\
Groesse 2$^\text{a}$ & 20.00 & 30.00 & 40.00 & 60.00 \\
Summe & 220.00 & 330.00$^\text{b}$ & 440.00 & 560.00 \\
Produkt & 4000.00 & 9000.00 & 16000.00 & 30000.00$^\text{c}$\\%</tag> \\
\bottomrule
\end{tabular}%
\end{filecontents}
\begin{document}
\begin{table}[htbp]
\centering
\caption{Anwendung von Excel2LaTeX mit Workaround}\label{tab:beispiel}
\begin{threeparttable}
\begin{tabularx}{\textwidth}{X G G G G}
\toprule
\multicolumn{1}{l}{Formel} &
\multicolumn{1}{r}{Versuch 1} &
\multicolumn{1}{r}{Versuch 2} &
\multicolumn{1}{r}{Versuch 3} &
\multicolumn{1}{r}{Versuch 4} \\\midrule
\ExecuteMetaData[Tabelle1.tex]{tag}
\bottomrule
\end{tabularx}
\begin{tablenotes}
\item[$^\text{a}$] Wie Codierung ändern??
\item[$^\text{b}$] Erläuterung zur Summe von Versuch 2
\item[$^\text{c}$] Erläuterung zum Produkt von Versuch 4
\end{tablenotes}
\end{threeparttable}
\end{table}
\end{document}
Insgesamt bin ich für Anregungen zum Code offen.
Beste Grüße
- Dateianhänge
-
- test.pdf
- (30.19 KiB) 309-mal heruntergeladen
Hallo Gemeinde,
ich nutze gerne Excel2Latex, wenn es um Tabellen geht, jedoch möchte ich mittlerweile etwas mehr Spielraum haben, d.h. Tabellenbreite, Positionierung, Tabellenfußnoten etc.
Mittels nachfolgender Basisumgebung umgehe ich die Umgebungsdefinition von Excel2Latex.
[code]
\begin{table}[htbp]
\centering
\caption{caption}\label{tab:beispiel}
\begin{tabularx}{<breite>}{<ausrichtung>}
\toprule
\ExecuteMetaData[file]{tag}
\bottomrule
\end{tabularx}
\end{table}
[/code]
Dabei wird für
[code]\ExecuteMetaData[file]{tag}[/code] das Paket 'catchfilebetweentags' benötigt, welches im obigen Beispiel zwischen den nachfolgenden Tags den Inhalt einfügt.
[code]
%<*tag>
Inhalt
%</tag>
[/code]
In Excel definiere ich für die Tags Zellenformatvorlagen, sodass ich weiterhin Rechnungen durchführen lassen kann. Das ist insofern bequem, weil veränderte Zellen Einfluss auf andere Zellen nehmen, aber keine Veränderungen in der Latex-Datei notwendig sind, da lediglich die Tabelle als Tex-File neu gespeichert werden muss. Das wird dann zum Vorteil wenn man große Tabellen hat: Wer hat schon lust >100 Werte im Quellcode händisch zu ändern? Soweit so gut.
Nun zu meinen Fragen:
[list] 1. Es tritt das Problem der Codierung auf, wenn man Umlaute in Excel verwendet. Wie lässt sich das lösen?
2. Weiterhin möchte ich in der tabularx-Umgebung Inhalte am Komma ausrichten, was zum Beispiel bei Ergänzungen mittels Tabellenfußnoten notwendig wird (siehe Minimalbeispiel bzw. Anhang). Gibt es da eine Möglichkeit bzw. welche Alternativen gibt es z. B. für 'tabularx'?
[/list]
Nachfolgend ein Minimalbeispiel, das funktioniert, weil keine Umlaute in der Tabelle verwendet werden. Hier definiere ich den Tabellenkopf in Latex, um die Ausrichtung anzupassen.
[code]
\documentclass[10pt,a4paper]{scrartcl}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[ngerman]{babel}
\usepackage{amsmath}
\usepackage{threeparttable}
\usepackage{catchfilebetweentags}
\usepackage{tabularx}
\usepackage{booktabs}
\newcolumntype{G}{>{\raggedleft\arraybackslash}X}
\begin{filecontents}{Tabelle1.tex}
% Table generated by Excel2LaTeX from sheet 'Tabelle1'
\begin{tabular}{rrrrr}
\toprule
Ueberschrift 1 & Ueberschrift 2 & Ueberschrift 3 & Ueberschrift 4 & Ueberschrift 5 \\
\midrule
\%<*tag>Groesse 1$^\text{a}$ & 200.00 & 300.00 & 400.00 & 500.00 \\
Groesse 2$^\text{a}$ & 20.00 & 30.00 & 40.00 & 60.00 \\
Summe & 220.00 & 330.00$^\text{b}$ & 440.00 & 560.00 \\
Produkt & 4000.00 & 9000.00 & 16000.00 & 30000.00$^\text{c}$\\%</tag> \\
\bottomrule
\end{tabular}%
\end{filecontents}
\begin{document}
\begin{table}[htbp]
\centering
\caption{Anwendung von Excel2LaTeX mit Workaround}\label{tab:beispiel}
\begin{threeparttable}
\begin{tabularx}{\textwidth}{X G G G G}
\toprule
\multicolumn{1}{l}{Formel} &
\multicolumn{1}{r}{Versuch 1} &
\multicolumn{1}{r}{Versuch 2} &
\multicolumn{1}{r}{Versuch 3} &
\multicolumn{1}{r}{Versuch 4} \\\midrule
\ExecuteMetaData[Tabelle1.tex]{tag}
\bottomrule
\end{tabularx}
\begin{tablenotes}
\item[$^\text{a}$] Wie Codierung ändern??
\item[$^\text{b}$] Erläuterung zur Summe von Versuch 2
\item[$^\text{c}$] Erläuterung zum Produkt von Versuch 4
\end{tablenotes}
\end{threeparttable}
\end{table}
\end{document}
[/code]
Insgesamt bin ich für Anregungen zum Code offen.
Beste Grüße