Я пишу статью, используя шаблон IEEEtranTIE (предоставленныйТруды IEEE по промышленной электронике).
Они немного изменили шаблон IEEEtran, и одним из изменений стало изменение шрифта подписи.
Для получения информации о шрифтах я использовал следующий макрос:
\makeatletter
\newcommand{\showfont}{
Encoding: \f@encoding{},
Family: \f@family{},
Series: \f@series{},
Shape: \f@shape{},
Size: \f@size{}.
}
\makeatother
Используя \caption{\showfont}
я получаю Encoding: T1, Family: phv, Series: m, Shape: n, Size: 8.
Когда я добавляю подрисунок, используя пакет subcaption, как указано 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
or subcaption
с этим классом.
В любом случае, поскольку в подписях используется шрифт \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}