Daję dużo ciężkich prezentacji kodu za pomocą Keynote. Podświetlanie składni czyni je czytelnymi.
W przeszłości korzystałem z internetowych narzędzi do podświetlania składni, a następnie wklejałem łatwiejszy do odczytania kod do mojej prezentacji.
Po uaktualnieniu do wersji iWork '13, która zawiera Keynote 6.1, wklejanie zawartości usuwa styl i kolor czcionki.
Na przykład, jeśli wezmę ten kolorowy kod z GitHub i wkleję go do Keynote, usunie całe formatowanie, jak pokazano tutaj:
Czy istnieje sposób na umieszczenie kodu wyróżnionego składnią w tych prezentacjach?
Odpowiedzi:
„Krótka” odpowiedź
... oznacza, że różne aplikacje kopiują sformatowany tekst do schowka na różne sposoby, a różne aplikacje obsługują wklejanie z różnych formatów. Zazwyczaj w schowku znajduje się jakiś format „zwykłego tekstu”, a także może tekst sformatowany w formacie HTML lub RTF, a aplikacja do wklejania decyduje o tym, który najbardziej mu się podoba.
Keynote 6.1 zdecydowanie obsługuje niektóre rodzaje wklejania sformatowanego tekstu, ponieważ mogę go uruchomić w przeglądarce Safari. Ale wydaje się, że nie działa z Firefoksem lub Chrome (w momencie pisania). Po drobnych testach wydaje się, że wszystkie aplikacje Apple ładnie się ze sobą grają (nic dziwnego), a kilka innych skopiuje / wklei również do / z aplikacji Apple (w tym produkty Microsoft Office). Niestety podczas kopiowania z Chrome, do schowka jest kopiowany tylko zwykły tekst i tekst w formacie HTML, więc wygląda na to, że aplikacje Apple iWork nie obsługują wklejania tekstu w formacie HTML.
Więc jeśli kopiowanie / wklejanie nie obejmuje formatowania, możesz:
Zaskakujące jest to, że własna aplikacja TextEdit.app firmy Apple z radością wklei sformatowany tekst z Chrome i może być ponownie skopiowana do schowka i wklejona z formatowaniem do Keynote / Pages / etc.
W zależności od twojego punktu widzenia może to wydawać się ograniczeniem (lub usterką) w Chrome / Firefox lub Pages / Keynote / itp., Ale ostatecznie po prostu nie mówią tymi samymi językami formatowania (obecnie).
Zachęcam wszystkich, którzy tego doświadczają, do przesyłania opinii programistom po obu „stronach” w nadziei, że problem zostanie naprawiony - albo z Chrome / Firefox obsługującym kopiowanie RTF / RTFD (lub cokolwiek, co jest najbardziej standardowe / odpowiednie poza HTML), lub przez Aplikacje Apple iWork obsługujące wklejanie treści HTML.
Więcej niż chcesz wiedzieć o kopiowaniu do schowka
Po skopiowaniu tekstu do schowka, w zależności od aplikacji, może on zostać skopiowany w kilku formatach. Możesz je zobaczyć za pomocą aplikacji Apple Clipboard Viewer (wymaga wbudowania w Xcode).
Na przykład podczas kopiowania z Google Chrome schowek jest zapełniany czterema osobnymi kopiami skopiowanych informacji - dwoma zwykłymi tekstami (
public.utf8-plain-text
,NSStringPboardType
) i dwoma sformatowanymi HTML (public.html
,Apple HTML pasteboard type
).Kopiowanie z innych aplikacji daje różne kombinacje typów formatów, a niektóre z nich są inne wspólne
'TEXT' (CorePastboardFlavorType)
,com.apple.traditional-mac-plain-text
,Apple PDF pasteboard type
,Apple PICT pasteboard type
,public.rtf
,NeXT Rich Text Format v1.0 pasteboard type
,NeXT RTFD pasteboard type
,com.apple.flat-rtfd
,com.apple.iWork.TSPNativeData
,com.adobe.pdf
,com.adobe.indesign-import-ustl
, i tak dalej ...Jak widać, istnieje wiele formatów zwykłego tekstu (z różnymi kodowaniami, takimi jak UTF8 / UTF16), typy RTF, typy PDF i Adobe, typy obrazów. Istnieje również kilka typów metadanych, które opisują aplikację, która skopiowała dane (np.
com.apple.iWork.TSPNativeMetadata
), Lub cechy skopiowanego tekstu (np.com.apple.iWork.TSPDescription
), A także to, co wydaje się być oddzielnym tekstem i danymi stylu (ustl
iTEXT
jakoCorePasteboardFlavorType
s, i ichcom.adobe.indesign-import-
odpowiednikami).Nie znam żadnego sposobu na sprawdzenie, które typy formatów są obsługiwane przez aplikacje do wklejania, ale za pomocą Przeglądarki Schowków możesz szybko sprawdzić, które typy formatów są generowane podczas kopiowania.
źródło
Jest to prawdopodobnie internetowy zakreślacz, którego używasz.
Używam http://markup.su i działa dobrze z Keynote 6.1 - wykrywa wiele języków i ma wiele „motywów”.
Jeśli nie jest to zakreślacz, może to być szablon lub przeglądarka. Udało mi się idealnie pobrać kod i wkleić go z markup.su w Safari do Keynote.
źródło
Jeśli nie podoba ci się pomysł wklejenia kodu online, rozważ zainstalowanie pakietu python Pygments i wygenerowanie wyróżnionej składni w wierszu poleceń:
Kopiowanie z Terminala i wklejanie do Keynote działało dla mnie. Ale zajęło mi trochę czasu znalezienie kontrolki formatowania do usuwania koloru tekstu tła. (Kliknij Formatuj na pasku narzędzi, aby wyświetlić opcje formatowania, kliknij Tekst, kliknij Styl, a następnie kliknij koło zębate, aby wyświetlić zaawansowane opcje formatowania. W tym oknie podręcznym znajdziesz „Kolor wypełnienia znaków”.)
źródło
Używam Vima. Uważam tę wtyczkę za bardzo przydatną: https://github.com/zerowidth/vim-copy-as-rtf
W ten sposób mogę zachować ten sam wygląd kodów, kiedy je pisałem i prezentowałem.
źródło
To jest błąd w Keynote '13:
Wklejanie tekstu sformatowanego z Xcode do Keynote działa po wklejeniu w istniejącym polu tekstowym.
Nie dzieje się to po wklejeniu do nowego pola tekstowego.
źródło