Більше

Під час редагування пов’язаної з функціями анотації з білим кольором шрифту анотація зникає


Під час переміщення або редагування анотації анотація зникає. Ми редагуємо на чорному тлі, тому текст не просто змішується з фоном. Таблиця атрибутів не відображає жодних відхилень, але параметр "Збільшити до вибраного" неактивний. Його можна вибрати в таблиці, але не відображатиметься у вікні відображення. У когось є ця проблема? Знайшли рішення?


Про всяк випадок, якщо хтось інший зіткнеться з цією проблемою і потрапить на цю сторінку. Спробуйте:

- Відновити геометрію - Відновити просторовий індекс (скористатися інструментом Додати просторовий індекс)

Останній працював у мене, коли функції в класі анотацій зникали при збільшенні.

Удачі,

AZ


Програма для створення текстових анотацій у файлах PDF, які завжди видно?

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

Okular чудово працює для підкреслення, підсвічування тощо. Але коли ви використовуєте Okular для текстової анотації, вона зникає у спливаючому вікні.

Я хочу робити текстові анотації, які завжди відображаються, не натискаючи деякі спливаючі вікна.

Чи можливо це під Ubuntu?


Оновлення

Я дав нагороду, але правильної відповіді так і не було досягнуто. Я застосував рішення JS, яке підходить мені, але поки не збираюся позначати відповідь як правильну. Якщо це можливо лише за допомогою CSS / HTML, я все одно хотів би це побачити. Але загальний консенсус полягає в тому, що наразі це неможливо.

Мета

CodePen тут, виконуваний фрагмент внизу.

У мене є вміст HTML, який я хотів би анотувати, маленьким повідомленням, яке плаває безпосередньо над ним, на крайній лівій стороні, на зразок анотацій & ltruby & gt (але не зовсім). Контенту може бути багато, кожен із власними анотаціями. Вміст повинен відповідати звичайному текстовому потоку. Ось мій поточний HTML:

Робочий приклад

Внизу речення Це птах, це літак, це Супермен! Давайте отримаємо, що криптоніт має 4 окремі частини (4 частини вмісту), кожна з яких представлена ​​різним кольором. Кожен фрагмент вмісту має власну анотацію, виділену курсивом над ним.

У мене це працює, змушуючи як зміст, так і анотацію плавати: ліворуч і надаючи анотації негативне поле. Це приклад 1 у CodePen.

Порушений приклад 1

Проблема виникає, коли анотація довша за вміст. Нижче анотація "все ще" змінилася на довше, ніж ви можете мати рацію. Дві лінії вмісту продовжують слідувати нормальному вбудованому потоку (за бажанням), але оскільки анотації все ще вишикуються до лівого краю вмісту, вони перекриваються.

Це приклад 2 у CodePen.

Порушений приклад 2

Запропонованим рішенням було використання таблиці з видимістю: згорнути для вирівнювання, що добре працює для запобігання перекриванню, але це призводить до додаткового місця після анотацій, у випадках, коли анотація починається за лівим краєм вмісту.

Як це має працювати

Я хочу, щоб анотації йшли своїм потоком, але без порушення природного потоку поточного вмісту. Подивіться нижче, як рядок вмісту - це ще одне ціле речення, але так! отримує зміщення вправо, щоб дозволити довгий час ви можете мати рацію, щоб мати все необхідне приміщення. Однак муахаха виправляє, тому що йому є місце сидіти прямо на вершині. Дістаньте криптоніт.

Я можу змінити як CSS, так і HTML, щоб це сталося, але оптимальним буде рішення лише для CSS. Дякую.


Я мав подібну проблему і виявив, що є приклад репо, який був створений для демонстрації цієї проблеми тут. Якщо це посилання не працює, перевірте мою роздвоєну версію тут

Після деяких випадкових експериментів я виявив, що видалення android: fitsSystemWindows = "true" (атрибут), встановленого на AppBarLayout, вирішує цю проблему. Додавання файлу фіксованого макета та MainActivity для довідки.

І FYI, ваш спосіб налаштування, визначений на NavigationDrawerActivity, намагається встановити заголовок на панелі інструментів, але згідно з офіційним посібником вам потрібно встановити заголовок на CollapsingToolBarLayout замість панелі інструментів. Я запропоную вам використовувати NavigationView (з бібліотеки підтримки дизайну) замість користувацького DrawerFragment, якщо ви не хочете додати вишукану / нестандартну поведінку до вашого шухляди навігації.


1 відповідь 1

Ви використовуєте ColumnText.showAligned (), якого достатньо для додавання рядка тексту без особливих особливостей, але якщо ви хочете, щоб прив'язка працювала, вам потрібно використовувати ColumnText інакше.

Це показано в прикладі AddLinkAnnotation2:

У цьому випадку ми визначаємо прямокутник для об’єкта ColumnText, додаємо Фразу до стовпця і переходимо ().

Якщо ви перевірите результат, link_annotation2.pdf, ви помітите, що можете клацнути слова жирним шрифтом.

Не планується підтримувати це в ColumnText.showTextAligned (). Це зручний метод, який можна використовувати як ярлик для декількох рядків, показаних вище, але є деякі відомі обмеження: рядки не обертаються, інтерактивність ігнорується.

Оновлення 1: у розділі коментарів ви задали додаткове запитання щодо ротації вмісту та посилання.

Обертати вміст не складно. Існує навіть більше ніж один спосіб зробити це. Обертання посилання не є тривіальним, оскільки посилання є різновидом анотації, і анотації не є частиною вмісту.

Давайте спочатку подивимось AddLinkAnnotation3:

У цьому прикладі ми визначаємо трансформацію 30 градусів (Math.PI / 6):

Ми використовуємо це перетворення під час відображення стовпця:

Це обертає вміст, але ми ще не додали жодної анотації. Натомість ми визначаємо подію сторінки:

і ми ввели загальний тег:

Щоб додати анотацію, ми використовуємо магію в реалізації події сторінки:

Ми створюємо анотацію, але перед тим, як зробити це, ми виконуємо перетворення прямокутника. Це гарантує, що текст відповідає прямокутнику з текстом, який потрібно натискати, але. це може бути не те, що ви очікуєте:

Можливо, ви хотіли повернути прямокутник, і це можливо, але це більше математика. Наприклад: ви можете створити полігон, який краще підходить: ITextShape Clickable Polygon або шлях

На щастя, вам не потрібен кут 30 градусів, ви хочете повернути текст на кут 90 градусів. У цьому випадку ви не отримаєте дивного ефекту, показаного на наведеному вище знімку екрана.

Як бачите, я додав один рядок для видалення межі (межа існує за замовчуванням, якщо ви не перевизначите PdfBorderArray).

Решта коду також майже ідентична. Тепер визначимо кут Math.PI / 2 (90 градусів).

Зверніть увагу, що нижній лівий кут сторінки є точкою розвороту, отже, нам потрібно адаптувати координати там, де ми додаємо стовпець, інакше ви повернете весь вміст за межі видимої області сторінки.

В черговому коментарі ви запитуєте про координати, які потрібно використовувати при додаванні тексту в оберненій системі координат.

Я зробив цей малюнок:

У верхній частині ви додаєте слово ПОСЕРЕДНЕ посередині сторінки, але воно не там, де воно з’явиться: ви обертаєте все на 90 градусів, отже, слово СЕРЕДНЕ обертається за межами вашої сторінки (у вилуплену зону). Слово буде в PDF-файлі, але ви ніколи його не побачите.

Якщо ви подивитесь на мій код, то побачите, що я використовую такі координати:

Це є поза видимою зоною (це нижче фактичних розмірів сторінки), але оскільки я обертаю все на 90 градусів, він обертається у видиму область.

Якщо ви подивитесь на мій малюнок, ви зможете побачити, що сторінка з координатами (0, 0), (0, -595), (842, -598) та (842, 0) обертається на 90 градусів і таким чином отримує збіг з сторінка з координатами (0, 0), (595, 0), (595, 842) та (0, 842). Це той тип математики, який ми всі вивчали в середній школі -)


1 відповідь 1

Кілька речей про set_ title.

По-перше, титули за замовчуванням намальовані в методі FacetGrid.map, тому, якщо ви хочете змінити заголовки, вам потрібно викликати set_titles після змови, а то вони будуть перезаписані.

По-друге, якщо ви подивитесь на документ документації для методу, він не просто бере довільний список назв. Він надає спосіб змінити спосіб відображення заголовка за допомогою імені та значення змінної стовпця:

Тож найпростіший спосіб отримати «змістовний текст» - це використовувати значущі дані у своєму фреймі даних. Візьмемо цей приклад із випадковими даними:

Якщо ви хочете, щоб "група" дорівнювала нулю і одиниці, вам слід просто змінити цей стовпець або створити новий:

Тоді скажіть, що ви не хочете, щоб ім’я змінної було в назві, правильним способом використання FacetGrid.set_ title буде

Якщо ви не хочете змінювати дані, які ви складаєте, то вам доведеться встановлювати атрибути на осях matplotlib безпосередньо, приблизно так:

Зверніть увагу, що це менш переважно, ніж вищезазначений метод, оскільки ви повинні бути дуже обережними, переконуючись, що порядок вашого списку правильний і що він не буде змінюватися, тоді як отримання інформації з самого фрейму даних буде набагато надійнішим .


Деякі посилання зникають із tcolorboxenvironment для середовищ, подібних теоремам

У документі мемуарного класу документа довжиною в книгу з вмістом основного матеріалу 2 МБ та 140 КБ, кожен розподілений по численним окремим файлам, я використовую cleveref разом з гіперрефом та tcolorboxenvironment для створення кольорової версії кожного подібного до теореми середовища (наприклад, теорема, пропозиція, лема), визначені thmtools.

Всі посилання cref працюють нормально крім два: після повної обробки посилання відсутні в документі. Більш докладно:

  • після початкового запуску pdflatex один із цих двох записів міток ніколи не відображається у файлі .aux, хоча другий мітка все-таки з'являється
  • після запуску biber (або bibtex) та другого запуску pdflatex, друга мітка тепер зникла!

Якщо я не розфарбовую теореми, уникаючи tcolorboxenvironment, то всі посилання в порядку! Тож проблема, схоже, пов’язана з tcolorbox.

Більше того, якщо я забарвлюю теореми, але компілюю за допомогою xelatex - моя преамбула налаштована так, щоб це дозволяло, але з різними шрифтами, - тоді мітки та посилання зникають з різних теорем, ніж коли я використовую pdflatex.

Це здається дуже дивним. На жаль, мені не вдалося відтворити проблему, якщо я звів вміст тіла лише до двох розділів, що містять теоремоподібні середовища, мітки яких використовуються в цих посиланнях.

Для фактичного документа довжиною книги після початкового запуску pdflatex файл .aux включає такі дві групи послідовних рядків:

  • у першій групі це запис для мітки thm-one-pt-cptn, який зникає після другого запуску pdflatex
  • у другій групі запис для мітки lem: path-prod повинен з'явитися безпосередньо перед рядками, що містять але ні.

Ось витяг із .aux:

Ймовірний підказка (додано 2020-10-18):

В обох випадках конкретного схожого на теорему середовища (модифікованого tcolorboxenvironment), ярлики та посилання якого зникають, теорема друкується у верхній частині тіла сторінки (звичайно, під заголовком). У журналі я бачу це:

Це попередження tcolorbox не відображається більше ніде в журналі, і відповідно жодні інші посилання не впливають!

Тимчасове навколо: Якщо для кожної з двох постраждалих теорем я переміщую команду label, щоб слідувати тілу теореми, а не, як зазвичай, зберігати її відразу після begin , тоді проблема зникає. Звичайно це не рішення це дуже крихке тимчасове виправлення, оскільки зі зміною змісту документа інші теореми можуть переміщатися у верх сторінки та спричиняти ту саму проблему.

Ймовірне пояснення (не рішення!):

Здається, що tcolorbox викидає мітки таких теорем лише тоді, коли вони надруковані у верхній частині сторінки.

Питання: Яке виправлення буде надійним, щоб tcolorbox не викидав ярлик теореми, коли теорема друкується у верхній частині сторінки?

Зразок джерела використовуваного методу:

Я радий поділитися джерелом мого книжкового проекту з усіма, хто може допомогти мені розшукати цю дивну проблему.

Тим часом, джерело нижче надає смак того, що я роблю, хоча це і невеликий приклад робить компілювати без помилок.

Додано 2020-10-17: Усі пакунки, які використовуються фактично в документі

Можливо, у моєму фактичному документі є проблема порядку завантаження пакета (хоча, якщо він є, я все ще не розумію, чому відсутні посилання трапляються лише у двох конкретних екземплярах теоремоподібних середовищ, але не з іншими точно такого ж типу!) . Отже, тут зібрано всі пакети, які я використовую у фактичному документі, і розподіляє їх по ряду окремих файлів .sty, які вводяться в преамбулу.


Ілюстратор: Як розділити текст навпіл?

Я намагаюся створити закреслений текст, схожий на ефект "куля через текст" в Illustrator. У мене є фрагмент тексту, який я перетворив на контури, а потім розмістив довгий прямокутник на ньому. Я спробував Minus Front, Divide, Clipping Mask та багато інших речей, але це не працює. Зникає вся форма, або у мене залишаються області, загальні для тексту, і прямокутник, протилежний тому, що я хочу. Чи можете ви підказати, як цього досягти? Я вважаю, що проблема полягає в тому, що різні фігури не перекривають одна одну і являють собою групу окремих фігур.


5 відповідей 5

Як я вже згадував у своєму коментарі, слово "онто" часто використовується як синонім слова "сюр'єктив". У тому ж дусі ви можете використовувати "один на один" замість "ін'єкційний". Див., Наприклад, відповідну статтю Вікіпедії.

Редагувати: Я погоджуюся з коментарями Цяочу та Йонаса про те, що "один на один" трохи неоднозначний і може стосуватися бієкції. Тож, мабуть, найкраще дотримуватися однозначних термінів «ін’єктивний» та «сюр’єктивний».

Це мене бентежило і в моєму першому класі лінійної алгебри. Психологічна різниця між "на" та "сюр'єктивом" полягає в тому, що останній коли-небудь вводиться лише як прикметник, тоді як попередній досвід викликає у нас бажання читати "на" як прийменник. Я не думаю, що ця проблема виникає для "один-на-один", тому що ми знову спочатку вивчаємо цю фразу як прикметник, тож ні з чим її не сплутати.

Оксфордський англійський словник має численні визначення прийменника "onto", але єдиний приклад, який він дає для вживання як прикметник, - це математика.

Б. присл.

Математика За формою на. Позначення відображення одного набору на інший.

Далі подано найранішу цитату для цього використання:

1942 С. Лефшец Алгебраїчний тополь. i. 7 Якщо перетворення є "на", зворотне зображення доповнення множини є доповненням зворотного образу цього набору.

Мене бентежить ця цитата, оскільки результат вірний для карт, які не наведені. Однак швидкий пошук книги показує і інші способи вживання прикметника "на" у сучасному розумінні. Наступне є більш влучним:

1951 Н. Якобсон Лект. Абстракція Алгебра I. 4 Якщо α - відображення S в T, а β - відображення T в S таке, що αβ = $ 1_S $ і βα = $ 1_T $, то α і β дорівнюють 1−1 на відображення та β = α $ ^ <−1> $.

Onto означає сюр’єктивне: кожен елемент цільового простору лежить на зображенні функції. Формально, якщо $ f: X to Y $ увімкнено, для всіх $ y в Y $ ми можемо знайти принаймні один $ x в X $ такий, що $ y = f (x) $.

Ви справді чуєте ці терміни стосовно функцій.

Індивідуальний означає те саме, що ін’єкційний. Onto означає те саме, що і surjective. Один на один і на означає бієктив.

Функцією може бути лише одна з них або всі три.

Щоб відповісти на ваше конкретне запитання, onto означає, що кожне значення кодомену відображається членом домену.

Спочатку розглянемо визначення того, що означає для функції бути "один на один" або "на" (визначення, адаптовані за визначенням Джона Дурбіна Сучасна алгебра):

Один до одного: Кажуть, що це відображення $ alpha двокрапки S в T $ один до одного якщо $ alpha (x_1) = alpha (x_2) quad text quad x_1 = x_2 quad (x_1, x_2 in S), $, тобто якщо нерівні елементи в домені мають нерівні зображення в кодомені.

На: Якщо $ alpha colon S to T $ і $ alpha (S) = T $, тоді $ alpha $ називається на. Таким чином, $ alpha $ починається, якщо для кожного $ y в T $ є принаймні один $ x in S $ такий, що $ alpha (x) = y $.

Ви можете відсортувати наведене вище визначення на наступне зображення:

$ колір< текст

>$

Приклад: Нехай $ S = $ і $ T = <1,2,3 > $. Тоді відображення $ alpha двокрапки S в T $ може бути визначено $ alpha (x) = 2, alpha (y) = 1, alpha (z) = 3 $. Інше відображення, $ beta colon S to T $, задається $ beta (x) = 1, beta (y) = 3, beta (z) = 1 $. Зіставлення $ alpha двокрапки S в T $ виглядає так:

$ колір< текст

>$

А відображення $ beta colon S в T $ виглядає так:

$ color< текст

>$

Для $ alpha colon S to T $ ми бачимо, що це відображення здійснено, оскільки кожен елемент у $ T $ відображається якимось елементом у $ S $:

Але як щодо $ beta colon S to T $? Це відображення на? Ви можете зрозуміти, чому ні? Розглянемо наступне:

Щоб $ beta colon S to T $ було включено, кожен елемент у $ T $ повинен бути відображений якимось елементом у $ S $. На жаль, як ми можемо бачити вище за частиною, виділеною червоним кольором, жоден елемент у $ S $ насправді не відображається в $ 2 $, що в $ T $. Таким чином, $ beta $ не є відображенням.

Подібні міркування покажуть, що $ alpha $ - один на один, але $ beta $ - ні. Чи все це зараз має сенс?


2 відповіді 2

Криві в gimp також можуть зробити для вас трюк, як показано в наступному прикладі. Але якщо ви шукаєте автоматизований інструмент корекції пакетів, я можу запропонувати інше, ніж збереження попередньо встановлених кривих / рівнів (за допомогою кнопки "+" поруч із комбінованим полем "Попередні налаштування"), і ви зможете швидко застосувати ті самі криві / рівні до всіх ваших зображень.

Скріншоти, надані для вашої зручності:

Gimp в дії з кривими, виконуючи корекцію.

Криві, застосовані до кінцевого зображення.

Зображення після обробки кривих.

Примітка: У цьому прикладі криві встановлюються в агресивний стан, що робить зображення виглядати темніше, тому на зображенні є ще багато небажаних деталей, відмінних від результатів, наданих @falstaff на його прикладі. Ви можете налаштувати його, щоб отримати однакові результати, але я хотів навести інший приклад. Дякую за розуміння.


Перегляньте відео: 5 клас Введення та редагування символів і абзаців (Жовтень 2021).