Miękki enter a wcięcie akapitowe

Użytkowanie edytora dokumentów
betamesz
Posty: 2
Rejestracja: wt lis 24, 2020 8:55 pm

Miękki enter a wcięcie akapitowe

Post autor: betamesz »

Witam, problem jest taki: kiedy wciskam TAB+Shift+Enter dla miękkiego enteru (i przerzuca mnie do następnej linii tekstu/wersu), wówczas nowy wers nie zaczyna się od wcięcia akapitowego, pomimo tego że jest on zdefiniowany dla akapitu.
Nie mogę użyć TAB dla wcięcia dla dialogu, ani narracji. W jaki więc sposób wprowadzić automatyczne, bądź ręcznie wcięcie akapitowe. Chodzi o to, aby nie rozdzielać dialogu od tekstu i nie tworzyć kolejnych akapitów. Szczególnie jeśli jest dużo wtrąceń dialogowych.
Sam Shift+Enter rozciąga tekst w wersie.
OpenOffice 4.1.7
Windows 10
Awatar użytkownika
Jermor
Posty: 2255
Rejestracja: sob paź 12, 2013 11:09 am
Kontakt:

Re: Miękki enter a wcięcie akapitowe

Post autor: Jermor »

SHIFT+ENTER jest znakiem wymuszającym przejście do nowej linii w akapicie. Ten znak oraz następujący po nim tekst jest ciągle częścią tego akapitu, w którym został użyty. Zatem mimo, że jest to nowy wers, to nie może on otrzymać wcięcia akapitowego, ponieważ to wcięcie dotyczy tylko pierwszego wiersza w akapicie. Jeśli akapit jest wyrównywany obustronnie, to wszystkie krótsze wersy, a takie powstają zazwyczaj po wstawieniu miękkiego entera, są wyrównywane zgodnie z przyjętym dla akapitu sposobem. Zastosowanie TAB przed SHIFT+ENTER zapewnia to, że ten wiersz będzie traktowany jak ostatni wiersz akapitu. Ten, jak wiadomo, nie podlega wyrównywaniu obustronnemu.
Jedną z możliwości jest użycie znaku TAB w pierwszym wersie po przełamaniu miękkim enterem. W stylu akapitu można wówczas określić miejsce tabulowane, na wysokości wcięcia pierwszego wiersza. Nie zmieni to jednak faktu, że przy justowaniu obustronnym, krótsze wersy będą rozciągane.
Rozwiązaniem jest zastosowanie justowania lewostronnego.
Aby zautomatyzować taki sposób przełamywania wiersza akapitu, można nagrać sobie makro złożone z sekwencji: TAB - SHIFT+ENTER - TAB - znak półpauzy, przypisać mu jakiś skrót klawiaturowy, który po naciśnięciu podczas pisania, wykona te czynności automatycznie. Wspomniałem o półpauzie, gdyż to jest znak najczęściej stosowany na początku dialogu, chociaż zgodnie z typografia powinna to być chyba pauza. Kod półpauzy to szesnastkowo 2013 (dziesiętne 8211), a pauzy to 2014 (dziesiętne 8212).
Nagrałem takie makro. Oto ono:

Kod: Zaznacz cały

sub nd 
rem Makro tworzy nowy wers wewnątrz akapitu zaczynając go wcięciem i znakiem półpauzy (8211)
rem aby wstawić pauzę należy zmienić liczbę na 8212 
rem define variables
dim document   as object
dim dispatcher as object
rem get access to the document
document   = ThisComponent.CurrentController.Frame
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
dim args1(0) as new com.sun.star.beans.PropertyValue
args1(0).Name = "Text"
args1(0).Value = CHR$(9)
dispatcher.executeDispatch(document, ".uno:InsertText", "", 0, args1())
dispatcher.executeDispatch(document, ".uno:InsertLinebreak", "", 0, Array())
dim args3(0) as new com.sun.star.beans.PropertyValue
args3(0).Name = "Text"
args3(0).Value = CHR$(9)
dispatcher.executeDispatch(document, ".uno:InsertText", "", 0, args3())

dim args4(0) as new com.sun.star.beans.PropertyValue
args4(0).Name = "Text"
args4(0).Value = CHR$(8211) '8211 wstawia półpauzę. Aby wstawić pauzę należy zmienić liczbę na 8212
'                           aby niczego nie wstawiać, zamiast CHR$(liczba) wpisz dwa cudzysłowy ""
'                           albo usuń wszystkie wiersze kodu zawierające ciągi znakowe args4
dispatcher.executeDispatch(document, ".uno:InsertText", "", 0, args4())
end sub
W załączeniu dodaję pusty plik, w którym to makro jest już dołączone. W swojej wersji pakietu wystarczy przypisać to makro do jakiegoś wolnego skrótu klawiaturowego. W Writerze Apache OpenOffice wolny jest skrót ALT+ENTER.
Realizuje się to poleceniem "Narzędzia -> Dostosuj... -> zakładka Klawiatura".
Załączniki
nowydialog.odt
(9.76 KiB) Pobrany 152 razy
AOO 4.1.15, LO 7.5.9 (x64) na Windows 10 64bit
Ważne!
Jeśli twój problem został rozwiązany, wróć do swojego pierwszego postu, przejdź do edycji i dopisz [SOLVED] w temacie.
Inni, którzy mają podobny problem, będą wiedzieli, że istnieje jego rozwiązanie.
betamesz
Posty: 2
Rejestracja: wt lis 24, 2020 8:55 pm

Re: Miękki enter a wcięcie akapitowe

Post autor: betamesz »

Bardzo obszerna odpowiedź, pięknie dziękuję.
OpenOffice 4.1.7
Windows 10
ODPOWIEDZ