Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

kan jeg overstyre kerning?

5 views
Skip to first unread message

Knut Skrindo

unread,
Aug 10, 2009, 4:55:59 AM8/10/09
to
Hei!

Jeg lager et dokument hvor jeg syns akuttegnet som symbol for derivert,
for eksempel i $f'(x)$, kommer altfor n�r �f�. (Tilsvarende for n�r �y�
i $y'(x)$.

Jeg ser at $f\kern+2pt '\kern-1pt(x)$ gir omtrent �nsket resultat.
Finnes det en m�te � f� dette til � skje automatisk p�, alts� slik at
jeg taster $f'(x)$, men f�r i praksis $f\kern+2pt '\kern-1pt(x)$ eller
noe slikt?

--
Knut Skrindo

Harald Hanche-Olsen

unread,
Aug 10, 2009, 12:48:27 PM8/10/09
to
+ Knut Skrindo <kn...@skrindo.no>:

> Jeg lager et dokument hvor jeg syns akuttegnet som symbol for
> derivert, for eksempel i $f'(x)$, kommer altfor n�r �f�. (Tilsvarende
> for n�r �y� i $y'(x)$.

Det l�ter for meg som en d�rlig designet font. Hvilke fonter bruker du?

> Jeg ser at $f\kern+2pt '\kern-1pt(x)$ gir omtrent �nsket resultat.
> Finnes det en m�te � f� dette til � skje automatisk p�, alts� slik at
> jeg taster $f'(x)$, men f�r i praksis $f\kern+2pt '\kern-1pt(x)$ eller
> noe slikt?

Den riktigste m�ten m� v�re � overstyre de rette parametrene i
fontmetrikken. Det er vel superskript-plasseringen p� bokstaven f du
prim�rt �nsker � gj�re noe med. (Men sp�r ikke meg hvilke fontparametre
du m� skru p�.) Alternativt, hvis du �nsker � endre plasseringen av ' i
alle formler, kunne du pr�ve � skrive om koden for ' i matematikkmodus.
Her er den, slik den ser ut i latex.ltx:

{\catcode`\'=\active \gdef'{^\bgroup\prim@s}}
\def\prim@s{\prime\futurelet\next\pr@m@s}
\def\pr@m@s{\ifx'\next\let\nxt\pr@@@s \else\ifx^\next\let\nxt\pr@@@t
\else\let\nxt\egroup\fi\fi \nxt}
\def\pr@@@s#1{\prim@s} \def\pr@@@t#1#2{#2\egroup}

Kompleksiteten her kommer fra muligheten for flere ' etter hverandre,
kanskje etterfulgt av en vanlig superskript, slik at $f'''^{ab}$ blir
det samme som $f^{\prime\prime\prime ab}$.

Det skulle v�re klart nok hvor du putter inn en innledende \kern+2pt
(foran ^ i f�rste linje), men det krever litt mer tankevirksomhet �
finne ut hvor du skal sette inn den avsluttende \kern-1pt. Men kanskje
ville det fungere � erstatte \let\nxt\egroup med
\def\nxt{\egroup\kern-1pt}. Jeg er for lat til � tenke grundig gjennom
og teste det.

--
* Harald Hanche-Olsen <URL:http://www.math.ntnu.no/~hanche/>
- It is undesirable to believe a proposition
when there is no ground whatsoever for supposing it is true.
-- Bertrand Russell

Knut Skrindo

unread,
Aug 10, 2009, 3:43:11 PM8/10/09
to
In article <pcofxbz...@math.ntnu.no>,
Harald Hanche-Olsen <han...@math.ntnu.no> wrote:

> + Knut Skrindo <kn...@skrindo.no>:
>
> > Jeg lager et dokument hvor jeg syns akuttegnet som symbol for
> > derivert, for eksempel i $f'(x)$, kommer altfor n�r �f�. (Tilsvarende
> > for n�r �y� i $y'(x)$.
>
> Det l�ter for meg som en d�rlig designet font. Hvilke fonter bruker du?

Dokumentet er satt med XeTeX p� Mac OS X. Fonten er Times:

\usepackage[mdbch]{mathdesign}
\usepackage{mathspec}
\setprimaryfont{Times}
\setsansfont{Myriad Pro}

> > Jeg ser at $f\kern+2pt '\kern-1pt(x)$ gir omtrent �nsket resultat.
> > Finnes det en m�te � f� dette til � skje automatisk p�, alts� slik at
> > jeg taster $f'(x)$, men f�r i praksis $f\kern+2pt '\kern-1pt(x)$ eller
> > noe slikt?
>
> Den riktigste m�ten m� v�re � overstyre de rette parametrene i
> fontmetrikken. Det er vel superskript-plasseringen p� bokstaven f du
> prim�rt �nsker � gj�re noe med. (Men sp�r ikke meg hvilke fontparametre
> du m� skru p�.)

Ikke det at jeg vet hvordan jeg skulle gj�re det, men det gjelder ogs�
for andre bokstaver enn f.

> Alternativt, hvis du �nsker � endre plasseringen av ' i
> alle formler,

God id�.

> kunne du pr�ve � skrive om koden for ' i matematikkmodus.
> Her er den, slik den ser ut i latex.ltx:
>
> {\catcode`\'=\active \gdef'{^\bgroup\prim@s}}
> \def\prim@s{\prime\futurelet\next\pr@m@s}
> \def\pr@m@s{\ifx'\next\let\nxt\pr@@@s \else\ifx^\next\let\nxt\pr@@@t
> \else\let\nxt\egroup\fi\fi \nxt}
> \def\pr@@@s#1{\prim@s} \def\pr@@@t#1#2{#2\egroup}

Auda.

> Kompleksiteten her kommer fra muligheten for flere ' etter hverandre,
> kanskje etterfulgt av en vanlig superskript, slik at $f'''^{ab}$ blir
> det samme som $f^{\prime\prime\prime ab}$.
>
> Det skulle v�re klart nok hvor du putter inn en innledende \kern+2pt
> (foran ^ i f�rste linje),

Det funka som tilsiktet! :-)

> men det krever litt mer tankevirksomhet �
> finne ut hvor du skal sette inn den avsluttende \kern-1pt. Men kanskje
> ville det fungere � erstatte \let\nxt\egroup med
> \def\nxt{\egroup\kern-1pt}. Jeg er for lat til � tenke grundig gjennom
> og teste det.

Bravo! Tusen takk!

Det ble *veldig* mye bedre. Eksempel:
<URL:http://knut.skrindo.no/kerningeksempel.png >

--
Knut Skrindo

0 new messages