我定义了一个使用一种字体(sc)的宏(\chit),并且该宏在实现中的另一个宏textbf中使用- \textbf{Q\thequestion: #1?}
。
\documentclass[12pt]{article}
\usepackage{xspace}
\newcounter{question}
\newcommand{\chit}{\textsc{Chitx}\xspace}
\newcommand\Que[1]{%
\leavevmode\par
\stepcounter{question}
\noindent
\textbf{Q\thequestion: #1?}\par}
\newcommand\Ans[1]{%
\leavevmode\par\noindent
{\textbf{A\thequestion:} #1\par}}
\begin{document}
\Que{What is \chit}? % <-- Wrong font
What is \chit? % <-- Correct font
\end{document}
结果,输出结果并不是我期望的字体类型。如何保护我在 \chit 宏中指定的字体类型?
编辑1
对于问答宏,我从LaTeX 中的问答模板
答案1
你收到警告
LaTeX Font Warning: Font shape `OT1/cmr/bx/sc' undefined
(Font) using `OT1/cmr/bx/n' instead on input line 19.
这意味着 Computer Modern 字体系列中没有粗体小型大写字体。
另一方面,欧洲现代字体系列确实有它。
\documentclass[12pt]{article}
\usepackage[T1]{fontenc}
\usepackage{xspace}
\newcounter{question}
\newcommand{\chit}{\textsc{Chitx}\xspace}
\newcommand\Que[1]{%
\leavevmode\par
\stepcounter{question}%
\noindent
\textbf{Q\thequestion: #1?}\par}
\newcommand\Ans[1]{%
\leavevmode\par\noindent
{\textbf{A\thequestion:} #1\par}}
\begin{document}
\Que{What is \chit}? % <-- Wrong font
What is \chit? % <-- Correct font
\end{document}
我不知道这\leavevmode\par
是做什么用的;如果你的目的是在问题前留出一些空间,那么它就是错误的工具:
\newcommand\Que[1]{%
\par\addvspace{\bigskipamount}% <--- or whatever
\noindent\stepcounter{question}
\textbf{Q\thequestion: #1?}\par
}
完整代码:
\documentclass[12pt]{article}
\usepackage[T1]{fontenc}
\newcounter{question}
\newcommand{\chit}{\textsc{Chitx}}
\newcommand\Que[1]{%
\par\addvspace{\bigskipamount}% <---- fix it
\noindent\stepcounter{question}%
\textbf{Q\thequestion: #1?}\par
}
\newcommand\Ans[1]{%
\par\noindent
\textbf{A\thequestion:}~#1\par
}
\begin{document}
Some text before the question. What is \chit?
\Que{What is \chit}
\Ans{I don't know}
\end{document}