
다음을 고려해보세요.패키지(또는수업) 두 개의 선택적 인수가 있는 매크로를 제공합니다. 하나는 할 수
(나는 사용한다 twoopt
. -file 의 코드는 .sty
읽기 쉽고 결과적으로 이해하기 쉽습니다.
(ii) 매크로를 핸드코딩합니다. 코드는 끔찍해 보이지만 사용자를 추가 패키지에 바인딩하지 않습니다.
또한 동일한 결과를 얻기 위해 ifthen
, xifthen
및 와 같은 여러 패키지가 있는 경우도 있습니다 ifthenx
.
사용할 패키지를 어떻게 선택하나요? 어떤 경우에 직접 코딩해야 하나요? 모범 사례가 있나요? 예제는 일반적인 질문을 예시하는 것입니다.
답변1
확실하지 않은 경우 표준을 선택하십시오.
아직 (있는 그대로) 확고히 자리 잡은 것은 아니지만 ifthen
, 곧 출시될 LaTeX3 커널의 프로그래밍 계층 expl3
은 강력하고 매우 안정적입니다. 에서도texlive-core
Arch Linux의 패키지 저장소 패키지(가장 최소한의 미니멀리스트라고 생각함)에는 전체 L3 커널이 포함되어 있습니다. 사용자는 항상 사용할 수 있습니다.
관련된 문제를 겪은 경험을 통해,하지 마라꼭 필요한 경우가 아니면 손으로 코딩해야 합니다. 유지 관리가 거의 불가능하며, 액면 그대로 이해하는 것도 불가능합니다.
여기에는 관례가 부족할 수 있지만 어쨌든 가장 좋은 관례는 공식적인 내용을 사용하는 것입니다.
여기에서 다음을 사용하여 다음을 찾아보세요 texdoc
.
expl3
그 이유를 설명한다특급근본적인엘에이텍스삼구문을 설명하고 '패키지' 구성 요소를 소개합니다(실제로는\usepackage{expl3}
interface3
expl3
전체 라이브러리 및 인터페이스 에 대한 참조 역할을 합니다.xparse
더 복잡한 구문으로 명령을 정의하는 데 귀중한 리소스
답변2
패키지가 귀하의 요구 사항을 충족 한다면 twoopt
사용하는 데 아무런 문제가 없습니다 ...
일반적으로 LaTeX는 지속적으로 개발되는 시스템입니다. 패키지는 이 프로세스의 엔진입니다. 보편적인 사용법을 무시하거나 적절한 패키지가 있었다면 하드 코딩을 선택함으로써 LaTeX 시스템의 중요한 속성을 거부하게 됩니다.
마지막 진술이 다소 극적으로 들리더라도 그 안에는 진실이 있습니다. 그 외에도 종종 선택과 습관의 문제로 남아 있습니다(우리는 모두 인간입니다!). 하지만 패키지 사용을 통해 더 읽기 쉬운 코드를 얻을 수 있는 기회가 있다면,어서. 그런데 이 기준은 LaTeX3 프로젝트의 주요 이슈입니다.
.sty
또는 파일 의 패키지에 바인딩되어도 .cls
어떤 방식으로든 제한되지는 않습니다. 자신의 패키지 코드에 사용한 패키지가 최신 패키지가 더 좋아지거나 다른 이유로 향후 더 이상 사용되지 않을지라도, 이는 사용한 기능이 더 이상 실행 가능하지 않다는 의미는 아닙니다. 또한, 패키지 작성자로서 플레이 상태에 따라 패키지를 유지/업데이트할 수 있습니다. 게다가 현재 LaTeX2e가 매우 안정적이라는 사실도 기억하고 싶습니다. 따라서 "공식 자료를 사용하는 것"(@Sean Allred, 위 참조)은 이러한 관점에서 완전히 합리적입니다.
마지막으로 세 개의 패키지가 특정 문제에 대해 완전히 동일한 작업을 수행하는 경우 "우리는 모두 인간입니다!"라는 위의 설명을 참조합니다. 가장 좋아하는 패키지나 익숙한 패키지를 사용하세요.