ednotes의 \Bnote 명령을 일반 \footnote처럼 동작하도록 재정의할 수 있습니까?

ednotes의 \Bnote 명령을 일반 \footnote처럼 동작하도록 재정의할 수 있습니까?

학술 장치 패키지의 맥락에서ednotes\Bnote일반적인 LaTeX 각주처럼 작동하는 사용자 정의된 각주를 만들고 싶습니다 . 즉, 텍스트 본문에 다음과 같이 입력하고 싶습니다.

blah blah.\Bnote{a}{This is the footnote text.} Blah blah blah...

각주는 \Anote레이어 아래에 나타나며 다음과 같습니다.

a 각주 내용입니다.

파일 내에는 ednotes.sty사용자 정의하기 위해 수정할 수 있는 여러 명령이 있지만 \Bnote이 동작을 얻는 방법을 알 수 없었습니다. 왜 표준 각주 유틸리티만 사용하지 않는 걸까요? 레이어 위에 나오기 때문입니다 \Anote. 명확히 하자면, 제가 재정의하려는 ednote의 기본 동작은 줄 번호를 각주 참조로 사용하는 것입니다.

LuaLaTeX와 TeXShop을 사용하고 있습니다.

답변1

. ednotes​그렇게 하는 방법을 모르기 때문에 여기에 두 번째로 좋은 해결책이 있습니다.

  • 에서 행 번호를 제거하고 마크 형식을 변경합니다 \Bnote.

  • "장치 B" 메모의 올바른 자동 번호 매기기를 생성하기 위해 카운터를 \Bfootnote조작하는 새로운 매크로를 정의합니다 .footnote


\documentclass{article}

\usepackage[Bplain]{ednotes}

\linenumbers

\newcommand{\Bnotefmt}{%
  \renewcommand*{\sameline}[1]{\linesfmt{##1}}%
  \renewcommand*{\differentlines}[2]{\linesfmt{##1\textendash##2}}%
%  \renewcommand*{\linesfmt}[1]{\textbf{##1}\enspace}% DELETED
  \renewcommand*{\linesfmt}[1]{}% NEW
  \renewcommand*{\pageandline}[2]{##1.##2}% ##1 page, ##2 line.
  \renewcommand*{\repeatref}[1]{##1}% E.g., ...
  \renewcommand*{\repeatref}[1]{\textnormal{/}}% ... instead.
%  \renewcommand{\lemmafmt}[1]{##1\thinspace]\enskip}% DELETED
  \renewcommand{\lemmafmt}[1]
      {\stepcounter{footnote}\textsuperscript{##1}\addtocounter{footnote}{-1}}% NEW
  \renewcommand{\lemmaellipsis}{\textsymmdots}%
  \renewcommand{\notefmt}[1]{##1}%
}

\newcommand*{\Bfootnote}[1]{%
  \addtocounter{footnote}{-1}%
  \Bnote{\footnotemark}{#1}%
}

\begin{document}

\null\vfill% just for the example

Some text \Anote{a}{An apparatus A note.}.

Some text.\Bfootnote{An apparatus B note that behaves like a normal footnote.}

Some text.\Bfootnote{And another one.}

\end{document}

여기에 이미지 설명을 입력하세요

답변2

그 동안 나( 님의 작성자)는 메일을 통해 "각주 엔진"으로 사용한다고 ednotes말했습니다 . 의 각주 레이어 설정은 의 설정을 사용하여 각주 표시가 없는 각주 레이어를 생성합니다. 각주 표시를 "뒤로" 가져오려면 내부에서 시도하지 말고 직접 사용하는 것이 좋습니다 .ednotesmanyfootednotesmanyfootednotesmanyfoot

이전 솔루션에서는 \linesfmt. 제가 코드를 보고 직접 발견하기 몇 초 전에는 맞습니다. 바울은 이전에 발견한 적이 있었습니다 \lemmafmt. 위의 솔루션은 실제로 작동하는 것처럼 보입니다. 하지만 manyfoot직접 사용하는 것이 더 좋은 카운터를 이미 제공하고 있습니다.

답변3

Uwe의 제안에 이어 lockstep과 동일한 출력을 생성하는 또 다른 접근 방식이 있습니다(자동 카운터는 없지만).

\documentclass{article}

\usepackage{ednotes}

\linenumbers

\newfootnote{Z}
\newcommand\footnoteZ[2]{\Footnotemark{#1}\FootnotetextZ{}{#2}}

\begin{document}

\null\vfill% just for the example

Some text \Anote{a}{An apparatus A note.}.

Some text.\footnoteZ{1}{An apparatus B note that behaves like a normal footnote.}

Some text.\footnoteZ{2}{And another one.}

\end{document}

이 명령은 에서 로드한 패키지 \newfootnote{}의 일부입니다 .manyfootednote

관련 정보