Wstawianie znaków niedostępnych z klawiatury

Polski rynek zdominowany jest przez klawiatury w układzie QWERTY programisty. Klawisz Alt pomaga obejść ich ograniczenia i w miarę wygodnie wprowadzać znaki diakrytyczne („ogonki”). Jednak co z cudzysłowami, myślnikiem, paragrafem i innymi symbolami wykorzystywanymi w naszym języku? Artykuł opisuje, jak wprowadzać je w LibreOffice.

Tablica znaków specjalnych

Jest to najbardziej oczywisty, ale w dłuższej perspektywie najmniej wygodny sposób. Konieczność wybrania odpowiedniej pozycji z menu i znalezienia pożądanego symbolu na długiej, mało uporządkowanej liście powoduje, iż nadaje się on właściwie wyłącznie do okazjonalnego wstawiania rzadko używanych znaków.

Aby skorzystać z tej metody, należy wybrać z menu WstawZnak specjalny.... Pojawi się okno zawierające wszystkie glify w wybranym foncie. Następnie wybieramy jeden z nich i klikamy OK. Warto wiedzieć, że można też wstawić kilka znaków jednocześnie, wybierając je po kolei.

Tablica znaków

Autokorekta

Mechanizm autokorekty można wykorzystać nie tylko do automatycznego poprawiania błędów, ale także do wprowadzania często używanych symboli, a nawet całych fraz.

Niestety, posiada on też pewne ograniczenia. Po pierwsze, autokorekta działa na zasadzie zamiany tekstu otoczonego spacjami. Tymczasem po niektórych znakach ta spacja jest niepożądana; w rezultacie będziemy ją na przemian wstawiać i usuwać. Po drugie, do zamiany musimy dobrać takie frazy, które normalnie w naszym dokumencie nie występują. Nie mogą więc to być zwykłe słowa, co utrudnia zapamiętanie ich dużej ilości. Wreszcie wykorzystanie tej techniki wiąże się z włączeniem autokorekty, która czasami powoduje niepożądane zmiany w dokumencie.

Jeżeli wyżej wskazanych cech nie uznajemy za wady, możemy przystąpić do konfiguracji.

W pierwszej kolejności musimy mieć pewność, że autokorekta w ogóle działa. W tym celu wybieramy z menu NarzędziaOpcje autokorekty i na karcie Opcje zaznaczamy pole wyboru obok Użyj tabeli zamian. W przypadku programu Writer sprawdzamy także, czy zaznaczona jest pozycja w menu FormatAutokorektaPodczas pisania.

Następnym krokiem jest dodanie interesujących nas wpisów do tabeli zamian. Robimy to w oknie NarzędziaOpcje autokorekty na karcie Zamiana. W polu Zamień wprowadzamy tekst źródłowy, zaś w polu Zamień na — tekst docelowy. Następnie klikamy przycisk Nowy.

Okno modyfikowania tabeli zamian autokorekty. W pole Zamień wpisano „par.” zaś w pole Zamień na — znak paragrafu

Przeczytaj także artykuł poświęcony modyfikowaniu tabeli zamian — dowiesz się z niego, jak usuwać i modyfikować istniejące pozycje.

Aby skorzystać z wprowadzonych modyfikacji należy w dokumencie wstawić frazę źródłową i zakończyć wyraz (spacją lub którymś znakiem interpunkcyjnym).

Okno programu Writer z wprowadzoną frazą „par.” oraz znakiem paragrafu

Autotekst

Autotekst umożliwia wprowadzenie do dokumentu dowolnej wcześniej stworzonej zawartości — może to być pojedynczy znak, często używany zwrot a nawet całkiem skomplikowany dokument zawierający tabele, wykresy i obrazy. Ponieważ jest on wstawiany na żądanie, nie ma najważniejszych wad opisanej wyżej tabeli zamian — fraza źródłowa może być zwykłym wyrazem, spacja jest konieczna tylko z jednej strony (przed), nie musimy mieć włączonej autokorekty.

Najpoważniejszą wadą tej funkcji jest to, że działa tylko w programie Writer.

W dedykowanym artykule znajdziesz szczegółowe informacje na temat autotekstu.

Przed skorzystaniem z możliwości autotekstu, musimy wprowadzić do niego odpowiednie pozycje. Wpierw wpisujemy do dokumentu tekstowego znak, do którego chcemy mieć ułatwiony dostęp. Następnie zaznaczamy go i wybieramy z menu EdycjaAutotekst... (lub wciskamy Ctrl + F3).

Pojawi się nowe okno. Pole Nazwa na górze wypełniamy w dowolnie wybrany sposób. Jego zawartość służy wyłącznie do identyfikacji autotekstu podczas jego konfiguracji; warto krótko opisać, co właściwie zawiera. Po prawej stronie wpisujemy frazę, której wprowadzenie spowoduje wstawienie danego autotekstu. Nie powinna ona zawierać znaków interpunkcyjnych, gdyż znacznie utrudniają one późniejszą pracę. Na samym końcu wciskamy przycisk Autotekst i wybieramy z menu Nowy.

Używanie autotekstu sprowadza się do wpisania określonej frazy i wciśnięcia klawisza F3. Można także wybrać z menu EdycjaAutotekst, wskazać którąś z pozycji i wcisnąć przycisk Wstaw.

Makro

Makra to nie tylko duże, skomplikowane programy. Świetnie nadają się także do wstawiania pojedynczych znaków. Makro takie można przypisać do skrótu klawiaturowego, przycisku na pasku narzędziowym lub pozycji w menu.

Technika ta ma jednak także swoje ograniczenia. Póki co dysponuję kodem działającym jedynie we Writerze. Poza tym jest mało wygodna, jeżeli przypisaliśmy do skrótów klawiaturowych kilkanaście makr. Po pierwsze, zacznie nam brakować wygodnych kombinacji klawiszy. Po drugie, zapamiętanie ich wszystkich może stanowić nie lada wyzwanie.

Kod źródłowy makra do wstawiania znaku paragrafu znajduje się poniżej:

Sub wstaw_paragraf
Dim oDoc as variant
    oDoc = ThisComponent
Dim oCurrentController as variant
    oCurrentController = oDoc.getCurrentController()
Dim oTextViewCursor as variant
    oTextViewCursor = oCurrentController.getViewCursor()
Dim oText as variant
If IsEmpty(oTextViewCursor.Cell) Then
    oText=oTextViewCursor.Text
Else
    oText=oTextViewCursor.Cell.Text
End If
oText.insertString(oTextViewCursor,chr(clng("&H00A7")),false)
End Sub

Co jednak, gdy chcemy wprowadzić inny znak niż paragraf? Wtedy musimy dokonać dwóch modyfikacji w kodzie.

Raz, zaraz w pierwszej linijce, należy zmienić nazwę funkcji z wstaw_paragraf na jakąkolwiek inną. Nie może ona zawierać spacji, myślnika i narodowych znaków diakrytycznych. Gdybym chciał wstawić pauzę, mógłbym wykorzystać wstaw_pauze. Dla otwierającego cudzysłowu „niemieckiego” (») dobrym kandydatem jest wstaw_cudzyslow_niemiecki_lewy.

Po drugie, w przedostatniej linijce musimy zmienić kod znaku. Odczytujemy go ze znanej nam już tablicy znaków specjalnych. Jest on wyświetlany w prawym dolnym rogu okna, pod glifem; przedstawia go także poniższa ilustracja. Fragment 00A7 z kodu powyżej musimy zamienić na 2014 (w przypadku pauzy) lub 00BB (w przypadku cudzysłowu). Podczas modyfikacji zwracamy szczególną uwagę, aby nie usunąć fragmentu &H ani okolicznych cudzysłowów oraz nawiasów.

Kod znaku można odczytać z tablicy znaków. Znajduje się on w prawym dolnym rogu okna, pod samym symbolem. Kod znaku to część po „U+”.

Pozostało jeszcze tylko wprowadzić kod makra do programu i przypisać go do którejś z metod uruchamiania. Oba te zagadnienia opisuję w artykule o zarządzaniu makrami.

Rozszerzenie Compose Special Characters

Interesującym rozwiązaniem jest rozszerzenie Compose Special Characters. Oferuje ono bardzo rozbudowaną listę dwuznakowych fraz, które zostają zamienione na odpowiedni symbol po wciśnięciu skrótu klawiaturowego. W większości frazy te są bardzo łatwe do zapamiętania, np. a: da ä. Rozszerzenie działa z programami Writer oraz Calc.

Niestety, lista symboli jest określona w kodzie źródłowym rozszerzenia i nie sposób jej w prosty sposób modyfikować. Pewnym ograniczeniem jest również fakt, że rozszerzenie nie zostało przetłumaczone na język polski.

Zanim rozpoczniemy pracę, musimy pobrać plik rozszerzenia ze strony internetowej i go zainstalować.

Przeczytaj artykuł o zarządzaniu rozszerzeniami i dowiedz się, w jaki sposób je instalować oraz usuwać.

Następnie wybieramy z menu WstawCompose Character.... Pojawi się nowe okno zawierające instrukcje użytkowania oraz, po lewej, listę wszystkich fraz i odpowiadających im symboli. Klikamy CSC Shortcut. W nowym oknie musimy określić skrót klawiaturowy, którego wciśnięcie spowoduje zamianę frazy na symbol. Najlepiej jest wybrać taką kombinację, którą można łatwo wprowadzić podczas pisania. Ze swojej strony polecam Ctrl + Shift + z. Następnie zamykamy wszystkie okna, klikając OK. Jeżeli do wybranego przez nas skrótu jest już przypisana inna funkcja, program poprosi nas o potwierdzenie zmian.

Używanie rozszerzenia jest bardzo proste. Wystarczy wpisać frazę rozpoznawalną przez program i wcisnąć wcześniej zdefiniowaną kombinację klawiszy. Dla przykładu, znak paragrafu uzyskamy po wprowadzeniu s-. Musimy jedynie mieć na uwadze, aby skrót klawiaturowy wcisnąć bezpośrednio za frazą. W przeciwnym wypadku pojawi się komunikat o błędzie.

Sprawa jest odrobinę bardziej skomplikowana w przypadku programu Calc, gdyż zamienianą frazę trzeba poprzedzić specjalną flagą. Funkcję tę może pełnić dowolny znak. Najlepiej jest wybrać coś stosunkowo łatwego do wpisania, ale rzadko używanego, np. \. Niedogodność ta jest spowodowana ograniczeniami technicznymi arkusza kalkulacyjnego.

Rozszerzenie posiada jeszcze funkcję zamiany kodów UTF-8 na odpowiednie symbole. Wywoływana jest ona przez osobny skrót klawiaturowy, określony w opcjach rozszerzenia po wciśnięciu przycisku Unicode shortcut. Zamiana liczb na symbole przebiega identycznie jak zamiana fraz.

Rozwiązania dla wszystkich programów w systemie

Podstawowym ograniczeniem wszystkich z opisanych powyżej metod jest fakt, że działają one tylko w obrębie LibreOffice. Warto rozważyć wprowadzenie bardziej ogólnych rozwiązań, co pozwali na wprowadzanie znaków spoza zakresu klawiatury we wszystkich uruchamianych programach.

Użytkownicy systemów z rodziny Microsoft Windows mogą skorzystać z jego wbudowanej funkcji. Wystarczy wcisnąć prawy klawisz Alt i — cały czas go trzymając — wprowadzić kod symbolu na klawiaturze numerycznej. Odpowiedni znak pojawi się po puszczeniu klawisza. Więcej informacji: lista kodów z podziałem na kategorie, inna lista z podziałem na kategorie, instrukcje używania. Czytelnicy uważający zapamiętywanie kodów za zbyt kłopotliwe mogą także skorzystać z programów AutoHotkey lub AllChars.

Użytkownicy systemów z rodziny GNU/Linux powinni skorzystać z funkcji wbudowanych w serwer X. Opis ich użycia i konfiguracji na przykładzie systemu Debian GNU/Linux (pasuje także do Ubuntu i Minta).

Podobał Ci się ten artykuł? Zapisz się na listę subskrybentów i otrzymuj informacje o następnych

komentarzy 12

  • yossarian pisze:

    Użytkownicy Linuksa mają te symbole standardowo.
    Układ klawiatury pl(intl).

  • paragraf pisze:

    a jak wstawić paragraf na linuksie?

  • yossarian pisze:

    Alt + 4
    Lub wg jednego z wielu sposobów podanych wyżej.

  • Piotrek pisze:

    Dziękuję za informację o Autotekście. Nie znałem wcześniej tej funkcji, a okazuje się bardzo przydatna (używam sporo liter spoza podstawowego alfabetu). Szkoda tylko tej spacji z przodu za każdym razem. Przy okazji odkryłem, że kombinacja „tw, [F3]” wstawia interesujący przykładowy akapit.

  • Sawik pisze:

    Hej,

    jest jeszcze jedno rozwiązanie – inne rozszerzenie i do tego łatwiejsze do edycji. W zasadzie składa się z jednego makra a nazywa się Accentuate – można je pobrać z katalogu rozszerzeń Apache OpenOffice.
    Tabela zamian jest podobna jak w opisanym rozszerzeniu – znaki specjalne opisywane są dwuznakowymi skrótami. By ich używać makro można przypisać do skrótu (np [shift]+[enter]). Bardzo wygodne, np. w pracach z nauk ścisłych (ti = znak mnożenia etc). Modyfikacja tabeli polega na dopisaniu wiersza – łatwo poznać jak.

    Polecam!

  • Marek pisze:

    Ja od dłuższego już czasu używam (i polecam!) klawiaturę „Polski międzynarodowy”.
    Bardzo łatwo zapamiętać kombinacje.
    http://www.robinski.org/portfolio/polski-miedzynarodowy/

  • Tomas pisze:

    Jak wstawic o z kreska w windows 8 i inne litery ktorych nie mam na klawiaturze? dzieki z gory

    • Zazwyczaj wstawia się je przez przytrzymanie klawisza Alt, np. Alt + O = ó. Trzeba jedynie ustawić polski układ klawiatury.
      Jeżeli mimo to nie działa lub nie wiesz jak ustawić układ klawiatury, zapytaj proszę na forum/infolinii Windowsa. Blog jest poświęcony LibreOffice i kwestie dotyczące konkretnych systemów operacyjnych nie mieszczą się w zakresie moich zainteresowań.

  • Robert pisze:

    W przykładowym makro dotyczącym paragrafu jest błąd, przynajmniej tak podaje mój office
    Compile error
    Syntax error
    i dotyczy to przedostatniej linii.

  • Ania pisze:

    Witam, mam problem z ustawieniem pauzy. Co mam zrobić, aby zamiast łącznika/minusa wstawiać pauzę? Do tej pory robię to metodą kopiuj wklej i jest to dość uciążliwe.
    Byłabym wdzięczna za pomoc.

  • Mateusz pisze:

    A jak zaprojektować na klawiaturze nieobsługiwany przez żaden program alfabet ? Będę wdzięczny za odpowiedź .