TeX - LaTeX Asked on August 4, 2021
I want to create a logo like
using the word LECTURE
.
I tried to edit Martin’s answer here but I was unable to do it. Any help?
The design expert in me tells me this looks awful, but it will give you a start:
There are three things you can do to make a logo like this:
kern
, to move characters closer or further from each other;raise
or lower
characters;A
in ).The three above are available without driver dependent operations, like scaling or rotating. If you want to have those too:
E
in );Here I'll stick with the first three, but the other two are not hard to apply if you so wish.
kern
ingYou can use the kern
primitive to move characters close to each other. You can write Akern-0.5em B
to have the B
move 0.5em
towards the A
, partially superimposing it. If you use a positive value, it will go further away. The unit em
is defined (but not exactly!) as “roughly the width of an uppercase letter M in the current font”, so it is better to use em
here as the exact amount it will move will depend on the actual width of the glyphs in the font, so if you use your symbol with a larger or smaller size, it should stay more or less correct. Note that the exact amount of kerning depends on the font used, to you might need to adjust.
raise
ing or lower
ingYou can move characters (boxes, actually) up or down using the raise
or lower
primitives. The syntax is raise <dimension> <box>
. The dimension is similar to kern
, except here you'll prefer to use the unit ex
, defined as “roughly the height of a lowercase letter x in the current font”, so it is an indication of the height of the glyphs. Also raise
(and lower
) need a box, so instead of Araise 0.5ex B
you have to write Araise 0.5exhbox{B}
to get the B
slightly higher than the A
.
The LaTeX logo selects the current script font size for the A
(the same size as in math super/subscripts). You can use the same technique, or you can use the relsize
package to change to a smaller or larger font size, or use the scalebox
command. Though scaling might look bad if you overdo it.
I made the font size changing into a command logosmaller
that makes the argument with the script size font, and aligns it with the top line of other characters:
deflogosmaller#1{%
hbox{sboxz@ T%
vbox tohtz@{hbox{check@mathfonts
fontsizesf@sizez@
math@fontsfalseselectfont #1}vss}}}
then you can use Llogosmaller{A}
to make something similar to LaTeX.
newcommandlecture{%
Lkern-.2em%
logosmaller{E}kern-.1em%
Ckern-.2em%
raise0.5exhbox{T}kern-.23em%
hbox{U}kern-.1em%
lower0.1exlogosmaller{R}kern-.1em%
E@}
The logo starts with L
, then brings the next character closer by -0.2em
.
Lkern-.2em%
then it adds a smaller E
, and brings C
closer by -0.1em
, and the T
closer to C
by -0.2em
:
logosmaller{E}kern-.1em%
Ckern-.2em%
now we raise the T
by 0.5ex, and bring the U
and the R
closer:
raise0.5exhbox{T}kern-.23em%
hbox{U}kern-.1em%
finally, make the R
smaller and lower it, and at the end add the E
and the spacefactor correction @
:
lower0.1exlogosmaller{R}kern-.1em%
E@
then add the final E
.
Here's a compilable example:
documentclass{article}
makeatletter
deflogosmaller#1{%
hbox{sboxz@ T%
vbox tohtz@{hbox{check@mathfonts
fontsizesf@sizez@
math@fontsfalseselectfont #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}
Correct answer by Phelype Oleinik on August 4, 2021
Just to entertain me on the first day of 2021 :D, how about this:
documentclass{article}
usepackage{relsize}
makeatletter
deflecture@ssize{larger[-3]scshape}
DeclareRobustCommand{lecture}{%
mbox{%
Lkern-0.37em
raisebox{0.49ex}{lecture@ssize e}%kern-0.1em
Ckern-0.53em
raisebox{0.49ex}{lecture@ssize t}kern-0.05em
raisebox{0.49ex}{lecture@ssize u}kern-0.12em%
Rkern-0.1em
raisebox{0.49ex}{lecture@ssize 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}
Adapted from an old response (https://tex.stackexchange.com/a/60515/7832 ) from the time I created my own logo.
Answered by Pablo González L on August 4, 2021
If one's too lazy to position letters by oneself and a semi-automatic alternative is needed, a broke man's solution is possible via MetaPost.
Disadvantages are: 1) because of random raising and lowering, outputs will be different, but one can choose a result and store it for later use, 3) it doesn't work well with non-ASCII string, 2) well, results are rather ugly, but beauty in the eye of the beholder.
Anyway, here's my approach:
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}
Answered by Jairo A. del Rio on August 4, 2021
Get help from others!
Recent Answers
Recent Questions
© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP