режим организации — параллельные подписи к рисункам для экспорта в latex

#emacs #latex #org-mode

#emacs #Латекс #org-режим

Вопрос:

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

Но проблема в том, что когда я пытаюсь прикрепить # ЗАГОЛОВОК или # 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 среды), но это разбивает изображения на таблицы. В приведенном ниже примере я отключаю центрирование, используя привязку # , чтобы установить org-latex-images-centered значение nil.
  • К таблице применяется # ATTR_LATEX (который, если я не ошибаюсь, должен выглядеть так в «современном» синтаксисе org: # ATTR_LATEX: :width 5cm ), Поэтому изображения получают размер по умолчанию 0,9 linewidth, а с двумя из них это больше, чем ширина страницы. Итак, в приведенном ниже примере я использую другую привязку # для установки размера изображений по умолчанию, но я думаю, что есть ошибка: они установлены не на 5 см, как указано, а на их «естественный» размер. В любом случае, даже если это ошибка, на самом деле это не имеет отношения к вопросу.

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

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

 # 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.

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

 # begin_center
# ATTR_LATEX: :height 0.4textwidth :center nil
[[file:Screenshot from 2019-04-30 18-25-36.png]]
# ATTR_LATEX: :height 0.4textwidth :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 за собой, т.е. Изменение внутренних переменных состояния org-mode.

Комментарии:

1. Это было единственное, что сработало для меня, чтобы создать видимость «фигуры» с подписью и 3 параллельными изображениями, да здравствуют хакерские решения!

Ответ №3:

Нашел аккуратное решение, вдохновленное этим сообщением:

 # caption: Caption shared by both figures
# BEGIN_EXPORT html
<img src="./fig1.png" width="48%"> <img src="./fig2.png" width="48%">
# END_EXPORT
 

Позже я понял, что это работает только на сайте Hugo при отображении в формате HTML и не работает с обычным файлом org.