Создавайте столбцы в html-таблицах, используя org-mode

Я часто создаю таблицы в LaTeX и заполняю их текстом или графикой следующим образом:

\begin{tabular}{cc}
\begin{minipage}{.5\textwidth}
  Stuff in column 1 which can be a figure
\end{minipage} &
\begin{minipage}{.5\textwidth}
  Stuff in column 2 which can be a figure
\end{minipage}
\end{tabular}

Когда я использую среду minipage, мне больше не нужно выравнивать текст в столбцах 1 и 2 по каждой строке, поэтому я могу вводить, редактировать или вставлять прозу по своему желанию (вроде создания таблиц в MS Word... ).

Есть ли такой трюк при генерации HTML с использованием emacs org-mode?

Изменить

Чтобы лучше описать мою ситуацию...

Если у меня есть проза,

текстовый блок 1:

c1, line1
c1, line2
c1, line3

текстовый блок 2:

c2, line1
c2, line2

Латекс:

\begin{tabular}{cc}
\begin{minipage}{.5\textwidth}
  c1, line1
  c1, line2
  c1, line3
\end{minipage} &
\begin{minipage}{.5\textwidth}
  c2, line1
  c2, line2
\end{minipage}
\end{tabular}

HTML:

<table>
<tr>
<td>
c1, line1<br>
c1, line2<br>
c1, line3<br>
</td>
<td>
c2, line1<br>
c2, line2<br>
</td>
</tr>
</table> 

орг-режим:

| c1, line1 | c2, line1 |
| c1, line2 | c2, line2 |
| c1, line3 |           |

В организационном режиме мне пришлось бы вручную выравнивать текст по строкам, тогда как в LaTeX я могу просто поместить текст в среду мини-страницы, не заботясь о том, как будет выравниваться текст, охватывающий несколько строк.


person hatmatrix    schedule 04.03.2012    source источник
comment
Проблема в том, что вы не знаете, как поместить изображения в таблицу в организационном режиме? Подойдет ли для этого использование встроенных изображений?   -  person cm2    schedule 05.03.2012
comment
Не обязательно изображения, а произвольный текст/объект любой длины/высоты, который не повлияет на расположение текста в следующем столбце. Таблицы организационного режима по умолчанию являются строковыми.   -  person hatmatrix    schedule 05.03.2012
comment
Итак, вы хотите, чтобы ширина столбцов была фиксированной? Тогда в HTML вы хотите что-то вроде < COL width=50% />?   -  person cm2    schedule 06.03.2012
comment
На самом деле вертикальное расширение из-за многострочного текста... прошу прощения за путаницу.   -  person hatmatrix    schedule 06.03.2012
comment
Нет проблем - извините за все мои вопросы, но я хочу понять, что вы хотите :). Похоже, вам нужны неравные размеры ячеек в таблице HTML? Что-то вроде этого? Если нет, знаете ли вы, как должен выглядеть конечный результат HTML?   -  person cm2    schedule 06.03.2012
comment
Спасибо - я отредактировал свой пример, чтобы включить то, что я имею в виду. У меня есть некоторая проза, которую я хочу поднять (скопировать-вставить) в таблицу организационного режима, но для этого требуется, чтобы я вручную выровнял отдельные строки текста, чего я хочу избежать...   -  person hatmatrix    schedule 07.03.2012


Ответы (1)


Это только как ответ вместо комментария, чтобы у меня было больше места - это не оптимальное решение.

Это то, что я думал, что ты хотел. В HTML у вас есть только 1 строка, но вам нужно вручную ввести <br/>, чтобы получить новую строку в каждом столбце. Мой комментарий о фиксированной ширине столбца состоял в том, чтобы сказать, что вы можете зафиксировать эту ширину, а затем позволить тексту оборачиваться внутри каждого столбца. Это должно быть выполнимо с тегом #+ATTR_HTML: в организационном режиме. Проблема в том, что он завернется, но не сломается там, где вы этого хотите.

Я думаю, что в организационном режиме вам придется сделать что-то похожее на HTML. А именно, вам нужно указать, где линия должна прерываться. Я еще не тестировал его, но \n должен экспортироваться как <br> в HTML. Таким образом, вы можете уйти с чем-то вроде этого:

| c1, line1 \n c1, line2 \n c1, line3 | c2, line1 \n c2, line2 |

Это немного меньше, чем идеально, так как у вас все еще есть ручная работа. Если вы немного знакомы с Lisp или даже используете Babel в организационном режиме, вы можете написать скрипт, который будет принимать некоторый блок текста в качестве входных данных, разделять его на \n и формировать столбцы. Опять же, это не так просто, как копирование и вставка вашей информации, но это может помочь. Я не уверен, что есть способ сделать это непосредственно в org-mode.

EDIT: на самом деле первый вопрос в FAQ для таблиц кажется, отвечает на вопрос, что это невозможно в организационном режиме напрямую... я думаю.

person cm2    schedule 07.03.2012
comment
Спасибо! К сожалению, \n не переведено на <br>, и вы правы в том, что ответ на часто задаваемые вопросы решает это для меня... Но спасибо за всю вашу помощь. - person hatmatrix; 07.03.2012
comment
Да, сегодня по пути на работу я больше думал об этом и пришел к выводу, что перевод строки, вероятно, неправильно переведен. Вы также не можете ввести <br/> в таблицу, потому что угловые скобки будут экспортированы как &lt; и &gt; в HTML. Там может быть какой-то другой специальный символ, который переводится, но я не уверен. - person cm2; 07.03.2012
comment
Да, есть это... Я видел несколько шепелявых решений для преобразования &lt и &gt обратно в их исходные определения, но да, вероятно, оно того не стоит. Я найду другой формат для подачи информации... - person hatmatrix; 07.03.2012