TU-Dresden » Startseite Forum » Forum

TU-Dresden Forum

Aktuelle Zeit: Freitag 3. Dezember 2021, 22:59

Alle Zeiten sind UTC + 1 Stunde




Ein neues Thema erstellen Auf das Thema antworten  [ 19 Beiträge ]  Gehe zu Seite Vorherige  1, 2
Autor Nachricht
 Betreff des Beitrags: Re: Sortierung im Formelzeichenverzeichnis
BeitragVerfasst: Mittwoch 27. Januar 2021, 17:52 
Offline

Registriert: Samstag 7. September 2019, 17:17
Beiträge: 20
Klasse, jetzt läuft es wieder ohne Fehler durch! Und sogar mit meinen komischen Befehlen ;)

Aber kann es sein, dass die Sortierung bei den Akzenten noch nicht richtig funktioniert?
Folgendes Beispiel:
Code:
\newformulasymbol{UO}{Ruhespannung}{U_0}{\V}
\newformulasymbol{Ud}{Zwischenkreisspannung}{U_\mathrm{d}}{\V}
\newformulasymbol{UOav}{mittlere Ruhespannung}{\bar{U}_{0}}{\V}

Wird bei mir sortiert zu:
Code:
U_0
U_\mathrm{d}
\bar{U}_{0}

statt :
Code:
U_0
\bar{U}_{0}
U_\mathrm{d}


Sorry, falls das in meinen Anforderungen nicht abgedeckt war.
Ich sehe in der Debug-Ausgabe, dass die Elemente alle den gleichen Sort Index bekommen haben, unabhängig von Index der Variablen oder Akzenten... D.h. wird "nur" nach dem eigentlichen Formelbuchstaben, aber nicht nach den Indizes sortiert? Gilt in diesem Fall dann die Reihenfolge, in der die Symbole definiert wurden?


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Sortierung im Formelzeichenverzeichnis
BeitragVerfasst: Donnerstag 28. Januar 2021, 01:38 
Offline

Registriert: Freitag 9. September 2011, 14:57
Beiträge: 541
xfa hat geschrieben:
Ich sehe in der Debug-Ausgabe, dass die Elemente alle den gleichen Sort Index bekommen haben, unabhängig von Index der Variablen oder Akzenten... D.h. wird "nur" nach dem eigentlichen Formelbuchstaben, aber nicht nach den Indizes sortiert? Gilt in diesem Fall dann die Reihenfolge, in der die Symbole definiert wurden?

Nö, das ist definitiv nicht so, die Ausgabe liefert:
Code:
+++++ generated sort index: 041 U_0
+++++ generated sort index: 041 U_d
+++++ generated sort index: 041 U|03_{0}

Gäbe es nur einen Schlüssel für die Sortierung, würde xindy auch nur einen Eintrag in das Verzeichnis schreiben.

xfa hat geschrieben:
Aber kann es sein, dass die Sortierung bei den Akzenten noch nicht richtig funktioniert?
Sorry, falls das in meinen Anforderungen nicht abgedeckt war.

Das ist ein Fass ohne Boden. Wie sollen denn beispielsweise solche Einträge unterschieden werden?
Code:
U_{\bar{\mathrm{x}}\mathrm{y}}
U_{\mathrm{x}\bar{\mathrm{y}}}
U_{\bar{\mathrm{xy}}}
U_{\bar{\mathrm{x}}\bar{\mathrm{y}}}
U_{\mathrm{xy}}

Das beste wird wahrscheinlich ein hybrider Ansatz sein. Ich habe es jetzt so implementiert, dass die obigen Einträge allesamt den Sortierschlüssel 041 U_{xy} erzeugen. Damit das ganze dennoch eindeutig bleibt, wird daran dann das gesetzte <Label> angehängt. Für dein gegebenes Beispiel werden also jetzt die Schlüssel
Code:
====== sort index: `041 U_0 <U0>'
            input: `U_0'
====== sort index: `041 U_d <Ud>'
            input: `U_\mathrm {d}'
====== sort index: `041 U_0 <U0av>'
            input: `\bar {U}_0'

erzeugt. Damit kannst du die Sortierung über das Label beeinflussen.

Noch ein Hinweis: Falls du tatsächlich die unsäglichen CD-Schriften verwenden möchtest/musst, dann solltest du bei den Akzenten auf eine halbwegs taugliche Erscheinung achten und das Kerning manuell etwas anpassen. Vergleiche einfach mal
Code:
$\bar{U}_0$
$\bar{U\mkern3mu}\mkern-3mu_0$

Wenn du alle Formelzeichen im Glossar definierst, ist der Aufwand auch nicht allzu groß. Damit das mit den Sortierungsschlüsseln passt, habe ich noch den Befehl \newcommand*\mushift[1]{\mkern#1mu} definiert, der lässt sich problemlos in ein Noop-Makro wandeln. Solltest du das häufiger brauchen, kannst du dir auch etwas wie \newcommand*\barshift[2]{\bar{#1\mushift{#2}}\mushift{-#2}} definieren.

Code:
\documentclass[english,ngerman]{tudscrreprt}
\usepackage{iftex}
\iftutex
  \usepackage{fontspec}
\else
  \usepackage[T1]{fontenc}
  \usepackage[ngerman=ngerman-x-latest]{hyphsubst}
\fi
\usepackage{babel}
\usepackage{xltabular}
\usepackage{booktabs}
\usepackage{siunitx}

\AfterPackage*{hyperref}{%
\usepackage[%
%  acronym,% Abkürzungen
  symbols,% Formelzeichen
  nomain,% kein Glossar
  nogroupskip,%
  toc,%
  section=chapter,%
  nostyles,%
  translate=babel,%
% mit Tex Live einfach verwendbar
  xindy={language=german-din},
]{glossaries}
\makeglossaries
}% Ende von AfterPackage

\makeatletter
\newcommand*\glssort@roman{%
  a,A,b,B,c,C,d,D,e,E,f,F,g,G,h,H,i,I,j,J,k,K,l,L,m,M,
  n,N,o,O,p,P,q,Q,r,R,s,S,t,T,u,U,v,V,w,W,x,X,y,Y,z,Z%
}
\newcommand*\glssort@greek{%
  \alpha,\Alpha,\beta,\varbeta,\Beta,\gamma,\Gamma,\delta,\Delta,%
  \epsilon,\varepsilon,\Epsilon,\zeta,\Zeta,\eta,\Eta,\theta,\vartheta,\Theta,%
  \iota,\Iota,\kappa,\varkappa,\Kappa,\lambda,\Lambda,\mu,\Mu,\nu,\Nu,\xi,\Xi,%
  \omicron,\Omicron,\pi,\varpi,\Pi,\rho,\varrho,\Rho,\sigma,\varsigma,\Sigma,%
  \tau,\Tau,\upsilon,\Upsilon,\phi,\varphi,\Phi,\chi,\Chi,\psi,\Psi,%
  \omega,\varomega,\Omega%
}
\newcommand*\diff[1]{\upDelta#1}
\newcommand*\glssort@accent{%
  \diff,\acute,\bar,\breve,\check,\dot,\ddot,\dddot,\ddddot,%
  \hat,\widehat,\grave,\tilde,\widetilde,\vec,\mathring,%
  \Acute,\Bar,\Breve,\Check,\Dot,\Ddot,\Hat,\Grave,\Tilde,\Vec%
}
\newcommand*\glssort@index[3]{%
  \begingroup%
    \glssort@sanitize\@tempa{#2}%
    % erster Token für Vergleich
    \def\@tempc##1##2\@nil{\def\@tempb{##1}}%
    \expandafter\@tempc\@tempa\@nil%
    \@tempswafalse%
    \@tempcnta=0%
    % Schleife für Token-Vergleich aus Listen \glssort@roman und \glssort@greek
    \def\do##1{%
      \if@tempswa\else%
        \def\@tempc{##1}%
        \ifx\@tempb\@tempc\@tempswatrue\fi%
        \if@tempswa\else\advance\@tempcnta\@ne\fi%
      \fi%
    }%
    \edef\@tempc{\expandonce\glssort@roman,\expandonce\glssort@greek}%
    \expandafter\docsvlist\expandafter{\@tempc}%
    \edef\@tempa{%
      \unexpanded{\edef\@tempa}{%
        \noexpand\zap@space\detokenize\expandafter{\@tempa}%
        \space\noexpand\@empty%
      }%
    }%
    \@tempa%
    \edef\@tempa{%
      \endgroup%
      \unexpanded{\def#1}{%
        \ifnum\@tempcnta<100 0\fi\ifnum\@tempcnta<10 0\fi\the\@tempcnta%
        \space\@tempa\space<#3>%
      }%
    }%
  \@tempa%
  \typeout{====== sort index: `#1'}%
  \typeout{\@spaces\@spaces\@spaces input: `\detokenize{#2}'}%
}
\AfterPackage*{glossaries}{%
  \newcommand*\symbollettergroup{}
  \newcommand*\newformulasymbol[5][]{%
    \ifisgreeksymbol{#4}{%
      \renewcommand*{\symbollettergroup}{greekletters}%
    }{%
      \renewcommand*{\symbollettergroup}{romanletters}%
    }%
    \begingroup%
      \def\@tempa{%
        type=symbols,%
        parent={\symbollettergroup},%
        name={#3},%
        description={\nopostdesc},%
        symbol={\ensuremath{#4}},%
        user1={\si{#5}},%
        #1%
      }%
      \glssort@index\@tempb{#4}{#2}%
      \epreto\@tempa{sort={\@tempb},}%
      \edef\@tempb{%
        \endgroup%
        \unexpanded{\newglossaryentry{#2}}{\expandonce\@tempa}%
      }%
    \@tempb%
  }%
  \defglsentryfmt[symbols]{%
    \ifmmode%
      \glssymbol{\glslabel}%
    \else%
      \glsgenentryfmt~\glsentrysymbol{\glslabel}%
    \fi%
  }
  \providecommand*\greeklettersname{Greek letters}
  \providecommand*\romanlettersname{Roman letters}
  \newglossaryentry{greekletters}{%
    type=symbols,%
    name={\greeklettersname},%
    description={\nopostdesc},%
    sort={a}%
  }
  \newglossaryentry{romanletters}{%
    type=symbols,%
    name={\romanlettersname},%
    description={\nopostdesc},%
    sort={b}%
  }
  \newglossarystyle{symbxltab}{%
    \newcommand*\symbollevel{-1}%
    \renewenvironment{theglossary}{%
      \xltabular[l]{\linewidth}{ccXl}%
    }{%
      \endxltabular%
    }%
    \renewcommand*{\glsgroupheading}[1]{}%
    \renewcommand*{\glsgroupskip}{}%
    \newcommand*\symbolhead{%
      \toprule
      \bfseries Formelzeichen & \bfseries Einheit &
      \bfseries Bezeichnung %& \bfseries Seite(n)
      \tabularnewline\midrule
    }%
    \renewcommand*{\glossaryheader}{%
      \endfirsthead%
      \symbolhead\endhead%
      \bottomrule\endfoot%
      \gdef\symbollevel{-1}%
    }%
    \renewcommand*{\glossentry}[2]{%
      \ifglshaschildren{##1}{%
        \ifnum\symbollevel>0\relax%
          \tabularnewline\bottomrule\tabularnewline[\smallskipamount]%
        \fi
        \gdef\symbollevel{0}%
        \tabularnewline[%
          \arraystretch\dimexpr-\ht\strutbox-\dp\strutbox\relax%
        ]%
%        \multicolumn{4}{@{}l@{}}{\minisec{\glsentryname{##1}}}%mit Seitenangabe
        \multicolumn{3}{@{}l@{}}{\minisec{\glsentryname{##1}}}%ohne Seitenangabe
      }{%
        \GlossariesWarning{%
          There are no childrens for entry ##1.\MessageBreak
          Nothing will be printed. Maybe you should\MessageBreak
          specify ##1 as a child entry.
        }%
      }%
    }%
    \renewcommand*{\subglossentry}[3]{%
      \ifnum\symbollevel=0\relax%
        \tabularnewline[\medskipamount]\symbolhead%
      \else%
        \tabularnewline
      \fi%
      \gdef\symbollevel{##1}%
      \glsentryitem{##2}% Entry number if required
      \glstarget{##2}{\glossentrysymbol{##2}} &
      \glsentryuseri{##2} &
      \glossentryname{##2}%
      %& ##3% mit Seitenangabe
    }%
  }
}% Ende von AfterPackage
\newcommand*\mushift[1]{\mkern#1mu}
\newcommand*\barshift[2]{\bar{#1\mushift{#2}}\mushift{-#2}}
\newcommand*\glssort@sanitize[2]{%
  \begingroup%
    \def\do##1{\let##1\@firstofone}%
    \expandafter\docsvlist\expandafter{\glssort@accent}%
    \let\boldsymbol\relax%
    \let\mathrm\@firstofone%
    \let\mushift\@gobble%
    \protected@edef\@tempa{\endgroup\unexpanded{\def#1}{#2}}%
  \@tempa%
}
\newcommand*\ifisgreeksymbol[1]{%
  \begingroup%
    \glssort@sanitize\@tempa{#1}%
    \def\@tempb##1##2\@nil{\def\@tempa{##1}}%
    \expandafter\@tempb\@tempa\@nil%
    \edef\@tempb{%
      \noexpand\in@{,\expandonce\@tempa,}{,\expandonce\glssort@greek,}%
    }%
    \@tempb%
    \ifin@
      \aftergroup\@firstoftwo%
    \else%
      \aftergroup\@secondoftwo%
    \fi%
  \endgroup%
}
\makeatother
\usepackage[colorlinks]{hyperref}

\AtBeginDocument{
\newcommand*\Pteqraw[1]{\tilde{P\mushift{3.5}}\mushift{-3.5}_{\mathrm{t},#1}}
\newformulasymbol{Pteq}{äquivalente Referenzleistung bezogen auf $r$}
  {\Pteqraw{r}}{\W}
\newcommand*\Pteq[1][r]{\glslink{Pteq}{\ensuremath{\Pteqraw{#1}}}}
\newformulasymbol{aavg}%
  {mittlere Beschleunigung}{\barshift{a}{3}}{\m\per\square\s}
\newformulasymbol{A}{Stirnfläche}{A}{\square\metre}
\newformulasymbol{U}{Spannung}{U}{\V}
\newformulasymbol{dU}{Spannungshub}{\diff{U}}{\V}
%\newformulasymbol{Udiff}{Spannungshub}{\diff{U}}{\V}
\newformulasymbol{eta}{Wirkungsgrad}{\eta}{1}
\newformulasymbol{thetac}{Temperatur}{\vartheta_\mathrm{c}}{\celsius}
\newformulasymbol{Func}{Funktionalität}{\Xi}{1}
\newformulasymbol{fxi}{funktionale Dauer}{\xi}{\hour}

\newformulasymbol{U0}{Ruhespannung}{U_0}{\V}
\newformulasymbol{Ud}{Zwischenkreisspannung}{U_\mathrm{d}}{\V}
\newformulasymbol{U0av}{mittlere Ruhespannung}%
  {\bar{U\mushift{3}}\mushift{-3}_0}{\V}

\newformulasymbol{Uxy1}{Test A}{U_{\bar{\mathrm{x}}\mathrm{y}}}{\V}
\newformulasymbol{Uxy2}{Test B}{U_{\mathrm{x}\bar{\mathrm{y}}}}{\V}
\newformulasymbol{Uxy0}{Test C}{U_{\bar{\mathrm{xy}}}}{\V}
\newformulasymbol{Uxy3}{Test D}{U_{\bar{\mathrm{x}}\bar{\mathrm{y}}}}{\V}
\newformulasymbol{Uxy}{Test E}{U_{\mathrm{xy}}}{\V}
}
\begin{document}

$\bar{U}_0$

$\bar{U\mkern3mu}\mkern-3mu_0$

\gls{Uxy}\gls{Uxy0}\gls{Uxy1}\gls{Uxy2}\gls{Uxy3}

\gls{U0}\gls{Ud}\gls{U0av}

Und im Text:
Ein Beispiel sind \Pteq, \Pteq[0.5] \Pteq[1] und \Pteq[99].

Also habe ich folgende Fälle für die Formelzeichen

\gls{aavg}

\gls{A}

\gls{U}

\gls{dU}

\gls{eta}

\gls{thetac}

\gls{Func}

\gls{fxi}

\printsymbols[style=symbxltab]

\end{document}


_________________
TUD-Script-Klassen für das Corporate Design der TU Dresden

Anwenderhandbuch: CTAN-Mirror oder texdoc tudscr
Anwenderleitfaden: CTAN-Mirror oder texdoc treatise
Schriftinstallation: Skripte zum Download

LyX-Layoutdateien und Befehlsvervollständigung für TeXstudio
Übersicht zu allen veröffentlichten Versionen


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Sortierung im Formelzeichenverzeichnis
BeitragVerfasst: Freitag 12. Februar 2021, 14:33 
Offline

Registriert: Freitag 9. September 2011, 14:57
Beiträge: 541
Ich nehme jetzt mal an, die Lösung hat für deine Belange funktioniert. Dann wäre es durchaus wünschenswert, auch eine entsprechende Rückmeldung zu geben...

_________________
TUD-Script-Klassen für das Corporate Design der TU Dresden

Anwenderhandbuch: CTAN-Mirror oder texdoc tudscr
Anwenderleitfaden: CTAN-Mirror oder texdoc treatise
Schriftinstallation: Skripte zum Download

LyX-Layoutdateien und Befehlsvervollständigung für TeXstudio
Übersicht zu allen veröffentlichten Versionen


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Sortierung im Formelzeichenverzeichnis
BeitragVerfasst: Mittwoch 17. März 2021, 07:45 
Offline

Registriert: Samstag 7. September 2019, 17:17
Beiträge: 20
Entschuldige bitte, dass ich mich nicht früher wieder gemeldet habe, ich konnte leider aus Zeitgründen nicht an dem Thema weiter arbeiten.
Ich habe jetzt aber alle Formelzeichen zusammen und habe mir noch mal Gedanken gemacht, welche Fälle die Sortierung berücksichtigen muss.

Mit deiner Lösung vom 26.1. habe ich jetzt folgende Sortierungsschlüssel:
Code:
041 u
041 U
041 U_0       % U_0
041 U_dis     % U_\mathrm{dis}
041 U|02_{0}  % \bar{U}_0
041 U|02_dis  % \bar{U]_\mathrm{dis}
041 U|05      % \diff{U} <-- \newcommand*\diff[1]{\upDelta#1}

Diese werden wie oben sortiert dargestellt.

Ich habe noch einmal nach der Sortierung nach Duden bzw. DIN 5007 geschaut: Buchstaben mit Sonderzeichen wie \bar sollte eigentlich wie der normale Buchstabe behandelt werden und ich finde es stimmig, wenn sie nach ihrem entsprechenden Buchstaben ohne Sonderzeichen einsortiert würden, wobei die Reihenfolge der Sonderzeichen anscheinend beliebig ist. Konkret:
Code:
041 u
041 U         % U nach u
041 U|05      % \diff{U} nach U
041 U_0       % U_0 nach u, U, \xxx{U}   
041 U|02_{0}  % \bar{U} nach U
041 U_dis     % Index d nach 0
041 U|02_dis  % \bar{U}_\mathrm{dis} nach U_\mathrm{dis}


Könnte man den Schlüssel hinten dranhängen und standardmäßig an jedes Zeichen einen |00-Schlüssel anhängen?
Code:
041 u|00
041 U|00
041 U|05     
041 U_0|00       
041 U_{0}|02
041 U_dis|00     
041 U_dis|02

Wenn es mehrere Sonderzeichen gibt, wie in dem von dir beschriebenen Beispiel, könnte man diese als längere Kette anhängen. Wobei ich mir nicht sicher bin, wie die Zerlegung der Formel in deinem Code funktioniert... vielleicht vergibt man für jede Gruppe einen "Sonderzeichen-Schlüssel"?
Code:
041 U_{xy}|00|00      % U_{\mathrm{xy}}
041 U_{xy}|00|02      % U_{\bar{\mathrm{xy}}}
041 U_{xy}|00|02|00   % U_{\bar{\mathrm{x}}\mathrm{y}}
041 U_{xy}|00|00|02   % U_{\mathrm{x}\bar{\mathrm{y}}}
041 U_{xy}|00|02|02   % U_{\bar{\mathrm{x}}\bar{\mathrm{y}}}  <-- hier würden jetzt die getrennten Gruppen zur Sortierung weiter unten führen, was ich aber in Ordnung finde.


Zu deinem Vorschlag, dass Label anzuhängen: Ist für mich eine gangbare Alternative, wenn das obige Zerlegen nicht umsetzbar ist.
Allerdings wäre mir es lieber, mit einem sort-Key die volle Kontrolle über die Sortierung zu haben.
Ansonsten wäre ich mit der Benennung der Variablen an die Sortierung geknüpft, was bei mir zu Problemen führt, da die Labels teilweise nichts mit dem ausgeschriebenen Formelzeichen zu tun haben.
Das könnte vielleicht so aussehen:
Code:
\newformulasymbol{U}{elektrische Spannung}{U}{\V}
\newformulasymbol[sort=041 U0]{dU}{Spannungshub}{\diff{U}}{\V}  % nach "041 U" aber vor "041 U_0"
\newformulasymbol{UO}{Ruhespannung}{U_0}{\V}



Sorry noch mal, dass ich nicht früher geantwortet habe. Würde mich auf Antwort von dir freuen!


Weiteres:
  • Übrigens bin ich deiner Empfehlung gefolgt und habe alle Konstrukte mit vorheriger Definition der Formelzeichen als \newcommand entfernt und die \glslink-Konstrukte mit separatem Befehl nach deiner Empfehlung umgesetzt. Funktioniert super! Hatte echt den Wald vor lauter Bäumen nicht mehr gesehen.
  • Die unsäglichen CD-Schriften benutze ich nicht -- deiner Empfehlung aus der Anleitung folgend ;) Ich habe lmodern für Fließtext und Formeln.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Sortierung im Formelzeichenverzeichnis
BeitragVerfasst: Mittwoch 17. März 2021, 13:16 
Offline

Registriert: Freitag 9. September 2011, 14:57
Beiträge: 541
xfa hat geschrieben:
Mit deiner Lösung vom 26.1. habe ich jetzt folgende Sortierungsschlüssel:
Code:
...

Diese werden wie oben sortiert dargestellt.

Ich habe noch einmal nach der Sortierung nach Duden bzw. DIN 5007 geschaut: Buchstaben mit Sonderzeichen wie \bar sollte eigentlich wie der normale Buchstabe behandelt werden und ich finde es stimmig, wenn sie nach ihrem entsprechenden Buchstaben ohne Sonderzeichen einsortiert würden, wobei die Reihenfolge der Sonderzeichen anscheinend beliebig ist. Konkret:

Wie bereits geschrieben, funktioniert die Lösung vom 26.1. nicht in Kombination mit deinen Anforderungen. Deswegen der Vorschlag einer semi-automatisierten Lösung vom 28.1.

xfa hat geschrieben:
Wenn es mehrere Sonderzeichen gibt, wie in dem von dir beschriebenen Beispiel, könnte man diese als längere Kette anhängen. Wobei ich mir nicht sicher bin, wie die Zerlegung der Formel in deinem Code funktioniert... vielleicht vergibt man für jede Gruppe einen "Sonderzeichen-Schlüssel"?
Code:
041 U_{xy}|00|00      % U_{\mathrm{xy}}
041 U_{xy}|00|02      % U_{\bar{\mathrm{xy}}}
041 U_{xy}|00|02|00   % U_{\bar{\mathrm{x}}\mathrm{y}}
041 U_{xy}|00|00|02   % U_{\mathrm{x}\bar{\mathrm{y}}}
041 U_{xy}|00|02|02   % U_{\bar{\mathrm{x}}\bar{\mathrm{y}}}  <-- hier würden jetzt die getrennten Gruppen zur Sortierung weiter unten führen, was ich aber in Ordnung finde.



Man kann vieles machen... Das würde allerdings einen komplett eigenständigen Stack benötigen, und das Parsen des Argumentes würde noch aufwändiger werden. Wie du richtig bemerkt hast, müsste zusätzlich definiert werden, welche Akzente und Auszeichnungsbefehle -- und deren Kombinationen -- wie sortiert werden sollen. Sinnvollerweise sollte das dann so implementiert werden, dass sich dies auch noch leicht erweitern lässt. Du kannst dich da gerne austoben, ich habe absolut keine Zeit dafür.

xfa hat geschrieben:
Zu deinem Vorschlag, dass Label anzuhängen: Ist für mich eine gangbare Alternative, wenn das obige Zerlegen nicht umsetzbar ist. Allerdings wäre mir es lieber, mit einem sort-Key die volle Kontrolle über die Sortierung zu haben. Ansonsten wäre ich mit der Benennung der Variablen an die Sortierung geknüpft, was bei mir zu Problemen führt, da die Labels teilweise nichts mit dem ausgeschriebenen Formelzeichen zu tun haben. Das könnte vielleicht so aussehen:
Code:
\newformulasymbol{U}{elektrische Spannung}{U}{\V}
\newformulasymbol[sort=041 U0]{dU}{Spannungshub}{\diff{U}}{\V}  % nach "041 U" aber vor "041 U_0"
\newformulasymbol{UO}{Ruhespannung}{U_0}{\V}



Der sort-Key hat in allen bisher vorgestellten Varianten funktioniert, ließ sich allerdings nicht sehr komfortabel nutzen. Deshalb hier ein weiterer Vorschlag zur Güte. Der Befehl \newformulasymbol akzeptiert jetzt als optionales Argument den Schlüssel sortsymbol, womit sich die Sortierung passend zum Formelzeichen aber vollständig losgelöst vom vergebenen Label definieren lässt. Soll heißen \newformulasymbol{<Label>}{<Bezeichnung>}{<Formelzeichen>}{<Einheit>} sortiert:
  • \newformulasymbol{dU}{...}{\diff{U}}{\V} erzeugt Schlüssel 041 U <dU>
  • \newformulasymbol[sortsymbol=xxx]{dU}{...}{\diff{U}}{\V} erzeugt 041 U <xxx>
  • \newformulasymbol[sortsymbol=\bar{Y}|]{dU}{...}{\diff{U}}{\V} erzeugt 049 Y <dU>
  • \newformulasymbol[sortsymbol=\bar{Y}|xxx]{dU}{...}{\diff{U}}{\V} erzeugt 049 Y <xxx>

Damit solltest du hoffentlich alles erschlagen können. Ich habe auch noch die Ausgabe im Log etwas erweitert, damit du schnell sehen kannst, welcher definierter Eintrag welchen Sortierschlüssel generiert hat.

Code:
\documentclass[english,ngerman,cdfont=false]{tudscrreprt}
\usepackage{iftex}
\iftutex
  \usepackage{fontspec}
\else
  \usepackage[T1]{fontenc}
  \usepackage[ngerman=ngerman-x-latest]{hyphsubst}
\fi
\usepackage{babel}
\usepackage{xltabular}
\usepackage{booktabs}
\usepackage{siunitx}
\usepackage{lmodern}

\AfterPackage*{hyperref}{%
\usepackage[%
%  acronym,% Abkürzungen
  symbols,% Formelzeichen
  nomain,% kein Glossar
  nogroupskip,%
  toc,%
  section=chapter,%
  nostyles,%
  translate=babel,%
% mit Tex Live einfach verwendbar
  xindy={language=german-din},
]{glossaries}
\makeglossaries
}% Ende von AfterPackage

\makeatletter
\newcommand*\glssort@roman{%
  a,A,b,B,c,C,d,D,e,E,f,F,g,G,h,H,i,I,j,J,k,K,l,L,m,M,
  n,N,o,O,p,P,q,Q,r,R,s,S,t,T,u,U,v,V,w,W,x,X,y,Y,z,Z%
}
\newcommand*\glssort@greek{%
  \alpha,\Alpha,\beta,\varbeta,\Beta,\gamma,\Gamma,\delta,\Delta,%
  \epsilon,\varepsilon,\Epsilon,\zeta,\Zeta,\eta,\Eta,\theta,\vartheta,\Theta,%
  \iota,\Iota,\kappa,\varkappa,\Kappa,\lambda,\Lambda,\mu,\Mu,\nu,\Nu,\xi,\Xi,%
  \omicron,\Omicron,\pi,\varpi,\Pi,\rho,\varrho,\Rho,\sigma,\varsigma,\Sigma,%
  \tau,\Tau,\upsilon,\Upsilon,\phi,\varphi,\Phi,\chi,\Chi,\psi,\Psi,%
  \omega,\varomega,\Omega%
}
\newcommand*\diff[1]{\upDelta#1}
\newcommand*\glssort@accent{%
  \diff,\acute,\bar,\breve,\check,\dot,\ddot,\dddot,\ddddot,%
  \hat,\widehat,\grave,\tilde,\widetilde,\vec,\mathring,%
  \Acute,\Bar,\Breve,\Check,\Dot,\Ddot,\Hat,\Grave,\Tilde,\Vec%
}
\newcommand*\glssort@index[5]{%
  \begingroup%
    \glssort@sanitize\@tempa{#2}%
    % erster Token für Vergleich
    \def\@tempc##1##2\@nil{\def\@tempb{##1}}%
    \expandafter\@tempc\@tempa\@nil%
    \@tempswafalse%
    \@tempcnta=0%
    % Schleife für Token-Vergleich aus Listen \glssort@roman und \glssort@greek
    \def\do##1{%
      \if@tempswa\else%
        \def\@tempc{##1}%
        \ifx\@tempb\@tempc\@tempswatrue\fi%
        \if@tempswa\else\advance\@tempcnta\@ne\fi%
      \fi%
    }%
    \edef\@tempc{\expandonce\glssort@roman,\expandonce\glssort@greek}%
    \expandafter\docsvlist\expandafter{\@tempc}%
    \edef\@tempa{%
      \unexpanded{\edef\@tempa}{%
        \noexpand\zap@space\detokenize\expandafter{\@tempa}%
        \space\noexpand\@empty%
      }%
    }%
    \@tempa%
    \edef\@tempa{%
      \endgroup%
      \unexpanded{\def#1}{%
        \ifnum\@tempcnta<100 0\fi\ifnum\@tempcnta<10 0\fi\the\@tempcnta%
        \space\@tempa\space<#3>%
      }%
    }%
  \@tempa%
  \typeout{====== sort index: `#1' - #5}%
  \typeout{\@spaces\@spaces\@spaces input: `\detokenize{#2}' - \detokenize{#4}}%
}
\AfterPackage*{glossaries}{%
  \newcommand*\symbollettergroup{}
  \newcommand*\newformulasymbol[5][]{%
    \ifisgreeksymbol{#4}{%
      \renewcommand*{\symbollettergroup}{greekletters}%
    }{%
      \renewcommand*{\symbollettergroup}{romanletters}%
    }%
    \begingroup%
      \let\@tempb\@empty%
      \let\@tempc\@empty%
      % zusätzlicher Key 'sortsymbol' wird hier herausgefiltert, Wert in \@tempc
      % restliche optionale Argumente werden in \@tempb gesichert
      \def\@tempa##1,sortsymbol=##2,##3\@nil{%
        \IfArgIsEmpty{##1}{}{\appto\@tempb{##1}}%
        \IfArgIsEmpty{##2}{}{\def\@tempc{##2}}%
        \IfArgIsEmpty{##3}{}{\@tempa,##3\@nil}%
      }%
      \@tempa,#1,sortsymbol=,\@nil%
      \def\@tempa{%
        type=symbols,%
        parent={\symbollettergroup},%
        name={#3},%
        description={\nopostdesc},%
        symbol={\ensuremath{#4}},%
        user1={\si{#5}}%
      }%
      \eappto\@tempa{\expandonce\@tempb}%
      \ifx\@tempc\@empty%
        \glssort@index\@tempb{#4}{#2}{#3}{default key and label}%
      \else%
        \def\@tempb##1|##2|##3\@nil{%
          \IfArgIsEmpty{##3}{%
            \glssort@index\@tempb{#4}{##1}{#3}{default key, custom label}%
          }{%
            \IfArgIsEmpty{##2}{%
              \glssort@index\@tempb{##1}{#2}{#3}{custom key, default label}%
            }{%
              \glssort@index\@tempb{##1}{##2}{#3}{custom key and label}%
            }%
          }%
        }%
        \expandafter\@tempb\@tempc||\@nil%
      \fi%
      \epreto\@tempa{sort={\@tempb},}%
      \edef\@tempb{%
        \endgroup%
        \unexpanded{\newglossaryentry{#2}}{\expandonce\@tempa}%
      }%
    \@tempb%
  }%
  \defglsentryfmt[symbols]{%
    \ifmmode%
      \glssymbol{\glslabel}%
    \else%
      \glsgenentryfmt~\glsentrysymbol{\glslabel}%
    \fi%
  }
  \providecommand*\greeklettersname{Greek letters}
  \providecommand*\romanlettersname{Roman letters}
  \newglossaryentry{greekletters}{%
    type=symbols,%
    name={\greeklettersname},%
    description={\nopostdesc},%
    sort={a}%
  }
  \newglossaryentry{romanletters}{%
    type=symbols,%
    name={\romanlettersname},%
    description={\nopostdesc},%
    sort={b}%
  }
  \newglossarystyle{symbxltab}{%
    \newcommand*\symbollevel{-1}%
    \renewenvironment{theglossary}{%
      \xltabular[l]{\linewidth}{ccXl}%
    }{%
      \endxltabular%
    }%
    \renewcommand*{\glsgroupheading}[1]{}%
    \renewcommand*{\glsgroupskip}{}%
    \newcommand*\symbolhead{%
      \toprule
      \bfseries Formelzeichen & \bfseries Einheit &
      \bfseries Bezeichnung %& \bfseries Seite(n)
      \tabularnewline\midrule
    }%
    \renewcommand*{\glossaryheader}{%
      \endfirsthead%
      \symbolhead\endhead%
      \bottomrule\endfoot%
      \gdef\symbollevel{-1}%
    }%
    \renewcommand*{\glossentry}[2]{%
      \ifglshaschildren{##1}{%
        \ifnum\symbollevel>0\relax%
          \tabularnewline\bottomrule\tabularnewline[\smallskipamount]%
        \fi
        \gdef\symbollevel{0}%
        \tabularnewline[%
          \arraystretch\dimexpr-\ht\strutbox-\dp\strutbox\relax%
        ]%
%        \multicolumn{4}{@{}l@{}}{\minisec{\glsentryname{##1}}}%mit Seitenangabe
        \multicolumn{3}{@{}l@{}}{\minisec{\glsentryname{##1}}}%ohne Seitenangabe
      }{%
        \GlossariesWarning{%
          There are no childrens for entry ##1.\MessageBreak
          Nothing will be printed. Maybe you should\MessageBreak
          specify ##1 as a child entry.
        }%
      }%
    }%
    \renewcommand*{\subglossentry}[3]{%
      \ifnum\symbollevel=0\relax%
        \tabularnewline[\medskipamount]\symbolhead%
      \else%
        \tabularnewline
      \fi%
      \gdef\symbollevel{##1}%
      \glsentryitem{##2}% Entry number if required
      \glstarget{##2}{\glossentrysymbol{##2}} &
      \glsentryuseri{##2} &
      \glossentryname{##2}%
      %& ##3% mit Seitenangabe
    }%
  }
}% Ende von AfterPackage
\newcommand*\mushift[1]{\mkern#1mu}
\newcommand*\barshift[2]{\bar{#1\mushift{#2}}\mushift{-#2}}
\newcommand*\glssort@sanitize[2]{%
  \begingroup%
    \def\do##1{\let##1\@firstofone}%
    \expandafter\docsvlist\expandafter{\glssort@accent}%
    \let\boldsymbol\relax%
    \let\mathrm\@firstofone%
    \let\mushift\@gobble%
    \protected@edef\@tempa{\endgroup\unexpanded{\def#1}{#2}}%
  \@tempa%
}
\newcommand*\ifisgreeksymbol[1]{%
  \begingroup%
    \glssort@sanitize\@tempa{#1}%
    \def\@tempb##1##2\@nil{\def\@tempa{##1}}%
    \expandafter\@tempb\@tempa\@nil%
    \edef\@tempb{%
      \noexpand\in@{,\expandonce\@tempa,}{,\expandonce\glssort@greek,}%
    }%
    \@tempb%
    \ifin@
      \aftergroup\@firstoftwo%
    \else%
      \aftergroup\@secondoftwo%
    \fi%
  \endgroup%
}
\makeatother
\usepackage[colorlinks]{hyperref}

\AtBeginDocument{
\newformulasymbol{u}{Test}{u}{}
\newformulasymbol{U}{Spannung}{U}{\V}
\newformulasymbol{dUold}{Spannungshub (alt)}{\diff{U}}{\V}
\newformulasymbol[sortsymbol=Udiff]{dU}{Spannungshub (neu)}{\diff{U}}{\V}
\newformulasymbol[sortsymbol=U_0|Udiff]{cU}{Spannungshub (custom)}{\diff{U}}{\V}
\newformulasymbol{U0}{Ruhespannung}{U_0}{\V}
\newformulasymbol{Ud}{Zwischenkreisspannung}{U_\mathrm{d}}{\V}
\newformulasymbol{U0av}{mittlere Ruhespannung}{\bar{U_0}}{\V}

}
\begin{document}

\gls{u}
\gls{U}
\gls{U0}
\gls{Ud}
\gls{U0av}
\gls{dUold}
\gls{dU}
\gls{cU}

\printsymbols[style=symbxltab]

\end{document}

_________________
TUD-Script-Klassen für das Corporate Design der TU Dresden

Anwenderhandbuch: CTAN-Mirror oder texdoc tudscr
Anwenderleitfaden: CTAN-Mirror oder texdoc treatise
Schriftinstallation: Skripte zum Download

LyX-Layoutdateien und Befehlsvervollständigung für TeXstudio
Übersicht zu allen veröffentlichten Versionen


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Sortierung im Formelzeichenverzeichnis
BeitragVerfasst: Samstag 27. März 2021, 16:12 
Offline

Registriert: Samstag 7. September 2019, 17:17
Beiträge: 20
Tausend Dank, jetzt habe ich alles wunderbar hinbekommen!
So ist die Lösung wirklich sehr flexibel!


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Sortierung im Formelzeichenverzeichnis
BeitragVerfasst: Samstag 27. März 2021, 18:03 
Offline

Registriert: Freitag 9. September 2011, 14:57
Beiträge: 541
Gern geschehen!

_________________
TUD-Script-Klassen für das Corporate Design der TU Dresden

Anwenderhandbuch: CTAN-Mirror oder texdoc tudscr
Anwenderleitfaden: CTAN-Mirror oder texdoc treatise
Schriftinstallation: Skripte zum Download

LyX-Layoutdateien und Befehlsvervollständigung für TeXstudio
Übersicht zu allen veröffentlichten Versionen


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Sortierung im Formelzeichenverzeichnis
BeitragVerfasst: Montag 26. April 2021, 07:06 
Offline

Registriert: Samstag 7. September 2019, 17:17
Beiträge: 20
Ich belebe den Thread noch einmal wieder, da ein seltsames Problem seit TexLive 2021 auftritt:

Habe gestern TexLive 2021 installiert und dann einen Overflow "Tex Capacity exceeded"-Fehler bekommen, obwohl das Dokument zuvor unter TexLive 2020 einwandfrei kompiliert hat.
Ich konnte das Problem auf eine Formatierung von Cleveref (Gleichungen ohne Bezeichnung referenzieren: (1.1)) in Zusammenhang mit dem Code für die Formelzeichenformatierung (oder Glossaries allgemein) eingrenzen.
Heute morgen ist mir noch eine Alternative zur Konfiguration von Cleveref eingefallen, die läuft anstandslos...

Das Problem ist also nicht akut, aber vielleicht trotzdem interessant. Ich kann mir jedenfalls keinen Reim drauf machen.

Cleveref Variante 1 --> funktioniert nur noch ohne den glossaries-Abschnitt, funktionierte aber mit TexLive 2020
Code:
\usepackage{cleveref}
\crefname{equation}{}{}   


Cleveref Variante 2 --> funktioniert zusammen mit glossaries-Abschnitt unter TexLive 2021
Code:
\usepackage{cleveref}
\crefformat{equation}{(#2#1#3)}


MWE:
Code:
\documentclass[
   english,
   ngerman,
   ]{tudscrbook}
   
\usepackage{babel}
\usepackage{fontspec}
\usepackage{amsmath}
\usepackage{siunitx}
\usepackage{hyperref}
\usepackage{booktabs}
\usepackage{tabu}

\AtBeginDocument{
\newformulasymbol{A}{Stirnfläche}{A}{\square\metre}
\newformulasymbol{U}{Spannung}{U}{\V}
}

\AfterPackage*{hyperref}{%
   \usepackage[%
      nomain,
      xindy={language=german-duden}, % Sortierung nach Duden
%      acronym,
      symbols,
      nopostdot,
      shortcuts,
      toc
   ]{glossaries}
   \usepackage{glossary-mcols} % mehrspaltiges Glossar
   \makeglossaries
}% AfterPackage

\renewcommand{\glossarypreamble}{%
   \small%
   \tabulinesep=.5mm%
}

\makeatletter
\newcommand*\glssort@roman{%
  a,A,b,B,c,C,d,D,e,E,f,F,g,G,h,H,i,I,j,J,k,K,l,L,m,M,%
  n,N,o,O,p,P,q,Q,r,R,s,S,t,T,u,U,v,V,w,W,x,X,y,Y,z,Z%
}
\newcommand*\glssort@greek{%
  \alpha,\Alpha,\beta,\varbeta,\Beta,\gamma,\Gamma,\delta,\Delta,%
  \epsilon,\varepsilon,\Epsilon,\zeta,\Zeta,\eta,\Eta,\theta,\vartheta,\Theta,%
  \iota,\Iota,\kappa,\varkappa,\Kappa,\lambda,\Lambda,\mu,\Mu,\nu,\Nu,\xi,\Xi,%
  \omicron,\Omicron,\pi,\varpi,\Pi,\rho,\varrho,\Rho,\sigma,\varsigma,\Sigma,%
  \tau,\Tau,\upsilon,\Upsilon,\phi,\varphi,\Phi,\chi,\Chi,\psi,\Psi,%
  \omega,\varomega,\Omega%
}
\newcommand*\glssort@accent{%
  \acute,\bar,\breve,\check,\diff,\dot,\ddot,\dddot,\ddddot,%
  \hat,\widehat,\grave,\tilde,\widetilde,\vec,\mathring,%
  \Acute,\Bar,\Breve,\Check,\Dot,\Ddot,\Hat,\Grave,\Tilde,\Vec%
}
\newcommand*\glssort@index[5]{%
  \begingroup%
    \glssort@sanitize\@tempa{#2}%
    % erster Token für Vergleich
    \def\@tempc##1##2\@nil{\def\@tempb{##1}}%
    \expandafter\@tempc\@tempa\@nil%
    \@tempswafalse%
    \@tempcnta=0%
    % Schleife für Token-Vergleich aus Listen \glssort@roman und \glssort@greek
    \def\do##1{%
      \if@tempswa\else%
        \def\@tempc{##1}%
        \ifx\@tempb\@tempc\@tempswatrue\fi%
        \if@tempswa\else\advance\@tempcnta\@ne\fi%
      \fi%
    }%
    \edef\@tempc{\expandonce\glssort@roman,\expandonce\glssort@greek}%
    \expandafter\docsvlist\expandafter{\@tempc}%
    \edef\@tempa{%
      \unexpanded{\edef\@tempa}{%
        \noexpand\zap@space\detokenize\expandafter{\@tempa}%
        \space\noexpand\@empty%
      }%
    }%
    \@tempa%
    \edef\@tempa{%
      \endgroup%
      \unexpanded{\def#1}{%
        \ifnum\@tempcnta<100 0\fi\ifnum\@tempcnta<10 0\fi\the\@tempcnta%
        \space\@tempa\space<#3>%
      }%
    }%
  \@tempa%
  \typeout{sort idx: #1 from '\detokenize{#2}'}%  \detokenize{#4} (#5)
}
\AfterPackage*{glossaries}{%
  \newcommand*\symbollettergroup{}
  \newcommand*\newformulasymbol[5][]{%
    \ifisgreeksymbol{#4}{%
      \renewcommand*{\symbollettergroup}{greekletters}%
    }{%
      \renewcommand*{\symbollettergroup}{romanletters}%
    }%
    \begingroup%
      \let\@tempb\@empty%
      \let\@tempc\@empty%
      % zusätzlicher Key 'sortsymbol' wird hier herausgefiltert, Wert in \@tempc
      % restliche optionale Argumente werden in \@tempb gesichert
      \def\@tempa##1,sortsymbol=##2,##3\@nil{%
        \IfArgIsEmpty{##1}{}{\appto\@tempb{##1}}%
        \IfArgIsEmpty{##2}{}{\def\@tempc{##2}}%
        \IfArgIsEmpty{##3}{}{\@tempa,##3\@nil}%
      }%
      \@tempa,#1,sortsymbol=,\@nil%
      \def\@tempa{%
        type=symbols,%
        parent={\symbollettergroup},%
        name={#3},%
        description={\nopostdesc},%
        symbol={\ensuremath{#4}},%
        user1={\si{#5}}%
      }%
      \eappto\@tempa{\expandonce\@tempb}%
      \ifx\@tempc\@empty%
        \glssort@index\@tempb{#4}{#2}{#3}{default key and label}%
      \else%
        \def\@tempb##1|##2|##3\@nil{%
          \IfArgIsEmpty{##3}{%
            \glssort@index\@tempb{#4}{##1}{#3}{default key, custom label}%
          }{%
            \IfArgIsEmpty{##2}{%
              \glssort@index\@tempb{##1}{#2}{#3}{custom key, default label}%
            }{%
              \glssort@index\@tempb{##1}{##2}{#3}{custom key and label}%
            }%
          }%
        }%
        \expandafter\@tempb\@tempc||\@nil%
      \fi%
      \epreto\@tempa{sort={\@tempb},}%
      \edef\@tempb{%
        \endgroup%
        \unexpanded{\newglossaryentry{#2}}{\expandonce\@tempa}%
      }%
    \@tempb%
  }%
  \defglsentryfmt[symbols]{%
%    \ifmmode%
      \glssymbol{\glslabel}%
%    \else%
%      \glsgenentryfmt~\glsentrysymbol{\glslabel}%
%    \fi%
  }
  % localization
  \providecaptionname{%
    american,australian,british,canadian,english,newzealand%
  }{\greeklettersname}{Greek letters}
  \providecaptionname{%
    german,ngerman,austrian,naustrian,swissgerman,nswissgerman%
  }{\greeklettersname}{Griechische Symbole}
  \providecaptionname{%
    american,australian,british,canadian,english,newzealand%
  }{\romanlettersname}{Roman letters}
  \providecaptionname{%
    german,ngerman,austrian,naustrian,swissgerman,nswissgerman%
  }{\romanlettersname}{Lateinische Symbole}
  \newglossaryentry{greekletters}{%
    type=symbols,%
    name={\greeklettersname},%
    description={\nopostdesc},%
    sort={a}%
  }
  \newglossaryentry{romanletters}{%
    type=symbols,%
    name={\romanlettersname},%
    description={\nopostdesc},%
    sort={b}%
  }
  % Stil für Formelzeichenverzeichnis
  \newglossarystyle{symbsplitlongtabu}{%
   \newcommand*\symbollevel{-1}%
    \renewenvironment{theglossary}{%
     \begin{longtabu}[l]{llX[3]<{\strut}}% ’spread 0pt’ defekt in v2.9
    }{%
     \end{longtabu}%
    }%
    \renewcommand*{\glsgroupheading}[1]{}%
    \renewcommand*{\glsgroupskip}{}%
    \newcommand*\symbolhead{%
      \toprule\bfseries Symbol & \bfseries Einheit & \bfseries Bezeichnung\tabularnewline\midrule
    }%
    \renewcommand*{\glossaryheader}{%
      \endfirsthead%
      \symbolhead\endhead%
      \bottomrule\endfoot%
      \gdef\symbollevel{-1}%
    }%
    \renewcommand*{\glossentry}[2]{%
      \ifglshaschildren{##1}{%
        \ifnum\symbollevel>0\relax%
        \tabularnewline\bottomrule\tabularnewline[\smallskipamount]%
        \fi
        \gdef\symbollevel{0}%
        \tabularnewline[%
          \arraystretch\dimexpr-\ht\strutbox-\dp\strutbox\relax%
        ]%
          \multicolumn{3}{@{}l@{}}{\minisec{\glsentryname{##1}}}%
      }{%
        \GlossariesWarning{%
          There are no childrens for entry ##1.\MessageBreak
          Nothing will be printed. Maybe you should\MessageBreak
          specify ##1 as a child entry.
        }%
      }%
    }%
    \renewcommand*{\subglossentry}[3]{%
      \ifnum\symbollevel=0\relax%
        \tabularnewline[\medskipamount]\symbolhead%
      \else%
        \tabularnewline
      \fi%
      \gdef\symbollevel{##1}%
      \glsentryitem{##2}% Entry number if required
      \glstarget{##2}{\glossentrysymbol{##2}} &
      \glsentryuseri{##2} &
      \glossentryname{##2} \enskip {\scriptsize ##3}%
    }%
  }
}% Ende von AfterPackage
\newcommand*\glssort@sanitize[2]{%
  \begingroup%
    \def\do##1{\let##1\@firstofone}%
    \expandafter\docsvlist\expandafter{\glssort@accent}%
    \let\boldsymbol\relax%
    \let\mathrm\@firstofone%
    \let\mushift\@gobble%
    \protected@edef\@tempa{\endgroup\unexpanded{\def#1}{#2}}%
  \@tempa%
}
\newcommand*\ifisgreeksymbol[1]{%
  \begingroup%
    \glssort@sanitize\@tempa{#1}%
    \def\@tempb##1##2\@nil{\def\@tempa{##1}}%
    \expandafter\@tempb\@tempa\@nil%
    \edef\@tempb{%
      \noexpand\in@{,\expandonce\@tempa,}{,\expandonce\glssort@greek,}%
    }%
    \@tempb%
    \ifin@
      \aftergroup\@firstoftwo%
    \else%
      \aftergroup\@secondoftwo%
    \fi%
  \endgroup%
}
\makeatother

\usepackage{cleveref}
\crefname{equation}{}{}            % --> Tex capacity exceeded
%\crefformat{equation}{(#2#1#3)}   % --> das funktioniert

\begin{document}
\begin{equation}
   A=1 \label{equ:A}
\end{equation}
\cref{equ:A}
\end{document}


p.s. Ich hoffe, es liegt nicht an tabu - das habe ich nämlich noch nicht auf das von dir empfohlene Paket angepasst ;)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Sortierung im Formelzeichenverzeichnis
BeitragVerfasst: Mittwoch 14. Juli 2021, 09:35 
Offline

Registriert: Freitag 9. September 2011, 14:57
Beiträge: 541
Das liegt an der Art und Weise, wie durch TUD-Script sprachabhängige Bezeichner initialisiert werden. Ich werde mir das irgendwann mal ansehen, das liegt allerdings in ferner Zukunft ;) Helfen kannst du dir mit \AtBeginDocument{\crefname{equation}{}{}}.

_________________
TUD-Script-Klassen für das Corporate Design der TU Dresden

Anwenderhandbuch: CTAN-Mirror oder texdoc tudscr
Anwenderleitfaden: CTAN-Mirror oder texdoc treatise
Schriftinstallation: Skripte zum Download

LyX-Layoutdateien und Befehlsvervollständigung für TeXstudio
Übersicht zu allen veröffentlichten Versionen


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 19 Beiträge ]  Gehe zu Seite Vorherige  1, 2

Alle Zeiten sind UTC + 1 Stunde


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast


Du darfst keine neuen Themen in diesem Forum erstellen.
Du darfst keine Antworten zu Themen in diesem Forum erstellen.
Du darfst deine Beiträge in diesem Forum nicht ändern.
Du darfst deine Beiträge in diesem Forum nicht löschen.
Du darfst keine Dateianhänge in diesem Forum erstellen.

Suche nach:
cron