acro - Verzeichnis linksbündig ausrichten

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: acro - Verzeichnis linksbündig ausrichten

von Gast » Mi 4. Sep 2019, 19:05

Stefan Kottwitz hat geschrieben:Mit einem neuen Thread und passendem Titel ist es wahrscheinlicher, eine Antwort zu kriegen, als untendran an einem schon gelösten Thread wo man erst die acro-Diskussion lesen muss und vllt. gar nicht mehr sieht, dass unten noch was drangehängt wurde.
Vor allem liefert das zuletzt angegebene Beispiel bei mir gar keine entsprechende Warnung. Vermutlich müsste man das irgendwie erweitern/ergänzen/ändern. Ein neuer Thread bietet dann auch gleich die Möglichkeit, ein Beispiel anzuhängen, das das Problem unmittelbar zeigt.

von Stefan Kottwitz » Mi 4. Sep 2019, 18:50

Hi Jonny,

ja, mach mal immer einen neuen Thread auf, wenn sich das Thema ändert. Den Status vom alten Thread kann man dann auf "beantwortet" setzen.

Im Forum soll es einigermassen thematisch sortiert sein. Mit einem neuen Thread und passendem Titel ist es wahrscheinlicher, eine Antwort zu kriegen, als untendran an einem schon gelösten Thread wo man erst die acro-Diskussion lesen muss und vllt. gar nicht mehr sieht, dass unten noch was drangehängt wurde.

Stefan

von Gast » Mi 4. Sep 2019, 18:30

von Jonny » Mi 4. Sep 2019, 16:56

Ich möchte ja nicht ungeduldig erscheinen, aber hat niemand eine Idee?

von Jonny » Di 3. Sep 2019, 15:44

Hi,

nachdem ich jetzt ein bisschen getestet habe, ist mir noch folgendes Problem aufgefallen (weiß net, ob ich dafür jetzt extra einen Thread aufmachen muss):

Da das Verzeichnis ja in einer unsichtbaren longtable steht, bekomme ich die hyperref Warnung "warning (pdf backend): ignoring duplicate destination with the name 'table.0.1"

Wie kann ich das denn beheben, denn anscheinend versucht hyperref die Tabelle des Abkürzungsverzeichnisses auch zu referenzieren.

Danke!

von Gast » Do 29. Aug 2019, 12:27

Die Verwendung von X-Spalten hat den Vorteil, dass diese sich automatisch an die verfügbare Breite (abhängig von der Breite der ersten Spalte und der Breite des Satzspiegels) anpassen. Siehe dazu sowohl die Anleitung zu xltabular als auch zu tabularx.

von Jonny » Do 29. Aug 2019, 08:42

Vielen Dank für eure Hilfe!

Sorry wegen dem langen Beispiel, ich dachte es sei wichtig, dass der Seitenumbruch auch tatsächlich auftaucht (für eine Lösung).

Umgesetzt habe ich bisher die Lösung von Bartman. Welche wäre denn die "beste" Alternative?

LG
Jonny

von Gast » Mi 28. Aug 2019, 18:57

Es ist übrigens kein großes Problem das acro-list Template tabe aus acro zu einem Template zu erweitern, das für tabularx oder xltabular geeignet ist:
\documentclass[10pt,
            paper=a5,
            ngerman,
           ]{scrreprt}

\usepackage{babel}
\usepackage[utf8]{inputenc}% nur bei veralteten TeX-Distributionen wie auf Overleaf notwendig
\usepackage[T1]{fontenc}
\usepackage{array}
\usepackage[sort=true]{acro}
\usepackage{xltabular}

\ExplSyntaxOn
\dim_new:N \l__acro_list_table_width_dim

\DeclareTemplateInterface {acro-list} {xtable} {2}
  {
    table       : tokenlist = tabularx ,
    table-spec  : tokenlist = @{}lX@{} ,
    foreign-sep : tokenlist = {~} ,
    reverse     : boolean   = false ,
    before      : tokenlist = ,
    after       : tokenlist = ,
    width       : length    = \linewidth
  }

\DeclareTemplateCode {acro-list} {xtable} {2}
  {
    table       = \l__acro_list_table_tl      ,
    table-spec  = \l__acro_list_table_spec_tl ,
    foreign-sep = \l__acro_foreign_sep_tl ,
    reverse     = \l__acro_list_reverse_long_extra_bool ,
    before      = \l__acro_list_before_tl ,
    after       = \l__acro_list_after_tl ,
    width       = \l__acro_list_table_width_dim ,
  }
  {
    \AssignTemplateKeys
    \acro_activate_hyperref_support:
    \bool_if:NTF \l__acro_list_reverse_long_extra_bool
      {
        \cs_set_protected:Npn \acro_print_list_entry:nnnn ##1##2##3##4
          { ##1 & ##3 ##2 ##4 \tabularnewline }
      }
      {
        \cs_set_protected:Npn \acro_print_list_entry:nnnn ##1##2##3##4
          { ##1 & ##2 ##3 ##4 \tabularnewline }
      }
    \acro_build_list_entries:Nnn \l__acro_list_entries_tl {#1} {#2}
    \use:x
      {
        \exp_not:V \l__acro_list_before_tl
        \exp_not:N \begin { \exp_not:V \l__acro_list_table_tl }
          { \exp_not:V \l__acro_list_table_width_dim }
          { \exp_not:V \l__acro_list_table_spec_tl }
        \exp_not:V \l__acro_list_entries_tl
        \exp_not:N \end { \exp_not:V \l__acro_list_table_tl }
        \exp_not:V \l__acro_list_after_tl
      }
  }
    

\DeclareAcroListStyle { tabularx } { xtable }
  { table = tabularx }

\DeclareAcroListStyle { xltabular } { xtable }
  { table = xltabular }

\ExplSyntaxOff

\DeclareAcroListStyle{xltabularbf}{xtable}{%
  table = xltabular,
  table-spec = @{}>{\bfseries}lX@{}
}

\acsetup{list-style = xltabularbf,
         list-heading = addchap}


\DeclareAcronym{c}{
   short = C,
   long  = Der Buchstabe C
}

\begin{document}

\printacronyms

\clearpage


\ac*{c}
\end{document}
Der Code zwischen ExplSyntaxOn und ExplSyntaxOff ist größtenteils den entsprechenden Anweisungen für das Template table aus acro.sty entnommen. Es wurde lediglich um die Variable width für die gewünschte Breite der Tabelle erweitert. Entsprechend wurde tabular durch tabularx und longtable durch xltabular ersetzt. Außerdem wurde table-spec geändert und verwendet nun eine X-Spalte statt einer p-Spalte und wurde auch gleich um @{} ergänzt.

von Gast » Mi 28. Aug 2019, 18:31

Bartman hat geschrieben:@Gast

Sollte der Option list-style nicht der zuvor bestimmte Listenstil longtable zugewiesen werden?
Uups. Ja. Und deshalb gibt es auch keine Fehlermeldung.

von Bartman » Mi 28. Aug 2019, 18:07

@Gast

Sollte der Option list-style nicht der zuvor bestimmte Listenstil longtable zugewiesen werden?

\let\LTright=\hfill gibt bei Dir keine Fehlermeldung aus?.

@Jonny

Scheinbar funktioniert es auch mit der Option before:
\DeclareAcroListStyle{longtable}{table}{
    before=\setlength{\LTleft}{0pt},
    table=longtable,
    table-spec= @{}>{\bfseries}lp{.7\linewidth}@{}
}

\acsetup{
    list-style = longtable,
    list-heading = addchap
}

Nach oben