TeX - LaTeX Asked by Torstein I. Bø on January 17, 2021
When using the acronym
package I would like to capitalize the first letter in the acronym description (e.g., Direct current). But when used in text I would like to have the word in lower letters.
documentclass{article}
usepackage{acronym}
begin{document}
begin{acronym}
acro{DC}{direct current}
end{acronym}
Batteries run on ac{DC}.
end{document}
Output:
DC direct current
Batteries run on direct current (DC).
You can patch the AC@@acro
macro that's responsible for printing the list of acronyms:
documentclass{article}
usepackage{acronym}
usepackage{etoolbox}
makeatletter
patchcmd{AC@@acro}{] #3}{] MakeUppercase #3}{}{}
patchcmd{AC@@acro}{] #3}{] MakeUppercase #3}{}{}
makeatother
%%% Alternative way (commented out because you may not have the package)
% usepackage{regexpatch}
% makeatletter
% xpatchcmd*{AC@@acro}{] #3}{] MakeUppercase #3}{}{}
% makeatother
begin{document}
begin{acronym}
acro{DC}{direct current}
end{acronym}
Batteries run on ac{DC}.
end{document}
With the most recent (2020) release of acronym
things have changed (and may also change in the future). The right patch, current as of December 2020 is
documentclass{article}
usepackage{acronym}
usepackage{etoolbox}
makeatletter
expandafterpatchcmdcsname AC@AC@prefix{}@acroendcsname{{#3}}{{MakeUppercase #3}}{}{}
expandafterpatchcmdcsname AC@AC@prefix{}@acroendcsname{{#3}}{{MakeUppercase #3}}{}{}
makeatother
begin{document}
begin{acronym}
acro{DC}{direct current}
end{acronym}
Batteries run on ac{DC}.
end{document}
Correct answer by egreg on January 17, 2021
A suggestion can be to define a new Command:
documentclass{article}
usepackage{acronym}
begin{document}
newcommand*FirstLetter[2]{#1}
begin{acronym}
acro{DC}{protectFirstLetter{D}{d}irect current}
end{acronym}
renewcommand*FirstLetter[2]{#2}
Batteries run on ac{DC}.
end{document}
Result:
DC Direct current
Batteries run on direct current (DC).
Do work without protect
inside acronym
you can make the definition with expl3
:
ExplSyntaxOn
cs_new_protected:Npn FirstLetter #1#2 { #1 }
ExplSyntaxOff
ExplSyntaxOn
cs_set_protected:Npn FirstLetter #1#2 { #2 }
ExplSyntaxOff
Answered by Marco Daniel on January 17, 2021
Get help from others!
Recent Questions
Recent Answers
© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP