我想在第 1 行和第 2 行的两个映射之间的左右箭头内包含一个带有字母“S”的五边形符号 - 表示为 tikzcd 中的描述。
我已经包括了
\documentclass [a4paper,german,twoside,openright,11pt]{book}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[ngerman]{babel}
\usepackage{hyphenat}
\hyphenation{Mathe-matik wieder-gewinnen}
%----------------------------------------------------------------
\usepackage{lipsum}
\usepackage[pdftex]{graphicx} % Einbindung von Grafiken (pdf, png, jpg)
\usepackage{float} % bietet Option [H] für bombenfestes Verankern
\usepackage[ngerman]{babel} % Silbentrennung nach der neuen deutschen Rechtschreibung, z.B.: Sys-tem
\usepackage{amstext} % für Klartext via \text{} in Formeln
\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{csquotes} % für komplexere Formeln (Mengensymbole ...)
\usepackage{amssymb} % für komplexere Formeln (Mengensymbole ...)
\usepackage{pifont}% http://ctan.org/pkg/pifont
\usepackage{bm} % bold math, für \bm{}
\usepackage{enumerate} % verbessert Aufzählungen
\usepackage[bottom]{footmisc} % Fussnoten am Seitenende
\usepackage{array} % für Tabellen: bindet tabular-Umgebung ein
\usepackage{algorithm} % für Algorithmen
\usepackage{algorithmic} % für Algorithmen
\usepackage{pdfpages} % für die Einbindung kompletter pdf-*Seiten*
\usepackage[right]{eurosym} % Eurosymbol % farbiger Text
\usepackage[hyphens]{url} % für \url{http://www}, Option hyp erlaubt auch Umbruch nach "-"
\usepackage{makeidx} % Package zur Indexerstellung
\usepackage{multicol} % zur Indexerstellung in zwei Spalten
\usepackage{wasysym}
\usepackage{fancyhdr}
\usepackage[style=authoryear-icomp, mergedate=basic]{biblatex} \ExecuteBibliographyOptions{firstinits=true,maxnames=2}
\setlength{\bibitemsep}{10pt}
\setlength{\bibhang}{1.2cm}
\DeclareNameAlias{sortname}{last-first}
\AtBeginBibliography{%
\renewcommand*{\multinamedelim}{\addsemicolon\space}%
\renewcommand*{\finalnamedelim}{\addsemicolon\space}%
}
\DefineBibliographyStrings{ngerman}{%
andothers = {et\addspace al\adddotspace},%
andmore = {et\addspace al\adddotspace},%
}
\usepackage{xpatch}
\xpretobibmacro{author}{\mkbibbold\bgroup}{}{}
\xapptobibmacro{author}{\egroup}{}{}
\xpretobibmacro{bbx:editor}{\mkbibbold\bgroup}{}{}
\xapptobibmacro{bbx:editor}{\egroup}{}{}
\renewcommand*{\labelnamepunct}{\mkbibbold{\addcolon\space}}
\addbibresource{Dissertation.bib}
\usepackage{nomencl}
\usepackage{longtable}
\usepackage{bussproofs}
\usepackage{stackrel}
\usepackage{wasysym}
\usepackage{epigraph}
\usepackage[linktocpage ]{hyperref}
\pagestyle{fancy}
\usepackage[toc,page]{appendix}
\usepackage{tikz}
\usepackage{tkz-euclide}
\usepackage{amsthm}
\usepackage{wrapfig}
\theoremstyle{definition}
\newtheorem{theorem}{Theorem}[section]
\newtheorem{definition}{Definition}[section]
\renewcommand{\headrulewidth}{0.4pt} % Headerlinie setzen
\renewcommand{\footrulewidth}{0.4pt} % Footerlinie setzen
\fancyhf{}
\fancyhead[RO]{\scshape \nouppercase \rightmark}
\fancyhead[LE]{\scshape \nouppercase \leftmark}
\fancyfoot[RO,LE]{\thepage}
\usetikzlibrary{cd, shapes.geometric}
\newcommand*\pent[1]{\tikz[baseline=(char.base)]{
\node[shape=regular polygon,draw,inner sep=1pt] (char) {#1};}}
\setlength{\epigraphwidth}{.8\textwidth}
\newcommand{\cmark}{\ding{51}}%
\newcommand{\xmark}{\ding{53}}%
\renewcommand{\indexname}{Personen- und Sachverzeichnis}
代码如下
\begin{tikzcd}
X \arrow{r}[name=A, description]{\pi} & X/_{\sim} \\
V \arrow{r}[name=B, description]{\pi} & V/_{\sim} \arrow[Leftrightarrow,to path=(A) -- (B)]{}
\end{tikzcd}
有任何想法吗?
答案1
作为 埃格尔注意到,问题似乎是如何在五边形内绘制“S”。另一种解决方案很容易推广到其他形状,即使用 tikz 库,shapes.geometric
如下例所示
\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{cd, shapes.geometric}
\newcommand*\pent[1]{\tikz[baseline=(char.base)]{
\node[shape=regular polygon,draw,inner sep=1pt] (char) {#1};}}
\begin{document}
\begin{tikzcd}
X \arrow{r}[name=A, description]{\pi} & X/_{\sim} \\
V \arrow{r}[name=B, description]{\pi} & V/_{\sim}
\arrow[Leftrightarrow,from=A,to=B,"\pent{S}"description]
\end{tikzcd}
\end{document}
答案2
如同Luis Turcio 的回答但要避免嵌套tikzpicture
。您只需将形状等选项列表传递给边标签即可。
\arrow[Leftrightarrow,from=A,to=B,
"S"{description,regular polygon,draw=white,double=black,double distance=0.4pt,inner sep=1pt}]
\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{cd, shapes.geometric}
\begin{document}
\begin{tikzcd}
X \arrow{r}[name=A, description]{\pi} & X/_{\sim} \\
V \arrow{r}[name=B, description]{\pi} & V/_{\sim}
\arrow[Leftrightarrow,from=A,to=B,
"S"{description,regular polygon,draw=white,double=black,double distance=0.4pt,inner sep=1pt}]
\end{tikzcd}
\end{document}
答案3
唯一的问题似乎是用内接字母画出五边形。
\documentclass{article}
\usepackage{tikz-cd}
\usepackage{wasysym}
\newcommand{\Penta}[1]{%
\mbox{%
\vphantom{\large\pentagon}%
\ooalign{%
\large\pentagon\cr
\hidewidth\raisebox{0.3ex}{$\scriptscriptstyle #1$}\hidewidth\cr}%
}%
}
\begin{document}
\[
\begin{tikzcd}
X\arrow[r, "\pi" description, ""{name=top, below}] & X/{\sim}\\
V\arrow[r, "\pi" description, ""{name=bottom, above}] & V/{\sim}\\
\arrow[Leftrightarrow, from=top, to=bottom, "\Penta{S}" description]
\end{tikzcd}
\]
\end{document}
垂直箭头的代码取自 Sandy G 现已删除的答案