数式モードで「二重に打たれた」角括弧を作成するにはどうすればいいですか?

数式モードで「二重に打たれた」角括弧を作成するにはどうすればいいですか?

私は LaTeX を使用していくつかの証明を書いています。ConTeXt の標準手順に従って、次のように記述する必要があります。

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

しかし、次のような「二重括弧」を作成する方法がわかりませんx := y + z...

誰かこれについて助けてくれませんか?

答え1

二重括弧記号には、パッケージの および\llbracket(例)を使用します。\rrbracketfourier

\documentclass{article}


\usepackage{mathtools}    
\usepackage{fourier}

\begin{document}
 $ f_{Z} \llbracket x \coloneqq y + z\rrbracket (\sigma) = [ x \mapsto Z ] (\sigma)$

\end{document}

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

パッケージ全体を使用するのはfourier多すぎる場合は、シンボルをインポートすることも選択肢になります。`fourier` から 1 つのシンボルをインポートします

シンボルをインポートしたバージョンは次のとおりです(コードは からコピーしましたfourier.sty

\documentclass{article}

\usepackage{mathtools}
\DeclareFontEncoding{FML}{}{}%
\DeclareFontSubstitution{FML}{futm}{m}{it}%
\DeclareFontEncoding{FMS}{}{}
\DeclareFontSubstitution{FMS}{futm}{m}{n}
\DeclareFontEncoding{FMX}{}{}
\DeclareFontSubstitution{FMX}{futm}{m}{n}
\DeclareSymbolFont{symbols}{FMS}{futm}{m}{n}%
\DeclareSymbolFont{largesymbols}{FMX}{futm}{m}{n}%

\DeclareMathDelimiter{\llbracket}{\mathopen}{symbols}{153}{largesymbols}{133}
\DeclareMathDelimiter{\rrbracket}{\mathclose}{symbols}{154}{largesymbols}{134}


\begin{document}
$ f_{Z} \llbracket x \coloneqq y + z\rrbracket (\sigma) = [ x \mapsto Z ] (\sigma)$

\end{document}

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

スクリーンショットの通常の記号等とfの違いに注意してください。x

答え2

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

\documentclass[a4paper,12pt]{article}

\usepackage{stmaryrd}

\begin{document}

\begin{equation}
  f_Z\llbracket  x: y z t   \rrbracket      
\end{equation}

\end{document}

答え3

fourierおよびパッケージに加えてstmarydmathabxパッケージは「二重打ち」角括弧も提供します。マクロ名はそれぞれ\ldbrackおよびです\rdbrack

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

\documentclass{article}
\usepackage{mathabx} % for `\ldbrack` and `\rdbrack` macros
\begin{document}
$ f_{Z} \ldbrack x := y + z\rdbrack (\sigma) = [x\mapsto Z]\sigma$     
\end{document}

答え4

デフォルトのシンボル フォントを置き換えたくない場合はmathabx、次のコードを使用して、拡張可能なシンボルに対してのみコマンドを定義できます。

\documentclass{article}
\usepackage{mathtools}

\DeclareFontFamily{U}{matha}{\hyphenchar\font45}
\DeclareFontShape{U}{matha}{m}{n}{ <-6> matha5 <6-7> matha6 <7-8>
matha7 <8-9> matha8 <9-10> matha9 <10-12> matha10 <12-> matha12 }{}
\DeclareSymbolFont{matha}{U}{matha}{m}{n}
%
\DeclareFontFamily{U}{mathx}{\hyphenchar\font45}
\DeclareFontShape{U}{mathx}{m}{n}{ <-6> mathx5 <6-7> mathx6 <7-8>
mathx7 <8-9> mathx8 <9-10> mathx9 <10-12> mathx10 <12-> mathx12 }{}
\DeclareSymbolFont{mathx}{U}{mathx}{m}{n}

\DeclareMathDelimiter{\ldbrack} {4}{matha}{"76}{mathx}{"30}
\DeclareMathDelimiter{\rdbrack} {5}{matha}{"77}{mathx}{"38}

\begin{document}

    \[ f_{Z} \bigl\ldbrack x \coloneqq y + z\bigr\rdbrack(\sigma) = [x\mapsto Z]\sigma \]

\end{document} 

また、 : を使用しないでください:=。コロンは数式軸の中央に配置されません。標準フォントでは、は正しいバージョンを生成するコマンドmathtoolsを定義します。\coloneqq

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

関連情報