LINUX.ORG.RU

Двуязычный документ, latex+препроцессор?

 ,


0

1

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

#if LANG==RU
фуу
#else
bar
#endif
Чем это лучше сделать?

★★★★★

Зачем придумывать себе какие то сложности, когда проще и надежнее сделать два исходника с одинаковой структурой.

anonymous
()
Ответ на: комментарий от Evgueni

А как организовать tex -> tex, а не tex -> pdf, Мне, грубо говоря, нужно сделать макет для внутреннего пользования, а в редакцию отдавать уже чистовик теха на английском.

thunar ★★★★★
() автор топика
Ответ на: комментарий от thunar

IMHO в редакцию ручками пройтись и убрать всё лишнее, а потом работать именно с этой копией.

Но если ты хочешь странного, то со стороны пользователя в LaTeX ничего такого я не видел.

Evgueni ★★★★★
()

Чем это лучше сделать?

Если я правильно понял задачу, то на том же Perl это можно сделать в несколько строчек.

Serge10 ★★★★★
()

Тут латех как бы не причем.

Есть текстовый документ, в котором нужно сделать альтернативно пропадающие по ключу блоки. Реализуется тысячей разных вариантов костылей. Например, через m4 в духе:

define(TRANSTATE',’)

ifdef(`TRANSTATE’,

London is the capital of \par

Great Britain

,

Лондон столица \par

Великобритании

)

luka83
()
Ответ на: комментарий от LamerOk

Во-первых, составляюешь полностью документа на одном языке, копируешь в другой документ и переводишь. Во-вторых, даже если ты зачем-то делаешь документы параллельно (сик!), всегда есть diff.

anonymous
()
Ответ на: комментарий от anonymous

есть diff

123
456
789
ABC
DEF
GHI

Синхронизируй мне тут diff'ом замену '5' на '0' и синхронно 'E' на 'X'. Я дорого заплачу посмотреть на этот цирк.

LamerOk ★★★★★
()
Ответ на: комментарий от LamerOk

Ты несешь какую-то околесицу. Ты, видимо, совсем не понял, что делает человек и какая задача стоит. Здесь семантическая единица при одинаковой структуре, но разном тексте - блок структуры. При чем тут замена текста? Учи latexdiff и больше не говори, если не знаешь. Выглядишь глупо.

anonymous
()
Ответ на: комментарий от anonymous

При чем тут замена текста?

При том, что ты - идиот. Мы не обсуждаем задачу единожды раз и навсегда перевести один отлитый в граните документ, а потом их оба - оригинал и перевод - выкинуть в помойку. Это настолько простая и общеизвестная задача, что нет никакого смысла её обсуждать.

Мы обсуждаем задачу, как из одного исходника формировать два и более документа с единой структурой, но отличающихся только языком. Причём, в идеале - отсутствующие части структуры должны заполнятся из имеющихся в «языке по умолчанию».

LamerOk ★★★★★
()
Ответ на: комментарий от LamerOk

Переход на оскорбления верный признак отсутствия аругментов. Понял свою ошибку? Ну вот. А если не понял, то и обсуждать с тобой нечего. Помогаю ТСу, а не упрямым и необучаемым людям.

anonymous
()
Ответ на: комментарий от anonymous

Возвращайся, когда будет ответ на заданный вопрос.

LamerOk ★★★★★
()

А может, освоить какое-нибудь специализированное средство переводчика, например OmegaT?

TeopeTuK ★★★★
()
Ответ на: комментарий от Evgueni

Не, я думал мб можно стандартными средствами. Ну нет так нет, накатал за 5 минут препроцессор на пайтоне.

thunar ★★★★★
() автор топика
Ответ на: комментарий от roof

Он в начало добавляет

# 1 "test.tex"
# 1 "<built-in>"
# 1 "<command-line>"
# 31 "<command-line>"
# 1 "/usr/include/stdc-predef.h" 1 3 4
# 32 "<command-line>" 2
# 1 "test.tex"
Что-то лень было километры документации листать на предмет убирания этого дела.

thunar ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.