我正在使用 IEEEtranTIE 模板寫一篇論文(由IEEE 工業電子學報)。
他們稍微修改了 IEEEtran 模板,其中一個編輯是標題字體的變更。
為了獲取有關字體的信息,我使用了以下巨集:
\makeatletter
\newcommand{\showfont}{
Encoding: \f@encoding{},
Family: \f@family{},
Series: \f@series{},
Shape: \f@shape{},
Size: \f@size{}.
}
\makeatother
使用\caption{\showfont}
I get Encoding: T1, Family: phv, Series: m, Shape: n, Size: 8.
When I add a subfigure using the subcaption package 如 IEEEtran 所示
\makeatletter
\let\MYcaption\@makecaption
\makeatother
\usepackage[labelformat=simple,font=footnotesize]{subcaption}
\makeatletter
\let\@makecaption\MYcaption
\renewcommand{\thesubfigure}{(\roman{subfigure})}
\makeatother
我在子圖中寫了一個標題,我得到了一個不同的家庭。
\subcaption{\showfont}
給出Encoding: T1, Family: ptm, Series: m, Shape: n, Size: 8.
.為了具有一致的外觀和感覺,我想設定相同的字體系列 ( phv
) 但稍小 (7)。如何才能得到這個呢?
作為一個附帶問題,是否可以獲得特定環境的字體並將其分配給另一個環境?
類似(偽代碼):
\edef\subcaptionfont\captionfont
或者(說實話,我仍然很難理解何時使用\the
):
\edef\subcaptionfont{\the\captionfont}
也可能能夠更改某些字段,例如大小或字體系列。
MWE(IEEEtranTIE 類別可以從上面的連結下載):
\documentclass[journal]{IEEEtranTIE}
\usepackage[pdftex,demo]{graphicx}
\usepackage{lipsum}
\makeatletter
\let\MYcaption\@makecaption
\makeatother
\usepackage[labelformat=simple,font=footnotesize]{subcaption}
\makeatletter
\let\@makecaption\MYcaption
\renewcommand{\thesubfigure}{(\roman{subfigure})}
\makeatother
\makeatletter
\newcommand{\showfont}{
Encoding: \f@encoding{},
Family: \f@family{},
Series: \f@series{},
Shape: \f@shape{},
Size: \f@size{}.
}
\makeatother
\title{Title}
\author{Author}
\begin{document}
\maketitle
\begin{abstract}
\lipsum[1-2]
\end{abstract}
\section{title}
\lipsum[1-3]
\begin{figure}[h]
\begin{subfigure}{\columnwidth}
\includegraphics[width=\textwidth]{dummy}
\subcaption{\showfont}
\label{fig1}
\end{subfigure}
\caption{\showfont}
\label{fig0}
\end{figure}
\end{document}
- 編輯 - 隨著@TeXnician 的幫助我能夠得到想要的結果。透過改變載入subcaption的部分得到結果,即
\usepackage[labelformat=simple,font=footnotesize]{subcaption}
和
\usepackage[labelformat=simple]{subcaption}
\DeclareCaptionFont{myfont}{\fontfamily{phv}\scriptsize\selectfont}
\captionsetup[sub]{font=myfont}
問題的最後部分仍然有效,可以改寫如下。
是否可以使用類似的內容將子標題字體設定為繼承相同的標題(但不是一個工作範例,因為\thecaptionfont
不是有效的命令):
\usepackage[labelformat=simple]{subcaption}
\DeclareCaptionFont{myfont}{\thecaptionfont\scriptsize\selectfont}
\captionsetup[sub]{font=myfont}
?
答案1
在我看來,你不應該將caption
orsubcaption
與該類別一起使用。
無論如何,由於字幕中使用的字體是\footnotesize\sffamily
,所以你可以逃脫
\documentclass[journal]{IEEEtranTIE}
\usepackage[demo]{graphicx}
\usepackage{lipsum}
\makeatletter
\let\MYcaption\@makecaption
\makeatother
\usepackage[labelformat=simple,font={footnotesize,sf}]{subcaption}
\makeatletter
\let\@makecaption\MYcaption
\renewcommand{\thesubfigure}{(\roman{subfigure})}
\makeatother
\makeatletter
\newcommand{\showfont}{
Encoding: \f@encoding{},
Family: \f@family{},
Series: \f@series{},
Shape: \f@shape{},
Size: \f@size{}.
}
\makeatother
\title{Title}
\author{Author}
\begin{document}
\maketitle
\begin{abstract}
\lipsum[1-2]
\end{abstract}
\section{title}
\lipsum[1-3]
\begin{figure}[h]
\begin{subfigure}{\columnwidth}
\includegraphics[width=\textwidth]{dummy}
\subcaption{\showfont}
\label{fig1}
\end{subfigure}
\caption{\showfont}
\label{fig0}
\end{figure}
\end{document}
subfig
這是與該類別相容的設定。
\documentclass[journal]{IEEEtranTIE}
\usepackage[demo]{graphicx}
\usepackage{lipsum}
\usepackage[caption=false]{subfig}
\captionsetup[subfloat]{font={footnotesize,sf}}
\makeatletter
\newcommand{\showfont}{
Encoding: \f@encoding{},
Family: \f@family{},
Series: \f@series{},
Shape: \f@shape{},
Size: \f@size{}.
}
\makeatother
\title{Title}
\author{Author}
\begin{document}
\maketitle
\begin{abstract}
\lipsum[1-2]
\end{abstract}
\section{title}
\lipsum[1-3]
\begin{figure}[htp]
\subfloat[\showfont\label{fig1}]{%
\includegraphics[width=\columnwidth]{dummy}%
}
\caption{\showfont}
\label{fig0}
\end{figure}
\end{document}
輸出是相同的。
答案2
ptm
這是一個為兩個標題設定字體的工作版本。請隨意將其更改為其他字體(如果您願意,您也必須更改標題字體):
\documentclass[journal]{IEEEtran}
\usepackage[demo]{graphicx}
\usepackage{lipsum}
\makeatletter
\let\MYcaption\@makecaption
\makeatother
\usepackage[compatibility=false]{caption}
\DeclareCaptionFont{quackfont}{\fontfamily{ptm}\fontsize{7pt}{9pt}\selectfont}
\usepackage[labelformat=simple,font=quackfont]{subcaption}
\makeatletter
\let\@makecaption\MYcaption
\renewcommand{\thesubfigure}{(\roman{subfigure})}
\makeatother
\makeatletter
\newcommand{\showfont}{
Encoding: \f@encoding{},
Family: \f@family{},
Series: \f@series{},
Shape: \f@shape{},
Size: \f@size{}.
}
\makeatother
\title{Title}
\author{Author}
\begin{document}
\maketitle
\begin{abstract}
\lipsum[1-2]
\end{abstract}
\section{title}
\lipsum[1-3]
\begin{figure}[h]
\begin{subfigure}{\columnwidth}
\includegraphics[width=\textwidth]{dummy}
\subcaption{\showfont}
\label{fig1}
\end{subfigure}
\caption{\showfont}
\label{fig0}
\end{figure}
\end{document}