
Responder1
Use \llbracket
e \rrbracket
do fourier
pacote (por exemplo) para os símbolos de colchetes duplos.
\documentclass{article}
\usepackage{mathtools}
\usepackage{fourier}
\begin{document}
$ f_{Z} \llbracket x \coloneqq y + z\rrbracket (\sigma) = [ x \mapsto Z ] (\sigma)$
\end{document}
Se usar o fourier
pacote inteiro for demais, importar símbolos pode ser uma opção:Importe um símbolo de `fourier`
Aqui está a versão com importação dos símbolos (código copiado de 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}
Observe a diferença entre os símbolos regulares f
, x
etc. nas capturas de tela.
Responder2
Responder3
Além dos pacotes fourier
e stmaryd
, o mathabx
pacote também fornece colchetes "duplos"; os nomes das macros são \ldbrack
e \rdbrack
, respectivamente.
\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}
Responder4
Se não quiser mathabx
substituir as fontes de símbolos padrão, você poderá definir comandos apenas para os símbolos, que são extensíveis, com este código:
\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}
Além disso, não use :=
: os dois pontos não estão centralizados no eixo matemático. Com as fontes padrão, mathtools
define um \coloneqq
comando, que produz uma versão correta.