Org - бок о бок подписи для экспорта латекса

Я нашел, как делать бок о бок цифры для экспорта латекса, как описано здесь: http://permalink.gmane.org/gmane.emacs.orgmode/52978

Но проблема в том, что, когда я пытаюсь прикрепить # + CAPTION или # + NAME/# + LABEL, результат становится искаженным, если надпись перемещается по нескольким строкам, а также изображения.

#+CAPTION: Some desription.
#+LABEL: mylabel
#+ATTR_LATEX: width=5cm
| [[./test.png]] | [[./test2.png]] |

Я пробовал один и тот же синтаксис с одной фигурой, и он отлично работает:

#+CAPTION: Some desription.
#+LABEL: mylabel
#+ATTR_LATEX: width=5cm
[[./test.png]]

Кто-нибудь знает, как заставить это работать?

Ответ 1

AFAICT, хак, описанный в ссылке выше (и мне разрешено это назвать, поскольку я придумал это в первую очередь:-)) работает в текущих версиях org (9.0.3+ или около того) ) с некоторыми настройками:

  • По умолчанию изображения центрируются (поэтому \includegraphics завершается внутри среды center), но это разбивает изображения в таблицах. В приведенном ниже примере я отключу центрирование с помощью # + BIND, чтобы установить org-latex-images-centered в nil.

  • # + ATTR_LATEX (который, если я не ошибаюсь, должен выглядеть так в "современном" синтаксисе org: #+ATTR_LATEX: :width 5cm) применяется к таблице, поэтому изображения получают размер по умолчанию 0,9\ширину линии, а с двумя из них - больше ширины страницы. Поэтому в приведенном ниже примере я использую другой # + BIND, чтобы установить размер изображений по умолчанию, но я думаю, что есть ошибка: они не установлены на 5 см, как указано, а на их "естественный" размер. В любом случае, даже если это ошибка, на самом деле это не вопрос.

Обратите внимание, что подпись прикреплена к таблице, содержащей два изображения: может быть способ прикреплять отдельные изображения к изображениям, но я не знаю точно.

При наличии всего этого для меня работает следующий примерный файл (и он также показывает способ получить одно центрированное изображение, даже если вы отключили центрирование по всему миру, как и в случае с первым # + BIND):

#+BIND: org-latex-images-centered nil
#+BIND: org-latex-image-default-width 5cm

* side by side figures in latex

#+CAPTION: An image
#+NAME: myimage
#+ATTR_LATEX: :width 8cm :center t
[[./images/test1.png]]

#+CAPTION: Some description
#+NAME: mytable
| [[./images/test1.png]] | [[./images/test2.png]] |

РЕДАКТИРОВАТЬ: нет ошибки - я допустил ошибку в # + BIND - она ​​должна быть

#+BIND: org-latex-image-default-width "5cm"

Необходимы кавычки!

Ответ 2

Вместо того, чтобы помещать изображения в таблицу, я центрировал пару изображений с помощью этого вопроса с сайта TeX на StackExchange. ,

Я сделал прозрачный пиксель размером 1x1 на этом веб-сайте и сохранил его в файле с именем empty_fig.png. Я сказал org-mode, чтобы он стал действительно маленьким с #+ATTR_LATEX: :height 0.0001in. Затем я подписал эту цифру прямо под парой, которую я не смог подписать.

#+begin_center
#+ATTR_LATEX: :height 0.4\textwidth :center nil
[[file:Screenshot from 2019-04-30 18-25-36.png]]
#+ATTR_LATEX: :height 0.4\textwidth :center nil
[[file:Screenshot from 2019-04-30 18-25-46.png]]
#+end_center
#+CAPTION: Example frames 
#+LABEL: fig:video_pair
#+ATTR_LATEX: :height 0.0001in
[[file:empty_fig.png]]

Я понимаю, что это хакерство, и оно подвергается тому, чтобы пара изображений отделялась от пустого изображения, когда LaTeX повторно перелистывает страницу, но это будет другой мост для перехода. Это альтернатива, которая не влечет за собой BIND, т. BIND Изменение внутренних переменных состояния org-mode.