5

I have tried:

\setmainfont{Times New Roman}[Letters = Uppercase]

but no use.

Anyone have any ideas about how to apply uppercase Times New Roman for the whole page?

Thank you very much in advance.

This is the replication of my latex file:

%!TEX program = xelatex
\documentclass{scrbook}
\usepackage{fontspec}
\setmainfont{Times New Roman}[Letters = Uppercase]

\begin{document}

Anyone have any ideas about how to apply uppercase Times New Roman for the whole page?

Thank you very much in advance.

\end{document}
7
  • 1
    Welcome to TeX.SX! Please help us help you and add a minimal working example (MWE) that illustrates your problem. Reproducing the problem and finding out what the issue is will be much easier when we see compilable code, starting with \documentclass{...} and ending with \end{document}.
    – ebosi
    May 11, 2017 at 16:14
  • 1
    @ebo Thank you very much, I have edited the question.
    – ntvy95
    May 11, 2017 at 16:26
  • Is there something stopping to highlight all the text in question in your editor and clicking on the (editor-dependent) "switch to uppercase" menu item?
    – Mico
    May 11, 2017 at 16:51
  • Another quick-and-dirty solution is to use LaTeX \MakeUppercase{<text>} command. However, there must be no paraagraph breaks in <text>, thus you should use this command twice in your example.
    – ebosi
    May 11, 2017 at 16:53
  • @ebo Thank you very much for your reply. I do know \MakeUppercase but in my real case it is troublesome to do so. I am using Sublime Text with LaTexTools and SumatraPDF, so what do you mean by "highlighting" and "switch to uppercase" things? I'm sorry that I'm new to Latex.
    – ntvy95
    May 11, 2017 at 16:56

1 Answer 1

3

Create a file called uc-text.map

; TECkit mapping for TeX input conventions <-> Unicode characters

LHSName "TeX-text"
RHSName "UNICODE"

pass(Unicode)

; ligatures from Knuth's original CMR fonts
U+002D U+002D           <>  U+2013  ; -- -> en dash
U+002D U+002D U+002D    <>  U+2014  ; --- -> em dash

U+0027          <>  U+2019  ; ' -> right single quote
U+0027 U+0027   <>  U+201D  ; '' -> right double quote
U+0022           >  U+201D  ; " -> right double quote

U+0060          <>  U+2018  ; ` -> left single quote
U+0060 U+0060   <>  U+201C  ; `` -> left double quote

U+0021 U+0060   <>  U+00A1  ; !` -> inverted exclam
U+003F U+0060   <>  U+00BF  ; ?` -> inverted question

; additions supported in T1 encoding
U+002C U+002C   <>  U+201E  ; ,, -> DOUBLE LOW-9 QUOTATION MARK
U+003C U+003C   <>  U+00AB  ; << -> LEFT POINTING GUILLEMET
U+003E U+003E   <>  U+00BB  ; >> -> RIGHT POINTING GUILLEMET

; all uppercase
U+0061 <> U+0041
U+0062 <> U+0042
U+0063 <> U+0043
U+0064 <> U+0044
U+0065 <> U+0045
U+0066 <> U+0046
U+0067 <> U+0047
U+0068 <> U+0048
U+0069 <> U+0049
U+006A <> U+004A
U+006B <> U+004B
U+006C <> U+004C
U+006D <> U+004D
U+006E <> U+004E
U+006F <> U+004F
U+0070 <> U+0050
U+0071 <> U+0051
U+0072 <> U+0052
U+0073 <> U+0053
U+0074 <> U+0054
U+0075 <> U+0055
U+0076 <> U+0056
U+0077 <> U+0057
U+0078 <> U+0058
U+0079 <> U+0059
U+007A <> U+005A

; Vietnamese characters
U+00E0 <> U+00C0
U+00E1 <> U+00C1
U+00E2 <> U+00C2
U+00E3 <> U+00C3
U+00E8 <> U+00C8
U+00E9 <> U+00C9
U+00EA <> U+00CA
U+00EC <> U+00CC
U+00ED <> U+00CD
U+00F2 <> U+00D2
U+00F3 <> U+00D3
U+00F4 <> U+00D4
U+00F5 <> U+00D5
U+00F9 <> U+00D9
U+00FA <> U+00DA
U+00FD <> U+00DD
U+0103 <> U+0102
U+0111 <> U+0110
U+0129 <> U+0128
U+0169 <> U+0168
U+01A1 <> U+01A0
U+01B0 <> U+01AF
U+1EA1 <> U+1EA0
U+1EA3 <> U+1EA2
U+1EA5 <> U+1EA4
U+1EA7 <> U+1EA6
U+1EA9 <> U+1EA8
U+1EAB <> U+1EAA
U+1EAD <> U+1EAC
U+1EAF <> U+1EAE
U+1EB1 <> U+1EB0
U+1EB3 <> U+1EB2
U+1EB5 <> U+1EB4
U+1EB7 <> U+1EB6
U+1EB9 <> U+1EB8
U+1EBB <> U+1EBA
U+1EBD <> U+1EBC
U+1EBF <> U+1EBE
U+1EC1 <> U+1EC0
U+1EC3 <> U+1EC2
U+1EC5 <> U+1EC4
U+1EC7 <> U+1EC6
U+1EC9 <> U+1EC8
U+1ECB <> U+1ECA
U+1ECD <> U+1ECC
U+1ECF <> U+1ECE
U+1ED1 <> U+1ED0
U+1ED3 <> U+1ED2
U+1ED5 <> U+1ED4
U+1ED7 <> U+1ED6
U+1ED9 <> U+1ED8
U+1EDB <> U+1EDA
U+1EDD <> U+1EDC
U+1EDF <> U+1EDE
U+1EE1 <> U+1EE0
U+1EE3 <> U+1EE2
U+1EE5 <> U+1EE4
U+1EE7 <> U+1EE6
U+1EE9 <> U+1EE8
U+1EEB <> U+1EEA
U+1EED <> U+1EEC
U+1EEF <> U+1EEE
U+1EF1 <> U+1EF0
U+1EF3 <> U+1EF2
U+1EF5 <> U+1EF4
U+1EF7 <> U+1EF6
U+1EF9 <> U+1EF8

Run teckit_compile uc-text.map. In the same directory you'll find a file called uc-text.tec. In the same directory save the file

%!TEX program = xelatex
\documentclass{scrbook}
\usepackage{fontspec}
\setmainfont{Times New Roman}
\newfontfamily{\uctimes}{Times New Roman}[
  Mapping=uc-text
]

\begin{document}

Anyone have any ideas about how to apply uppercase Times New Roman for the whole page?

Thank you very much in advance.

\uctimes

Anyone have any ideas about how to apply uppercase Times New Roman for the whole page?

Thank you very much in advance.

abcdefghijklmnopqrstuvwxyz

\end{document}

and compile with XeLaTeX.

You'll need to update the .map file (and run again teckit_compile) if you need other characters: the format is simple: each line contains the code for the lowercase character and the corresponding uppercase one.

enter image description here

2
  • Thank you very much for your solution. May I ask how do you get the list of Unicode conversion? Did you manually come up with it or did you make it with a piece of program? I am just curious.
    – ntvy95
    May 12, 2017 at 2:58
  • 1
    @ntvy95 I typed in the conversions manually, but the Unicode tables can be used to make it automatically.
    – egreg
    May 12, 2017 at 8:03

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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