2

I am preparing figures for an IEEEtran journal, and they require that all text in the figures be written in Times New Roman font. I have tried using "\setmainfont{Times New Roman}" and "font=\fontspec{Times New Roman}" (XeLaTeX) but I'm not sure if that is correct, as I don't have much experience with fonts and LaTeX. I would appreciate it if you could guide me on how to enforce the use of Times New Roman for everything.

I'm also unsure if this requirement applies to math formulas.

"For consistency throughout the journal, we ask that wording in the figures remain in Times New Roman font when possible. Also, make sure to use the same font (down to capitalization and style, italics or bold) for the variables in your figures as you use in the text of your paper"

(Source: https://www.ieee-pels.org/images/files/pdf/TTE/tte-infoauth-fill-3026800-x.pdf)

\documentclass[border={0.1mm}]{standalone}
\usepackage{fontspec}
\setmainfont{Times New Roman}
\usepackage[american,siunitx,RPvoltages]{circuitikz}
\usepackage{bm}
\newcommand*{\B}[1]{\ifmmode\bm{#1}\else\textbf{#1}\fi}

% set all label and text to font of 9pt

\ctikzset{bipole label style/.style={font=\fontspec{Times New Roman}\color{black}\fontsize{10}{12}\selectfont}}
\ctikzset{bipole annotation style/.style={font=\fontspec{Times New Roman}\color{black}\ttfamily\large}}
\ctikzset{bipole voltage style/.style={font=\fontspec{Times New Roman}\color{black}\fontsize{10}{12}\selectfont}}
\ctikzset{bipole current style/.style={font=\fontspec{Times New Roman}\color{black}\fontsize{10}{12}\selectfont}}


\begin{document}

\begin{tikzpicture}[ultra thick, 
circuitikz/inductors/thickness=0.9,
circuitikz/capacitors/thickness=0.9,
circuitikz/power supplies/thickness=0.9,
circuitikz/sources/thickness=0.9,
circuitikz/switches/thickness=0.9,
circuitikz/grounds/thickness=0.9,
font=\color{black}\fontsize{10}{12}\selectfont
]

\draw  (2, 2.4) to [short,o-] ++(0.1,0) to [cute inductor, v^=$\bm{V_\mathrm{L}}$, voltage/american label distance=0.6pt,name =L] ++ (1.8,0) to [short, -o] ++(0.1,0);


% draw input and output
\draw (-0.3,0.4) to [V] (-0.3,2.4) to [short] ++(1.3,0) ; 
\node [above ] at (-0.3,2.4)  {$\B{V_\mathrm{DC}}$};

\end{tikzpicture}


\end{document}
3
  • 1
    Are you sure they are ok with xelatex? Anyway, circuitikz use the current font for the document... at least it should. So if you set the main font and the math font to be the correct one for the document, simply do nothing for circuitikz.
    – Rmano
    Commented May 30, 2023 at 10:59
  • @Rmano I see, thank you. I thought that pdflatex and xelatex just different engine to produce the same PDF?
    – emnha
    Commented May 30, 2023 at 12:41
  • in a sense, yes, but especially the approach to fonts is wildly different (much more modern in xe- and lualatex)...
    – Rmano
    Commented May 30, 2023 at 12:45

1 Answer 1

2

It is a good practice that if you want/have to follow a publisher-provided class, to use it and not change their default¹. So the best approach is simply to use the class itself and avoid touching font definitions:

\documentclass{IEEEconf}
\usepackage[siunitx, RPvoltages]{circuitikz}
\begin{document}
Text V\textsubscript{x}, math $V_x$,
    \tikz[american, baseline=(Rvoltage.base)]
    \draw(0,0) to[R, v=$V_x$, name=R] ++(2,0);
\end{document}

enter image description here

As you can see, circuitikz just goes with the flow 😉 and uses whatever math or text font is current.

Now, if you want to prepare the figure separately, it's handy to use standalone, and in that case you may need to tinker a bit with the fonts. In IEEEconf.cls, they use

\RequirePackage{mathptmx}
\RequirePackage{helvet}
\RequirePackage{courier}

So you can just do the same like this:

\documentclass[border=10pt]{standalone}
\usepackage[T1]{fontenc}
\usepackage{mathptmx, helvet, courier}
\usepackage[siunitx, RPvoltages]{circuitikz}
\begin{document}
\begin{tikzpicture}[american]
   \draw(0,0) to[R, v=$V_x$, name=R] ++(2,0); 
\end{tikzpicture}
\end{document}

enter image description here

(The two images are copied and pasted with the same scale, and it seems they match; IEEEconf is based on a 10-points article class).


¹ which can be not so nice, mind you, or current...

2
  • Thank you for the advice. How would you set the font size for label or node?
    – emnha
    Commented May 30, 2023 at 15:33
  • 1
    @emnha, globally or locally? The default font size is the document's one. You can use the global \small, \large, etc., or the font key of the nodes. But probably this is another question, isn't it? Try to prepare an MWE for your problem and pose another question, please.
    – Rmano
    Commented May 30, 2023 at 15:49

You must log in to answer this question.

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