
履歴書の機密情報を検閲する必要があります。履歴書はmoderncv
パッケージを使用します。機密情報を黒くするために パッケージを使用することにしましたcensor
。 の 3 番目のパラメータを検閲しようとすると\cventry
、エラーが発生します。
! @@array の使用がその定義と一致しません。
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}
エラーログ
! @@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 put
`\a' の後に '1' と記述すると、制御シーケンス名は文字のみで構成されます。ここでのマクロの後に必要なものが続いていないため、無視します。! @firstoftwo の引数に余分な } があります。\par l.26 ...2000}{}{\censor{検閲対象}}{Test}{}{}
}' that doesn't seem to match anything. For example,
\def\a#1{...}' と\par'に遭遇しました\a}' would produce this error. If you simply proceed now, the
が、これを挿入すると、問題の根本原因である可能性のある暴走した引数が報告されます。ただし、}' was purious, just type
2' の場合は、問題は解決します。議論が暴走?!@firstoftwo が完了する前に段落が終了しました。
\par l.26 ...2000}{}{\censor{検閲対象}}{テスト}{}{}
おそらく、`}' を忘れたために、この制御シーケンスをあまりに多くのテキストに適用してしまったのだと思います。どうすれば回復できるでしょうか? 私の計画は、すべてを忘れて、最善を祈ることです。
答え1
\protect
コマンドの前にを使用すると\censor
、検閲された CV をコンパイルできるようになります。
この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}
そしてその結果: