Take the 2-minute tour ×
TeX - LaTeX Stack Exchange is a question and answer site for users of TeX, LaTeX, ConTeXt, and related typesetting systems. It's 100% free, no registration required.

The acute and grave accents on capital letters are more squat and flatter than on lower case letters. Compare \'A with \'a. What is the code for the squatter acute/grave on capitals if I want it insolation?

Rationale: I need capital letters with macron and acute/grave. If I put \'{} on top of \=A, then the letter is too tall for the interline spacing, partly because \'{} produces the 45-degree accent of \'a (and partly because the default height of the macron is too high).

\documentclass[12pt]{article}

\begin{document}
If the difference between the accents of \'A, \'a isn't apparent, try superimposing
them: \makebox[0pt]{\'A}\makebox[0pt]{\raisebox{.6ex}{\'a}}\,\raisebox{.6ex}{\'a}.
See how the character on the left has a wedge (as opposed to the acute on the
right-hand \'a)?  The two accents don't exactly overlay, because the acute on
\'A is flatter.
\end{document}

wrong accents

share|improve this question
    
The code depends on the font encoding you are using. In T1 encoding \'{A} is a glyph (\char193), \'{a} is \char225. The accent alone is \char1. –  Ulrike Fischer Jun 5 '12 at 7:33
    
@doncherry I've added code and pictures –  Daniel Harbour Jun 5 '12 at 8:33
    
@UlrikeFischer \char1 yields only the accent used on lower case letters (e.g., \'a, \'n). I checked Mittelbach's charts for various encodings (including T1, which I'm using). I can't see a char number for the squat acute/grave used on capitals. –  Daniel Harbour Jun 5 '12 at 8:36
    
@Daniel Harbour of course you don't see an accent character: t1 encoding only covers certain characters, and doesn't provide composites for characters already in its repertoir. \usepackage[T1]{fontenc} (in latex) will read the sequence \' A, and produce the t1-encoding character for A-acute-accent –  wasteofspace Jun 5 '12 at 8:45
2  
Well there isn't. In T1 encodings there are properly designed, real glyphs with accents (Á á) and there is one "lonely" accent which can be used for chars for which accented glyphs doesn't exist. There isn't enough place in T1 to store all sort of versions of this accent in various angles. If you don't like this "lonely" accent you will have to design one. You can't extract the accent from the Á: It is attached to the glyph like the left leg of the A. –  Ulrike Fischer Jun 5 '12 at 8:48

3 Answers 3

up vote 6 down vote accepted

You find the isolated acute accent used for capital letters in the encoding TS1, where it's called \capitalacute:

\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage{textcomp}
\begin{document}
\capitalacute{A}\'{A}\\
\capitalacute{}\'{}\\
{\fontencoding{TS1}\selectfont\char 1}\char1
\end{document}

enter image description here

share|improve this answer
    
Perfect. Thanks! –  Daniel Harbour Jun 5 '12 at 9:09

Your MWE does not show the issue that you show in the image. I have adjusted it so that it does:

\documentclass[12pt]{article}

\begin{document}
If the difference between the accents of \'A, \'a isn't apparent, try superimposing
them: \makebox[0pt]{\'A}\makebox[0pt]{\raisebox{.6ex}{\'a}}\,\raisebox{.6ex}{\'a}.
See how the character on the left has a wedge (as opposed to the acute on the
right-hand \'a)?  The two accents don't exactly overlay, because the acute on
\'A is flatter.


\makebox[0pt]{\'A}\makebox[0pt]{\raisebox{.6ex}{\'a}}\,\raisebox{.6ex}{\'a}

\fontencoding{T1}\selectfont

\makebox[0pt]{\'A}\makebox[0pt]{\raisebox{.6ex}{\'a}}\,\raisebox{.6ex}{\'a}
\end{document}

enter image description here

As you will see in the image from the modified MWE, using the default OT1 encoding the accented characters are made by placing an accent character over the base, so the accents look the same. In the final line the T1 encoding is used this uses twice as many glyphs per font, including designed accented characters a slightly flatter accent design is used for capital letters in the EC font design.

share|improve this answer
    
Thanks, but using the more upright accent for capitals gets me into trouble with interline spacing. Check out egreg's answer below. –  Daniel Harbour Jun 5 '12 at 9:11
    
Yes, but my point was that there is not a different accent in the encoding used by your MWE. Your example tex source and example image were not generated by the same code (or you have a non standard LaTeX installation that has changed the default encoding) –  David Carlisle Jun 5 '12 at 9:17
    
Ah, missed your point. Thanks for clarifying the question. –  Daniel Harbour Jun 5 '12 at 12:40

You maybe able to do minor adjustments using the slant dimension.

enter image description here

Here is some code I had for a similar issue:

\documentclass[10pt]{article}

\usepackage{graphicx} 


\begin{document}

\font \romanfont=cmr10
\font\specroman=cmr10
%% Next, the special registers
\newdimen\savedvalue
\savedvalue=\fontdimen5\romanfont
\newdimen\specialvalue
\specialvalue=4.75pt
%% Finally, definitions.

\def\specrm{%
  \aftergroup\restoredimen
  \fontdimen5\specroman=\specialvalue
  \specroman  }
\def\restoredimen{%
\fontdimen5\romanfont=\savedvalue }


 \scalebox{10}{\romanfont \'A}  {\scalebox{10}{\specrm \' A}}

\medskip
{\noindent\obeylines\specrm 
the value of fontdimen1 (slant)  is \the\fontdimen1\font
the value of fontdimen2 (interword space) is \the\fontdimen2\font  
the value of fontdimen3 (interword stretch) is \the\fontdimen3\font 
the value of fontdimen4 (interword shrink) is \the\fontdimen4\font 
the value of fontdimen5 (x-height) is \the\fontdimen5\font 
the value of fontdimen6 (quad width) is \the\fontdimen6\font 
the value of fontdimen7 (extra space)  is \the\fontdimen7\font 
}
\medskip

\font \romanfont=cmr10
\font\specroman=cmr10
%% Next, the special registers
\newdimen\savedvalue
\savedvalue=\fontdimen1\romanfont
\newdimen\specialvalue
\specialvalue=0.15pt
%% Finally, definitions.

\def\specrm{%
  \aftergroup\restoredimen
  \fontdimen1\specroman=\specialvalue
  \specroman  }
\def\restoredimen{%
\fontdimen1\romanfont=\savedvalue }


 \scalebox{10}{\romanfont \'A}  {\scalebox{10}{\specrm \' A}}

\medskip
{\noindent\obeylines\specrm 
the value of fontdimen1 (slant)  is \the\fontdimen1\font
the value of fontdimen2 (interword space) is \the\fontdimen2\font  
the value of fontdimen3 (interword stretch) is \the\fontdimen3\font 
the value of fontdimen4 (interword shrink) is \the\fontdimen4\font 
the value of fontdimen5 (x-height) is \the\fontdimen5\font 
the value of fontdimen6 (quad width) is \the\fontdimen6\font 
the value of fontdimen7 (extra space)  is \the\fontdimen7\font 
}
\end{document}

There is also a package you can have a look at https://github.com/zellyn/accentbx

share|improve this answer
    
What a great package. Thanks for the pointer and for the code. Gives me a much neater way of lowering my macrons (in computer modern, they're too high for my taste). –  Daniel Harbour Jun 5 '12 at 12:46

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.