W różnych formularzach urzędowych są pola do wpisywania danych, które mają "kratkę" na pojedyncze litery, coś takiego jak napisałem w tytule tematu, brakuje tylko kreski pod całym słowem.
Czy da się jakoś zautomatyzować wprowadzanie takiego tekstu? Pojedyncze słowa nie są problemem, mogę to ręcznie zrobić, używając znaku | i dodając pod wszystkim podkreślenie albo nawet kreskę, ale ponieważ docelowo ma to być formularz dlatego chciałbym, żeby użytkownik wpisywał tekst a formatowanie robiło resztę. Próbowałem obramować ale zupełnie nie wychodzi mi taki zapis jak przedstawiłem.
Czy da się to zrobić formatowaniem, czy też zabrnąłem w ślepą uliczkę i muszę jednak zmienić koncepcję?
Jak zrobić formatowaniem: |N|o|w|a|k|
Re: Jak zrobić formatowaniem: |N|o|w|a|k|
Formatowaniem to nie wiem czy się da, aż taki biegły to nie jestem. Może przy użyciu jakiegoś makra czy cuś.
Wpadłem na inny pomysł, który niestety jest pracochłonny i może spowodować, że dokument będzie dość "ciężki". Proponowałbym użycie serii ramek połączonych ze sobą, tak że gdy tekst nie mieści się w jednej ramce, automatycznie przepływa do następnej. Starczy teraz ustawić ramki, połączyć je ze sobą i powinno zadziałać. Problemem może być tu czcionka i rozmiar ramki, bo dwie litery 'ł" mogą zmieścić się w jednej ramce i nie będą się chciały rozdzielić na dwie ramki (chyba że z rozmysłem użyjemy czcionki o stałej szerokości znaku np. courier czy liberation mono). Pierwsze próby wyglądają zachęcająco. Może warto spróbować.
Wpadłem na inny pomysł, który niestety jest pracochłonny i może spowodować, że dokument będzie dość "ciężki". Proponowałbym użycie serii ramek połączonych ze sobą, tak że gdy tekst nie mieści się w jednej ramce, automatycznie przepływa do następnej. Starczy teraz ustawić ramki, połączyć je ze sobą i powinno zadziałać. Problemem może być tu czcionka i rozmiar ramki, bo dwie litery 'ł" mogą zmieścić się w jednej ramce i nie będą się chciały rozdzielić na dwie ramki (chyba że z rozmysłem użyjemy czcionki o stałej szerokości znaku np. courier czy liberation mono). Pierwsze próby wyglądają zachęcająco. Może warto spróbować.
LibreOffice 5.0 na Windows 7 [praca] i LibreOffice 5.1 (64 bit) na Windows 7 [dom]
Re: Jak zrobić formatowaniem: |N|o|w|a|k|
Ramki, rozwiązują problem...
Ostatnio zmieniony wt cze 04, 2013 10:09 am przez szumekjac, łącznie zmieniany 1 raz.
Re: Jak zrobić formatowaniem: |N|o|w|a|k|
Hmm, pewnie tak się da to zrobić, spróbuję, dzięki za podpowiedź
Re: Jak zrobić formatowaniem: |N|o|w|a|k|
Czystym formatowaniem nie da się dlatego, że trzeba by mieć możliwość wstawiania ozdobników między znakami. A nie ma jej nawet na granicach w stylu znakowego. Bez otagowania każdego znaku z osobna nie da się tego zrobić nawet w stylach kaskadowych (CSS) używanych w WWW.
Wygenerować dokument z ,,kratkami'' na podstawie formularza da się dość prosto, ale wymaga to programowania. W tę stronę bym szedł, bo wtedy i efekt końcowy jest lepszy, i przebudowa łatwiejsza, i satysfakcja większa niż po spłodzeniu 99 połączonych ramek o jednakowym rozmiarze.
Wreszcie, potęga WYSIWYG jest złudna. W innych (nie powiem konkurencyjnych) systemach taką konstrukcję realizuje się od ręki. Oto przykład w (La)TeX-u:
Wygenerować dokument z ,,kratkami'' na podstawie formularza da się dość prosto, ale wymaga to programowania. W tę stronę bym szedł, bo wtedy i efekt końcowy jest lepszy, i przebudowa łatwiejsza, i satysfakcja większa niż po spłodzeniu 99 połączonych ramek o jednakowym rozmiarze.
Wreszcie, potęga WYSIWYG jest złudna. W innych (nie powiem konkurencyjnych) systemach taką konstrukcję realizuje się od ręki. Oto przykład w (La)TeX-u:
Kod: Zaznacz cały
\def\Koniec{{}}
\def\Kratka#1{\kern0.5\fboxsep\fbox{\makebox[1em]{\rule[-0.4em]{0pt}{1.5em}#1}}\kern0.5\fboxsep}
\def\WKratce#1{\ifx#1\Koniec\let\next=\Koniec\else\Kratka{#1}\let\next=\WKratce\fi\next}
\def\WKratkach#1{\WKratce#1\Koniec}
.......
\WKratkach{Tekst~wpuszczony~w~kratki.}
JJ
LO (24.2|7.6) ∙ Python (3.12|3.11|3.10) ∙ Unicode 15 ∙ LᴬTEX 2ε ∙ XML ∙ Unix tools ∙ Linux (Rocky|CentOS)
LO (24.2|7.6) ∙ Python (3.12|3.11|3.10) ∙ Unicode 15 ∙ LᴬTEX 2ε ∙ XML ∙ Unix tools ∙ Linux (Rocky|CentOS)
Re: Jak zrobić formatowaniem: |N|o|w|a|k|
Można ratować się jeszcze obrazkiem jako podkładem - przykład w załączniku. W zasadzie powinno się zastosować font o stałym rozmiarze liter.Jan_J pisze:Czystym formatowaniem nie da się dlatego, że trzeba by mieć możliwość wstawiania ozdobników między znakami.[...]
Inna opcja to znaleźć lub zrobić font, w którym litery obramowane są ramkami.
- Załączniki
-
- przyklad.odt
- ramki wokół liter przykład
- (9.75 KiB) Pobrany 336 razy
LibreOffice || Microsoft Office