在 \titlecap 中更改字体

在 \titlecap 中更改字体

我使用包\titlecap中的宏titlecaps将文本转换为标题大写。我还想在转换后的文本中进行简单的字体样式更改。

下面的示例代码不能编译:

\documentclass{article}

\usepackage{titlecaps}

\begin{document}

\Resetlcwords
\Addlcwords{for a is but and with of in as the etc on to if}
\titlecap{An interesting \textsf{corollary} is a good corollary}.

\end{document}

我怎样才能\titlecap通过简单的字体样式更改来完成工作?

编辑

Steven 的补丁适用于这个简单的例子。然而,在我实际使用这个titling混合包时,我仍然遇到一个问题。

例如:

\documentclass{article}

\usepackage{titling}
\postdate{
    \centerline{\thetitle}
}

\usepackage{titlecaps}
\Resetlcwords
\Addlcwords{for a is but and with of in as the etc on to if}

\title{
    \titlecap{An \textbf{interesting} \textsf{c\"orollary} is the \"only good c\"orollary}
}
\author{First Author}

\begin{document}

\maketitle

Hello world.

\end{document}

编译时出现“Extra },或忘记了 \endgroup。”错误,无法进行字体更改,并且会产生多余的字符:

标题大写字母有标题问题

答案1

似乎随着时间的推移,包titlecaps与包之间交互的方式ifthen发生了变化……titlecaps传递给\ifthenelse语句的某些标记现在导致了错误。

我当然不会责怪ifthen,但我发现我需要用\ifthenelse重新表述的普通 Tex\ifx调用替换某些调用。在调试过程中,我还意识到,我大量使用的\protected@edef可以通过选择性扩展得到更好的服务。

最重要的是,我确实需要重新审视并修改该titlecaps软件包以将其清理干净。已进行修订并上传至 CTAN,版本为 1.3 [2022-04-12] (https://ctan.org/pkg/titlecaps)。使用该软件包的修订版本,以下 MWE 可按预期工作:

\documentclass{article}

\usepackage{titlecaps}

\begin{document}

\Resetlcwords
\Addlcwords{for a is but and with of in as the etc on to if}
\titlecap{An interesting \textsf{c\"orollary} is the \"only good c\"orollary}.

\end{document}

在此处输入图片描述


补充

至于编辑\postdateED 问题,OP 的 MWE 有错误……显然,如果不指定\predate和,则无法使用\date。完成此操作后,标题确实可以通过正确呈现titlecaps,但\postdate指定为的\centerline{\thetitle}最终被 scrogged。这种 scrogging 的原因是\thetitle最终插入了许多\protect宏,这些宏与 titlecaps 逻辑交互不佳。

解决方案是将\titlecap调用保存到它自己的中\def,如下所示,并在需要执行时\mydef使用。\mydef

\documentclass{article}
\def\mydef{%
  \titlecap{An \textbf{interesting} \textsf{c\"orollary} is the \"only good
  c\"orollary}}
\usepackage{titling}
\predate{}
\date{}
\postdate{\centerline{\mydef}}

\usepackage{titlecaps}
\Resetlcwords
\Addlcwords{for a is but and with of in as the etc on to if}

\title{\mydef}
\author{First Author}
\begin{document}

\maketitle

Hello world.

\end{document}

在此处输入图片描述

相关内容