Saltar al contenido

Comando para poner en mayúsculas la primera letra de cada palabra en una oración

Tenemos la mejor respuesta que encontramos por todo internet. Queremos que te sea de mucha ayuda y si puedes compartir alguna mejora hazlo con libertad.

Solución:

documentclassarticle
usepackagemakeidxmakeindex
newcommand*formatfirst[1]MakeUppercase#1
makeatletter
newcommand*mymacro[1]%
  expandafterformatfirstexpandafter@car #1@empty@nil%
  @cdr #1@empty@nil
newcommand*myMakeUpperCase[1]%
  def@myuppercasewords[email protected]#1 @nil%
    itshape@myuppercasewordsindex#[email protected]@myuppercasewords
def[email protected]#1 #2@nil%
  mymacro#1%
  ifx\#2\%
  else
    @ReturnAfterFi%
      space
      [email protected]#2@nil
    %
  fi 
longdef@ReturnAfterFi#1fifi#1 
makeatother

begindocument
foo
myMakeUpperCasecapital letter bar
myMakeUpperCaseNext one baz
myMakeUpperCasetwo words

printindex

enddocument 

texto alternativo

El mfirstuc paquete de la glossaries el paquete proporciona la práctica capitalisewords comando que podría usarse aquí. me adapté HerbertEl ejemplo de y la salida es la misma:

documentclassarticle

usepackagemfirstuc
usepackagemakeidxmakeindex

makeatletter
newcommand*define[1]%
  textit#1%
  index#[email protected]
protectcapitalisewords#1% makeatother begindocument foo definecapital letter bar defineNext one baz definetwo words printindex enddocument

No estoy seguro de haber entendido bien tu pregunta, pero un breve macro como se muestra a continuación, escribirá en mayúscula la primera palabra que escriba y la colocará en el índice.

documentclass[11pt]article 
usepackageindex
makeindex
begindocument
defIndex#1defx##1##2MakeUppercase##1##2textitx#1 indexx#1 
Indexalpha

defindeX#1#2defx##1##2MakeUppercase##1##2x#1 indexx#2 
Indexalpha

indeXtestthis

printindex
enddocument

Al final de todo puedes encontrar las aclaraciones de otros desarrolladores, tú asimismo eres capaz dejar el tuyo si lo deseas.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *