问题
我正在使用tabularx
它来构建图形,当我编译文档时出现以下错误:
Package xkeyval Error: `valign' undefined in families `Gin'.
最小工作示例(MWE)
\documentclass[11pt,twoside,a4paper]{article}
\usepackage{lipsum}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[swedish]{babel}
\usepackage{listings}
\usepackage{booktabs}
\usepackage{makeidx}
\usepackage{multicol}
\usepackage{ragged2e}
\usepackage{fancyvrb}
\usepackage{xcolor}
\usepackage{menukeys}
\usepackage{graphicx}
\usepackage{everypage}
\usepackage{nameref}
\usepackage{afterpage}
\usepackage{placeins}
\usepackage{textcomp}
\usepackage{tikz}
\usepackage{makecell}
\usepackage{xparse}
\usepackage{adjustbox}
\usepackage{upquote}
\usepackage{fontawesome}
\usepackage{tabularx}
\begin{document}
\begin{figure}[tbh]
\begin{tabularx}{\textwidth}{cX}
\vspace{3mm}
\includegraphics[width=.5in, valign=c]{figure8_1_server.eps} & Text.\\
\vspace{2mm}
\includegraphics[width=.25in, valign=c]{figure8_1_arrow.eps} & \\
\vspace{3mm}
\includegraphics[width=.5in, valign=c]{figure8_1_database.eps} & Text. \\
\vspace{1mm}
\includegraphics[width=.25in, valign=c]{figure8_1_arrow.eps} & \\
\vspace{2mm}
\includegraphics[width=.5in, valign=c]{figure8_1_table.eps} & Text.\\
\vspace{0mm}
\includegraphics[width=.25in, valign=c]{figure8_1_arrow.eps} & \\
\vspace{2mm}
\includegraphics[width=.5in, valign=c]{figure8_1_row.eps} & Text.\\
\vspace{1mm}
\includegraphics[width=.25in, valign=c]{figure8_1_arrow.eps} & \\
\vspace{3mm}
\includegraphics[width=.5in, valign=c]{figure8_1_cell.eps} & Text.
\end{tabularx}
\caption{Text.}
\label{fig:database}
\end{figure}
\end{document}
答案1
简短答案
使用选项加载adjustbox
之前menukeys
export
\usepackage[export]{adjustbox}
\usepackage{menukeys}
完整答案
adjustbox
需要命令export
才能执行\includegraphic
其命令。这在文档第 2 节包选项中进行了解释
Adjustbox 文档第 2 部分
出口 – 将大多数键导出
\adjustbox
到\includegraphic
s,以便它们也可以与此宏一起使用。
但是,像 一样在此处添加它\usepackage[export]{adjustbox}
会导致错误:“包 adjustbox 的选项冲突”。
这意味着adjustbox
可能已加载两次。LaTeX 实际上并没有给出很多有关包加载位置的指示,因此为了解决这个问题,我们创建并平均能量损失。这意味着我们先删除(注释掉)其他包,比如其中一半,然后排版,看看错误是否消失。经过几次尝试,我们发现删除包时menykeys
不再出现错误。在的实现中menukeys
,我们可以看到它使用加载包\requirepackage{adjustbox}
。我们可以通过adjustbox
在加载之前加载其选项来解决这个menukeys
问题。这也可以通过将选项传递给有问题的包来解决,但目前没有理由深入研究这一点。
代码
\documentclass[11pt,twoside,a4paper]{article}
\usepackage{lipsum}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[swedish]{babel}
\usepackage{listings}
\usepackage{booktabs}
\usepackage{makeidx}
\usepackage{multicol}
\usepackage{ragged2e}
\usepackage{fancyvrb}
\usepackage{xcolor}
\usepackage{graphicx}
\usepackage{everypage}
\usepackage{nameref}
\usepackage{afterpage}
\usepackage{placeins}
\usepackage{textcomp}
\usepackage{tikz}
\usepackage{makecell}
\usepackage{xparse}
\usepackage[export]{adjustbox}
\usepackage{menukeys}
\usepackage{upquote}
\usepackage{fontawesome}
\usepackage{tabularx}
\begin{document}
\begin{figure}[tbh]
\centering
\begin{tabularx}{\textwidth}{cX}
\vspace{3mm}
\includegraphics[width=.5in, valign=c]{example-image-a} & Text.\\
\vspace{2mm}
\includegraphics[width=.25in, valign=c]{example-image-a} & \\
\vspace{3mm}
\includegraphics[width=.5in, valign=c]{example-image-a} & Text. \\
\vspace{1mm}
\includegraphics[width=.25in, valign=c]{example-image-a} & \\
\vspace{2mm}
\includegraphics[width=.5in, valign=c]{example-image-a} & Text.\\
\vspace{0mm}
\includegraphics[width=.25in, valign=c]{example-image-a} & \\
\vspace{2mm}
\includegraphics[width=.5in, valign=c]{example-image-a} & Text.\\
\vspace{1mm}
\includegraphics[width=.25in, valign=c]{example-image-a} & \\
\vspace{3mm}
\includegraphics[width=.5in, valign=c]{example-image-a} & Text.
\end{tabularx}
\caption{Text.}
\label{fig:database}
\end{figure}
\end{document}