Как подвергнуть цензуре часть Cventry с помощью пакета censor?

Как подвергнуть цензуре часть Cventry с помощью пакета censor?

Мне нужно цензурировать конфиденциальную информацию в резюме. Резюме используют пакет moderncv. Я решил использовать censorпакет для очернения конфиденциальной информации. Когда я пытаюсь цензурировать третий параметр в \cventry, я сталкиваюсь с ошибкой:

! Использование @@array не соответствует его определению.

МВЭ

%!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}

Журнал ошибок

! Использование @@array не соответствует его определению. @ifnextchar \reserved@d =#1\def \reserved@a {#2}\def \reserved@b {#3}\f... l.26 ...2000}{}{\censor{подлежит цензуре}}{Test}{}{}

Если вы скажете, например, \def\a1{...}', then you must always put1' после `\a', так как имена управляющих последовательностей состоят только из букв. За макросом здесь не следует требуемое, поэтому я его игнорирую.

! Аргумент @firstoftwo имеет дополнительный }. \par l.26 ...2000}{}{\censor{подлежит цензуре}}{Тест}{}{}

Я наткнулся на }' that doesn't seem to match anything. For example,\def\a#1{...}' и \a}' would produce this error. If you simply proceed now, the\par', которые я только что вставил, заставят меня сообщить о неконтролируемом аргументе, который может быть корнем проблемы. Но если ваш }' was purious, just type2' и это исчезнет.

Спор вышел из-под контроля?! Абзац закончился до того, как @firstoftwo был завершён.

\par l.26 ...2000}{}{\censor{подлежит цензуре}}{Тест}{}{}

Я подозреваю, что вы забыли `}', из-за чего мне пришлось применить эту последовательность управления к слишком большому количеству текста. Как нам исправить ситуацию? Мой план — забыть все и надеяться на лучшее.

решение1

Вы можете использовать \protectперед своей командой \censor, чтобы иметь возможность составить отцензурированное резюме.

Пожалуйста, посмотрите это 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}

и его результат:

полученное резюме

Связанный контент