Ich benutze das Pakte acro innerhalb von ltxtable. Wenn ich den Befehl \acl{} benutze, taucht auch die gewünschte lange Form der Abkürzung in der Tabelle auf, allerdings leider nicht im Abkürzungsverzeichnis. Dieses Verhalten tritt nicht bei den normalen longtables auf.
Ganz neue Versionen von acro (ab v3.1) patchen die entsprechenden Tabellen-Umgebungen, so dass alles einfach funktionieren sollte
Ursprüngliche Antwort für Versionen älter als v3.1:
ltxtable hat (wie auch einige andere Tabellenarten, u.a. tabularx und tabu) eine Trial- oder Messphase, währendessen die erste Verwendung der Akronyme stattfindet. Wenn die Tabelle dann letztendlich gesetzt wird, denkt acro längst, dass die Akronyme schon mal verwendet würden. Leider kommt das außerhalb der Tabelle nicht an, da wichtige Infos in der aux-Datei fehlen. Idealerweise würde während der Testphase die Sternvariante \ac* verwendet und während der Setzphase dann wieder \ac. acro bietet dafür ab v2.6 den Befehl \acswitchoff, den man mit einem geeigneten Patch einsetzen kann:
Code, hier editierbar zum Übersetzen:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage[ngerman]{babel}
\usepackage{acro}[2016/07/20] % v2.6 is needed for \acswitchoff
Der einfachste Workaround: benutze \acuse{A,B} direkt nach \LTXtable{\textwidth}{longTest.tex}. Das markiert die Akronyme als benutzt und macht auch die gewünschten Einträge in der aux Datei.
Für eine automatische Lösung kann man \LTXtable mit etoolbox' \patchcmd patchen um in der Messphase einen Schalter zu setzen, und \acro_check_and_mark_if:nn so umdefieren, dass es nichts macht, wenn der Schalter aktiv ist.
Ergänzung: LTXtable ist nicht die einzige Tabellenvariante, die ihren Inhalt mehrmals setzt (um die Breite etc zu bestimmen), andere sind zum Beispiel tabularx und tabu. tabu hat ein offizielles Interface um Code während der Testphase zu ändern. tabularx setzt während der Testphase \let\hbadness\@tempcnta, worauf man testen kann. Folgender Code (Für acro v2.0 und größer) ermöglicht die Verwendung mit allen drei Tabellen:
Code, hier editierbar zum Übersetzen:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
\makeatletter
% LTXtable patch damit wir auf die Messphase testen können:
@Clemens Anbei ein virtueller Danke-Punkt. Tolle Erklärung! Macht es nicht Sinn, diesen Patch direkt in dein Paket zu integrieren und ihn bei den Optionen auswhählbar (z.B. \usepackage[patchXtables]{acro}) zu machen?