Pracuję ostatnio z knitr i podczas gdy większość aspektów tego poszła całkiem gładko, jest jeden problem z formatowaniem z włączeniem kodu R do gotowego dokumentu, którego nie wymyśliłem na zewnątrz. Często potrzebuję tworzyć relatywnie długie ciągi tekstowe w moich fragmentach R, np. podpisy dla funkcji xtable()
. Podczas gdy porządek ogólnie świetnie radzi sobie z pakowaniem kodu R i przechowywaniem go w zacienionych skrzynkach w LaTeX, nie wie, co zrobić z użądleniami tekstowymi, więc nie zawija ich, a przepływają one z prawej strony strona.Jak zawijać tekst w źródle R z porządkiem i dzianiną
Byłbym najbardziej zadowolony z rozwiązania, które ma porządek wykonując całą pracę. Byłbym jednak zadowolony z rozwiązania, które można zastosować ręcznie do długich ciągów w R fragmentach w moim źródle Rnw. Po prostu nie chcę edytować pliku tex utworzonego przez KnitR.
Poniżej znajduje się minimalny przykład roboczy.
\documentclass[12pt, english, oneside]{amsart}
\begin{document}
<<setup, include=FALSE, cache=FALSE, tidy=TRUE>>=
options(tidy=TRUE, width=50)
@
<<>>=
x <- c("This","will","wrap","nicely","because","tidy","knows","how","to","deal","with","it.","So","nice","how","it","stays","in","the","box.")
longstr <- "This string will flow off the right side of the page, because tidy doesn't know how to wrap it."
@
\end{document}
jest to prawdopodobnie najlepsze rozwiązanie po stronie R; wydaje się to łatwym problemem, ale w rzeczywistości jest naprawdę trudne; innym rozwiązaniem jest użycie wykazów pakietów LaTeX, np. https://github.com/yihui/knitr-examples/blob/master/066-listings-breaklines.Rnw –
Myślę, że będę próbować aukcji, gdy mam czas, i za pomocą Hack paste0() w międzyczasie. Dzięki, Brian i Yihui. – Gregory
Uaktualnienie rozwiązania: Zacząłem od zwykłego sprzątania w porcjach, w których wiem, że będą mieć problemy i sformatować je ręcznie. To naprawdę działa całkiem dobrze. – Gregory