]> Untitled Git - articles.git/commitdiff
Правильная обработка гиперссылок и подчеркиваний
authorNikolay Shaplov <dhyan@nataraj.su>
Thu, 11 Jun 2026 19:22:10 +0000 (22:22 +0300)
committerNikolay Shaplov <dhyan@nataraj.su>
Thu, 11 Jun 2026 19:22:10 +0000 (22:22 +0300)
slides/0000 - LaTeX Stub/example.tex
slides/0000 - LaTeX Stub/pgpro2025bis.theme/beamercolorthemePgPro2025bis.sty
slides/0000 - LaTeX Stub/pgpro2025bis.theme/beamerthemePgPro2025bis.sty

index 95a6624c849aaeefd34b9ac64ef47b0e9c7c9c64..3d49f2ade5c08fe8c35f867bab9f0e3e03601787 100644 (file)
 \end{frame}
 
 \begin{frame}[fragile]{Еще слайд}  % fragile -- в тексте будут фрагменты когда которые не надо интерпретировать как LaTeX разметку
+
+  \underline{LaTeX подчёркивание underline} (не использовать) и \uline{подчеркивание uline}
+
     Опять список:
     \begin{itemize}
         \item Элемент 1
         \item Пример ссылки (\href{https://postgrespro.ru}{https://postgrespro.ru})
     \end{itemize}
 
+    Обычный текст {\fontsize{64pt}{72pt}\selectfont крупные \uline{подчеркнутые} слова} снова обычный текст.
+
     Пример кода:
     % gobble отрежет 8 символов левого отступа и избавится от финальной пустой строки т.к. она короче 8ми символов
     \begin{lstlisting}[linewidth=0.9\textwidth, gobble=8]
         pip install -r requirements.txt
         # Дети, никогда так не делайте. Питон опасен для когнитивных функций вашего мозга!
     \end{lstlisting}
+
 \end{frame}
 
 {\setbeamertemplate{background}{
index 8d03be104f9895563ac0544d38d4cac37b9373c2..4ccefdb6c160189a3cfc7be039d21d878eafb79f 100644 (file)
 \setbeamercolor{itemize/enumerate body}{fg=text}
 
 % Цвета для гиперссылок
-\definecolor{linkcolor}{HTML}{799B03} % цвет ссылок
-\definecolor{urlcolor}{HTML}{6633FF} % цвет гиперссылок
+\definecolor{linkcolor}{HTML}{2F80EB} % цвет ссылок
+\definecolor{urlcolor}{HTML}{2F80EB} % цвет гиперссылок
 \hypersetup{pdfstartview=FitH, linkcolor=linkcolor,urlcolor=urlcolor, colorlinks=true}
 
+% Переопределяем поведение линии подчеркивания в uline
+
+% Roboto-Regular/Medium: post.underlineThickness=100, unitsPerEm=2048
+% коэф = 100/2048 ≈ 488/10000
+\renewcommand{\ULthickness}{\dimexpr \f@size pt * 488 / 10000 \relax}%
+\renewcommand{\ULdepth}{\dimexpr \f@size pt * 10 / 100 \relax}% отступ от базовой линии
+
+
+% Переопределяем href чтобы он использовал \uline для подчеркивания ссылок
+\let\oldhref\href
+\renewcommand{\href}[2]{{\color{urlcolor}\uline{\oldhref{#1}{#2}}}}
 
 % Макросы воспроизводят поведение LibreOffice Impress при размещении текста
 % в текстовом блоке: LibreOffice использует usWinAscent как First Baseline
index d6add1edfcdd579818ff41cbcc00d95967856adb..3ae93996752f95bcb0aaae0f15a178cc9245ae5d 100644 (file)
@@ -8,7 +8,7 @@
 \RequirePackage[absolute,overlay]{textpos}
 \RequirePackage{calc}
 \RequirePackage{fontawesome5} % для эмодзи
-
+\RequirePackage[normalem]{ulem} % для более модных подчеркиваний
 
 % Переопределяем размер слайда под фактический размер pdf-ного фона
 \geometry{paperwidth=960bp,paperheight=540bp}