2

From this question, how do I change it to have first letter of every word in uppercase with a command and only first word's first letter in uppercase with another command (still supporting plural form) form like below:

\documentclass[a4paper,12pt]{article}
\usepackage{glossaries}
\usepackage{glossary-mcols}

\makeatletter \let\oldmakefirstuc\makefirstuc \renewcommand*{\makefirstuc}[1]{% \def\gls@add@space{}% \mfu@capitalisewords#1 @nil\mfu@endcap } \def\mfu@capitalisewords#1 #2\mfu@endcap{% \def\mfu@cap@first{#1}% \def\mfu@cap@second{#2}% \gls@add@space \oldmakefirstuc{#1}% \def\gls@add@space{ }% \ifx\mfu@cap@second@nnil \let\next@mfu@cap\mfu@noop \else \let\next@mfu@cap\mfu@capitalisewords \fi \next@mfu@cap#2\mfu@endcap } \makeatother

\newglossaryentry{word}{ name = {word}, description = {word description}, plural = {words}, descriptionplural = {words description} } \newglossaryentry{good word}{ name = {good word}, description = {good word description}, plural = {good words}, descriptionplural = {good words description}, parent = {word} } \makeglossaries

\begin{document}

  1. \gls{word}% correct

  2. \Gls{word}% correct

  3. \glspl{word}% correct

  4. \Glspl{word}% correct

  5. \glsfirst{word}% correct

  6. \Glsfirst{word}% correct

  7. \glsplfirst{word}% gives error

  8. \Glsplfirst{word}% gives error, doesn't capitalize

1p. \gls{good word}% correct

2p. \Gls{good word}% correct, it capitalizes every words first letter

3p. \glspl{good word}% correct

4p. \Glspl{good word}% correct, it capitalizes every words first letter and does plural

5p. \glsfirst{good word}% correct, it capitalizes every words first letter and does plural

6p. \Glsfirst{good word}% wrong, it should capitalize only first's words first letter.

7p. \glsplfirst{good word}% gives error, doesn't make plural

8p. \Glsplfirst{good word}% gives error, doesn't capitalize first word's first letter and doesn't make plural

\printglossary[style=mcoltreespannav]

\end{document}

Result: Result:

AmIanonIm
  • 83
  • 5

0 Answers0