1

我有一个 Latex 文本,我想为其编写一个非常基本的类来渲染。基本上所有文本的命令都需要定义。到目前为止我做得很好,直到我遇到这个:

\swordfootnote{1}{}{Philemon 1:23}{crossReference}{}{See \swordxref{Col.1.7}{Col. 1:7}}

基本上,这是一个花哨的脚注,至少在这一刻,我只想将其呈现为脚注。它有 6 个参数,但我真的只需要最后一个,即脚注文本。

我做了以下事情:

\RequirePackage{hyperref} \newcommand{\swordxref}[2]{\hyperref{#1}{#2}} \newcommand{\swordfootnote}[6]{\footnote{#6}}

我正在编译有多余 } 的消息。

! Argument of \@finalstrut has an extra }. <inserted text> \par l.9 ...ver. 9}; See \swordxref{Eph.3.1}{Eph. 3:1}}

关于我做错了什么的任何建议?

4

1 回答 1

3

您的使用\hyperref不正确。“双参数”版本\hyperref使用接口

\hyperref[<label>]{<text>}

第一个参数带有方括号。

这是一个显示用法的最小示例:

在此处输入图像描述

\documentclass{article}
\usepackage[paperheight=20\baselineskip]{geometry}% Just for this example
\usepackage{hyperref}
\newcommand{\swordxref}[2]{\hyperref[#1]{#2}}
\newcommand{\swordfootnote}[6]{\footnote{#6}}
\begin{document}

\section{A section}\label{sec:section}

See~\swordxref{sec:section}{this section} or a footnote\swordfootnote{1}{2}{3}{4}{5}{See~\swordxref{sec:section}{this section}.}.

\end{document}
于 2015-09-08T23:30:44.890 回答