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.

Possible Duplicate:
Switching to different font size(s) locally

I am stuck on a font problem. I use a specific document class for writing my dissertation: the font is 12pt sized for the whole document, but on the first page I want to use the size of 11pt. The problem is that on this first page I use a lot of \large, \Large, \huge etc. and using this:

\begingroup \fontsize{11pt}{12pt}\selectfont ga bu zo meu \endgroup

does not update the \large etc.

So: does anyone know how to temporarily change the font size AND update the size used for \large, \Large, \LARGE, \huge etc. ?

I know I can use KOMA scripts but it seems incompatible with one of my package.

! LaTeX Error: Command \l@addto@macro already defined.
            Or name \end... illegal, see p.192 of the manual.

I know also that I can generate my first page separately and merge the PDFs files, but I suppose it exists a simple way for doing that. No?

share|improve this question

marked as duplicate by Joseph Wright Oct 1 '11 at 8:56

This question has been asked before and already has an answer. If those answers do not fully address your question, please ask a new question.

1  
Perhaps the relsize package might be of help here? –  Werner Sep 29 '11 at 15:36
    
Welcome to TeX.sx! Your question is really similar to tex.stackexchange.com/questions/6787/…, in your case you just need to change the font size twice. If this solves your problem, that's great, and we'll probably close this question as a duplicate just to keep the place tidy and to help people find the answers quickly. If it doesn't, please edit your question here to explain why so that people can better focus their attention to help you. –  doncherry Sep 29 '11 at 15:49
    
@Werner: I think the relsize package won't work for the OP because that package increments/decrements font sizes in 20% steps, whereas he/she is looking to reduce the size by roughly 10% only (from 12pt to 11pt). However, can one modify the resizing increment of the relsize package? –  Mico Sep 29 '11 at 16:19
    
I once asked a related question: Switching to different font size(s) locally –  Martin Scharrer Sep 30 '11 at 6:31

2 Answers 2

up vote 4 down vote accepted

You can define a command that uses the definitions for the standard font size commands contained in size11.clo file and then use this command to change the sizes locally:

\documentclass[12pt]{article}

\makeatletter
\newcommand\FontSizesXI{%
\renewcommand\normalsize{%
   \@setfontsize\normalsize\@xipt{13.6}%
   \abovedisplayskip 11\p@ \@plus3\p@ \@minus6\p@
   \abovedisplayshortskip \z@ \@plus3\p@
   \belowdisplayshortskip 6.5\p@ \@plus3.5\p@ \@minus3\p@
   \belowdisplayskip \abovedisplayskip
   \let\@listi\@listI}
\normalsize
\renewcommand\small{%
   \@setfontsize\small\@xpt\@xiipt
   \abovedisplayskip 10\p@ \@plus2\p@ \@minus5\p@
   \abovedisplayshortskip \z@ \@plus3\p@
   \belowdisplayshortskip 6\p@ \@plus3\p@ \@minus3\p@
   \def\@listi{\leftmargin\leftmargini
               \topsep 6\p@ \@plus2\p@ \@minus2\p@
               \parsep 3\p@ \@plus2\p@ \@minus\p@
               \itemsep \parsep}%
   \belowdisplayskip \abovedisplayskip
}
\renewcommand\footnotesize{%
   \@setfontsize\footnotesize\@ixpt{11}%
   \abovedisplayskip 8\p@ \@plus2\p@ \@minus4\p@
   \abovedisplayshortskip \z@ \@plus\p@
   \belowdisplayshortskip 4\p@ \@plus2\p@ \@minus2\p@
   \def\@listi{\leftmargin\leftmargini
               \topsep 4\p@ \@plus2\p@ \@minus2\p@
               \parsep 2\p@ \@plus\p@ \@minus\p@
               \itemsep \parsep}%
   \belowdisplayskip \abovedisplayskip
}
\renewcommand\scriptsize{\@setfontsize\scriptsize\@viiipt{9.5}}
\renewcommand\tiny{\@setfontsize\tiny\@vipt\@viipt}
\renewcommand\large{\@setfontsize\large\@xiipt{14}}
\renewcommand\Large{\@setfontsize\Large\@xivpt{18}}
\renewcommand\LARGE{\@setfontsize\LARGE\@xviipt{22}}
\renewcommand\huge{\@setfontsize\huge\@xxpt{25}}
\renewcommand\Huge{\@setfontsize\Huge\@xxvpt{30}}
}
\makeatother

\begin{document}

\begingroup
\FontSizesXI
{\tiny Some \scriptsize test \footnotesize text \small showing \normalsize the \large ten \Large available \LARGE font \huge size \Huge commands. }
\endgroup

{\tiny Some \scriptsize test \footnotesize text \small showing \normalsize the \large ten \Large available \LARGE font \huge size \Huge commands.}

\end{document}

enter image description here

share|improve this answer
    
It's perfect! thanks so much! problem solved. –  artebin Sep 29 '11 at 16:22

If using KOMA-Script is acceptable, work around the compatibility issue by declaring \let\l@addto@macro\relax after loading a KOMA-Script class.

\documentclass[11pt]{scrartcl}

\makeatletter

\let\l@addto@macro\relax

\newcommand{\l@addto@macro}{Hello!}% placeholder for package defining \l@addto@macro

\makeatother

\usepackage{lipsum}

\begin{document}

\section{foo}

\lipsum[1]

\changefontsizes{12pt}

\section{bar}

\lipsum[1]

\end{document}

enter image description here

share|improve this answer

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