
Tenho que censurar informações confidenciais nos currículos. Os currículos usam o moderncv
pacote. Decidi usar o censor
pacote para escurecer as informações confidenciais. Quando tento censurar o terceiro parâmetro em a \cventry
, encontro um erro:
! O uso de @@array não corresponde à sua definição.
O MWE
%!TeX spellcheck = en_US
\documentclass[11pt, a4paper]{moderncv}
\moderncvtheme[orange]{classic} % [color]{stye}
\usepackage[utf8]{inputenc}
\usepackage[english]{babel}
\usepackage{lmodern}
\usepackage[T1]{fontenc}
\usepackage{array}
\usepackage{censor}
\usepackage{xpatch}
\xpatchcmd{\cventry}{.\strut}{\strut}{}{}
\firstname{firstname}
\familyname{lastname}
\address{street}{postal code}
\email{e-mail}
\begin{document}
\makecvtitle
\section{Interests}
\cventry{Since 2000}{}{\censor{to be censored}}{Test}{}{}
\end{document}
O log de erros
! O uso de @@array não corresponde à sua definição. @ifnextchar \reserved@d =#1\def \reserved@a {#2}\def \reserved@b {#3}\f... l.26 ...2000}{}{\censor{para ser censurado}}{Teste}{}{}
Se você disser, por exemplo,
\def\a1{...}', then you must always put
1' depois de `\a', uma vez que os nomes das sequências de controle são compostos apenas de letras. A macro aqui não foi seguida pelo material necessário, então estou ignorando.! O argumento de @firstoftwo tem um } extra. \par l.26 ...2000}{}{\censor{a ser censurado}}{Teste}{}{}
Encontrei um
}' that doesn't seem to match anything. For example,
\def\a#1{...}' e\a}' would produce this error. If you simply proceed now, the
\par' que acabei de inserir me fará relatar um argumento descontrolado que pode ser a raiz do problema. Mas se você tiver}' was purious, just type
2 'e ele irá embora.Argumento descontrolado? ! O parágrafo terminou antes de @firstoftwo ser concluído.
\par l.26 ...2000}{}{\censor{a ser censurado}}{Teste}{}{}
Suspeito que você tenha esquecido um `}', fazendo com que eu aplique esta sequência de controle a muito texto. Como podemos nos recuperar? Meu plano é esquecer tudo e torcer pelo melhor.
Responder1
Você pode usar \protect
antes do seu comando \censor
para poder compilar o currículo censurado.
Por favor, veja este MWE
\documentclass[11pt, a4paper]{moderncv}
\moderncvtheme[orange]{classic} % [color]{stye}
\usepackage[utf8]{inputenc}
\usepackage[english]{babel}
\usepackage{lmodern}
\usepackage[T1]{fontenc}
\usepackage{array}
\usepackage{censor}
\usepackage{xpatch}
\xpatchcmd{\cventry}{.\strut}{\strut}{}{}
\name{firstname}{lastname}
\address{street}{postal code}
\email{e-mail}
\begin{document}
\makecvtitle
\section{Interests}
\cventry{Since 2000}{}{\protect\censor{to be censored}}{Test}{}{} % <=============
\end{document}
e seu resultado: