Nuestro team de especialistas pasados varios días de investigación y de recopilar de información, hemos dado con los datos necesarios, esperamos que te sea de utilidad en tu proyecto.
Solución:
Puede utilizar el paquete titleec:
documentclassarticle
usepackagetitlesec
usepackagelipsum
titleformatsection
normalfontscshapethesection1em
begindocument
sectionTest Section
lipsum[1]
enddocument
utilizar versalitas para los títulos de las secciones:
o
documentclassarticle
usepackage[explicit]titlesec
usepackagelipsum
titleformatsection
normalfontthesection1emMakeUppercase#1
begindocument
sectionTest Section
lipsum[1]
enddocument
para usar mayúsculas para los títulos de las secciones:
Si no quiere usar el titlesec
paquete, puede redefinir el section
comando, como se implementa en article.cls
; aquí hay un ejemplo de tal redefinición para obtener títulos de sección con versalitas pequeñas:
documentclassarticle
makeatletter
renewcommandsection@startsection section1[email protected]%
-3.5ex @plus -1ex @minus -.2ex%
2.3ex @plus.2ex%
normalfontscshape
makeatother
begindocument
sectionTest Section
enddocument
Me gustaría intentar resolver esta pregunta, porque hace 5 años llegué aquí y pensé titlesec
fue la mejor manera de hacer esto. Eso puede ser o no true.
La configuración de la clase es quizás obvia para los expertos, pero bastante oscura para los nuevos usuarios de LaTeX.
$ (kpsewhich -valor -var TEXMFDIST) /tex/latex/base/article.cls
Para la versión de 2016, esto resultaría en /usr/local/texlive/2016/texmf-dist/tex/latex/base/article.cls
en un sistema basado en Unix.
Las partes relevantes de la clase de artículo extraídas del archivo.
% Do you want numbering?
% Setup Counters using TeX or LaTeX
newcounter part
newcounter section
newcounter subsection[section]
newcounter subsubsection[subsection]
newcounter paragraph[subsubsection]
newcounter subparagraph[paragraph]
% Format Output of Counters
renewcommandthepart@Roman[email protected]
renewcommandthesection@arabic[email protected]
renewcommandthesubsectionthesection.@arabic[email protected]
renewcommandthesubsubsectionthesubsection.@arabic[email protected]
renewcommandtheparagraphthesubsubsection.@arabic[email protected]
renewcommandthesubparagraphtheparagraph.@arabic[email protected]
% Define Sectioning Commands (part is the oddball)
newcommandpart%
[email protected] leavevmode fi
par
addvspace4ex%
@afterindentfalse
secdef@part@spart
def@part[#1]#2%
ifnum [email protected] >[email protected]
refstepcounterpart%
addcontentslinetocparttheparthspace1em#1%
else
addcontentslinetocpart#1%
fi
parindent [email protected] raggedright
interlinepenalty @M
normalfont
ifnum [email protected] >[email protected]
Largebfseries partnamenobreakspacethepart
parnobreak
fi
huge bfseries #2%
markbothpar%
nobreak
vskip 3ex
@afterheading
def@spart#1%
parindent [email protected] raggedright
interlinepenalty @M
normalfont
huge bfseries #1par%
nobreak
vskip 3ex
@afterheading
newcommandsection@startsection section1[email protected]%
-3.5ex @plus -1ex @minus -.2ex%
2.3ex @plus.2ex%
normalfontLargebfseries
newcommandsubsection@startsectionsubsection2[email protected]%
-3.25ex@plus -1ex @minus -.2ex%
1.5ex @plus .2ex%
normalfontlargebfseries
newcommandsubsubsection@startsectionsubsubsection3[email protected]%
-3.25ex@plus -1ex @minus -.2ex%
1.5ex @plus .2ex%
normalfontnormalsizebfseries
newcommandparagraph@startsectionparagraph4[email protected]%
3.25ex @plus1ex @minus.2ex%
-1em%
normalfontnormalsizebfseries
newcommandsubparagraph@startsectionsubparagraph5parindent%
3.25ex @plus1ex @minus .2ex%
-1em%
normalfontnormalsizebfseries
% For something like Appendix where sections should appear as letters,
% reset counters to 0 and use @Alph to make [email protected] appear as A.
newcommandappendixpar
setcountersection0%
setcountersubsection0%
gdefthesection@Alph[email protected]
% How should it appear in the table of contents?
% Usually the ToC title is formatted like the sections.
newcommandtableofcontents%
section*contentsname
@mkboth%
MakeUppercasecontentsnameMakeUppercasecontentsname%
@starttoctoc%
[email protected]
= 0, vea ¿Qué hace [email protected] ¿hacer?[email protected]
= el registro TeX que realmente contiene el número entero creado por LaTeX macronewcounter
(normalmente solo para backend, de ahí el@
) y que se hace accesible globalmente, consulte ¿Cuáles son las diferencias entre los recuentos de TeX y los contadores de LaTeX?[email protected]
= registrarse con un contador igual a -1, ver ¿Qué hacer [email protected]Y @M en la definición de @makechapterhead?@M
=mathchardef
=mathchar"2710
= 10000, ver arriba.leavevmode
= salir del modo vertical [and implicitly enter horizontal mode], consulte Función y uso de leavevmode
Use leavevmode para todas las macros que podrían usarse al principio del párrafo y agregue cuadros horizontales por sí mismos (por ejemplo, en forma de texto).
@afterindentfalse
oposición a@afterindenttrue
Kernel de LaTeX macro eso es parte de[email protected]
. Está estableciendo el@afterindent
para false después de un comando de sección de modo que los párrafos que siguen directamente a los encabezados no están pensados. Los párrafos subsiguientes se sangrarán cuando la expansión de este se vuelva@afterindenttrue
, consulte http://mirror.easyname.at/ctan/macros/latex/required/tools/indentfirst.pdfsecdef
en egsecdef@part@spart
es efectivamente un conmutador entre la versión destacada@spart
(s para la parte destacada) y la versión sin estrellas@part
. Esto permite*
para influir en cual macro se expande, consulte ¿Qué hace secdef?@plus
Látex macro = TeX macroplus
,show@plus
==macro: ->plus.
, consulte ¿Qué es el estiramiento del pegamento?@minus
Látex macro = TeX macrominus
, véase más arriba.ifnum [email protected] >[email protected]
solo dice que si la profundidad del contador de sección es algo mayor que -1, entonces agregue este encabezado a la tabla de contenido más …parindent
= cantidad de espacio sangradoraggedright
= Un kernel de LaTeX macro. Le dice a TeX que alinee a la izquierda algo sin tener en cuenta el sistema de puntos tipográficos de TeX que hace los ajustes adecuados en el espacio entre palabras para una forma de párrafo bonita y cuadrada (justificación completa). =let\@centercr@rightskip@flushglue rightskip @rightskipleftskip[email protected]parindent[email protected]
, consulte Combinación de salto a la izquierda, salto a la derecha y raggedright-
@afterheading
Látex macro que se ocupa de cosas de post-encabezado, por ejemplo, evitar un salto de página entre el encabezado y la siguiente línea (generalmente una línea de club de un párrafo), o esa línea (club) con su siguiente línea. El primero se hace usando[email protected]
lógica, este último conclubpenalty=10000
= pena máxima.@nobreaktrue
everypar[email protected]
@nobreakfalse
clubpenalty@M
[email protected]
else
setbox[email protected]lastbox
fi
else
clubpenalty@clubpenalty
everypar
fi
}@[email protected]
Editar secciones
Solo mirando a su alrededor en el article.cls
puede ser muy útil, pero hay muchos comandos que utilizan el @
sign, que ayuda a garantizar que los comandos a nivel de usuario no se superpongan con los comandos del “kernel”, es decir, es poco probable que coloque newcommand@Alph
en su preámbulo (si lo hiciera, obtendría un error, porque TeX espera que todos los caracteres en macro nombres / nombres de secuencia de comandos para tener el código de categoría 11), consulte ¿Qué hacen makeatletter y makeatother? y ¿Qué son los códigos de categoría? para detalles.
Puede redefinir las secciones según sus especificaciones utilizando renewcommand
. Tenga en cuenta que debe cambiar temporalmente el código de categoría de @
para acceder a los comandos del kernel. O rodee su definición con
makeatletter
% insert macro with @ here
makeatother
O
catcode`@11relax
% insert macro with @ here
catcode`@12relax
Abuelo @startsection
Tenga en cuenta que el abuelo de todos los comandos / encabezados de seccionamiento, excepto la parte, es @startsection
. Entenderlo puede ser complicado, pero show@startsection
revela su definición:
[email protected] leavevmode fi par @tempskipa #4relax @afterindenttrue ifdim @tempskipa <[email protected] @tempskipa -@tempskipa @afterindentfalse fi [email protected] everypar else addpenalty @secpenalty addvspace @tempskipa fi @ifstar @ssect #3#4#5#6@dblarg @sect #1#2#3#4#5#6.
@startsection