Форум поддержки пользователей. LibreOffice, Apache OpenOffice, OpenOffice.org

Форум поддержки пользователей. LibreOffice, Apache OpenOffice, OpenOffice.org

7 Декабрь 2021, 18:58 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
Новости: Часто задаваемые вопросы по LibreOffice и Apache OpenOffice.org
 
   Начало   Помощь Поиск Войти Регистрация    задать вопрос  
Страниц: 1   Вниз
  Печать  
Автор Тема: Авто-изменение размеров таблиц и фигур  (Прочитано 548 раз)
0 Пользователей и 1 Гость смотрят эту тему.
ScoutActor
Новичок
*
Offline Offline

Сообщений: 4


« Стартовое сообщение: 6 Ноябрь 2021, 14:10 »

Всем привет. Проблема в LibreOffice Writer 6.4.4.2. - есть таблица из 4 строк разной высоты. Ширина столбца установлена 8,79 см, хочу её изменить на 8,8 см. Выделяю нужные ячейки, вызываю меню правой кнопкой, выбираю Размеры - Ширина столбца, ввожу 8,8 см, нажимаю Ок. Ширина столбца остаётся такой же. Если снова зайти в Размеры - Ширина столбца, то размеры также остались неизменными 8,79 см.

Немного похожая проблема в LibreOffice Draw 5.4.6.2 - есть фигура высотой 20,55 см и шириной 7,42 см, в ней присутствует текст. Я хочу изменить ширину на 7,43 см - ввожу их справа на панели Инструменты и размер. Размер якобы сохраняется в панели, размер фигуры изменяется. При клике мышью на свободном пространстве страницы и повторном клике на фигуре, на панели Инструменты и размер отображается ширина фигуры 7,44 см.

Поковырялся в настройках, ничего подходящего не нашёл. Как быть, куда копать?
Записан
sokol92
Форумчанин
***
Offline Offline

Пол: Мужской
Сообщений: 625


WWW
« Ответ #1: 6 Ноябрь 2021, 15:54 »

Числа 8,8 см и 8,79 отличаются друг от друга всего на 0,01 см. Ширина столбца измеряется во внутренних целых единицах и показывается пользователю в выбранной им единице измерения (в Вашем случае - сантиметры, см Параметры / LibreOffice Calc / Общие  / Метрики). Когда ширина переводится в Вашу единицу измерения, то она округляется до 2 знаков. Значит, 8,80 см. и 8,79 см. имеют одну и ту же ближайшую внутреннюю величину измерения ширины столбца.
Кстати, в Excel та же картина (но внутренние величины для измерения другие).
« Последнее редактирование: 6 Ноябрь 2021, 15:56 от sokol92 » Записан

Владимир.
mikekaganski
Гуру
*******
Offline Offline

Пол: Мужской
Расположение: Хабаровск -> Москва
Сообщений: 2 396


« Ответ #2: 6 Ноябрь 2021, 16:10 »

В Writer используются твипы (1/20 поинта = 1/1440 дюйма), что примерно соответствует 0,0176 мм. В принципе при этом возможна похожая ситуация - но дело в том, что 8,8 см примерно равно 4988,98 твипов, и оба значения - и 4988, и 4989 твипов округляются до 8,8 см.

Надо дальше искать (и таблица из одного столбца с выравниванием влево нормально даёт 8,8)

А эксель вообще использует дурные единицы, основанные на ширине цифр шрифта по умолчанию.
Записан

С уважением,
Михаил Каганский
sokol92
Форумчанин
***
Offline Offline

Пол: Мужской
Сообщений: 625


WWW
« Ответ #3: 6 Ноябрь 2021, 16:34 »

эксель вообще использует дурные единицы
Это чтобы при проектировании отчетов можно было установить в ширину "приблизительно" 40 (например) символов (в переносом строк или без). Скажем, Вы выгружаете в Excel  справочник контрагентов компании, где есть текстовые поля переменной длины - наименование, адрес и т.д. В базах данных есть статистика о распределении длин соответствующих полей, что служит исходной информацией для проектирования. Либо надо полностью выгрузить данные для отчета, а затем динамически подбирать ширину столбцов.

В Calc тоже приходится решать подобные задачи.
« Последнее редактирование: 6 Ноябрь 2021, 16:36 от sokol92 » Записан

Владимир.
ScoutActor
Новичок
*
Offline Offline

Сообщений: 4


« Ответ #4: 6 Ноябрь 2021, 16:35 »

Числа 8,8 см и 8,79 отличаются друг от друга всего на 0,01 см. Ширина столбца измеряется во внутренних целых единицах и показывается пользователю в выбранной им единице измерения (в Вашем случае - сантиметры, см Параметры / LibreOffice Calc / Общие  / Метрики). Когда ширина переводится в Вашу единицу измерения, то она округляется до 2 знаков. Значит, 8,80 см. и 8,79 см. имеют одну и ту же ближайшую внутреннюю величину измерения ширины столбца.
Кстати, в Excel та же картина (но внутренние величины для измерения другие).

Какая-то возможность есть установить ширину столбца 8,8 см? Я как-то среди документов находил похожую таблицу, у которого была ширина 8,8 см ровно, но сейчас она затерялась. Да и не нормально это, что приходится искать эталон и с него копировать.
Записан
ScoutActor
Новичок
*
Offline Offline

Сообщений: 4


« Ответ #5: 6 Ноябрь 2021, 16:58 »

С шириной столбца во Writer разобрался. Выделил нужные ячейки, правой кнопкой мыши вызвал меню, выбрал Свойства таблицы..., во вкладке Таблица уменьшил интервал на 0,1 см.
Осталась проблема с LibreOffice Draw, описана в первом сообщении.
Записан
kompilainenn
Мастер
*****
Offline Offline

Сообщений: 3 370



« Ответ #6: 6 Ноябрь 2021, 17:17 »

Осталась проблема с LibreOffice Draw, описана в первом сообщении.
Это древняя бага в Draw связанная как раз с тем, что у нас размеры всего внутри ЛО считаются странно и по разному >_<
Записан

Поддержать разработчиков LibreOffice можно тут, а наш форум вот тут
ScoutActor
Новичок
*
Offline Offline

Сообщений: 4


« Ответ #7: 6 Ноябрь 2021, 17:23 »

Это древняя бага в Draw связанная как раз с тем, что у нас размеры всего внутри ЛО считаются странно и по разному >_<
Вакцину от сей болезни до сих пор так и не изобрели?
Записан
mikekaganski
Гуру
*******
Offline Offline

Пол: Мужской
Расположение: Хабаровск -> Москва
Сообщений: 2 396


« Ответ #8: 6 Ноябрь 2021, 18:11 »

Оффтопик.

эксель вообще использует дурные единицы
Это чтобы при проектировании отчетов можно было установить в ширину "приблизительно" 40...

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

Ведь это решение фактически исходит из того, что указанный Вами сценарий не просто существует, а что он - основной при использовании Excel. То есть всё исходит из необходимости задавать ширину в единицах ширины самой широкой цифры шрифта по умолчанию.

Но любой другой сценарий этим решением делается неудобным.
Во-первых, даже указанный Вами сценарий вообще-то не укладывается в идеологию Excel - потому что Вы говорите о любых символах, а Excel оперирует числовыми. То есть он заточен только на "столько-то цифр", а не на "столько-то букв".
Далее, любое использование неарабских цифр тоже в пролёте Например, китайских.
Любое использование шрифта, отличного от "по умолчанию" - в пролёте. Скажем, использование разных стилей.
Любая попытка чёткого задания разметки исходя из размеров листа - в пролёте.
Удобство пользователя при изменении ширины - в пролёте.
Использование файла в системах с отсутствующим шрифтом, заданным по умолчанию - в пролёте. (Да, в этом случае всё равно придётся поработать, но это решение создаёт дополнительную головную боль - в дополнение к необходимости поправлять шрифты, разметка таблицы на листе будет отличаться от таковой на исходной системе.)

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

Я уверен, что сегодня причина использования этих единиц - исключительно историческая (обратная совместимость).
Записан

С уважением,
Михаил Каганский
sokol92
Форумчанин
***
Offline Offline

Пол: Мужской
Сообщений: 625


WWW
« Ответ #9: 6 Ноябрь 2021, 18:54 »

Михаил, я с Вашими тезисами согласен и оппонировать не буду, поскольку не являюсь разработчиком Excel. Улыбка

Что касается обратной совместимости, то здесь Microsoft исключительно последователен - развитие объектной модели Excel прекратилось еще на версии Excel 2007. Всем известные баги (типа некорректной работы Transpose) не исправляются. Проекты VBA понятия не имеют о Unicode, так же как и многие конструкции VBA (подробнее здесь).
Записан

Владимир.
Страниц: 1   Вверх
  Печать  
 
Перейти в:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.21 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!