| 945 | } |
| 946 | |
| 947 | std::string escapeLatexString(const std::string& str) { |
| 948 | std::ostringstream escaped; |
| 949 | for (char c : str) { |
| 950 | switch (c) { |
| 951 | case '&': |
| 952 | escaped << "\\&"; |
| 953 | break; |
| 954 | case '%': |
| 955 | escaped << "\\%"; |
| 956 | break; |
| 957 | case '$': |
| 958 | escaped << "\\$"; |
| 959 | break; |
| 960 | case '#': |
| 961 | escaped << "\\#"; |
| 962 | break; |
| 963 | case '_': |
| 964 | escaped << "\\_"; |
| 965 | break; |
| 966 | case '{': |
| 967 | escaped << "\\{"; |
| 968 | break; |
| 969 | case '}': |
| 970 | escaped << "\\}"; |
| 971 | break; |
| 972 | case '~': |
| 973 | escaped << "\\textasciitilde{}"; |
| 974 | break; |
| 975 | case '^': |
| 976 | escaped << "\\textasciicircum{}"; |
| 977 | break; |
| 978 | case '\\': |
| 979 | escaped << "\\textbackslash{}"; |
| 980 | break; |
| 981 | case '<': |
| 982 | escaped << "\\textless{}"; |
| 983 | break; |
| 984 | case '>': |
| 985 | escaped << "\\textgreater{}"; |
| 986 | break; |
| 987 | default: |
| 988 | escaped << c; |
| 989 | } |
| 990 | } |
| 991 | return escaped.str(); |
| 992 | } |
| 993 | |
| 994 | std::string EmbeddedShell::printLatexExecutionResult(QueryResult& queryResult) const { |
| 995 | auto colNames = queryResult.getColumnNames(); |
no outgoing calls
no test coverage detected