.png)
『The LaTeX Companion Third edition』を購入したばかりなので、本に載っている例をテストしています。p.78 の例では、\labelformat と \Ref の使用法を扱っています。
\documentclass[10pt,a4paper]{article}
\usepackage[nospace]{varioref}
%\usepackage{babel}
\labelformat{section}{section~#1}
\labelformat{equation}{equation~(#1)}
\begin{document}
\section{An example}\label{sec}
\Ref{sec} shows the use of the \verb=\labelformat= declaration with a reference to \ref{eq}.
\begin{equation} a = b \label{eq} \end{equation}
\end{document}
追加すると
\usepackage{babel}
あなたが望むどんな言語でも
! Incomplete \iffalse; all text was ignored after line 11.
\Ref を \ref に置き換えると、すべて正常に動作しますが、明らかに最初の文字の大文字化は失われます。
この非互換性を回避する方法はありますか?
[英語]babel、[フランス語]babel、オプションなしのbabelを試しました。pdfLaTeX、LaTeX、XeLaTeX、LuaLaTeXでも試しましたが、同じ問題です...
ありがとう
答え1
これを報告する必要がありますbabel
が、簡単な回避策は内部コマンドを復元することです
\documentclass[10pt,a4paper]{article}
\usepackage[nospace]{varioref}
\makeatletter
\let\@kernel@ref@saved\@kernel@ref
\usepackage{babel}
\let\@kernel@ref\@kernel@ref@saved
\makeatother
\labelformat{section}{section~#1}
\labelformat{equation}{equation~(#1)}
\begin{document}
\section{An example}\label{sec}
\Ref{sec} shows the use of the \verb=\labelformat= declaration with a reference to \ref{eq}.
\begin{equation} a = b \label{eq} \end{equation}
\end{document}
babel
アクティブなショートカット文字が機能するように 一部の\label
/内部を再定義しますが、これにより、詳細の一部が混乱しているように見えるパッチが元に戻されます。そのため、 babel によってアクティブにされた一部の文字は、この変更後にラベルで機能しない可能性があります。\ref
\Ref
"