我需要使用tikz
这个软件包,因为它生成的交换图质量很好,就像我在一些手册中看到的那样。我试过好几次,但都无济于事。我在 Windows 上使用 MiKTeX 和 TeXmaker 编辑器。MiKTeX 是去年 9 月 (2012) 安装的。我想知道
- 如果我需要安装任何特定的软件包或需要安装最新版本的 MiKTeX
- 我到底需要在序言中指定或包含什么,同时牢记我正在撰写的文档是代数类别的论文。
\documentclass[12pt]{book}
\usepackage{amsmath,amssymb,amsthm,latexsym}
\usepackage{tikz-cd}
\usetikzlibrary{matrix,arrows}
\begin{document}
\begin{tikzcd}[column sep = 1.3cm]
K
\arrow{r}{\kappa}
& L
\arrow[transform canvas = {yshift = 0.7ex}]{r}{\alpha}
\arrow[transform canvas = {yshift = -0.7ex},leftarrow]
{r}{\beta}
& M
\end{tikzcd}
\end{document}
答案1
我会推荐tikz-cd
用于交换图的包;包文档包含示例,例如下一个示例:
\documentclass{article}
\usepackage{tikz-cd}
\begin{document}
\begin{tikzcd}[row sep=scriptsize, column sep=scriptsize]
& f^* E_V \arrow{dl}\arrow{rr}\arrow{dd} & & E_V \arrow{dl}\arrow{dd} \\
f^* E \arrow[crossing over]{rr}\arrow{dd} & & E \\
& U \arrow{dl}\arrow{rr} & & V \arrow{dl} \\
M \arrow{rr} & & N\arrow[crossing over, leftarrow]{uu}\\
\end{tikzcd}
\end{document}
关于您的 LaTeX 系统,最好的办法是保持您的安装更新。安装最新的 MiKTeX 版本并进行完整安装,而不仅仅是基本的 MiKTeX 安装。
关于提到的问题,在评论中,您可以使用来swap
更改箭头标签的位置:
\documentclass[12pt]{book}
\usepackage{amsmath,amssymb,amsthm,latexsym}
\usepackage{tikz-cd}
\usetikzlibrary{matrix,arrows}
\begin{document}
\begin{tikzcd}[column sep = 1.3cm]
K
\arrow{r}{\kappa}
& L
\arrow[transform canvas={yshift = 0.7ex}]{r}{\alpha}
\arrow[transform canvas={yshift = -0.3ex},leftarrow,swap]
{r}{\beta}
& M
\end{tikzcd}
\end{document}
答案2
使用 PSTricks。
\documentclass[preview,border=12pt]{standalone}
\usepackage{pst-node}
\psset{rowsep=1,colsep}
\begin{document}
\offinterlineskip
$
\psmatrix
&
f^*E_v&
&
E_v\\
f^*E&
&
E&
\\
&
U&
&
V\\
M&
&
N&
\endpsmatrix
\everypsbox{\scriptstyle}
\psset{arrows=->,nodesep=3pt,border=3pt}
\ncline{1,2}{1,4}
\ncline{1,2}{2,1}
\ncline{1,4}{2,3}
\ncline{2,1}{4,1}
\ncline{1,2}{3,2}
\ncline{1,4}{3,4}
\ncline{2,1}{2,3}
\ncline{3,2}{4,1}
\ncline{3,2}{3,4}
\ncline{3,4}{4,3}
\ncline{4,1}{4,3}
\ncline{2,3}{4,3}
$
\end{document}
对于双线和标签:
\documentclass[preview,border=12pt]{standalone}
\usepackage{pst-node}
\psset{rowsep=1,colsep}
\begin{document}
\offinterlineskip
$
\psmatrix
&
f^*E_v&
&
E_v\\
f^*E&
&
E&
\\
&
U&
&
V\\
M&
&
N&
\endpsmatrix
\everypsbox{\scriptstyle}
\psset{arrows=->,nodesep=3pt,border=2pt,shortput=tablr,labelsep=2pt}
\ncline[offset=2pt]{1,2}{1,4}^{a}
\ncline[offset=-2pt,arrows=<-]{1,2}{1,4}_{b}
\ncline{1,2}{2,1}
\ncline{1,4}{2,3}
\ncline{2,1}{4,1}
\ncline{1,2}{3,2}
\ncline{1,4}{3,4}
\ncline{2,1}{2,3}
\ncline{3,2}{4,1}
\ncline{3,2}{3,4}
\ncline{3,4}{4,3}
\ncline{4,1}{4,3}
\ncline{2,3}{4,3}
$
\end{document}