\todo 명령은 이미 정의되어 있지만 어디에 있습니까? 덮어쓸 수 있나요?

\todo 명령은 이미 정의되어 있지만 어디에 있습니까? 덮어쓸 수 있나요?

Windows10의 Visual Studio 코드에서 "pdflatex->bibtex->pdflatex x2" 레시피를 컴파일할 때 이 오류가 발생했습니다.

 LaTeX Error: Command \todo already defined.
               Or name \end... illegal, see p.192 of the manual.

코드는 ubuntu18의 Visual Studio 코드에서 컴파일한 것과 동일합니다. 어디에 정의되어 있는지 모르는 "\todo" 명령을 덮어쓰는 방법이 궁금합니다. (우분투에서는 전혀 문제가 되지 않았습니다!)

추신. 내 소스 코드의 일부:

%% -------------------------------
%% |    My packages /commands    |
%% -------------------------------
% track changes
    %\usepackage{changes}       % highlight changes
    \usepackage[final]{changes} % don't highlight changes

% tables
    \usepackage{array,multirow,graphicx}

% pseudocode
    \usepackage[ruled,vlined]{algorithm2e}

% for forcing positions of tables, figures, ...
    \usepackage{float}

% units
    \usepackage{siunitx}
    \usepackage{dcolumn}


%% ---------------------------------
%% | ToDo Marker - only for draft! |
%% ---------------------------------
% Remove this section for final version!
\setlength{\marginparwidth}{20mm}

\newcommand{\todo}[1]
{{\textbf{\textcolor{red}{(\margmajortodo{}#1)}}}{}}

\newcommand{\margmajortodo}
{\marginpar{\textbf{\textcolor{red}{ToDo}}}{}}

\newcommand{\todo}[1]업데이트: 로 변경하여 Windows에서 우회 방법을 찾았습니다 \renewcommand{\todo}[1]. 그러나 변경된 코드는 내 우분투 시스템에서 "\todo undefine" 오류를 발생시킵니다.

코드는 동일하지만 환경이 다르다는 것을 나타냅니다. 내가 해야 할 일은 어떤 패키지가 Windows에 추가/업그레이드되었는지 알아내는 것입니다.

답변1

이는 패키지에서 가져온 것입니다 ( 다양한 지점에 추가하고 정의된 위치를 보면 changes알 수 있듯이 ). \show\todo해당 패키지의 명령이 필요하지 않은 경우 \renewcommand정의에서 사용하여 기존 정의를 재정의하면 됩니다.

답변2

이게 최종 버전인가요? 그렇다면 명령을 정의하는 최소한 두 줄을 주석 처리하세요.

%\newcommand{\todo}[1]
%{{\textbf{\textcolor{red}{(\margmajortodo{}#1)}}}{}}

관련 정보