Solución:
El experto en diseño que hay en mí me dice que esto se ve horrible, pero te dará un comienzo:
Hay tres cosas que puede hacer para crear un logotipo como este:
- usted puede
kern
, para acercar o alejar a los personajes unos de otros; - usted puede
raise
olower
caracteres; - puede cambiar su tamaño (como el
A
en ).
Los tres anteriores están disponibles sin operaciones dependientes del controlador, como escalar o rotar. Si también quieres tenerlos:
- también puede escalar (o reflejar, que es un caso especial de escalado, como el primero
E
en ); - y puedes rotar, para extravagancia 🙂
Aquí me quedo con los tres primeros, pero los otros dos no son difíciles de aplicar si así lo desea.
kern
En g
Puedes usar el kern
primitivo para acercar a los personajes unos de otros. Puedes escribir Akern-0.5em B
tener el B
moverse 0.5em
hacia el A
, superponiéndolo parcialmente. Si usa un valor positivo, irá más lejos. La unidad em
se define (¡pero no exactamente!) como “aproximadamente el ancho de una letra mayúscula M en la fuente actual”, por lo que es mejor usar em
aquí, ya que la cantidad exacta que se moverá dependerá del ancho real de los glifos en la fuente, por lo que si usa su símbolo con un tamaño más grande o más pequeño, debería permanecer más o menos correcto. Tenga en cuenta que la cantidad exacta de interletraje depende de la fuente utilizada, por lo que es posible que deba ajustar.
raise
ing o lower
En g
Puede mover caracteres (cuadros, en realidad) hacia arriba o hacia abajo usando el raise
o lower
primitivas. La sintaxis es raise <dimension> <box>
. La dimensión es similar a kern
, excepto que aquí preferirá usar la unidad ex
, definido como “aproximadamente la altura de una letra x minúscula en la fuente actual”, por lo que es una indicación de la altura de los glifos. También raise
(y lower
) necesita una caja, así que en lugar de Araise 0.5ex B
tu tienes que escribir Araise 0.5exhbox{B}
para obtener el B
ligeramente más alto que el A
.
Cambiar el tamaño de la fuente
El logotipo de LaTeX selecciona el tamaño de fuente del script actual para el A
(del mismo tamaño que en los superíndices y subíndices de matemáticas). Puede utilizar la misma técnica o puede utilizar la relsize
paquete para cambiar a un tamaño de fuente más pequeño o más grande, o utilice el scalebox
mando. Aunque la escala puede verse mal si se excede.
Hice que el tamaño de la fuente cambiara a un comando logosmaller
que crea el argumento con la fuente del tamaño del script y lo alinea con la línea superior de otros caracteres:
deflogosmaller#1{%
hbox{sbox[email protected] T%
vbox toht[email protected]{hbox{[email protected]
fontsize[email protected][email protected]
[email protected]selectfont #1}vss}}}
entonces puedes usar Llogosmaller{A}
para hacer algo similar a LaTeX.
Construyendo el logo
newcommandlecture{%
Lkern-.2em%
logosmaller{E}kern-.1em%
Ckern-.2em%
raise0.5exhbox{T}kern-.23em%
hbox{U}kern-.1em%
lower0.1exlogosmaller{R}kern-.1em%
E@}
El logo comienza con L
, luego acerca al siguiente personaje -0.2em
.
Lkern-.2em%
luego agrega un más pequeño E
y trae C
más cerca -0.1em
, y el T
más cerca a C
por -0.2em
:
logosmaller{E}kern-.1em%
Ckern-.2em%
ahora levantamos el T
por 0.5ex, y trae el U
y el R
más cerca:
raise0.5exhbox{T}kern-.23em%
hbox{U}kern-.1em%
finalmente, haz el R
más pequeño y bájelo, y al final agregue el E
y la corrección del factor espacial @
:
lower0.1exlogosmaller{R}kern-.1em%
E@
luego agrega el final E
.
Aquí hay un ejemplo compilable:
documentclass{article}
makeatletter
deflogosmaller#1{%
hbox{sbox[email protected] T%
vbox toht[email protected]{hbox{[email protected]
fontsize[email protected][email protected]
[email protected]selectfont #1}vss}}}
begin{document}
newcommandlecture{%
Lkern-.2em%
logosmaller{E}kern-.1em%
Ckern-.2em%
raise0.5exhbox{T}kern-.23em%
hbox{U}kern-.1em%
lower0.1exlogosmaller{R}kern-.1em%
E@}
Here's a lecture for you
end{document}
Solo para entretenerme el primer día de 2021: D, ¿qué tal esto?
documentclass{article}
usepackage{relsize}
makeatletter
def[email protected]{larger[-3]scshape}
DeclareRobustCommand{lecture}{%
mbox{%
Lkern-0.37em
raisebox{0.49ex}{[email protected] e}%kern-0.1em
Ckern-0.53em
raisebox{0.49ex}{[email protected] t}kern-0.05em
raisebox{0.49ex}{[email protected] u}kern-0.12em%
Rkern-0.1em
raisebox{0.49ex}{[email protected] e}%
}%
}
makeatother
begin{document}
Here's a lecture for you
{large Here's a lecture for you}
{Large Here's a lecture for you}
{LARGE Here's a lecture for you}
{huge Here's a lecture for you}
{Huge Here's a lecture for you}
end{document}
Adaptado de una respuesta anterior (https://tex.stackexchange.com/a/60515/7832) desde el momento en que creé mi propio logotipo.
Si uno es demasiado perezoso para colocar las letras por sí mismo y se necesita una alternativa semiautomática, la solución de un hombre arruinado es posible a través de MetaPost.
Las desventajas son: 1) debido a la subida y bajada aleatoria, las salidas serán diferentes, pero se puede elegir un resultado y almacenarlo para su uso posterior, 3) no funciona bien con cadenas no ASCII, 2) bueno, los resultados son bastante feo, pero hermoso a los ojos del espectador.
De todos modos, este es mi enfoque:
documentclass{standalone}
usepackage[latex,shellescape]{gmp}
begin{document}
newcommand{uglylogo}[2][textwidth]{%
begin{mpost}[name=uglylogo]
vardef myuglylogo(expr s) =
save len; len := length s;
save Char; picture Char[];
save Em; Em := 0;
save Ex;
for i = 1 upto len:
Char[i] := image(label((substring(i-1,i) of s), origin);) scaled (1-uniformdeviate(0.4));
Ex := (ypart (ulcorner Char[i])) - (ypart (llcorner Char[i]));
draw Char[i] shifted
if (i mod 2 = 1):
(Em,Ex*uniformdeviate(0.35))
else:
(Em,-Ex*uniformdeviate(0.35))
fi;
Em := Em + (xpart (urcorner Char[i])) - (xpart (ulcorner Char[i]));
endfor
enddef;
myuglylogo("#2");
end{mpost}%
usempost[width=#1]{uglylogo}%
}
vbox{
hbox{uglylogo[6cm]{LECTURE}}
hbox{uglylogo[6cm]{LECTURE}}
hbox{uglylogo[6cm]{LECTURE}}
hbox{uglylogo[6cm]{LECTURE}}
hbox{uglylogo[6cm]{LECTURE}}
hbox{uglylogo[6cm]{LECTURE}}
hbox{uglylogo[6cm]{LECTURE}}
}
end{document}