
나는 l3doc
내 패키지에 대한 문서를 작성하는 데 사용합니다. 문서에서 패키지의 매크로, 환경 및 옵션을 설명해야 합니다. 나는 환경 function
만을 사용하기 시작했습니다. @egreg(감사합니다!)로부터 팁을 받은 후 환경을 찾았습니다 environment
. 에 대한 문서를 찾지 못했기 때문입니다 l3doc
. 더 많은 문제가 발생합니다. 예를 들면 다음과 같습니다.
\documentclass{l3doc}
\usepackage{lipsum} % to generate some text
\begin{document}
\lipsum
\begin{function}{\macro}
this is a macro.
\end{function}
\begin{environment}{env}
this is an env.
\end{environment}
\begin{function}{opt}
\begin{syntax}
opt = \meta{a}
\end{syntax}
this is an opt.
\end{function}
\PrintIndex
\end{document}
아래 명령을 사용하여 컴파일합니다.
pdflatex example
makeindex -s l3doc.ist example
pdflatex example
pdflatex example
결과는 다음과 같습니다.
몇 가지 문제가 있습니다:
- 항목이 두 번 반복되는 것을 볼 수 있습니다
env
. - 항목의 페이지 번호
env
가 잘못되었습니다. - 항목 은 가 아닌
opt
에서 색인화되어야 합니다 . 환경이 아닌 옵션이므로 사용할 수 없습니다 . 나는 필요하다 .O
P
environment
syntax
도움을 주셔서 감사합니다.
답변1
문제는 l3doc
실제로 어느 정도 프로젝트 내부에 있고 우리가 생각하기에 안정적이거나 적절하게 문서화되지 않았다는 것입니다. 간단히 말해서 이것은 우리가 실험하고 우리 작업에 유용하다고 판단한 문서에 대한 해킹 및 추가 기능입니다. 그러나 이에 대한 적절한 문서를 마무리하고 작성하는 데는 결코 성공하지 못했습니다.
조판을 통해 거기에 있는 문서를 얻을 수 있지만 l3doc.dtx
그러면 무슨 뜻인지 알게 될 것입니다. 모든 것이 사용자 인터페이스에 문서화되어 있지 않으며 코드에는 대부분 주석이나 추가 정보가 없습니다. 그럼에도 불구하고 몇 가지 추가 정보를 제공할 수 있지만 이러한 인터페이스를 변경하거나 추가할 수 있다는 점에 유의하세요.
위의 문제에 관해서는 l3doc.ist
levelchar를 로 설정하는 동안 버그가 있었지만 #
코드는 여전히 levelchar를 >
. 내부적으로는 LaTeX2e 배포판의 사용을 중단 l3doc.ist
하고 대신 사용하고 있습니다. gind.ist
이것을 사용하거나 levelchar를 수정하면 항목이 올바르게 나오는 것을 l3doc.ist
볼 수 있습니다 env
. 여전히 2개의 항목이 있지만 그 중 하나는 기본 제목 "environments" 아래의 하위 항목입니다.
문제에 관해서는 다음을 사용 하지만 그 중 하나는 명령에만 opt
사용 되며 백슬래시라고 가정하여 정렬 목적으로 첫 번째 문자를 제거합니다. function
따라서 항목은 "p"인 두 번째 문자 아래에 정렬됩니다. 불행하게도 옵션을 문서화할 수 있는 환경이 없습니다.
현재 \DescribeOption
명령이 있지만 그게 전부입니다. 이 명령이 이후 릴리스에서도 살아남을지 확신할 수 없습니다.
업데이트
env
방금 두 번째 질문인 " 페이지 번호가 2가 아닌 "1"로 표시되는 이유는 무엇입니까?"에 대답하지 않았다는 것을 깨달았습니다.
글쎄, 기본 패키지 규칙을 사용하여 페이지 번호가 아닌 코드 줄 번호 1(직립 숫자)을 표시하는 것은 아닙니다 doc
. 즉, 이는 사용자 인터페이스 설명 환경이 아니라 코드 문서화 환경을 의미합니다.
기본적으로 이것이 실제로 완성된 제품이 아니라는 점을 우리에게 다시 알려주는 결함(버그는 아닐지라도)입니다. 그러나 우리가 아마도 그것에 대해 뭔가 조치를 취해야 한다는 것이 분명해집니다.