Seite 1 von 1

Kopfzeile nicht in CAPS

Verfasst: Do 31. Okt 2019, 19:51
von PatrickW
Hallo!
Ich habe ein Symbol- und Abkürzungsverzeichnis mit glossaries erstellt. Dabei hält er nicht das Format der Kopfzeile ein. Normalerweise ist alles In CAPSLOCK in den restlichen Kapiteln, nur bei den durch glossaries erstellten Kapiteln ändert er es. Hoffe mir kann geholfen werden. Nachfolgend mein Minimalbeispiel (kürzer ging es meiner Meinung nicht)
\documentclass[a4paper,12pt]{article}

\usepackage[
   nomain,
   nonumberlist,
   toc,
   acronym,
   nopostdot,
   automake
]{glossaries}

\newglossary[slg]{symbols}{syi}{syg}{Symbolverzeichnis}
\newglossarystyle{symbole}           
   {%
      \renewenvironment{theglossary}              
         {\begin{longtable}[l]{@{}*3{p{\dimexpr (\textwidth-4\tabcolsep)/3}}@{}}}
         {\end{longtable}}
      \renewcommand*{\glossaryheader}                          
         {\bfseries Symbol
         &\bfseries Einheit
         &\bfseries Bezeichnung\\
         \endhead}                                         
      %\renewcommand*{\glsgroupheading}[1]{}                  
      \renewcommand*{\glossentry}[2]{%
         \glstarget{##1}                                      
         {\glossentryname{##1}}                     
         & \glossentrysymbol{##1}               
         & \glossentrydesc{##1}
         \tabularnewline                                  
         }
      \renewcommand*{\glsgroupskip}{\relax}%
   } 
   

\newglossarystyle{abkuerzungen}
   {%
      \renewenvironment{theglossary}                          
         {\begin{longtable}[l]{@{}*2{p{\dimexpr (\textwidth-4\tabcolsep)/2}}@{}}}
         {\end{longtable}}
      \renewcommand*{\glossaryheader} {}                     \renewcommand*{\glsgroupheading}[1]{}                  
      \renewcommand*{\glossentry}[2]{%
         \glstarget{##1}                                        
         {\textbf{\glossentryname{##1}}}                     
         & \glossentrydesc{##1}
         \tabularnewline                             
         }
      \renewcommand*{\glsgroupskip}{\relax}%
   }  
\makeglossaries

\usepackage{fancyhdr}

%%======= Kopf und Fußzeile in FANCY=======
\pagestyle{fancy}
%
\lhead{}
\chead{}
\rhead{\slshape \leftmark}
%%
\lfoot{}
\cfoot{\thepage}
\rfoot{}
%%
\renewcommand{\headrulewidth}{0.4pt}
\renewcommand{\footrulewidth}{0pt}


%% Beispiele
\newacronym{a_ems}{EMS}{Einmassenschwinger}
\newacronym{a_sz}{SZ}{Schwingungszustand}

\newglossaryentry{sym_ld}{
  name={\ensuremath{D}},
  symbol={[-]},
  description={ Lehrsches Dämpfungsmaß},
  sort=Lehrsches Dämpfungsmaß ,
  type=symbols
}

\begin{document}

\gls{a_sz} und \gls{a_ems} \gls{sym_ld}
\tableofcontents

\newpage
\printacronyms[
title= Abkürzungsverzeichnis,
style= abkuerzungen]

\newpage
\printglossary[
type=symbols,
style=symbole]

\newpage
\section{In Capslock}

\end{document}

Verfasst: Do 31. Okt 2019, 20:48
von Bartman
Benutze die Option ucmark, die Du im Abschnitt 2.2 "Sectioning, Headings and TOC Options" in glossaries-user.pdf findest.

Bei der Gelegenheit habe ich mich zu ein paar Änderungen hinreißen lassen. Das betrifft das Format der letzten Spalte im Symbolverzeichnis und die Befehle von fancyhdr.
\documentclass[a4paper,12pt]{article}
%\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\usepackage{array}% wird von tabularx geladen
\usepackage{ragged2e}% für \RaggedRight
\usepackage[
   nomain,
   nonumberlist,
   toc,
   acronym,
   nopostdot,
   automake,
   ucmark% <- eingefügt
]{glossaries}

\newglossary[slg]{symbols}{syi}{syg}{Symbolverzeichnis}
%\newglossary*{symbols}{Symbolverzeichnis}% Alternative

\newglossarystyle{symbole}          
   {%
      \renewenvironment{theglossary}              
         {\begin{longtable}[l]{
            @{}*2{p{\dimexpr(\textwidth-4\tabcolsep)/3}}
            >{\RaggedRight}p{\dimexpr(\textwidth-4\tabcolsep)/3}@{}
            }
         }
         {\end{longtable}}
      \renewcommand*{\glossaryheader}                          
         {\bfseries Symbol
         &\bfseries Einheit
         &\bfseries Bezeichnung\\
         \endhead}                                        
      %\renewcommand*{\glsgroupheading}[1]{}                  
      \renewcommand*{\glossentry}[2]{%
         \glstarget{##1}                                      
         {\glossentryname{##1}}                    
         & \glossentrysymbol{##1}              
         & \glossentrydesc{##1}
         \tabularnewline                                  
         }
      \renewcommand*{\glsgroupskip}{\relax}%
   }
   

\newglossarystyle{abkuerzungen}
   {%
      \renewenvironment{theglossary}                          
         {\begin{longtable}[l]{@{}*2{p{\dimexpr(\textwidth-4\tabcolsep)/2}}@{}}}
         {\end{longtable}}
      \renewcommand*{\glossaryheader}{}
      \renewcommand*{\glsgroupheading}[1]{}                  
      \renewcommand*{\glossentry}[2]{%
         \glstarget{##1}                                        
         {\textbf{\glossentryname{##1}}}                    
         & \glossentrydesc{##1}
         \tabularnewline                            
         }
      \renewcommand*{\glsgroupskip}{\relax}%
   }  
\makeglossaries

\usepackage{fancyhdr}

%%======= Kopf und Fußzeile in FANCY=======
\pagestyle{fancy}
%
\fancyhead{}
\fancyhead[R]{\slshape\leftmark}
%%
\renewcommand{\headrulewidth}{0.4pt}
\renewcommand{\footrulewidth}{0pt}


%% Beispiele
\newacronym{a_ems}{EMS}{Einmassenschwinger}
\newacronym{a_sz}{SZ}{Schwingungszustand}

\newglossaryentry{sym_ld}{
  name={\ensuremath{D}},
  symbol={[-]},
  description={Lehrsches Dämpfungsmaß},
  sort=Lehrsches Dämpfungsmaß,
  type=symbols
}

\begin{document}
\gls{a_sz} und \gls{a_ems} \gls{sym_ld}
\tableofcontents

\newpage
\printacronyms[title=Abkürzungsverzeichnis,style=abkuerzungen]

\newpage
\printglossary[type=symbols,style=symbole]

\newpage
\section{In Capslock}
\end{document}

Verfasst: Do 31. Okt 2019, 23:59
von PatrickW
Danke, das mit ucmark hat schon mal funktioniert.
{\begin{longtable}[l]{
            @{}*2{p{\dimexpr(\textwidth-4\tabcolsep)/3}}
            >{\RaggedRight}p{\dimexpr(\textwidth-4\tabcolsep)/3}@{}
            }
         }

Was genau bewirkt der ganze Code hier? ich habe den aus einem Beispiel und ich wüsste garnicht wie ich da selbst drauf kommen würde. Durch den obigen Code hat sich bei mir nichts verändert, jedoch würde ich sowieso gerne die 3.Spalte viel größer machen und die anderen kleiner, da man für das Symbol und die Einheit nicht soviel Platz brauch.

Wie kann ich das realisieren?

Verfasst: Fr 1. Nov 2019, 01:03
von Bartman
Der Befehl \dimexpr ermöglicht arithmetische Operationen, ohne das Paket calc laden zu müssen.

\tabcolsep steht für den Abstand zwischen den Spalten bzw. zwischen der ersten oder letzten Spalte und dem Rand. Die beiden zuletzt genannten Abstände werden durch @{} entfernt.

Die Erklärung der Spaltentypen dürfte in jeder LaTeX-Einführung enthalten sein. In der Dokumentation des Pakets array wird beschrieben, wie der Inhalt einer Spalte beeinflusst werden kann. Diese Informationen müssten aber auch in den erwähnten Einführungen zu finden sein. Auf die Herkunft des Befehls \RaggedRight habe ich in meinem Beispiel hingewiesen. Die Dokumentation des Pakets verrät Dir mehr.

Als Längenangabe im erforderlichen Argument des Spaltentyps für die letzte Spalte solltest Du Dir den Befehl \glsdescwidth des Pakets glossaries ansehen. Du könntest den zitierten Quelltext durch eine weniger aufwendige Spalteneinstellung wie z. B.
{\begin{longtable}[l]{
   @{}*2{p{2cm}}
   >{\RaggedRight}p{\glsdescwidth}@{}
   }
}
{\end{longtable}}
ersetzen.

Verfasst: Fr 1. Nov 2019, 09:17
von PatrickW
Ok werde ich mir mal zu Gemüte führen.
Was mir aufgefallen ist:
Wenn ich in meiner symbols.text ein neues Symbol einführe und das im Fließtext aufrufe, dann aktualisiert es sich nicht.
Es aktualisiert sich nur, wenn ich eine neue Abkürzung erstelle und sie im Text aufrufe oder wenn ich im Abkürzungsverzeichnis eine Änderung vornehme.
\input{./lib/symb}
\input{./lib/abkuerzungen}
Meine Symbol- und Abkürzungsverzeichnisse habe ich so in meiner main.tex aufgerufen.

Verfasst: Fr 1. Nov 2019, 10:40
von Gast
Gehört die neuerliche Frage nicht zu dem anderen Thema? Jedenfalls sehe ich nicht, dass das etwas mit der Frage der Kopfzeilen zu tun hat.

Verfasst: Fr 1. Nov 2019, 13:05
von PatrickW
Danke Gast, dass du so aufmerksam bist. Habe genau das gleiche nochmal in den anderen Thread geschrieben.