展開後の `\cref` を周囲のテキストと同じグループに配置するにはどうすればよいでしょうか?

展開後の `\cref` を周囲のテキストと同じグループに配置するにはどうすればよいでしょうか?

\cref展開後は周囲のテキストと同じグループに立たせたいです。

では、環境のカウンターが中国語の数字に設定されていない場合、タイプセットを正しくするために\crefname{figure}{图}{图}使用する必要があります。如\cref{...} 所示figure空白なし以前\cref1つの後。これは\cref{...}中国語や英語とは似ても似つかないものになります。そのため、構文はより複雑になります。中国語、英語、中国語で始まり英語で終わる仮想言語の 3 つの言語があります。また、仮想言語はカウンタの形式に依存します。の展開を\cref周囲のテキストの同じグループに立たせることで、3 番目は削除され、英語のみのシナリオでは動作も構文も変更されません。これは、\crefテキスト内では意味的に通常の英語の単語のように扱われ、常にスペースで囲まれるためです。

グループ化が望ましい場合があること (たとえば、 を使用する場合) を念頭に置いて\crefname{figure}{\bfseries FIG.}{\bfseries Fig.}、(可能であれば) スイッチを使用することを推奨します。

\textbf{...}このリクエストは、周囲のテキストの同じグループにスタンドの拡張を作成するのとよく似ていると思います。

これは達成できるでしょうか?

編集: XeLaTeX では、次のコードが出力されます。

出力

MWE:

% !TEX program = xelatex
\documentclass{article}
\usepackage{ctex}% Note: some Chinese fonts are needed
\usepackage[a6paper]{geometry}
\usepackage{cleveref}
  \crefname{figure}{图}{图}
  
\begin{document}

\begin{figure}
\centering
$a^2 + b^2 = c^2$
\caption{test}
\label{eq:test}
\end{figure}

中文 字符 之间 不 需要 空格。% direct translation of each piece: Chinese, character(s), between, not, need, whitespace(s). Combination: There is no need to place whitespaces between Chinese characters.

前后\par % case 1
前 后\par% case 2
前\cref{eq:test}后 --- \verb|\cref|\par  % case 3
前 \cref{eq:test} 后 --- \verb|\cref|\par% case 4. I would like to make case 4 behave like case 3.
前\ref{eq:test}后 --- \verb|\ref|\par  % case 5
前 \ref{eq:test} 后 --- \verb|\ref|\par% case 6. I would like to make case 6 behave like case 5.

Note the very different behaviour of \verb|\ref| and \verb|\cref|.

one \textbf{two} three\par
one\textbf{two}three\par
\end{document}

答え1

フォーマット コマンドを再定義することで、スペースを抑制できます。通常の \ref でもスペースを抑制したい場合は、独自のコマンドを定義するのが最も簡単です。

\documentclass{article}
\usepackage{ctex}% Note: some Chinese fonts are needed
\usepackage[a6paper]{geometry}
\usepackage{cleveref}
\crefname{figure}{\unskip 图}{\unskip 图}
\crefdefaultlabelformat{#2#1#3\aftergroup\ignorespaces} 
\newcommand\myref[1]{\unskip\ref{#1}\ignorespaces}
\begin{document}

\begin{figure}
\centering
$a^2 + b^2 = c^2$
\caption{test}
\label{eq:test}
\end{figure}

前后\par % case 1
前 后\par% case 2
前\cref{eq:test}后 --- \verb|\cref|\par  % case 3
前 \cref{eq:test}  后 --- \verb|\cref|\par% case 4. I would like to make case 4 behave like case 3.
前\myref{eq:test}后 --- \verb|\ref|\par  % case 5
前 \myref{eq:test} 后 --- \verb|\ref|\par% case 6. I would like to make case 6 behave like case 5.

Note the very different behaviour of \verb|\ref| and \verb|\cref|.
\end{document}

ここに画像の説明を入力してください

関連情報