背景:我正在用 moderncv 写简历。我喜欢它的外观,但该软件包似乎不允许轻松自定义布局。
我想要实现的是以\section
不同于其他命令的格式格式化某个命令。
特别是我正在使用
\xpatchcmd\cventry{,}{\newline}{}{}
用 替换逗号\newline
。是否可以“限定”补丁的范围,使其仅在一个部分内应用?
答案1
我建议使用不同的补丁:
\xpatchcmd{\cventry}{,}{\cventrycomma}{}{}
\newcommand{\cventrycomma}{,}
然后你可以做
\renewcommand{\cventrycomma}{\newline}
当您想用新行代替逗号时。可以通过两种方式进行恢复:
将需要添加新行的部分(包括 )括
\renewcommand
在一\begingroup...\endgroup
对中\renewcommand{\cventrycomma}{,}
当您再次需要逗号时发出。
方法一可以隐藏在环境中:
\newenvironment{specialsection}
{\renewcommand{\cventrycomma}{\newline}}
{}
答案2
我会按照如下方式进行操作:
\let\originalcventry\cventry% save a copy of \cventry
\xpatchcmd\cventry{,}{\newline}{}{}% create the patched version
...use the patched version...
\let\cventry\originalcventry% restore the original