
Я пытаюсь поместить 4 фигуры с разной высотой в матрицу. Мой код, который вы можете скомпилироватьздесьявляется:
\documentclass[journal=aamick]{achemso}
\usepackage{tikz}
\usetikzlibrary{matrix,positioning}
\title{hi}
\begin{document}
\maketitle
\newlength{\w}
\setlength{\w}{.9\paperwidth}
\noindent \begin{tikzpicture}[align=center]
\matrix[column sep=.0\w,row sep=.0\w,%
every node/.style={draw,node distance=0 and 0,outer sep=0},xshift=-.048\w]{
\node [label=above:(a)] (a) {\includegraphics[width=.14\w]{figs/16_4.jpeg}}; &
\node [label=right:(d)] (d) {\includegraphics[width=.14\w]{figs/16_10.jpeg}};\\
\node [label=below:(b)] (b) {\includegraphics[width=.14\w]{figs/8_4.jpeg}}; &
\node [label=right:(c)] (c) {\includegraphics[width=.14\w]{figs/8_10.pdf}};\\};
\end{tikzpicture}%
\end{document}
Вот что я получаю:
который имеет зазор (красная стрелка) между левыми полями. Я хочу что-то вроде:
Как я могу это сделать?
решение1
Вам нужно только правильно установить якоря, т.е. добавить
row 1/.style={anchor=south},row 2/.style={anchor=north}
к вариантам матрицы.
\documentclass[journal=aamick]{achemso}
\usepackage{tikz}
\usetikzlibrary{matrix,positioning}
\title{hi}
\begin{document}
\maketitle
\newlength{\w}
\setlength{\w}{.9\paperwidth}
\noindent \begin{tikzpicture}[align=center]
\matrix[column sep=.0\w,row sep=.0\w,%
every node/.style={draw,outer sep=0},
row 1/.style={anchor=south},row 2/.style={anchor=north}]{
\node [label=above:(a)] (a) {\includegraphics[width=.14\w]{example-image-duck}}; &
\node [label=right:(d)] (d) {\includegraphics[width=.14\w,height=.14\w]{example-image-duck}};\\
\node [label=below:(b)] (b) {\includegraphics[width=.14\w]{example-image-duck}}; &
\node [label=right:(c)] (c) {\includegraphics[width=.14\w,height=.14\w]{example-image-duck}};\\};
\end{tikzpicture}%
\end{document}
У меня нет ваших графических файлов, поэтому я использую некоторые стандартные файлы, но с разными эффективными высотами, чтобы смоделировать вашу проблему.
ПРИЛОЖЕНИЕ: Вы можете сэкономить несколько нажатий клавиш, используя
\setkeys{Gin}{width=.14\w}
с тех пор все ширины включенных графиков в этой группе будут иметь эту ширину. Также nodes
является сокращением для every node/.append style
, и node distance=0 and 0,
не имеет никакого эффекта, как и ,xshift=-.048\w
до тех пор, пока tikzpicture
состоит только из этой матрицы.
\documentclass[journal=aamick]{achemso}
\usepackage{tikz}
\usetikzlibrary{matrix,positioning}
\title{hi}
\begin{document}
\maketitle
\newlength{\w}
\setlength{\w}{.9\paperwidth}
\noindent \begin{tikzpicture}[align=center]
\setkeys{Gin}{width=.14\w}
\matrix[column sep=.0\w,row sep=.0\w,%
nodes={draw,outer sep=0},
row 1/.style={anchor=south},row 2/.style={anchor=north}]{
\node [label=above:(a)] (a) {\includegraphics{example-image-duck}}; &
\node [label=right:(d)] (d) {\includegraphics[height=.14\w]{example-image-duck}};\\
\node [label=below:(b)] (b) {\includegraphics{example-image-duck}}; &
\node [label=right:(c)] (c) {\includegraphics[height=.14\w]{example-image-duck}};\\};
\end{tikzpicture}%
\end{document}