%EC%9D%84%20%EC%96%B4%EB%96%BB%EA%B2%8C%20%EC%83%9D%EC%84%B1%ED%95%A9%EB%8B%88%EA%B9%8C%3F.png)
todonotes
구실: , todo
, 및 과 같은 패키지를 알고 있지만 fixme
이는 LaTeX 프로그래밍을 배우기 위한 작업에 가깝습니다. 따라서 CTAN에서 다운로드한 추가 패키지의 사용은 권장되지 않습니다. 또한 추가 *.sty 파일 사용을 피하고 싶습니다.
계산된 항목이 나중에 목록에 표시되도록 기본 *.tex에 명령을 어떻게 생성합니까?예를 들어:
Text before\todo[optional caption]{my text here}.
Some other text in the document\todo{another todo but without caption}.
할 일 메모는 인라인 텍스트에 색상이 지정되거나 접두사가 붙거나 다른 방식으로 표시됩니다. 그런 다음 호출하면 문서에 s \listoftodos
의 목록이 생성되고 와 유사하지만 별도의 (하이퍼링크) 목록이 생성됩니다 . 여기서 의 내용은 있는 경우에만 오른쪽에 페이지 번호가 있는 의 내용으로 대체됩니다 . 이 목록에는 단일 수준의 깊이만 필요합니다.\todo
\tableofcontents
{}
[]
패키지 의 소스 코드를 살펴봤지만 todonotes
이해가 되지 않았습니다. 내가 알 수 있듯이 이 작업에는 두 개의 새로운 명령을 정의하고, 할 일 목록에 텍스트를 저장하고, 선택적 인수를 처리하고, 마지막으로 hyperref
(다른) 목차를 사용하여 참조된 할 일 목록을 만드는 것이 필요합니다. 목록은 *.aux 파일에 기록됩니다.
보너스:
수식 또는 섹션 헤더 내에서 사용되는 안전성, 메모 내에서 서식 또는 수식을 갖는 안전성
옵션은 어떻게 추가할 수 있나요? 인라인 텍스트에 대한 간단한 표시 또는 숨기기 옵션( 에 계속 표시되는 동안
\listoftodos
)이 좋을 것입니다.이 방법을 다른 항목에도 확장할 수 있나요?
\myitem
,\listofmyitems
,\otheritems
,\listofotheritems
?
부록: (La)TeX 프로그래밍을 위한 고급 온라인 가이드가 있나요? 이는 향후 사업에 도움이 될 것입니다.
답변1
옵션 키가 없는 예비 버전
\documentclass{article}
\usepackage[x11names]{xcolor}
\usepackage{etoolbox}%
\usepackage{blindtext}% Just as text filler
\usepackage{hyperref}
\makeatletter
\def\todolist{}
\newcounter{todolistcounter}
\newcommand{\ToDo}{%
\@ifnextchar[{\todoopt}{\todonoopt}%
}%
\newcommand{\todonoopt}[1]{%
\refstepcounter{todolistcounter}
% \addcontentsline{todo}{section}{\thetodolistcounter~#1} % No contents line
\listgadd{\todolist}{#1}%
#1%
% \colorbox{green}{\thetodolistcounter~#1}
}
\newcommand{\todoopt}[2][]{%
\refstepcounter{todolistcounter}
\addcontentsline{todo}{section}{\thetodolistcounter~#1}
\listgadd{\todolist}{#2}%
#2%
% \colorbox{green}{\thetodolistcounter~#2}
}%
\newcommand{\listoftodos}{%
\section{List of Todos}
\@starttoc{todo}
\clearpage
}%
% inline display (as a enumerate) list
\newcommand{\InTextListOfToDos}{%
\begin{enumerate}%
\renewcommand*{\do}[1]{%
\item ##1%
}
\dolistloop{\todolist}%
\end{enumerate}%
}
\makeatother
\begin{document}
\listoftodos
\ToDo{first} \ToDo{We}
\blindtext[5] \ToDo[should not]{should} \blindtext[10]\ToDo{start from scratch}
\ToDo{\begin{equation}
E = mc^2%
\end{equation}%
}
\blindtext
\section{The ToDos}
\section{A heading with a ToDo \protect\ToDo{Something}}
\InTextListOfToDos
\end{document}