7

Is there a way to temporarily change the font encoding with fontenc inside a document? Something like this:

\documentclass{article}
\usepackage[OT1]{fontenc}
\begin{document}
I'm writing something with OT1 encoding here.
But then I want the character X to be with T1 encoding.
\end{document}

I'm anticipating some "Why do you want to do this?" questions. So here's why:

With OT1 encoding, using the libertine package gives me certain nice ligatures (like the one for Th). I don't with T1 encoding (no idea why). But some characters aren't available with OT1 encoding, such as \dh, so I would like to temporarily switch to T1 encoding to be able to use such characters.

1
  • 2
    You can use \fontencoding{T1}\selectfont. Commented Aug 28, 2013 at 17:19

1 Answer 1

10
\usepackage[T1,OT1]{fontenc}

then

{\fontencoding{T1}\selectfont  T1 stuff ...}

full example, following comments.

\documentclass{article}

\usepackage[T1,OT1]{fontenc}
\usepackage{libertine}

\showoutput
\begin{document}

That {\fontencoding{T1}\selectfont That}

\end{document}

The log confirms the fonts used and the OT1 ligature

....\OT1/LinuxLibertineT-TLF/m/n/10 � (ligature Th)
....\OT1/LinuxLibertineT-TLF/m/n/10 a
....\OT1/LinuxLibertineT-TLF/m/n/10 t
....\glue 2.5 plus 1.25 minus 0.833
....\T1/LinuxLibertineT-TLF/m/n/10 T
....\T1/LinuxLibertineT-TLF/m/n/10 h
....\T1/LinuxLibertineT-TLF/m/n/10 a
....\T1/LinuxLibertineT-TLF/m/n/10 t
5
  • Turns out that by adding T1 as an option in the preamble, I lose the ligature for Th, which was the only reason I used the encoding OT1 in the first place. Is there a way to activate the T1 encoding only for selected characters?
    – Sverre
    Commented Aug 28, 2013 at 17:37
  • @Sverre see update: it works for me. (texlive 2013) Commented Aug 28, 2013 at 17:46
  • @Sverre: Are you sure you set T1 as the first option and OT1 after it? Commented Aug 28, 2013 at 17:47
  • 1
    I found out why that happened. The order of the encoding options in the preamble matters. Setting [T1, OT1] gives default OT1 encoding, setting [OT1, T1] gives default T1 encoding. I had the wrong order (yours was right).
    – Sverre
    Commented Aug 28, 2013 at 17:47
  • @UlrikeFischer Exactly :)
    – Sverre
    Commented Aug 28, 2013 at 17:48

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .